diff --git a/src/main/java/de/fanta/challenges/Challenges.java b/src/main/java/de/fanta/challenges/Challenges.java index e025f2f..3b1d8ea 100644 --- a/src/main/java/de/fanta/challenges/Challenges.java +++ b/src/main/java/de/fanta/challenges/Challenges.java @@ -16,9 +16,9 @@ import de.fanta.challenges.commands.coords.CoordsSaveCommand; import de.fanta.challenges.commands.coords.CoordsShareCommand; import de.fanta.challenges.commands.ResetCommand; -import de.fanta.challenges.commands.ReviveCommand; -import de.fanta.challenges.commands.SettingsCommand; -import de.fanta.challenges.commands.TimerCommand; +import de.fanta.challenges.commands.ReviveCommandTODO; +import de.fanta.challenges.commands.SettingsCommandTODO; +import de.fanta.challenges.commands.TimerCommandTODO; import de.fanta.challenges.commands.hp.HPAddCommand; import de.fanta.challenges.commands.hp.HPGetCommand; import de.fanta.challenges.commands.hp.HPMaxCommand; @@ -63,7 +63,7 @@ private FileConfiguration RndDropsConfig; - private TimerCommand Timer; + private TimerCommandTODO Timer; private BackpackCommand backpack; @@ -93,7 +93,7 @@ wolfyUtilities.setCHAT_PREFIX(PREFIX); wolfyUtilities.setCONSOLE_PREFIX(PREFIX); - this.Timer = new TimerCommand(this); + this.Timer = new TimerCommandTODO(this); this.rndDrops = new RandomDrops(); this.inventoryHandler = new InventoryHandler(this); @@ -101,9 +101,9 @@ this.backpack = new BackpackCommand(this); - getCommand("settings").setExecutor(new SettingsCommand(this)); - getCommand("revive").setExecutor(new ReviveCommand(this)); - getCommand("timer").setExecutor(new TimerCommand(this)); + getCommand("settings").setExecutor(new SettingsCommandTODO(this)); + getCommand("revive").setExecutor(new ReviveCommandTODO(this)); + getCommand("timer").setExecutor(new TimerCommandTODO(this)); CommandRouter challengesRouter = new CommandRouter(getCommand("challenges")); challengesRouter.addCommandMapping(new ChallengesCommand(this)); @@ -150,7 +150,7 @@ File worldfolder = new File(Bukkit.getWorldContainer().getPath() + "/" + worldname); File netherfolder = new File(Bukkit.getWorldContainer().getPath() + "/" + nethername); File endfolder = new File(Bukkit.getWorldContainer().getPath() + "/" + endname); - File mlgfolder = new File(Bukkit.getWorldContainer().getPath() + "/MLG_Challenge"); + File mlgfolder = new File(Bukkit.getWorldContainer().getPath() + "/mlg_challenge"); try { MoreFiles.deleteRecursively(worldfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE }); @@ -240,10 +240,8 @@ @SuppressWarnings("deprecation") public void CheckMLGWorld() { - if (getConfig().getBoolean("mlg.enabled") && Bukkit.getWorld("mlg_challenge") == null) { - Bukkit.broadcastMessage(PREFIX + " MLG welt wird generiert..."); + if (Bukkit.getWorld("mlg_challenge") == null) { Bukkit.createWorld((new WorldCreator("mlg_challenge")).type(WorldType.FLAT).generateStructures(false)); - Bukkit.broadcastMessage(PREFIX + " MLG welt wurde erfolgreich generiert..."); Bukkit.getWorld("mlg_challenge").setAnimalSpawnLimit(0); Bukkit.getWorld("mlg_challenge").setGameRuleValue("doMobSpawning", "false"); Bukkit.getWorld("mlg_challenge").setGameRuleValue("doDaylightCycle", "false"); diff --git a/src/main/java/de/fanta/challenges/commands/ResetCommand.java b/src/main/java/de/fanta/challenges/commands/ResetCommand.java index 572779e..d235afb 100644 --- a/src/main/java/de/fanta/challenges/commands/ResetCommand.java +++ b/src/main/java/de/fanta/challenges/commands/ResetCommand.java @@ -22,10 +22,6 @@ @Override public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) { - if (!(sender instanceof Player)) { - ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); - return true; - } if ((plugin.getCurrentEditor() != null && ((Player) sender).getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) || sender.hasPermission("Challenges.editor.override")) { plugin.getConfig().set("World_Name", Bukkit.getWorlds().get(0).getName()); plugin.getConfig().set("World_Reset", true); diff --git a/src/main/java/de/fanta/challenges/commands/ReviveCommand.java b/src/main/java/de/fanta/challenges/commands/ReviveCommand.java deleted file mode 100644 index bf93e37..0000000 --- a/src/main/java/de/fanta/challenges/commands/ReviveCommand.java +++ /dev/null @@ -1,74 +0,0 @@ -package de.fanta.challenges.commands; - -import de.fanta.challenges.Challenges; -import de.fanta.challenges.ChatUtil; -import org.bukkit.Bukkit; -import org.bukkit.GameMode; -import org.bukkit.Location; -import org.bukkit.OfflinePlayer; -import org.bukkit.World; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class ReviveCommand implements CommandExecutor { - - private final Challenges plugin; - - public ReviveCommand(Challenges plugin) { - this.plugin = plugin; - } - - @SuppressWarnings("deprecation") - @Override - public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { - if ((plugin.getCurrentEditor() != null && ((Player) sender).getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) || sender.hasPermission("Challenges.editor.override")) { - if (args.length == 1) { - if (args[0].equalsIgnoreCase("all")) { - for (Player p : Bukkit.getOnlinePlayers()) { - p.setHealth(p.getMaxHealth()); - p.setGameMode(GameMode.SURVIVAL); - } - Bukkit.broadcastMessage("§bAlle Spieler wurden wiederbelebt! §aEs kann weiter gehen!"); - } else { - OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[0])); - if (other.isOnline()) { - Player p = (Player) other; - p.setHealth(p.getMaxHealth()); - p.setGameMode(GameMode.SURVIVAL); - Bukkit.broadcastMessage("§b" + p.getName() + " §awurde von §b" + sender.getName() + " §awiederbelebt!"); - } else - sender.sendMessage("§cDieser Spieler ist nicht online!"); - } - } else if (args.length >= 4) { - World w = Bukkit.getWorld(args[1]); - double x = Double.parseDouble(args[2]); - double y = Double.parseDouble(args[3]); - double z = Double.parseDouble(args[4]); - Location loc = new Location(w, x, y, z); - if (args[0].equalsIgnoreCase("all")) { - for (Player p : Bukkit.getOnlinePlayers()) { - p.teleport(loc); - p.setHealth(p.getMaxHealth()); - p.setGameMode(GameMode.SURVIVAL); - } - Bukkit.broadcastMessage("§bAlle Spieler wurden bei §c" + w.getName() + " " + x + " " + y + " " + z + " §bwiederbelebt! §aEs kann weiter gehen!"); - } else { - OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[0])); - if (other.isOnline()) { - Player p = (Player) other; - p.teleport(loc); - p.setHealth(p.getMaxHealth()); - p.setGameMode(GameMode.SURVIVAL); - Bukkit.broadcastMessage("§b" + p.getName() + " §awurde von §b" + sender.getName() + " §abei §c" + w.getName() + " " + x + " " + y + " " + z + " §awiederbelebt!"); - } else - sender.sendMessage("§cDieser Spieler ist nicht online!"); - } - } else - sender.sendMessage("§cBenutze: /revive [world] [x] [y] [z]"); - } else - ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! Nur " + plugin.getCurrentEditor().getName() + " kann spieler wiederbeleben!"); - return true; - } -} diff --git a/src/main/java/de/fanta/challenges/commands/ReviveCommandTODO.java b/src/main/java/de/fanta/challenges/commands/ReviveCommandTODO.java new file mode 100644 index 0000000..eabb583 --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/ReviveCommandTODO.java @@ -0,0 +1,74 @@ +package de.fanta.challenges.commands; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; +import org.bukkit.Bukkit; +import org.bukkit.GameMode; +import org.bukkit.Location; +import org.bukkit.OfflinePlayer; +import org.bukkit.World; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class ReviveCommandTODO implements CommandExecutor { + + private final Challenges plugin; + + public ReviveCommandTODO(Challenges plugin) { + this.plugin = plugin; + } + + @SuppressWarnings("deprecation") + @Override + public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { + if ((plugin.getCurrentEditor() != null && ((Player) sender).getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) || sender.hasPermission("Challenges.editor.override")) { + if (args.length == 1) { + if (args[0].equalsIgnoreCase("all")) { + for (Player p : Bukkit.getOnlinePlayers()) { + p.setHealth(p.getMaxHealth()); + p.setGameMode(GameMode.SURVIVAL); + } + Bukkit.broadcastMessage("§bAlle Spieler wurden wiederbelebt! §aEs kann weiter gehen!"); + } else { + OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[0])); + if (other.isOnline()) { + Player p = (Player) other; + p.setHealth(p.getMaxHealth()); + p.setGameMode(GameMode.SURVIVAL); + Bukkit.broadcastMessage("§b" + p.getName() + " §awurde von §b" + sender.getName() + " §awiederbelebt!"); + } else + sender.sendMessage("§cDieser Spieler ist nicht online!"); + } + } else if (args.length >= 4) { + World w = Bukkit.getWorld(args[1]); + double x = Double.parseDouble(args[2]); + double y = Double.parseDouble(args[3]); + double z = Double.parseDouble(args[4]); + Location loc = new Location(w, x, y, z); + if (args[0].equalsIgnoreCase("all")) { + for (Player p : Bukkit.getOnlinePlayers()) { + p.teleport(loc); + p.setHealth(p.getMaxHealth()); + p.setGameMode(GameMode.SURVIVAL); + } + Bukkit.broadcastMessage("§bAlle Spieler wurden bei §c" + w.getName() + " " + x + " " + y + " " + z + " §bwiederbelebt! §aEs kann weiter gehen!"); + } else { + OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[0])); + if (other.isOnline()) { + Player p = (Player) other; + p.teleport(loc); + p.setHealth(p.getMaxHealth()); + p.setGameMode(GameMode.SURVIVAL); + Bukkit.broadcastMessage("§b" + p.getName() + " §awurde von §b" + sender.getName() + " §abei §c" + w.getName() + " " + x + " " + y + " " + z + " §awiederbelebt!"); + } else + sender.sendMessage("§cDieser Spieler ist nicht online!"); + } + } else + sender.sendMessage("§cBenutze: /revive [world] [x] [y] [z]"); + } else + ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! Nur " + plugin.getCurrentEditor().getName() + " kann spieler wiederbeleben!"); + return true; + } +} diff --git a/src/main/java/de/fanta/challenges/commands/SettingsCommand.java b/src/main/java/de/fanta/challenges/commands/SettingsCommand.java deleted file mode 100644 index 15eed7b..0000000 --- a/src/main/java/de/fanta/challenges/commands/SettingsCommand.java +++ /dev/null @@ -1,152 +0,0 @@ -package de.fanta.challenges.commands; - -import de.fanta.challenges.Challenges; -import de.fanta.challenges.ChatUtil; -import me.wolfyscript.utilities.api.WolfyUtilities; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class SettingsCommand implements CommandExecutor { - - - private final Challenges plugin; - - public SettingsCommand(Challenges plugin) { - this.plugin = plugin; - } - - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player p = (Player) sender; - if (args.length == 0) { - if ((plugin.getCurrentEditor() != null && ((Player) sender).getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) || sender.hasPermission("Challenges.editor.override")) { - WolfyUtilities.getAPI(plugin).getInventoryAPI().openCluster(p, "none"); - return true; - } else { - ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); - } - } else if (args.length == 1) { - if (args[0].equalsIgnoreCase("get")) { - if ((plugin.getCurrentEditor() != null && ((Player) sender).getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) || sender.hasPermission("Challenges.editor.override")) { - ChatUtil.sendNormalMessage(p, "Einstellungen"); - ChatUtil.sendNormalMessage(p, "Crafting = " + plugin.getConfig().getBoolean("craftingtable")); - ChatUtil.sendNormalMessage(p, "Villager Handel = " + plugin.getConfig().getBoolean("allowtrading")); - ChatUtil.sendNormalMessage(p, "Sterben bei Fallschaden = " + plugin.getConfig().getBoolean("deathonfall")); - ChatUtil.sendNormalMessage(p, "Schaden bei Schleichen = " + plugin.getConfig().getBoolean("damageonsneak")); - ChatUtil.sendNormalMessage(p, "Schadens wert bei Schleichen = " + plugin.getConfig().getString("sneakdmg")); - ChatUtil.sendNormalMessage(p, "Geteielter Schaden = " + plugin.getConfig().getBoolean("sharedmg")); - ChatUtil.sendNormalMessage(p, "Ein Leben für alle = " + plugin.getConfig().getBoolean("onelife")); - ChatUtil.sendNormalMessage(p, "Schaden im Chat = " + plugin.getConfig().getBoolean("dmginchat")); - ChatUtil.sendNormalMessage(p, "Respawn = " + plugin.getConfig().getBoolean("respawn")); - ChatUtil.sendNormalMessage(p, "MLG " + plugin.getConfig().getBoolean("mlg.enabled")); - ChatUtil.sendNormalMessage(p, "MLG Kill All " + plugin.getConfig().getBoolean("mlg.killall")); - ChatUtil.sendNormalMessage(p, "Maximale zeit bis zum nächsten MLG = " + plugin.getConfig().getString("mlg.maxtime") + " Sekunden"); - ChatUtil.sendNormalMessage(p, "Sterben beim XP aufheben: " + plugin.getConfig().getBoolean("xpdeath")); - - } else { - ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); - } - } else { - ChatUtil.sendWarningMessage(p, "/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG/MLG/MLGkillall/MLGTime/DeathXP/SprintDeath/JumpDeath [True/False]"); - } - } else if (args.length >= 2) { - if ((plugin.getCurrentEditor() != null && ((Player) sender).getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) || sender.hasPermission("Challenges.editor.override")) { - Boolean Bwert = Boolean.valueOf(Boolean.parseBoolean(args[1])); - switch (args[0].toLowerCase()) { - case "crafting": - plugin.getConfig().set("craftingtable", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Crafting = " + plugin.getConfig().getBoolean("craftingtable")); - break; - case "deathfall": - plugin.getConfig().set("deathonfall", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben bei Fallschaden = " + plugin.getConfig().getBoolean("deathonfall")); - break; - case "trading": - plugin.getConfig().set("allowtrading", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Villager Handel = " + plugin.getConfig().getBoolean("allowtrading")); - break; - case "dmgonsneak": - plugin.getConfig().set("damageonsneak", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Schaden bei Schleichen = " + plugin.getConfig().getBoolean("damageonsneak")); - break; - case "sneakdmg": - Double Dwert = Double.valueOf(Double.parseDouble(args[1])); - plugin.getConfig().set("sneakdmg", Dwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Schadens wert bei Schleichen = " + plugin.getConfig().getString("sneakdmg")); - break; - case "rnddrops": - plugin.getConfig().set("rnddrops", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Random Drops = " + plugin.getConfig().getBoolean("rnddrops")); - break; - case "sharedmg": - plugin.getConfig().set("sharehp", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Geteielter Schaden = " + plugin.getConfig().getBoolean("sharedmg")); - case "respawn": - plugin.getConfig().set("respawn", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Respawn = " + plugin.getConfig().getBoolean("respawn")); - break; - case "onelife": - plugin.getConfig().set("onelife", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Ein Leben für alle = " + plugin.getConfig().getBoolean("onelife")); - break; - case "chatdmg": - plugin.getConfig().set("dmginchat", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Schaden im Chat = " + plugin.getConfig().getBoolean("dmginchat")); - break; - case "mlg": - plugin.getConfig().set("mlg.enabled", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "MLG " + plugin.getConfig().getBoolean("mlg.enabled")); - break; - case "mlgkillall": - plugin.getConfig().set("mlg.killall", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "MLG Kill All " + plugin.getConfig().getBoolean("mlg.killall")); - break; - case "mlgtime": - Double time = Double.valueOf(Double.parseDouble(args[1])); - plugin.getConfig().set("mlg.maxtime", time); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Maximale zeit bis zum nächsten MLG = " + plugin.getConfig().getString("mlg.maxtime") + " Sekunden"); - break; - case "deathxp": - plugin.getConfig().set("xpdeath", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben beim XP aufheben: " + plugin.getConfig().getBoolean("xpdeath")); - break; - case "sprintdeath": - plugin.getConfig().set("deathonsprint", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben durch sprinten: " + plugin.getConfig().getBoolean("deathonsprint")); - break; - case "jumpdeath": - plugin.getConfig().set("deathonjump", Bwert); - plugin.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben durch springenn: " + plugin.getConfig().getBoolean("deathonjump")); - break; - } - } else { - ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); - } - } else { - ChatUtil.sendWarningMessage(p, "/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG/MLG/MLGkillall/MLGTime/DeathXP/SprintDeath/JumpDeath [True/False]"); - } - } else { - ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); - } - return true; - } -} \ No newline at end of file diff --git a/src/main/java/de/fanta/challenges/commands/SettingsCommandTODO.java b/src/main/java/de/fanta/challenges/commands/SettingsCommandTODO.java new file mode 100644 index 0000000..f7f1db4 --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/SettingsCommandTODO.java @@ -0,0 +1,152 @@ +package de.fanta.challenges.commands; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; +import me.wolfyscript.utilities.api.WolfyUtilities; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class SettingsCommandTODO implements CommandExecutor { + + + private final Challenges plugin; + + public SettingsCommandTODO(Challenges plugin) { + this.plugin = plugin; + } + + @Override + public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { + if (sender instanceof Player) { + Player p = (Player) sender; + if (args.length == 0) { + if ((plugin.getCurrentEditor() != null && ((Player) sender).getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) || sender.hasPermission("Challenges.editor.override")) { + WolfyUtilities.getAPI(plugin).getInventoryAPI().openCluster(p, "none"); + return true; + } else { + ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); + } + } else if (args.length == 1) { + if (args[0].equalsIgnoreCase("get")) { + if ((plugin.getCurrentEditor() != null && ((Player) sender).getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) || sender.hasPermission("Challenges.editor.override")) { + ChatUtil.sendNormalMessage(p, "Einstellungen"); + ChatUtil.sendNormalMessage(p, "Crafting = " + plugin.getConfig().getBoolean("craftingtable")); + ChatUtil.sendNormalMessage(p, "Villager Handel = " + plugin.getConfig().getBoolean("allowtrading")); + ChatUtil.sendNormalMessage(p, "Sterben bei Fallschaden = " + plugin.getConfig().getBoolean("deathonfall")); + ChatUtil.sendNormalMessage(p, "Schaden bei Schleichen = " + plugin.getConfig().getBoolean("damageonsneak")); + ChatUtil.sendNormalMessage(p, "Schadens wert bei Schleichen = " + plugin.getConfig().getString("sneakdmg")); + ChatUtil.sendNormalMessage(p, "Geteielter Schaden = " + plugin.getConfig().getBoolean("sharedmg")); + ChatUtil.sendNormalMessage(p, "Ein Leben für alle = " + plugin.getConfig().getBoolean("onelife")); + ChatUtil.sendNormalMessage(p, "Schaden im Chat = " + plugin.getConfig().getBoolean("dmginchat")); + ChatUtil.sendNormalMessage(p, "Respawn = " + plugin.getConfig().getBoolean("respawn")); + ChatUtil.sendNormalMessage(p, "MLG " + plugin.getConfig().getBoolean("mlg.enabled")); + ChatUtil.sendNormalMessage(p, "MLG Kill All " + plugin.getConfig().getBoolean("mlg.killall")); + ChatUtil.sendNormalMessage(p, "Maximale zeit bis zum nächsten MLG = " + plugin.getConfig().getString("mlg.maxtime") + " Sekunden"); + ChatUtil.sendNormalMessage(p, "Sterben beim XP aufheben: " + plugin.getConfig().getBoolean("xpdeath")); + + } else { + ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); + } + } else { + ChatUtil.sendWarningMessage(p, "/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG/MLG/MLGkillall/MLGTime/DeathXP/SprintDeath/JumpDeath [True/False]"); + } + } else if (args.length >= 2) { + if ((plugin.getCurrentEditor() != null && ((Player) sender).getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) || sender.hasPermission("Challenges.editor.override")) { + Boolean Bwert = Boolean.valueOf(Boolean.parseBoolean(args[1])); + switch (args[0].toLowerCase()) { + case "crafting": + plugin.getConfig().set("craftingtable", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Crafting = " + plugin.getConfig().getBoolean("craftingtable")); + break; + case "deathfall": + plugin.getConfig().set("deathonfall", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Sterben bei Fallschaden = " + plugin.getConfig().getBoolean("deathonfall")); + break; + case "trading": + plugin.getConfig().set("allowtrading", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Villager Handel = " + plugin.getConfig().getBoolean("allowtrading")); + break; + case "dmgonsneak": + plugin.getConfig().set("damageonsneak", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Schaden bei Schleichen = " + plugin.getConfig().getBoolean("damageonsneak")); + break; + case "sneakdmg": + Double Dwert = Double.valueOf(Double.parseDouble(args[1])); + plugin.getConfig().set("sneakdmg", Dwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Schadens wert bei Schleichen = " + plugin.getConfig().getString("sneakdmg")); + break; + case "rnddrops": + plugin.getConfig().set("rnddrops", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Random Drops = " + plugin.getConfig().getBoolean("rnddrops")); + break; + case "sharedmg": + plugin.getConfig().set("sharehp", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Geteielter Schaden = " + plugin.getConfig().getBoolean("sharedmg")); + case "respawn": + plugin.getConfig().set("respawn", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Respawn = " + plugin.getConfig().getBoolean("respawn")); + break; + case "onelife": + plugin.getConfig().set("onelife", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Ein Leben für alle = " + plugin.getConfig().getBoolean("onelife")); + break; + case "chatdmg": + plugin.getConfig().set("dmginchat", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Schaden im Chat = " + plugin.getConfig().getBoolean("dmginchat")); + break; + case "mlg": + plugin.getConfig().set("mlg.enabled", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "MLG " + plugin.getConfig().getBoolean("mlg.enabled")); + break; + case "mlgkillall": + plugin.getConfig().set("mlg.killall", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "MLG Kill All " + plugin.getConfig().getBoolean("mlg.killall")); + break; + case "mlgtime": + Double time = Double.valueOf(Double.parseDouble(args[1])); + plugin.getConfig().set("mlg.maxtime", time); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Maximale zeit bis zum nächsten MLG = " + plugin.getConfig().getString("mlg.maxtime") + " Sekunden"); + break; + case "deathxp": + plugin.getConfig().set("xpdeath", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Sterben beim XP aufheben: " + plugin.getConfig().getBoolean("xpdeath")); + break; + case "sprintdeath": + plugin.getConfig().set("deathonsprint", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Sterben durch sprinten: " + plugin.getConfig().getBoolean("deathonsprint")); + break; + case "jumpdeath": + plugin.getConfig().set("deathonjump", Bwert); + plugin.saveConfig(); + ChatUtil.sendNormalMessage(p, "Sterben durch springenn: " + plugin.getConfig().getBoolean("deathonjump")); + break; + } + } else { + ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); + } + } else { + ChatUtil.sendWarningMessage(p, "/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG/MLG/MLGkillall/MLGTime/DeathXP/SprintDeath/JumpDeath [True/False]"); + } + } else { + ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); + } + return true; + } +} \ No newline at end of file diff --git a/src/main/java/de/fanta/challenges/commands/TimerCommand.java b/src/main/java/de/fanta/challenges/commands/TimerCommand.java deleted file mode 100644 index 2b264f7..0000000 --- a/src/main/java/de/fanta/challenges/commands/TimerCommand.java +++ /dev/null @@ -1,255 +0,0 @@ -package de.fanta.challenges.commands; - -import de.fanta.challenges.Challenges; -import de.fanta.challenges.ChatUtil; -import java.util.Random; -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Effect; -import org.bukkit.GameMode; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.bukkit.event.inventory.InventoryType; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.ItemStack; - -public class TimerCommand implements CommandExecutor { - - private final Challenges plugin; - - public TimerCommand(Challenges plugin) { - this.plugin = plugin; - } - private int time; - private int sek; - private int min; - private int hrs; - private int tsincemlg = 0; - private String ssek; - private String smin; - private Random random = new Random(); - - private boolean mlg_active = false; - - @Override - public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { - if ((plugin.getCurrentEditor() != null && ((Player) sender).getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) || sender.hasPermission("Challenges.editor.override")) { - if (args.length == 1) { - if (args[0].equalsIgnoreCase("start")) { - this.plugin.CheckMLGWorld(); - if (!this.plugin.getConfig().getBoolean("timer.enabled")) { - this.plugin.getConfig().set("timer.enabled", Boolean.valueOf(true)); - Bukkit.broadcastMessage(Challenges.PREFIX + " §aDer Timer wird fortgesetzt!"); - } else { - ChatUtil.sendWarningMessage(sender, "Der Timer läuft bereits!"); - } - } else if (args[0].equalsIgnoreCase("pause")) { - if (this.plugin.getConfig().getBoolean("timer.enabled")) { - this.plugin.getConfig().set("timer.enabled", Boolean.valueOf(false)); - Bukkit.broadcastMessage(Challenges.PREFIX + " §6Der Timer wurde angehalten"); - } else { - ChatUtil.sendWarningMessage(sender, "Der Timer ist bereits pausiert!"); - } - } else if (args[0].equalsIgnoreCase("reset")) { - SetTimer(0); - Bukkit.broadcastMessage(Challenges.PREFIX + " §cDer Timer wurde zurückgesetzt!"); - } else if (args[0].equalsIgnoreCase("reverse")) { - this.plugin.getConfig().set("timer.reverse", Boolean.valueOf(!this.plugin.getConfig().getBoolean("timer.reverse"))); - this.plugin.saveConfig(); - if (this.plugin.getConfig().getBoolean("timer.reverse")) { - Bukkit.broadcastMessage(Challenges.PREFIX + " §5Der Timer läuft nun rückwärts!"); - } else { - Bukkit.broadcastMessage(Challenges.PREFIX + " §9Der Timer läuft nun vorwärts!"); - } - } else if (args[0].equalsIgnoreCase("forcemlg")) { - this.plugin.CheckMLGWorld(); - if (!this.mlg_active) { - this.mlg_active = true; - Bukkit.broadcastMessage(Challenges.PREFIX + " §bZeit für einen MLG! §6Viel Glück!"); - for (Player p : Bukkit.getOnlinePlayers()) { - if ((((p.getGameMode() == GameMode.SURVIVAL) ? 1 : 0) & (!p.isDead() ? 1 : 0)) != 0) { - TPMLG(p); - } - } - } else { - ChatUtil.sendWarningMessage(sender, "Ein MLG findet bereits statt!"); - } - } else { - ChatUtil.sendWarningMessage(sender, "Benutze: /timer start/pause/reset/reverse/set [Zeit in Sekunden]"); - } - } else if (args.length >= 2) { - if (args[0].equalsIgnoreCase("set")) { - SetTimer(Integer.parseInt(args[1])); - Bukkit.broadcastMessage(Challenges.PREFIX + " §bDer Timer wurde auf §a" + this.hrs + ":" + this.smin + ":" + this.ssek + " §bgesetzt!"); - } else { - - ChatUtil.sendWarningMessage(sender, "Benutze: /timer start/pause/reset/reverse/set [Zeit in Sekunden]"); - } - } else { - ChatUtil.sendNormalMessage(sender, "~~~~~ Timer command ~~~~~"); - ChatUtil.sendNormalMessage(sender, "/timer start - Setze den Timer fort"); - ChatUtil.sendNormalMessage(sender, "/timer pause - Pausiere den Timer"); - ChatUtil.sendNormalMessage(sender, "/timer reset - Setze den Timer zurück"); - ChatUtil.sendNormalMessage(sender, "/timer set [Zeit in Sekunden] - Setze den Timer auf eine bestimmte Zeit"); - ChatUtil.sendNormalMessage(sender, "/timer reverse - Ändere ob der Timer vor- oder rückwärts läuft"); - } - - } else { - ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); - } - return true; - } - - public void LoadTimer() { - this.time = this.plugin.getConfig().getInt("timer.time"); - UpdateStrings(); - StartTimer(); - } - - public void StartTimer() { - Bukkit.getScheduler().scheduleSyncRepeatingTask(this.plugin, new Runnable() { - @Override - public void run() { - int rndnmbr = TimerCommand.this.random.nextInt(750); - boolean ttimer = TimerCommand.this.plugin.getConfig().getBoolean("timer.enabled"); - int ttime = TimerCommand.this.plugin.getConfig().getInt("timer.time"); - int thrs = TimerCommand.this.plugin.getConfig().getInt("timer.hrs"); - String tsek = TimerCommand.this.plugin.getConfig().getString("timer.sek"); - String tmin = TimerCommand.this.plugin.getConfig().getString("timer.min"); - - if (ttimer) { - TimerCommand.this.tsincemlg++; - if (TimerCommand.this.plugin.getConfig().getBoolean("mlg.enabled") && !TimerCommand.this.mlg_active && Bukkit.getOnlinePlayers().size() >= 1 && (rndnmbr == 638 || TimerCommand.this.tsincemlg >= TimerCommand.this.plugin.getConfig().getInt("mlg.maxtime"))) { - Bukkit.broadcastMessage(Challenges.PREFIX + " §bZeit für einen MLG! §6Viel Glück!"); - TimerCommand.this.tsincemlg = 0; - for (Player p : Bukkit.getOnlinePlayers()) { - if ((((p.getGameMode() == GameMode.SURVIVAL) ? 1 : 0) & (!p.isDead() ? 1 : 0)) != 0) { - TimerCommand.this.TPMLG(p); - } - } - } - - if (TimerCommand.this.plugin.getConfig().getBoolean("timer.reverse")) { - if (ttime <= 0) { - TimerCommand.this.plugin.getConfig().set("timer.enabled", Boolean.valueOf(false)); - for (Player p : Bukkit.getOnlinePlayers()) { - p.setGameMode(GameMode.SPECTATOR); - p.sendTitle("§4ZEIT ABGELAUFEN!", "§cChallenge fehgeschlagen", 10, 60, 10); - } - Bukkit.broadcastMessage(Challenges.PREFIX + " §4Die Zeit ist abgelaufen und die Challenge somit fehlgeschlagen!"); - - Bukkit.broadcastMessage(Challenges.PREFIX + " §aSeed: §b" + Bukkit.getWorlds().get(0).getSeed()); - } else { - ttime--; - TimerCommand.this.time = ttime; - TimerCommand.this.UpdateStrings(); - } - for (Player p : Bukkit.getOnlinePlayers()) { - p.sendActionBar(ChatColor.DARK_GREEN + "" + ChatColor.BOLD + thrs + ":" + tmin + ":" + tsek); - } - } else { - - ttime++; - TimerCommand.this.time = ttime; - TimerCommand.this.UpdateStrings(); - for (Player p : Bukkit.getOnlinePlayers()) { - p.sendActionBar(ChatColor.GREEN + "" + ChatColor.BOLD + thrs + ":" + tmin + ":" + tsek); - } - } - } else { - - for (Player p : Bukkit.getOnlinePlayers()) { - p.sendActionBar(ChatColor.GOLD + "" + ChatColor.BOLD + "Der Timer ist pausiert."); - if (p.getGameMode() != GameMode.SPECTATOR) - p.getWorld().playEffect(p.getLocation(), Effect.ENDER_SIGNAL, 2); - } - } - } - }, 20L, 20L); - } - - public void SetTimer(int t) { - this.plugin.getConfig().set("timer.enabled", Boolean.valueOf(false)); - this.time = t; - UpdateStrings(); - SaveTimer(); - } - - public void UpdateStrings() { - this.min = this.time / 60; - this.hrs = this.min / 60; - this.min %= 60; - this.sek = this.time % 60; - if (this.sek >= 10) { - this.ssek = Integer.toString(this.sek); - } else { - this.ssek = '0' + Integer.toString(this.sek); - } - if (this.min >= 10) { - this.smin = Integer.toString(this.min); - } else { - this.smin = '0' + Integer.toString(this.min); - } - SaveTimer(); - } - - public void SaveTimer() { - this.plugin.getConfig().set("timer.time", Integer.valueOf(this.time)); - this.plugin.getConfig().set("timer.sek", this.ssek); - this.plugin.getConfig().set("timer.min", this.smin); - this.plugin.getConfig().set("timer.hrs", Integer.valueOf(this.hrs)); - this.plugin.saveConfig(); - } - - @SuppressWarnings("deprecation") - public void TPMLG(Player p) { - p.closeInventory(); - Inventory inv = Bukkit.createInventory(p, InventoryType.PLAYER, p.getName()); - inv.setContents(p.getInventory().getContents()); - p.getInventory().clear(); - p.getInventory().setItemInHand(new ItemStack(Material.WATER_BUCKET)); - int rndY = this.random.nextInt(20); - Location oldloc = p.getLocation(); - - Location newloc = new Location(Bukkit.getWorld("mlg_challenge"), p.getLocation().getBlockX(), (50 + rndY), p.getLocation().getBlockZ()); - p.teleport(newloc); - MLGResult(p, oldloc, inv); - } - - public void MLGResult(final Player p, final Location loc, final Inventory inv) { - Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() { - @SuppressWarnings("deprecation") - @Override - public void run() { - TimerCommand.this.mlg_active = false; - if (!p.isDead() && p.getWorld() == Bukkit.getWorld("mlg_challenge")) { - if (TimerCommand.this.plugin.getConfig().getBoolean("timer.enabled")) { - ChatUtil.sendNormalMessage(p, "§aDu hast den §bMLG §aerfolgreich absolviert! §6Weitere folgen..."); - p.setInvulnerable(true); - TimerCommand.this.MLGBack(p, loc, inv); - } else { - TimerCommand.this.MLGBack(p, loc, inv); - } - } else if (Bukkit.getWorlds().get(0).getGameRuleValue("keepInventory").equals("true")) { - p.getInventory().setContents(inv.getContents()); - } - } - }, 100L); - } - - public void MLGBack(final Player p, Location loc, Inventory inv) { - p.teleport(loc); - p.getInventory().setContents(inv.getContents()); - Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() { - @Override - public void run() { - p.setInvulnerable(false); - } - }, 60L); - } - -} \ No newline at end of file diff --git a/src/main/java/de/fanta/challenges/commands/TimerCommandTODO.java b/src/main/java/de/fanta/challenges/commands/TimerCommandTODO.java new file mode 100644 index 0000000..ca8417a --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/TimerCommandTODO.java @@ -0,0 +1,252 @@ +package de.fanta.challenges.commands; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; +import java.util.Random; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Effect; +import org.bukkit.GameMode; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.InventoryType; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; + +public class TimerCommandTODO implements CommandExecutor { + + private final Challenges plugin; + + public TimerCommandTODO(Challenges plugin) { + this.plugin = plugin; + } + private int time; + private int sek; + private int min; + private int hrs; + private int tsincemlg = 0; + private String ssek; + private String smin; + private Random random = new Random(); + + private boolean mlg_active = false; + + @Override + public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { + if ((plugin.getCurrentEditor() != null && ((Player) sender).getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) || sender.hasPermission("Challenges.editor.override")) { + if (args.length == 1) { + if (args[0].equalsIgnoreCase("start")) { + if (!this.plugin.getConfig().getBoolean("timer.enabled")) { + this.plugin.getConfig().set("timer.enabled", Boolean.valueOf(true)); + Bukkit.broadcastMessage(Challenges.PREFIX + " §aDer Timer wird fortgesetzt!"); + } else { + ChatUtil.sendWarningMessage(sender, "Der Timer läuft bereits!"); + } + } else if (args[0].equalsIgnoreCase("pause")) { + if (this.plugin.getConfig().getBoolean("timer.enabled")) { + this.plugin.getConfig().set("timer.enabled", Boolean.valueOf(false)); + Bukkit.broadcastMessage(Challenges.PREFIX + " §6Der Timer wurde angehalten"); + } else { + ChatUtil.sendWarningMessage(sender, "Der Timer ist bereits pausiert!"); + } + } else if (args[0].equalsIgnoreCase("reset")) { + SetTimer(0); + Bukkit.broadcastMessage(Challenges.PREFIX + " §cDer Timer wurde zurückgesetzt!"); + } else if (args[0].equalsIgnoreCase("reverse")) { + this.plugin.getConfig().set("timer.reverse", Boolean.valueOf(!this.plugin.getConfig().getBoolean("timer.reverse"))); + this.plugin.saveConfig(); + if (this.plugin.getConfig().getBoolean("timer.reverse")) { + Bukkit.broadcastMessage(Challenges.PREFIX + " §5Der Timer läuft nun rückwärts!"); + } else { + Bukkit.broadcastMessage(Challenges.PREFIX + " §9Der Timer läuft nun vorwärts!"); + } + } else if (args[0].equalsIgnoreCase("forcemlg")) { + if (!this.mlg_active) { + this.mlg_active = true; + Bukkit.broadcastMessage(Challenges.PREFIX + " §bZeit für einen MLG! §6Viel Glück!"); + for (Player p : Bukkit.getOnlinePlayers()) { + if ((((p.getGameMode() == GameMode.SURVIVAL) ? 1 : 0) & (!p.isDead() ? 1 : 0)) != 0) { + TPMLG(p); + } + } + } else { + ChatUtil.sendWarningMessage(sender, "Ein MLG findet bereits statt!"); + } + } else { + ChatUtil.sendWarningMessage(sender, "Benutze: /timer start/pause/reset/reverse/set [Zeit in Sekunden]"); + } + } else if (args.length >= 2) { + if (args[0].equalsIgnoreCase("set")) { + SetTimer(Integer.parseInt(args[1])); + Bukkit.broadcastMessage(Challenges.PREFIX + " §bDer Timer wurde auf §a" + this.hrs + ":" + this.smin + ":" + this.ssek + " §bgesetzt!"); + } else { + + ChatUtil.sendWarningMessage(sender, "Benutze: /timer start/pause/reset/reverse/set [Zeit in Sekunden]"); + } + } else { + ChatUtil.sendNormalMessage(sender, "~~~~~ Timer command ~~~~~"); + ChatUtil.sendNormalMessage(sender, "/timer start - Setze den Timer fort"); + ChatUtil.sendNormalMessage(sender, "/timer pause - Pausiere den Timer"); + ChatUtil.sendNormalMessage(sender, "/timer reset - Setze den Timer zurück"); + ChatUtil.sendNormalMessage(sender, "/timer set [Zeit in Sekunden] - Setze den Timer auf eine bestimmte Zeit"); + ChatUtil.sendNormalMessage(sender, "/timer reverse - Ändere ob der Timer vor- oder rückwärts läuft"); + } + + } else { + ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); + } + return true; + } + + public void LoadTimer() { + this.time = this.plugin.getConfig().getInt("timer.time"); + UpdateStrings(); + StartTimer(); + } + + public void StartTimer() { + Bukkit.getScheduler().scheduleSyncRepeatingTask(this.plugin, new Runnable() { + @Override + public void run() { + int rndnmbr = TimerCommandTODO.this.random.nextInt(750); + boolean ttimer = TimerCommandTODO.this.plugin.getConfig().getBoolean("timer.enabled"); + int ttime = TimerCommandTODO.this.plugin.getConfig().getInt("timer.time"); + int thrs = TimerCommandTODO.this.plugin.getConfig().getInt("timer.hrs"); + String tsek = TimerCommandTODO.this.plugin.getConfig().getString("timer.sek"); + String tmin = TimerCommandTODO.this.plugin.getConfig().getString("timer.min"); + + if (ttimer) { + TimerCommandTODO.this.tsincemlg++; + if (TimerCommandTODO.this.plugin.getConfig().getBoolean("mlg.enabled") && !TimerCommandTODO.this.mlg_active && Bukkit.getOnlinePlayers().size() >= 1 && (rndnmbr == 638 || TimerCommandTODO.this.tsincemlg >= TimerCommandTODO.this.plugin.getConfig().getInt("mlg.maxtime"))) { + Bukkit.broadcastMessage(Challenges.PREFIX + " §bZeit für einen MLG! §6Viel Glück!"); + TimerCommandTODO.this.tsincemlg = 0; + for (Player p : Bukkit.getOnlinePlayers()) { + if ((((p.getGameMode() == GameMode.SURVIVAL) ? 1 : 0) & (!p.isDead() ? 1 : 0)) != 0) { + TimerCommandTODO.this.TPMLG(p); + } + } + } + + if (TimerCommandTODO.this.plugin.getConfig().getBoolean("timer.reverse")) { + if (ttime <= 0) { + TimerCommandTODO.this.plugin.getConfig().set("timer.enabled", Boolean.valueOf(false)); + for (Player p : Bukkit.getOnlinePlayers()) { + p.setGameMode(GameMode.SPECTATOR); + p.sendTitle("§4ZEIT ABGELAUFEN!", "§cChallenge fehgeschlagen", 10, 60, 10); + } + Bukkit.broadcastMessage(Challenges.PREFIX + " §4Die Zeit ist abgelaufen und die Challenge somit fehlgeschlagen!"); + + Bukkit.broadcastMessage(Challenges.PREFIX + " §aSeed: §b" + Bukkit.getWorlds().get(0).getSeed()); + } else { + ttime--; + TimerCommandTODO.this.time = ttime; + TimerCommandTODO.this.UpdateStrings(); + } + for (Player p : Bukkit.getOnlinePlayers()) { + p.sendActionBar(ChatColor.DARK_GREEN + "" + ChatColor.BOLD + thrs + ":" + tmin + ":" + tsek); + } + } else { + + ttime++; + TimerCommandTODO.this.time = ttime; + TimerCommandTODO.this.UpdateStrings(); + for (Player p : Bukkit.getOnlinePlayers()) { + p.sendActionBar(ChatColor.GREEN + "" + ChatColor.BOLD + thrs + ":" + tmin + ":" + tsek); + } + } + } else { + + for (Player p : Bukkit.getOnlinePlayers()) { + p.sendActionBar(ChatColor.GOLD + "" + ChatColor.BOLD + "Der Timer ist pausiert."); + if (p.getGameMode() != GameMode.SPECTATOR) + p.getWorld().playEffect(p.getLocation(), Effect.ENDER_SIGNAL, 2); + } + } + } + }, 20L, 20L); + } + + public void SetTimer(int t) { + this.plugin.getConfig().set("timer.enabled", Boolean.valueOf(false)); + this.time = t; + UpdateStrings(); + SaveTimer(); + } + + public void UpdateStrings() { + this.min = this.time / 60; + this.hrs = this.min / 60; + this.min %= 60; + this.sek = this.time % 60; + if (this.sek >= 10) { + this.ssek = Integer.toString(this.sek); + } else { + this.ssek = '0' + Integer.toString(this.sek); + } + if (this.min >= 10) { + this.smin = Integer.toString(this.min); + } else { + this.smin = '0' + Integer.toString(this.min); + } + SaveTimer(); + } + + public void SaveTimer() { + this.plugin.getConfig().set("timer.time", Integer.valueOf(this.time)); + this.plugin.getConfig().set("timer.sek", this.ssek); + this.plugin.getConfig().set("timer.min", this.smin); + this.plugin.getConfig().set("timer.hrs", Integer.valueOf(this.hrs)); + this.plugin.saveConfig(); + } + + @SuppressWarnings("deprecation") + public void TPMLG(Player p) { + p.closeInventory(); + Inventory inv = Bukkit.createInventory(p, InventoryType.PLAYER, p.getName()); + inv.setContents(p.getInventory().getContents()); + p.getInventory().clear(); + p.getInventory().setItemInHand(new ItemStack(Material.WATER_BUCKET)); + int rndY = this.random.nextInt(20); + Location oldloc = p.getLocation(); + + Location newloc = new Location(Bukkit.getWorld("mlg_challenge"), p.getLocation().getBlockX(), (50 + rndY), p.getLocation().getBlockZ()); + p.teleport(newloc); + MLGResult(p, oldloc, inv); + } + + public void MLGResult(final Player p, final Location loc, final Inventory inv) { + Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() { + @Override + public void run() { + TimerCommandTODO.this.mlg_active = false; + if (!p.isDead() && p.getWorld() == Bukkit.getWorld("mlg_challenge")) { + if (TimerCommandTODO.this.plugin.getConfig().getBoolean("timer.enabled")) { + ChatUtil.sendNormalMessage(p, "§aDu hast den §bMLG §aerfolgreich absolviert! §6Weitere folgen..."); + p.setInvulnerable(true); + TimerCommandTODO.this.MLGBack(p, loc, inv); + } else { + TimerCommandTODO.this.MLGBack(p, loc, inv); + } + } else if (Bukkit.getWorlds().get(0).getGameRuleValue("keepInventory").equals("true")) { + p.getInventory().setContents(inv.getContents()); + } + } + }, 100L); + } + + public void MLGBack(final Player p, Location loc, Inventory inv) { + p.teleport(loc); + p.getInventory().setContents(inv.getContents()); + Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() { + @Override + public void run() { + p.setInvulnerable(false); + } + }, 60L); + } + +} \ No newline at end of file diff --git a/src/main/java/de/fanta/challenges/events/BlockCreateListener.java b/src/main/java/de/fanta/challenges/events/BlockCreateListener.java index 03ecf38..2b49fdf 100644 --- a/src/main/java/de/fanta/challenges/events/BlockCreateListener.java +++ b/src/main/java/de/fanta/challenges/events/BlockCreateListener.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; +import org.bukkit.GameMode; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; @@ -14,14 +15,14 @@ @EventHandler public void onBlockPlace(BlockPlaceEvent e) { - if (!this.chl.getConfig().getBoolean("timer.enabled")) { + if (!this.chl.getConfig().getBoolean("timer.enabled") && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { e.setCancelled(true); } } @EventHandler public void onBucketPlace(PlayerBucketEmptyEvent e) { - if (!this.chl.getConfig().getBoolean("timer.enabled")) { + if (!this.chl.getConfig().getBoolean("timer.enabled") && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { e.setCancelled(true); } } diff --git a/src/main/java/de/fanta/challenges/events/BlockDestroyListener.java b/src/main/java/de/fanta/challenges/events/BlockDestroyListener.java index e659181..058ccff 100644 --- a/src/main/java/de/fanta/challenges/events/BlockDestroyListener.java +++ b/src/main/java/de/fanta/challenges/events/BlockDestroyListener.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -17,18 +18,18 @@ @EventHandler public void onBlockBreak(BlockBreakEvent e) { - if (this.chl.getConfig().getBoolean("rnddrops") == true && this.chl.getConfig().getBoolean("timer.enabled") == true) { + if (this.chl.getConfig().getBoolean("rnddrops") && this.chl.getConfig().getBoolean("timer.enabled")) { e.setDropItems(false); e.getBlock().getWorld().dropItem(e.getBlock().getLocation().add(0.5D, 0.5D, 0.5D), new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(e.getBlock()))); - } - if (this.chl.getConfig().getBoolean("timer.enabled") == false) { + } + if ((!this.chl.getConfig().getBoolean("timer.enabled")) && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { e.setCancelled(true); } } @EventHandler public void onBlockExplode(BlockExplodeEvent e) { - if (this.chl.getConfig().getBoolean("rnddrops") == true) { + if (this.chl.getConfig().getBoolean("rnddrops")) { e.blockList().forEach(block -> { if(!block.getType().isAir()){ block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D),new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(block))); @@ -41,7 +42,7 @@ @EventHandler public void onEntityExplode(EntityExplodeEvent e) { - if (this.chl.getConfig().getBoolean("rnddrops") == true) { + if (this.chl.getConfig().getBoolean("rnddrops")) { e.blockList().forEach(block -> { if(!block.getType().isAir()){ block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D),new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(block))); diff --git a/src/main/java/de/fanta/challenges/events/DamageListener.java b/src/main/java/de/fanta/challenges/events/DamageListener.java index 01b9431..941c33c 100644 --- a/src/main/java/de/fanta/challenges/events/DamageListener.java +++ b/src/main/java/de/fanta/challenges/events/DamageListener.java @@ -89,7 +89,7 @@ @EventHandler public void PlayerSneak(PlayerToggleSneakEvent e) { Player p = e.getPlayer(); - if (p.getGameMode() == GameMode.SURVIVAL) { + if ((this.chl.getConfig().getBoolean("timer.enabled")) && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { if (!p.isSneaking()) { if (chl.getConfig().getBoolean("damageonsneak")) { if (chl.getConfig().getBoolean("tntdeath")) { @@ -115,7 +115,7 @@ @EventHandler public void PlayerSprint(PlayerToggleSprintEvent e) { Player p = e.getPlayer(); - if (p.getGameMode() == GameMode.SURVIVAL) { + if ((this.chl.getConfig().getBoolean("timer.enabled")) && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { if (!p.isSprinting()) { if (chl.getConfig().getBoolean("deathonsprint")) { if (chl.getConfig().getBoolean("tntdeath")) { @@ -141,7 +141,7 @@ @EventHandler public void onPlayerJump(PlayerJumpEvent e) { Player p = e.getPlayer(); - if (p.getGameMode() == GameMode.SURVIVAL) { + if ((this.chl.getConfig().getBoolean("timer.enabled")) && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { if (chl.getConfig().getBoolean("deathonjump")) { if (chl.getConfig().getBoolean("tntdeath")) { for (Player pp : Bukkit.getOnlinePlayers()) { @@ -163,12 +163,15 @@ @EventHandler public void onDamageclear(EntityDamageEvent e) { + Player p = (Player) e.getEntity(); if (e.getEntity() instanceof Player) { if (chl.getConfig().getBoolean("clinvdmg")) { - for (Player pp : Bukkit.getOnlinePlayers()) { - pp.getInventory().clear(); - ChatUtil.sendNormalMessage(pp, e.getEntity().getName() + " hat Schaden bekommen! Alle Inventare wurden gelöscht!"); + if ((this.chl.getConfig().getBoolean("timer.enabled")) && p.getGameMode() == GameMode.SURVIVAL) { + for (Player pp : Bukkit.getOnlinePlayers()) { + pp.getInventory().clear(); + ChatUtil.sendNormalMessage(pp, e.getEntity().getName() + " hat Schaden bekommen! Alle Inventare wurden gelöscht!"); + } } } } @@ -178,7 +181,7 @@ @EventHandler public void PlayerGetXP(PlayerExpChangeEvent e) { Player p = e.getPlayer(); - if (p.getGameMode() == GameMode.SURVIVAL) { + if ((this.chl.getConfig().getBoolean("timer.enabled")) && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { if (chl.getConfig().getBoolean("xpdeath")) { if (chl.getConfig().getBoolean("tntdeath")) { for (Player pp : Bukkit.getOnlinePlayers()) { diff --git a/src/main/java/de/fanta/challenges/events/DeathListener.java b/src/main/java/de/fanta/challenges/events/DeathListener.java index 7e78c1c..9501676 100644 --- a/src/main/java/de/fanta/challenges/events/DeathListener.java +++ b/src/main/java/de/fanta/challenges/events/DeathListener.java @@ -4,6 +4,7 @@ import de.fanta.challenges.Challenges; import org.bukkit.Bukkit; +import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.entity.EnderDragon; import org.bukkit.entity.Player; @@ -19,7 +20,7 @@ @EventHandler public void onPlayerDeath(PlayerDeathEvent e) { - if (chl.getConfig().getBoolean("onelife") == true) { + if (chl.getConfig().getBoolean("onelife")) { chl.getConfig().set("timer.enabled", false); chl.saveConfig(); for (Player p : Bukkit.getOnlinePlayers()) { @@ -33,7 +34,7 @@ chl.getServer().broadcastMessage("§6Um alle wiederzubeleben benutze §c/revive ALL"); } else { e.setDeathMessage("§6" + e.getEntity().getName() + " §cist gestorben! §6(" + e.getEntity().getWorld().getName() + " " + e.getEntity().getLocation().getBlockX() + " " + e.getEntity().getLocation().getBlockY() + " " + e.getEntity().getLocation().getBlockZ() + "§c)"); - if (chl.getConfig().getBoolean("respawn") == false) { + if (!chl.getConfig().getBoolean("respawn")) { Bukkit.getServer().broadcastMessage("§6Benutze §c/revive " + e.getEntity().getName() + " [world] [x] [y] [z] §6um ihn wiederzubeleben!"); } } @@ -41,7 +42,7 @@ @EventHandler public void onPlayerRespawn(PlayerRespawnEvent e) { - if (chl.getConfig().getBoolean("respawn") == false) { + if (!chl.getConfig().getBoolean("respawn")) { e.getPlayer().sendTitle("§cDu bist gestorben!", "§4Du bist nun Zuschauer", 10, 80, 10); Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() { @Override @@ -56,18 +57,18 @@ public void DragonDeath(EntityDeathEvent e) { if (e.getEntity() instanceof EnderDragon) { chl.getConfig().set("timer.enabled", false); - chl.getServer().broadcastMessage(""); - chl.getServer().broadcastMessage(""); - chl.getServer().broadcastMessage(""); - chl.getServer().broadcastMessage(""); - chl.getServer().broadcastMessage("§8>> §aDie Challenge wurde §2§lerfolgreich §aabgeschlossen."); - chl.getServer().broadcastMessage("§8>> §7Der §2§lEnderdrache §7ist gestorben."); - chl.getServer().broadcastMessage("§8>> §7Benötigte Zeit: §2§l" + chl.getConfig().getInt("timer.hrs") + ":"+ chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek") + "§7!"); - chl.getServer().broadcastMessage("§8>> §7Seed: §2§l" + Bukkit.getWorlds().get(0).getSeed()); - chl.getServer().broadcastMessage(""); - chl.getServer().broadcastMessage(""); - chl.getServer().broadcastMessage(""); - Bukkit.broadcastMessage(""); + Bukkit.broadcastMessage(Challenges.PREFIX + ChatColor.GREEN + ChatColor.BOLD + ChatColor.MAGIC + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §aDie Challenge wurde §2§lerfolgreich §aabgeschlossen."); + Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §7Der §2§lEnderdrache §7ist gestorben."); + Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §7Benötigte Zeit: §2§l" + chl.getConfig().getInt("timer.hrs") + ":"+ chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek") + "§7!"); + Bukkit.broadcastMessage(Challenges.PREFIX + " §8>> §7Seed: §2§l" + Bukkit.getWorlds().get(0).getSeed()); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX); + Bukkit.broadcastMessage(Challenges.PREFIX + ChatColor.GREEN + ChatColor.BOLD + ChatColor.MAGIC + "ABCDEFGHIJKLMNOPQRSTUVWXYZ"); } } } diff --git a/src/main/java/de/fanta/challenges/events/InteractListener.java b/src/main/java/de/fanta/challenges/events/InteractListener.java index ff1816d..8197508 100644 --- a/src/main/java/de/fanta/challenges/events/InteractListener.java +++ b/src/main/java/de/fanta/challenges/events/InteractListener.java @@ -3,6 +3,7 @@ import de.fanta.challenges.Challenges; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; @@ -24,7 +25,7 @@ e.setCancelled(true); } } - if (!this.chl.getConfig().getBoolean("timer.enabled")) { + if ((!this.chl.getConfig().getBoolean("timer.enabled")) && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { e.setCancelled(true); } } @@ -37,7 +38,7 @@ e.setCancelled(true); } } - if (!this.chl.getConfig().getBoolean("timer.enabled")) { + if ((!this.chl.getConfig().getBoolean("timer.enabled")) && e.getPlayer().getGameMode() == GameMode.SURVIVAL) { e.setCancelled(true); } } diff --git a/src/main/java/de/fanta/challenges/events/QuitJoinListener.java b/src/main/java/de/fanta/challenges/events/QuitJoinListener.java index 0bb2cc4..4094dfc 100644 --- a/src/main/java/de/fanta/challenges/events/QuitJoinListener.java +++ b/src/main/java/de/fanta/challenges/events/QuitJoinListener.java @@ -1,7 +1,11 @@ package de.fanta.challenges.events; import de.fanta.challenges.Challenges; + +import java.util.ArrayList; +import java.util.List; import java.util.Random; +import java.util.stream.Collectors; import de.fanta.challenges.ChatUtil; import org.bukkit.Bukkit; @@ -14,25 +18,26 @@ public class QuitJoinListener implements Listener { - private Challenges chl = Challenges.getplugin(); + private Challenges plugin = Challenges.getplugin(); @EventHandler public void PlayerJoinEvent(PlayerJoinEvent e) { Player p = e.getPlayer(); - Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatColor.GOLD + p.getName() + ChatColor.GREEN + " hat die Lobby betreten! " + ChatColor.BLUE + "[" + Bukkit.getServer().getOnlinePlayers().size() + "/" + Bukkit.getServer().getMaxPlayers() + "]"); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatColor.GOLD + p.getName() + ChatColor.GREEN + " hat die Lobby betreten! " + ChatColor.BLUE + "[" + Bukkit.getServer().getOnlinePlayers().size() + "/" + Bukkit.getServer().getMaxPlayers() + "]"); e.setJoinMessage(null); - if (chl.getConfig().getBoolean("sharedmg")) { + Challenges.getplugin().CheckMLGWorld(); + if (plugin.getConfig().getBoolean("sharedmg")) { int rnd = new Random().nextInt(Bukkit.getOnlinePlayers().size()); Player rp = (Player) Bukkit.getServer().getOnlinePlayers().toArray()[rnd]; p.setHealth(rp.getHealth()); } - if (this.chl.getConfig().getBoolean("tabhp")) { - this.chl.getSBManager().createScoreboard(p); + if (this.plugin.getConfig().getBoolean("tabhp")) { + this.plugin.getSBManager().createScoreboard(p); } - if (chl.getCurrentEditor() == null) { + if (plugin.getCurrentEditor() == null) { if (p.hasPermission("Challenges.editor")) { - chl.setCurrentEditor(p); + plugin.setCurrentEditor(p); ChatUtil.sendNormalMessage(p, "Du bist nun der Editor dieser Lobby!"); } else { ChatUtil.sendWarningMessage(p, "Es ist aktuell kein Editor in dieser Lobby"); @@ -40,19 +45,43 @@ } } else { - ChatUtil.sendNormalMessage( p,chl.getCurrentEditor().getName() + " ist der Editor dieser Lobby!"); + ChatUtil.sendNormalMessage( p, plugin.getCurrentEditor().getName() + " ist der Editor dieser Lobby!"); } } @EventHandler public void PlayerQuitEvent(PlayerQuitEvent e) { - Player p = e.getPlayer(); - Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatColor.GOLD + p.getName() + ChatColor.GREEN + " hat die Lobby verlassen! " + ChatColor.BLUE + "[" + (Bukkit.getServer().getOnlinePlayers().size() - 1) + "/" + Bukkit.getServer().getMaxPlayers() + "]"); + Player player = e.getPlayer(); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatColor.GOLD + player.getName() + ChatColor.RED + " hat die Lobby verlassen! " + ChatColor.BLUE + "[" + (Bukkit.getServer().getOnlinePlayers().size() - 1) + "/" + Bukkit.getServer().getMaxPlayers() + "]"); e.setQuitMessage(null); if (Bukkit.getOnlinePlayers().size() == 1) { - chl.getConfig().set("timer.enabled", false); - chl.saveConfig(); + plugin.getConfig().set("timer.enabled", false); + plugin.saveConfig(); + } + + if (plugin.getCurrentEditor() != null && player.getUniqueId().equals(plugin.getCurrentEditor().getUniqueId())) { + if (Bukkit.getServer().getOnlinePlayers().size() - 1 > 0) { + Random random = new Random(); + Player randomPlayer; + + List onlinePlayersWithPermission = new ArrayList<>(Bukkit.getOnlinePlayers().stream().filter(p -> p.hasPermission("Challenges.editor")).collect(Collectors.toSet())); + onlinePlayersWithPermission.remove(player); + if (onlinePlayersWithPermission.size() > 0) { + int rnd = random.nextInt(onlinePlayersWithPermission.size()); + randomPlayer = onlinePlayersWithPermission.get(rnd); + } else { + List onlinePlayers = new ArrayList<>(Bukkit.getOnlinePlayers()); + onlinePlayers.remove(player); + int rnd = random.nextInt(onlinePlayers.size()); + randomPlayer = onlinePlayers.get(rnd); + } + plugin.setCurrentEditor(randomPlayer); + ChatUtil.sendNormalMessage(randomPlayer, "Du bist nun der Editor dieser Lobby!"); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatColor.GREEN + randomPlayer.getName() + " ist nun der Editor dieser Lobby!"); + } else { + plugin.setCurrentEditor(null); + } } } }