Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.slaimcrafter.ptc;
- import java.util.ArrayList;
- import java.util.Random;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.Sound;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerQuitEvent;
- import com.mewin.WGRegionEvents.events.RegionEnterEvent;
- import he.iDeveloper.PlayerData;
- import me.Slaimcrafter.Main.Main;
- public class ptc implements CommandExecutor, Listener {
- private boolean RUNNING = false;
- private ArrayList<Player> pickingColor = new ArrayList<Player>();
- private int COUNT_DOWN = 11,
- CURRENT_TASK,
- COINS;
- private final String WORLD_NAME = "world";
- private void sendHelp(Player player) {
- player.sendMessage(Main.prefix + "§cBenutze: /ptc <Betrag>");
- }
- private void startCountdown(Player player) {
- CURRENT_TASK = Bukkit.getScheduler().scheduleSyncRepeatingTask(Main.getPlugin(), new Runnable() {
- final PlayerData data = Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().get(player.getUniqueId());
- @SuppressWarnings("deprecation")
- public void run() {
- COUNT_DOWN--;
- player.sendTitle("§eWähle eine Farbe!", "§b" + COUNT_DOWN + " Sekunden Zeit");
- if(COUNT_DOWN == 0) {
- player.sendMessage(Main.prefix + "§cDeine Zeit ist abgelaufen! §7Du hast deine §eCoins §7zurück erstattet bekommen.");
- player.sendMessage(Main.prefix + "§7Du hast §e" + COINS + " Coins §7erhalten.");
- COUNT_DOWN = 11;
- Bukkit.getScheduler().cancelTask(CURRENT_TASK);
- Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().put(player.getUniqueId(), new PlayerData(player.getUniqueId(), data.getLiga(), data.getPoints(), data.getKills(), data.getDeaths(), data.getLottoTickets(), data.getCoins() + COINS));
- RUNNING = false;
- if(!(pickingColor.contains(player))) return;
- pickingColor.remove(player);
- }
- }
- }, 0, 20L);
- }
- private void clearChat(Player player, int amount) {
- for(int i = 0; i < amount; i++) {
- player.sendMessage(" ");
- }
- }
- private void pickWin(Player player, String color) {
- pickingColor.remove(player);
- final PlayerData data = Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().get(player.getUniqueId());
- final Random random = new Random();
- final int MAX_VALUES = 4,
- CASE = random.nextInt(MAX_VALUES),
- COINS_WIN = COINS+COINS,
- CHAT_CLEAR = 200;
- switch(CASE) {
- case 0:
- clearChat(player, CHAT_CLEAR);
- player.sendMessage(Main.prefix + "§7Du hast die Farbe "+color+" §7gewählt.");
- player.sendMessage(Main.prefix + "§7Herzlischen Glückwunsch! §7Deine gewählte Farbe hat gewonnen.");
- player.sendMessage(Main.prefix + "§7Dein Einsatz §e" + COINS + " Coins");
- player.sendMessage(Main.prefix + "Dein Gewinn §e" + COINS_WIN + " Coins");
- 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));
- player.playSound(player.getLocation(), Sound.FIREWORK_LARGE_BLAST, 1, 1);
- break;
- default:
- clearChat(player, CHAT_CLEAR);
- player.sendMessage(Main.prefix + "§7Du hast die Farbe "+color+" §7gewählt.");
- player.sendMessage(Main.prefix + "§cLeider hast du nichts gewonnen.");
- player.sendMessage(Main.prefix + "Du hast §e" + COINS + " Coins §7verloren.");
- player.playSound(player.getLocation(), Sound.ARROW_HIT, 5, 5);
- break;
- }
- COUNT_DOWN = 11;
- pickingColor.remove(player);
- RUNNING = false;
- Bukkit.getScheduler().cancelTask(CURRENT_TASK);
- }
- @Override
- public boolean onCommand(CommandSender commandSender, Command command, String label, String[] args) {
- if(!(commandSender instanceof Player)) {
- commandSender.sendMessage(Main.prefix + "§cDu kannst das als Konsole nicht.");
- return true;
- }
- final int arguments = args.length;
- final Player player = (Player)commandSender;
- final PlayerData data = Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().get(player.getUniqueId());
- switch(arguments) {
- default:
- sendHelp(player);
- break;
- case 1:
- if(RUNNING == true) {
- player.sendMessage(Main.prefix + "Es Spielt zurzeit ein Spieler §ePTC§7.");
- } else {
- if(pickingColor.contains(player)) {
- player.sendMessage(Main.prefix + "Du hast §ePTC §cverlassen§7.");
- RUNNING = false;
- pickingColor.remove(player);
- } else {
- final int startCoins;
- try {
- startCoins = Integer.valueOf(args[0]);
- COINS = startCoins;
- if(startCoins == 0) {
- player.sendMessage(Main.prefix + "§7Du kannst nicht §e0 Coins §7als Einsatz setzen.");
- } else {
- if(data.getCoins() >= startCoins) {
- Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().put(player.getUniqueId(), new PlayerData(player.getUniqueId(), data.getLiga(), data.getPoints(), data.getKills(), data.getDeaths(), data.getLottoTickets(), data.getCoins() - startCoins));
- player.sendMessage(Main.prefix + "§7Du hast §e"+startCoins+" Coins §7eingesetzt.");
- player.sendMessage(Main.prefix + "§7Laufe nun auf eine Farbe...");
- RUNNING = true;
- startCountdown(player);
- pickingColor.add(player);
- final Location location = new Location(Bukkit.getWorld(WORLD_NAME), -92.588, 70, 251.513, 90, 10);
- player.teleport(location);
- } else {
- player.sendMessage(Main.prefix + "§7Du kannst nicht mehr §eCoins §7einetzen als du hast.");
- }
- }
- } catch (NumberFormatException exception) {
- player.sendMessage(Main.prefix + "§7Du musst eine §cZahl §7als Einsatz eingeben.");
- }
- }
- }
- break;
- }
- return false;
- }
- @EventHandler
- public void onQuit(PlayerQuitEvent event) {
- final Player player = event.getPlayer();
- final PlayerData data = Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().get(player.getUniqueId());
- if(pickingColor.contains(player)) {
- pickingColor.remove(player);
- Main.getInstance().getPlayerDataManager().getPlayerDataHashMap().put(player.getUniqueId(), new PlayerData(player.getUniqueId(), data.getLiga(), data.getPoints(), data.getKills(), data.getDeaths(), data.getLottoTickets(), data.getCoins() + COINS));
- }
- RUNNING = false;
- }
- @EventHandler
- public void onRegionEnter(RegionEnterEvent event) {
- final Player player = event.getPlayer();
- if(event.getRegion().getId().equalsIgnoreCase("rot") && pickingColor.contains(player)) {
- pickWin(player, "§cROT");
- } else if(event.getRegion().getId().equalsIgnoreCase("gruen") && pickingColor.contains(player)) {
- pickWin(player, "§aGRÜN");
- } else if(event.getRegion().getId().equalsIgnoreCase("blau") && pickingColor.contains(player)) {
- pickWin(player, "§9BLAU");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement