Advertisement
Guest User

Untitled

a guest
Feb 16th, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.68 KB | None | 0 0
  1. package de.slaimcrafter.ptc;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Random;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.Location;
  8. import org.bukkit.Sound;
  9. import org.bukkit.command.Command;
  10. import org.bukkit.command.CommandExecutor;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.event.player.PlayerQuitEvent;
  16.  
  17. import com.mewin.WGRegionEvents.events.RegionEnterEvent;
  18.  
  19. import he.iDeveloper.PlayerData;
  20. import me.Slaimcrafter.Main.Main;
  21.  
  22.  
  23. public class ptc implements CommandExecutor, Listener {
  24.  
  25. private boolean RUNNING = false;
  26. private ArrayList<Player> pickingColor = new ArrayList<Player>();
  27. private int COUNT_DOWN = 11,
  28. CURRENT_TASK,
  29. COINS;
  30. private final String WORLD_NAME = "world";
  31.  
  32. private void sendHelp(Player player) {
  33. player.sendMessage(Main.prefix + "§cBenutze: /ptc <Betrag>");
  34. }
  35.  
  36. private void startCountdown(Player player) {
  37. CURRENT_TASK = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getPlugin(), new Runnable() {
  38. final PlayerData data = Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().get(player.getUniqueId());
  39. @SuppressWarnings("deprecation")
  40. public void run() {
  41. COUNT_DOWN--;
  42.  
  43. player.sendTitle("§eWähle eine Farbe!", "§b" + COUNT_DOWN + " Sekunden Zeit");
  44.  
  45. if(COUNT_DOWN == 0) {
  46. player.sendMessage(Main.prefix + "§cDeine Zeit ist abgelaufen! §7Du hast deine §eCoins §7zurück erstattet bekommen.");
  47. player.sendMessage(Main.prefix + "§7Du hast §e" + COINS + " Coins §7erhalten.");
  48.  
  49. COUNT_DOWN = 11;
  50. Bukkit.getScheduler().cancelTask(CURRENT_TASK);
  51. Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().put(player.getUniqueId(), new PlayerData(player.getUniqueId(), data.getLiga(), data.getPoints(), data.getKills(), data.getDeaths(), data.getLottoTickets(), data.getCoins() + COINS));
  52. RUNNING = false;
  53. if(!(pickingColor.contains(player))) return;
  54. pickingColor.remove(player);
  55. }
  56. }
  57. }, 0, 20L);
  58. }
  59.  
  60. private void clearChat(Player player, int amount) {
  61. for(int i = 0; i < amount; i++) {
  62. player.sendMessage(" ");
  63. }
  64. }
  65.  
  66. private void pickWin(Player player, String color) {
  67. pickingColor.remove(player);
  68. final PlayerData data = Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().get(player.getUniqueId());
  69.  
  70. final Random random = new Random();
  71. final int MAX_VALUES = 4,
  72. CASE = random.nextInt(MAX_VALUES),
  73. COINS_WIN = COINS+COINS,
  74. CHAT_CLEAR = 200;
  75.  
  76. switch(CASE) {
  77. case 0:
  78. clearChat(player, CHAT_CLEAR);
  79. player.sendMessage(Main.prefix + "§7Du hast die Farbe "+color+" §7gewählt.");
  80. player.sendMessage(Main.prefix + "§7Herzlischen Glückwunsch! §7Deine gewählte Farbe hat gewonnen.");
  81. player.sendMessage(Main.prefix + "§7Dein Einsatz §e" + COINS + " Coins");
  82. player.sendMessage(Main.prefix + "Dein Gewinn §e" + COINS_WIN + " Coins");
  83.  
  84. Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().put(player.getUniqueId(), new PlayerData(player.getUniqueId(), data.getLiga(), data.getPoints(), data.getKills(), data.getDeaths(), data.getLottoTickets(), data.getCoins() + COINS_WIN));
  85. player.playSound(player.getLocation(), Sound.FIREWORK_LARGE_BLAST, 1, 1);
  86. break;
  87. default:
  88. clearChat(player, CHAT_CLEAR);
  89. player.sendMessage(Main.prefix + "§7Du hast die Farbe "+color+" §7gewählt.");
  90. player.sendMessage(Main.prefix + "§cLeider hast du nichts gewonnen.");
  91. player.sendMessage(Main.prefix + "Du hast §e" + COINS + " Coins §7verloren.");
  92. player.playSound(player.getLocation(), Sound.ARROW_HIT, 5, 5);
  93. break;
  94. }
  95.  
  96. COUNT_DOWN = 11;
  97. pickingColor.remove(player);
  98. RUNNING = false;
  99. Bukkit.getScheduler().cancelTask(CURRENT_TASK);
  100. }
  101.  
  102. @Override
  103. public boolean onCommand(CommandSender commandSender, Command command, String label, String[] args) {
  104. if(!(commandSender instanceof Player)) {
  105. commandSender.sendMessage(Main.prefix + "§cDu kannst das als Konsole nicht.");
  106. return true;
  107. }
  108.  
  109. final int arguments = args.length;
  110. final Player player = (Player)commandSender;
  111. final PlayerData data = Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().get(player.getUniqueId());
  112.  
  113. switch(arguments) {
  114. default:
  115. sendHelp(player);
  116. break;
  117. case 1:
  118. if(RUNNING == true) {
  119. player.sendMessage(Main.prefix + "Es Spielt zurzeit ein Spieler §ePTC§7.");
  120. } else {
  121. if(pickingColor.contains(player)) {
  122. player.sendMessage(Main.prefix + "Du hast §ePTC §cverlassen§7.");
  123.  
  124. RUNNING = false;
  125. pickingColor.remove(player);
  126. } else {
  127. final int startCoins;
  128.  
  129. try {
  130. startCoins = Integer.valueOf(args[0]);
  131. COINS = startCoins;
  132.  
  133. if(startCoins == 0) {
  134. player.sendMessage(Main.prefix + "§7Du kannst nicht §e0 Coins §7als Einsatz setzen.");
  135. } else {
  136. if(data.getCoins() >= startCoins) {
  137. Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().put(player.getUniqueId(), new PlayerData(player.getUniqueId(), data.getLiga(), data.getPoints(), data.getKills(), data.getDeaths(), data.getLottoTickets(), data.getCoins() - startCoins));
  138. player.sendMessage(Main.prefix + "§7Du hast §e"+startCoins+" Coins §7eingesetzt.");
  139.  
  140. player.sendMessage(Main.prefix + "§7Laufe nun auf eine Farbe...");
  141.  
  142. RUNNING = true;
  143. startCountdown(player);
  144. pickingColor.add(player);
  145.  
  146. final Location location = new Location(Bukkit.getWorld(WORLD_NAME), -92.588, 70, 251.513, 90, 10);
  147. player.teleport(location);
  148. } else {
  149. player.sendMessage(Main.prefix + "§7Du kannst nicht mehr §eCoins §7einetzen als du hast.");
  150. }
  151. }
  152. } catch (NumberFormatException exception) {
  153. player.sendMessage(Main.prefix + "§7Du musst eine §cZahl §7als Einsatz eingeben.");
  154. }
  155. }
  156. }
  157. break;
  158. }
  159. return false;
  160. }
  161.  
  162. @EventHandler
  163. public void onQuit(PlayerQuitEvent event) {
  164. final Player player = event.getPlayer();
  165. final PlayerData data = Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().get(player.getUniqueId());
  166.  
  167. if(pickingColor.contains(player)) {
  168. pickingColor.remove(player);
  169. Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().put(player.getUniqueId(), new PlayerData(player.getUniqueId(), data.getLiga(), data.getPoints(), data.getKills(), data.getDeaths(), data.getLottoTickets(), data.getCoins() + COINS));
  170.  
  171.  
  172. }
  173.  
  174. RUNNING = false;
  175. }
  176.  
  177. @EventHandler
  178. public void onRegionEnter(RegionEnterEvent event) {
  179. final Player player = event.getPlayer();
  180.  
  181. if(event.getRegion().getId().equalsIgnoreCase("rot") && pickingColor.contains(player)) {
  182. pickWin(player, "§cROT");
  183. } else if(event.getRegion().getId().equalsIgnoreCase("gruen") && pickingColor.contains(player)) {
  184. pickWin(player, "§aGRÜN");
  185. } else if(event.getRegion().getId().equalsIgnoreCase("blau") && pickingColor.contains(player)) {
  186. pickWin(player, "§9BLAU");
  187. }
  188. }
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement