diff --git a/src/main/java/de/fanta/challenges/Challenges.java b/src/main/java/de/fanta/challenges/Challenges.java new file mode 100644 index 0000000..735ea30 --- /dev/null +++ b/src/main/java/de/fanta/challenges/Challenges.java @@ -0,0 +1,269 @@ +/*TODO +Backpack +MLG-Challenges machen*/ + +package de.fanta.challenges; + +import com.google.common.io.MoreFiles; +import com.google.common.io.RecursiveDeleteOption; +import de.fanta.challenges.commands.BackpackCommand; +import de.fanta.challenges.challenges.RandomDrops; +import de.fanta.challenges.challenges.SBManager; +import de.fanta.challenges.commands.ChallengesCommand; +import de.fanta.challenges.commands.coords.CoordsCommand; +import de.fanta.challenges.commands.coords.CoordsDeleteCommand; +import de.fanta.challenges.commands.coords.CoordsGetCommand; +import de.fanta.challenges.commands.coords.CoordsSaveCommand; +import de.fanta.challenges.commands.coords.CoordsShareCommand; +import de.fanta.challenges.commands.HPCommand; +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.events.BlockCreateListener; +import de.fanta.challenges.events.BlockDestroyListener; +import de.fanta.challenges.events.DamageListener; +import de.fanta.challenges.events.DeathListener; +import de.fanta.challenges.events.InteractListener; +import de.fanta.challenges.events.InventoryClickListener; +import de.fanta.challenges.events.QuitJoinListener; +import de.fanta.challenges.gui.InventoryHandler; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; + +import de.iani.cubesideutils.bukkit.commands.CommandRouter; +import me.wolfyscript.utilities.api.WolfyUtilities; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.WorldCreator; +import org.bukkit.WorldType; +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.plugin.java.JavaPlugin; + +public class Challenges extends JavaPlugin { + private static Challenges plugin; + + private File BackpackConfigFile; + + private FileConfiguration BackpackConfig; + + private File RndDropsConfigFile; + + private FileConfiguration RndDropsConfig; + + private TimerCommand Timer; + + private BackpackCommand backpack; + + private SBManager sbManager; + + private RandomDrops rndDrops; + + public static Inventory SettingsGUI = Bukkit.createInventory(null, 45, "§6Settings"); + + public static String GUIName = "§6Settings"; + + private WolfyUtilities wolfyUtilities; + private InventoryHandler inventoryHandler; + + public static Challenges getplugin() { + return plugin; + } + + public static final String PREFIX = ChatColor.BLUE + "[" + ChatColor.GREEN + "Challenge" + ChatColor.BLUE + "]"; + + private Player currentEditor; + + @Override + public void onEnable() { + plugin = this; + wolfyUtilities = WolfyUtilities.getOrCreateAPI(this); + wolfyUtilities.setCHAT_PREFIX(PREFIX); + wolfyUtilities.setCONSOLE_PREFIX(PREFIX); + + this.Timer = new TimerCommand(this); + this.rndDrops = new RandomDrops(); + + this.inventoryHandler = new InventoryHandler(this); + this.inventoryHandler.init(); + + this.backpack = new BackpackCommand(this); + + getCommand("hp").setExecutor(new HPCommand(this)); + getCommand("settings").setExecutor(new SettingsCommand(this)); + getCommand("revive").setExecutor(new ReviveCommand(this)); + getCommand("timer").setExecutor(new TimerCommand(this)); + + CommandRouter challengesRouter = new CommandRouter(getCommand("challenges")); + challengesRouter.addCommandMapping(new ChallengesCommand(this)); + + CommandRouter resetRouter = new CommandRouter(getCommand("reset")); + resetRouter.addCommandMapping(new ResetCommand(this)); + + CommandRouter backpackRouter = new CommandRouter(getCommand("backpack")); + backpackRouter.addCommandMapping(backpack); + + + CommandRouter coordsRouter = new CommandRouter(getCommand("coords")); + coordsRouter.addCommandMapping(new CoordsCommand(this)); + coordsRouter.addCommandMapping(new CoordsShareCommand(this), "share"); + coordsRouter.addCommandMapping(new CoordsGetCommand(this), "get"); + coordsRouter.addCommandMapping(new CoordsSaveCommand(this), "save"); + coordsRouter.addCommandMapping(new CoordsDeleteCommand(this), "delete"); + + Bukkit.getPluginManager().registerEvents(new InventoryClickListener(), this); + Bukkit.getPluginManager().registerEvents(new QuitJoinListener(), this); + Bukkit.getPluginManager().registerEvents(new BlockDestroyListener(), this); + Bukkit.getPluginManager().registerEvents(new BlockCreateListener(), this); + Bukkit.getPluginManager().registerEvents(new InteractListener(), this); + Bukkit.getPluginManager().registerEvents(new DamageListener(), this); + Bukkit.getPluginManager().registerEvents(new DeathListener(), this); + + saveDefaultConfig(); + reloadConfig(); + createRndDropsConfig(); + createBackpackConfig(); + if (getConfig().getBoolean("World_Reset")) { + getLogger().info("/Reset Command was executed!"); + getLogger().info("Preparing world reset!"); + String worldname = getConfig().getString("World_Name"); + String nethername = worldname + "_nether"; + String endname = worldname + "_the_end"; + 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"); + + try { + MoreFiles.deleteRecursively(worldfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE }); + MoreFiles.deleteRecursively(netherfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE }); + MoreFiles.deleteRecursively(endfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE }); + MoreFiles.deleteRecursively(mlgfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE }); + getLogger().info("World reset successful!"); + } catch (IOException e) { + getLogger().info("World reset failed!"); + e.printStackTrace(); + } + getConfig().set("World_Reset", Boolean.valueOf(false)); + getConfig().set("timer.enabled", Boolean.valueOf(false)); + getConfig().set("timer.time", Integer.valueOf(0)); + getConfig().set("timer.sek", "00"); + getConfig().set("timer.min", "00"); + getConfig().set("timer.hrs", Integer.valueOf(0)); + saveConfig(); + this.backpack.clearConfig(); + this.rndDrops.shuffleItems(); + this.rndDrops.saveItems(); + this.rndDrops.loadItems(); + } else { + this.rndDrops.loadItems(); + } + this.backpack.loadInventoryFromConfig(); + this.Timer.LoadTimer(); + getLogger().info("Plugin loaded!"); + this.sbManager = new SBManager(); + } + + @Override + public void onDisable() { + this.backpack.saveInventoryToConfig(); + try { + this.BackpackConfig.save(this.BackpackConfigFile); + this.RndDropsConfig.save(this.RndDropsConfigFile); + } catch (IOException e) { + e.printStackTrace(); + } + getLogger().info("Plugin unloaded"); + } + + public RandomDrops getRandomDropsManager() { + return this.rndDrops; + } + + public FileConfiguration getBackpackConfig() { + return this.BackpackConfig; + } + + private void createBackpackConfig() { + this.BackpackConfigFile = new File(getDataFolder(), "backpack.yml"); + if (!this.BackpackConfigFile.exists()) { + this.BackpackConfigFile.getParentFile().mkdirs(); + saveResource("backpack.yml", false); + } + this.BackpackConfig = new YamlConfiguration(); + try { + this.BackpackConfig.load(this.BackpackConfigFile); + } catch (IOException | org.bukkit.configuration.InvalidConfigurationException e) { + e.printStackTrace(); + } + } + + public FileConfiguration getRndDropsConfig() { + return this.RndDropsConfig; + } + + private void createRndDropsConfig() { + this.RndDropsConfigFile = new File(getDataFolder(), "rnddrops.yml"); + if (!this.RndDropsConfigFile.exists()) { + this.RndDropsConfigFile.getParentFile().mkdirs(); + saveResource("rnddrops.yml", false); + } + this.RndDropsConfig = new YamlConfiguration(); + try { + this.RndDropsConfig.load(this.RndDropsConfigFile); + } catch (IOException | org.bukkit.configuration.InvalidConfigurationException e) { + e.printStackTrace(); + } + } + + public SBManager getSBManager() { + return this.sbManager; + } + + @SuppressWarnings("deprecation") + public void CheckMLGWorld() { + if (getConfig().getBoolean("mlg.enabled") && Bukkit.getWorld("mlg_challenge") == null) { + Bukkit.broadcastMessage(PREFIX + " MLG welt wird generiert..."); + 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"); + Bukkit.getWorld("mlg_challenge").setGameRuleValue("doWeatherCycle", "false"); + Bukkit.getWorld("mlg_challenge").setTime(6000L); + } + } + + public ItemStack addGUIItem(Material mat, String name, String... lore) { + ItemStack item = new ItemStack(mat, 1); + ItemMeta meta = item.getItemMeta(); + if (mat != Material.AIR) { + meta.setDisplayName(name); + ArrayList metalore = new ArrayList<>(); + if (lore != null) { + for (String lorecomments : lore) { + metalore.add(lorecomments); + } + } + meta.setLore(metalore); + item.setItemMeta(meta); + } + return item; + } + + public Player getCurrentEditor() { + return currentEditor; + } + + public void setCurrentEditor(Player currentEditor) { + this.currentEditor = currentEditor; + } +} diff --git a/src/main/java/de/fanta/challenges/ChatUtil.java b/src/main/java/de/fanta/challenges/ChatUtil.java new file mode 100644 index 0000000..844d75b --- /dev/null +++ b/src/main/java/de/fanta/challenges/ChatUtil.java @@ -0,0 +1,31 @@ +package de.fanta.challenges; + +import de.fanta.challenges.Challenges; +import de.iani.cubesideutils.bukkit.ChatUtilBukkit; +import net.md_5.bungee.api.ChatColor; +import org.bukkit.command.CommandSender; + +public class ChatUtil { + + private ChatUtil() { + // prevent instances + } + + public static void sendMessage(CommandSender sender, String colors, Object message, Object... messageParts) { + ChatUtilBukkit.sendMessage(sender, Challenges.PREFIX, colors, message, messageParts); + } + + public static void sendNormalMessage(CommandSender sender, Object message, Object... messageParts) { + sendMessage(sender, ChatColor.GREEN.toString(), message, messageParts); + } + + public static void sendWarningMessage(CommandSender sender, Object message, Object... messageParts) { + sendMessage(sender, ChatColor.GOLD.toString(), message, messageParts); + } + + public static void sendErrorMessage(CommandSender sender, Object message, Object... messageParts) { + sendMessage(sender, ChatColor.RED.toString(), message, messageParts); + } + + +} diff --git a/src/main/java/de/fanta/challenges/challenges/Backpack.java b/src/main/java/de/fanta/challenges/challenges/Backpack.java deleted file mode 100644 index 2035783..0000000 --- a/src/main/java/de/fanta/challenges/challenges/Backpack.java +++ /dev/null @@ -1,76 +0,0 @@ -package de.fanta.challenges.challenges; - -import java.util.Iterator; -import java.util.Map; -import org.bukkit.Bukkit; -import org.bukkit.Material; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.configuration.MemorySection; -import org.bukkit.entity.Player; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.ItemStack; - -public class Backpack implements CommandExecutor { - private Challenges chl = Challenges.getplugin(); - private static Challenges chl1 = Challenges.getplugin(); - - static int size = chl1.getConfig().getInt("backpack_size"); - public static Inventory Backpack = Bukkit.createInventory(null, size, "§6Backpack"); - - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player p = (Player) sender; - if (p.hasPermission("challenges.backpack")) { - p.openInventory(Backpack); - } else { - ChatUtil.sendErrorMessage(p, "Keine Berechtigung!"); - } - } else { - ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); - } - return true; - } - - public void clearConfig() { - Iterator var2 = this.chl.getBackpackConfig().getKeys(false).iterator(); - while (var2.hasNext()) { - String main_path = (String) var2.next(); - this.chl.getBackpackConfig().set(main_path, null); - } - } - - public void saveInventoryToConfig() { - clearConfig(); - int slot = 0; - for (; slot < Backpack.getSize(); slot++) { - ItemStack stack = Backpack.getItem(slot); - if (stack != null && stack.getType() != Material.AIR) - this.chl.getBackpackConfig().set(String.valueOf(slot), stack.serialize()); - } - } - - @SuppressWarnings("rawtypes") - public void loadInventoryFromConfig() { - Iterator var2 = this.chl.getBackpackConfig().getValues(false).entrySet().iterator(); - while (var2.hasNext()) { - int slot; - Map.Entry entry = (Map.Entry) var2.next(); - try { - slot = Integer.parseInt((String) entry.getKey()); - } catch (NumberFormatException var6) { - Bukkit.broadcastMessage("Fehler! Slot: " + (String) entry.getKey()); - continue; - } - if (slot >= Backpack.getSize()) { - Bukkit.broadcastMessage(slot + " befindet sich außerhalb des Inventars!"); - continue; - } - MemorySection memorySection = (MemorySection) entry.getValue(); - ItemStack deserialized = ItemStack.deserialize(memorySection.getValues(false)); - Backpack.setItem(slot, deserialized); - } - } -} diff --git a/src/main/java/de/fanta/challenges/challenges/Challenges.java b/src/main/java/de/fanta/challenges/challenges/Challenges.java deleted file mode 100644 index 9a98908..0000000 --- a/src/main/java/de/fanta/challenges/challenges/Challenges.java +++ /dev/null @@ -1,229 +0,0 @@ -/*TODO -Backpack -MLG-Challenges machen*/ - -package de.fanta.challenges.challenges; - -import com.google.common.io.MoreFiles; -import com.google.common.io.RecursiveDeleteOption; -import de.fanta.challenges.commands.ChallengesCommand; -import de.fanta.challenges.commands.CoordsCommand; -import de.fanta.challenges.commands.HP_Command; -import de.fanta.challenges.commands.Reset_Command; -import de.fanta.challenges.commands.Revive_Command; -import de.fanta.challenges.commands.Settings_Command; -import de.fanta.challenges.commands.Timer_Command; -import de.fanta.challenges.events.BlockCreateListener; -import de.fanta.challenges.events.BlockDestroyListener; -import de.fanta.challenges.events.DamageListener; -import de.fanta.challenges.events.DeathListener; -import de.fanta.challenges.events.InteractListener; -import de.fanta.challenges.events.InventoryClickListener; -import de.fanta.challenges.events.QuitJoinListener; -import de.fanta.challenges.gui.InventoryHandler; -import java.io.File; -import java.io.IOException; - -import de.iani.cubesideutils.bukkit.commands.CommandRouter; -import me.wolfyscript.utilities.api.WolfyUtilities; -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.WorldCreator; -import org.bukkit.WorldType; -import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.inventory.Inventory; -import org.bukkit.plugin.java.JavaPlugin; - -public class Challenges extends JavaPlugin { - private static Challenges plugin; - - private File BackpackConfigFile; - - private FileConfiguration BackpackConfig; - - private File RndDropsConfigFile; - - private FileConfiguration RndDropsConfig; - - private Timer_Command Timer; - - private Backpack backpack; - - private SBManager sbManager; - - private RandomDrops rndDrops; - - public static Inventory SettingsGUI = Bukkit.createInventory(null, 45, "§6Settings"); - - public static String GUIName = "§6Settings"; - - private WolfyUtilities wolfyUtilities; - private InventoryHandler inventoryHandler; - - public static Challenges getplugin() { return plugin; } - - public static final String PREFIX = ChatColor.BLUE + "[" + ChatColor.GREEN + "Challenge" + ChatColor.BLUE + "]"; - - private Player currentEditor; - - - @Override - public void onEnable() { - plugin = this; - wolfyUtilities = WolfyUtilities.getOrCreateAPI(this); - wolfyUtilities.setCHAT_PREFIX(PREFIX); - wolfyUtilities.setCONSOLE_PREFIX(PREFIX); - - this.Timer = new Timer_Command(); - this.backpack = new Backpack(); - this.rndDrops = new RandomDrops(); - - this.inventoryHandler = new InventoryHandler(this); - this.inventoryHandler.init(); - - getCommand("hp").setExecutor(new HP_Command()); - getCommand("settings").setExecutor(new Settings_Command()); - getCommand("coords").setExecutor(new CoordsCommand()); - getCommand("revive").setExecutor(new Revive_Command()); - getCommand("timer").setExecutor(new Timer_Command()); - getCommand("backpack").setExecutor(new Backpack()); - getCommand("reset").setExecutor(new Reset_Command()); - - CommandRouter challengesRouter = new CommandRouter(getCommand("challenges")); - challengesRouter.addCommandMapping(new ChallengesCommand(this)); - - Bukkit.getPluginManager().registerEvents(new InventoryClickListener(), this); - Bukkit.getPluginManager().registerEvents(new QuitJoinListener(), this); - Bukkit.getPluginManager().registerEvents(new BlockDestroyListener(), this); - Bukkit.getPluginManager().registerEvents(new BlockCreateListener(), this); - Bukkit.getPluginManager().registerEvents(new InteractListener(), this); - Bukkit.getPluginManager().registerEvents(new DamageListener(), this); - Bukkit.getPluginManager().registerEvents(new DeathListener(), this); - - saveDefaultConfig(); - reloadConfig(); - createRndDropsConfig(); - createBackpackConfig(); - if (getConfig().getBoolean("World_Reset")) { - getLogger().info("/Reset Command was executed!"); - getLogger().info("Preparing world reset!"); - String worldname = getConfig().getString("World_Name"); - String nethername = worldname + "_nether"; - String endname = worldname + "_the_end"; - 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"); - - try { - MoreFiles.deleteRecursively(worldfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE }); - MoreFiles.deleteRecursively(netherfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE }); - MoreFiles.deleteRecursively(endfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE }); - MoreFiles.deleteRecursively(mlgfolder.toPath(), new RecursiveDeleteOption[] { RecursiveDeleteOption.ALLOW_INSECURE }); - getLogger().info("World reset successful!"); - } catch (IOException e) { - getLogger().info("World reset failed!"); - e.printStackTrace(); - } - getConfig().set("World_Reset", Boolean.valueOf(false)); - getConfig().set("timer.enabled", Boolean.valueOf(false)); - getConfig().set("timer.time", Integer.valueOf(0)); - getConfig().set("timer.sek", "00"); - getConfig().set("timer.min", "00"); - getConfig().set("timer.hrs", Integer.valueOf(0)); - saveConfig(); - this.backpack.clearConfig(); - this.rndDrops.shuffleItems(); - this.rndDrops.saveItems(); - this.rndDrops.loadItems(); - } else { - this.rndDrops.loadItems(); - } - this.backpack.loadInventoryFromConfig(); - this.Timer.LoadTimer(); - getLogger().info("Plugin loaded!"); - this.sbManager = new SBManager(); - } - - - - @Override - public void onDisable() { - this.backpack.saveInventoryToConfig(); - try { - this.BackpackConfig.save(this.BackpackConfigFile); - this.RndDropsConfig.save(this.RndDropsConfigFile); - } catch (IOException e) { - e.printStackTrace(); - } - getLogger().info("Plugin unloaded"); - } - - public RandomDrops getRandomDropsManager() { - return this.rndDrops; - } - - public FileConfiguration getBackpackConfig() { - return this.BackpackConfig; - } - - private void createBackpackConfig() { - this.BackpackConfigFile = new File(getDataFolder(), "backpack.yml"); - if (!this.BackpackConfigFile.exists()) { - this.BackpackConfigFile.getParentFile().mkdirs(); - saveResource("backpack.yml", false); - } - this.BackpackConfig = new YamlConfiguration(); - try { - this.BackpackConfig.load(this.BackpackConfigFile); - } catch (IOException|org.bukkit.configuration.InvalidConfigurationException e) { - e.printStackTrace(); - } - } - - public FileConfiguration getRndDropsConfig() { - return this.RndDropsConfig; - } - - private void createRndDropsConfig() { - this.RndDropsConfigFile = new File(getDataFolder(), "rnddrops.yml"); - if (!this.RndDropsConfigFile.exists()) { - this.RndDropsConfigFile.getParentFile().mkdirs(); - saveResource("rnddrops.yml", false); - } - this.RndDropsConfig = new YamlConfiguration(); - try { - this.RndDropsConfig.load(this.RndDropsConfigFile); - } catch (IOException|org.bukkit.configuration.InvalidConfigurationException e) { - e.printStackTrace(); - } - } - - public SBManager getSBManager() { - return this.sbManager; - } - - @SuppressWarnings("deprecation") - public void CheckMLGWorld() { - if (getConfig().getBoolean("mlg.enabled") && Bukkit.getWorld("mlg_challenge") == null) { - Bukkit.broadcastMessage(PREFIX + " MLG welt wird generiert..."); - 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"); - Bukkit.getWorld("mlg_challenge").setGameRuleValue("doWeatherCycle", "false"); - Bukkit.getWorld("mlg_challenge").setTime(6000L); - } - } - - public Player getCurrentEditor() { - return currentEditor; - } - - public void setCurrentEditor(Player currentEditor) { - this.currentEditor = currentEditor; - } -} diff --git a/src/main/java/de/fanta/challenges/challenges/ChatUtil.java b/src/main/java/de/fanta/challenges/challenges/ChatUtil.java deleted file mode 100644 index 55780bf..0000000 --- a/src/main/java/de/fanta/challenges/challenges/ChatUtil.java +++ /dev/null @@ -1,30 +0,0 @@ -package de.fanta.challenges.challenges; - -import de.iani.cubesideutils.bukkit.ChatUtilBukkit; -import net.md_5.bungee.api.ChatColor; -import org.bukkit.command.CommandSender; - -public class ChatUtil { - - private ChatUtil() { - // prevent instances - } - - public static void sendMessage(CommandSender sender, String colors, Object message, Object... messageParts) { - ChatUtilBukkit.sendMessage(sender, Challenges.PREFIX, colors, message, messageParts); - } - - public static void sendNormalMessage(CommandSender sender, Object message, Object... messageParts) { - sendMessage(sender, ChatColor.GREEN.toString(), message, messageParts); - } - - public static void sendWarningMessage(CommandSender sender, Object message, Object... messageParts) { - sendMessage(sender, ChatColor.GOLD.toString(), message, messageParts); - } - - public static void sendErrorMessage(CommandSender sender, Object message, Object... messageParts) { - sendMessage(sender, ChatColor.RED.toString(), message, messageParts); - } - - -} diff --git a/src/main/java/de/fanta/challenges/challenges/RandomDrops.java b/src/main/java/de/fanta/challenges/challenges/RandomDrops.java index 4ad4cfd..ac2c8e5 100644 --- a/src/main/java/de/fanta/challenges/challenges/RandomDrops.java +++ b/src/main/java/de/fanta/challenges/challenges/RandomDrops.java @@ -6,6 +6,8 @@ import java.util.HashMap; import java.util.Random; import java.util.stream.Collectors; + +import de.fanta.challenges.Challenges; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.configuration.file.FileConfiguration; diff --git a/src/main/java/de/fanta/challenges/commands/BackpackCommand.java b/src/main/java/de/fanta/challenges/commands/BackpackCommand.java new file mode 100644 index 0000000..8151af7 --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/BackpackCommand.java @@ -0,0 +1,81 @@ +package de.fanta.challenges.commands; + +import java.util.Iterator; +import java.util.Map; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; +import de.iani.cubesideutils.bukkit.commands.SubCommand; +import de.iani.cubesideutils.commands.ArgsParser; +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.configuration.MemorySection; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; +import org.bukkit.plugin.Plugin; + +public class BackpackCommand extends SubCommand { + private final Challenges plugin; + + public BackpackCommand(Challenges plugin) { + this.plugin = plugin; + } + + static int size = Challenges.getplugin().getConfig().getInt("backpack_size"); + public static Inventory Backpack = Bukkit.createInventory(null, size, "§6Backpack"); + + @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; + } + Player p = (Player) sender; + p.openInventory(Backpack); + return true; + } + + public void clearConfig() { + Iterator var2 = this.plugin.getBackpackConfig().getKeys(false).iterator(); + while (var2.hasNext()) { + String main_path = (String) var2.next(); + this.plugin.getBackpackConfig().set(main_path, null); + } + } + + public void saveInventoryToConfig() { + clearConfig(); + int slot = 0; + for (; slot < Backpack.getSize(); slot++) { + ItemStack stack = Backpack.getItem(slot); + if (stack != null && stack.getType() != Material.AIR) + this.plugin.getBackpackConfig().set(String.valueOf(slot), stack.serialize()); + } + } + + @SuppressWarnings("rawtypes") + public void loadInventoryFromConfig() { + Iterator var2 = this.plugin.getBackpackConfig().getValues(false).entrySet().iterator(); + while (var2.hasNext()) { + int slot; + Map.Entry entry = (Map.Entry) var2.next(); + try { + slot = Integer.parseInt((String) entry.getKey()); + } catch (NumberFormatException var6) { + Bukkit.broadcastMessage("Fehler! Slot: " + (String) entry.getKey()); + continue; + } + if (slot >= Backpack.getSize()) { + Bukkit.broadcastMessage(slot + " befindet sich außerhalb des Inventars!"); + continue; + } + MemorySection memorySection = (MemorySection) entry.getValue(); + ItemStack deserialized = ItemStack.deserialize(memorySection.getValues(false)); + Backpack.setItem(slot, deserialized); + } + } +} diff --git a/src/main/java/de/fanta/challenges/commands/ChallengesCommand.java b/src/main/java/de/fanta/challenges/commands/ChallengesCommand.java index 8383836..b981b11 100644 --- a/src/main/java/de/fanta/challenges/commands/ChallengesCommand.java +++ b/src/main/java/de/fanta/challenges/commands/ChallengesCommand.java @@ -1,7 +1,7 @@ package de.fanta.challenges.commands; -import de.fanta.challenges.challenges.Challenges; -import de.fanta.challenges.challenges.ChatUtil; +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; import de.iani.cubesideutils.bukkit.commands.SubCommand; import de.iani.cubesideutils.commands.ArgsParser; import org.bukkit.command.Command; @@ -19,6 +19,7 @@ @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; } @@ -32,9 +33,10 @@ ChatUtil.sendNormalMessage(sender, "/Revive - Wiederbelebe Spieler"); ChatUtil.sendNormalMessage(sender, "/Backpack | /bp - öffne das Backpack"); ChatUtil.sendNormalMessage(sender, "/Reset - Generiert eine neue Welt, setzt den Timer zurück und löscht gespeicherte Positionen"); + return true; } else { - ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!"); + ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); + return true; } - return true; } } diff --git a/src/main/java/de/fanta/challenges/commands/CoordsCommand.java b/src/main/java/de/fanta/challenges/commands/CoordsCommand.java deleted file mode 100644 index 765cdc9..0000000 --- a/src/main/java/de/fanta/challenges/commands/CoordsCommand.java +++ /dev/null @@ -1,155 +0,0 @@ -package de.fanta.challenges.commands; - -import de.fanta.challenges.challenges.Challenges; -import de.fanta.challenges.challenges.ChatUtil; -import java.util.ArrayList; -import org.bukkit.Bukkit; -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.inventory.Inventory; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; - -public class CoordsCommand implements CommandExecutor { - - private Challenges chl = Challenges.getplugin(); - - public static Inventory CoordsGUI = Bukkit.createInventory(null, 45, "§6Koordinaten"); - public static Inventory CoordsDeleteGUI = Bukkit.createInventory(null, 9, "§6Entferne Koordinate"); - - public static final String CGUIN = "§6Koordinaten"; - public static final String CDGUIN = "§6Entferne Koordinate"; - - @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 (p.hasPermission("challenges.coords.view")) { - createMainGUI(p); - } else - ChatUtil.sendErrorMessage(p, "Keine Berechtigung!"); - } else if (args.length == 1) { - if (args[0].equalsIgnoreCase("share")) { - if (p.hasPermission("challenges.coords.share")) { - Bukkit.broadcastMessage(Challenges.PREFIX + " §c" + p.getName() + " §6ist bei §c" + p.getLocation().getBlockX() + " " + p.getLocation().getBlockY() + " " + p.getLocation().getBlockZ() + " §6in Welt §6" + p.getWorld().getName()); - } else - ChatUtil.sendErrorMessage(p, "Keine Berechtigung!"); - } else if (args[0].equalsIgnoreCase("get")) { - if (p.hasPermission("challenges.coords.get")) { - ChatUtil.sendNormalMessage(p, "Verfügbare Positionen:"); - for (String key : chl.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { - ChatUtil.sendNormalMessage(p, key); - } - } else - ChatUtil.sendErrorMessage(p, "Keine Berechtigung!"); - } else - ChatUtil.sendWarningMessage(p, "Benutze: /coords share/save/get/delete [Name]"); - } else if (args.length >= 2) { - if (args[0].equalsIgnoreCase("save")) { - if (p.hasPermission("challenges.coords.save")) { - if (!chl.getConfig().contains("Saved_Locations." + args[1])) { - Bukkit.broadcastMessage(Challenges.PREFIX + " §7| §aPosition §8>> §2" + p.getName() + " §7- " + args[1] + " §7[§2" + p.getLocation().getBlockX() + "§7/§2" + p.getLocation().getBlockY() + "§7/§2" + p.getLocation().getBlockZ() + "§7]"); - chl.getConfig().set("Saved_Locations." + args[1] + ".World", p.getWorld().getName()); - chl.getConfig().set("Saved_Locations." + args[1] + ".BlockX", p.getLocation().getBlockX()); - chl.getConfig().set("Saved_Locations." + args[1] + ".BlockY", p.getLocation().getBlockY()); - chl.getConfig().set("Saved_Locations." + args[1] + ".BlockZ", p.getLocation().getBlockZ()); - chl.saveConfig(); - } else - ChatUtil.sendWarningMessage(p, "Diese Position existiert bereits! Benutze einen anderen Namen oder lösche die alte zuerst mit /coords delete " + args[1]); - } else - ChatUtil.sendErrorMessage(p, "Keine Berechtigung!"); - } else if (args[0].equalsIgnoreCase("get")) { - if (p.hasPermission("challenges.coords.get")) { - if (chl.getConfig().contains("Saved_Locations." + args[1])) { - String w = chl.getConfig().getString("Saved_Locations." + args[1] + ".World"); - String x = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockX"); - String y = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockY"); - String z = chl.getConfig().getString("Saved_Locations." + args[1] + ".BlockZ"); - ChatUtil.sendNormalMessage(p, "§aPosition §8>> §2" + p.getName() + " §7- " + args[1] + " §7[§2" + x + "§7/§2" + y + "§7/§2" + z + " " + w + "§7]"); - } else - ChatUtil.sendWarningMessage(p, "§cDiese Position existiert nicht!"); - } else - ChatUtil.sendErrorMessage(p, "Keine Berechtigung!"); - } else if (args[0].equalsIgnoreCase("delete")) { - if (p.hasPermission("challenges.coords.delete")) { - if (chl.getConfig().contains("Saved_Locations." + args[1])) { - createDeleteGUI(p, args[1]); - p.openInventory(CoordsDeleteGUI); - } else - ChatUtil.sendWarningMessage(p, "Diese Position existiert nicht!"); - } else - ChatUtil.sendErrorMessage(p, "Keine Berechtigung!"); - } else - ChatUtil.sendWarningMessage(p, "Benutze: /coords share/save/get/delete [Name]"); - } - } else - ChatUtil.sendErrorMessage(sender, "You are not a Player :>"); - return true; - } - - public void createMainGUI(Player p) { - int i = 0; - String w; - String x; - String y; - String z; - for (String key : chl.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { - if (i >= 45) { - break; - } - w = chl.getConfig().getString("Saved_Locations." + key + ".World"); - x = chl.getConfig().getString("Saved_Locations." + key + ".BlockX"); - y = chl.getConfig().getString("Saved_Locations." + key + ".BlockY"); - z = chl.getConfig().getString("Saved_Locations." + key + ".BlockZ"); - CoordsGUI.setItem(i, addGUIItem(getBlock(w), key, "§bX: §c" + x, "§bY: §c" + y, "§bZ: §c" + z)); - i++; - } - for (int ii = i; ii < 45; ii++) { - CoordsGUI.setItem(ii, addGUIItem(Material.AIR, "")); - } - p.openInventory(CoordsGUI); - } - - public void createDeleteGUI(Player p, String dname) { - CoordsDeleteGUI.setItem(0, addGUIItem(Material.LIME_TERRACOTTA, "§aLöschen bestätigen", "§bWegpunkt: §c" + dname)); - CoordsDeleteGUI.setItem(4, addGUIItem(Material.ORANGE_BANNER, dname)); - for (int i = 1; i < 8; i++) { - if (CoordsDeleteGUI.getItem(i) == null) { - CoordsDeleteGUI.setItem(i, addGUIItem(Material.ORANGE_STAINED_GLASS_PANE, "")); - } - } - CoordsDeleteGUI.setItem(8, addGUIItem(Material.RED_TERRACOTTA, "§cLöschen abbrechen", "§bWegpunkt: §c" + dname)); - p.openInventory(CoordsDeleteGUI); - } - - private ItemStack addGUIItem(Material mat, String name, String... lore) { - ItemStack item = new ItemStack(mat, 1); - ItemMeta meta = item.getItemMeta(); - if (mat != Material.AIR) { - meta.setDisplayName(name); - ArrayList metalore = new ArrayList<>(); - if (lore != null) { - for (String lorecomments : lore) { - metalore.add(lorecomments); - } - } - meta.setLore(metalore); - item.setItemMeta(meta); - } - return item; - } - - private Material getBlock(String wname) { - ItemStack mat = new ItemStack(Material.GRASS_BLOCK); - if (wname.equals(Bukkit.getWorlds().get(1).getName())) { - mat.setType(Material.NETHERRACK); - } else if (wname.equals(Bukkit.getWorlds().get(2).getName())) { - mat.setType(Material.END_STONE); - } - return mat.getType(); - } -} \ No newline at end of file diff --git a/src/main/java/de/fanta/challenges/commands/HPCommand.java b/src/main/java/de/fanta/challenges/commands/HPCommand.java new file mode 100644 index 0000000..caf4403 --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/HPCommand.java @@ -0,0 +1,93 @@ +package de.fanta.challenges.commands; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; +import org.bukkit.Bukkit; +import org.bukkit.OfflinePlayer; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class HPCommand implements CommandExecutor { + + private final Challenges plugin; + + public HPCommand(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())) { + if (args.length >= 2) { + if (args[0].equalsIgnoreCase("max")) { + if (Double.parseDouble(args[1]) > 0) { + for (Player pp : Bukkit.getOnlinePlayers()) { + pp.setMaxHealth(Double.parseDouble(args[1])); + pp.setHealth(pp.getMaxHealth()); + } + ChatUtil.sendNormalMessage(sender, "Du hast die maximalen HP auf " + args[1] + " gesetzt!"); + } + } else if (args[0].equalsIgnoreCase("get")) { + OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1])); + if (other.isOnline()) { + Player p = (Player) other; + ChatUtil.sendNormalMessage(p, p.getName() + " besitzt derzeit " + p.getHealth() + "HP!"); + } else + ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!"); + } else if (args.length >= 3) { + OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1])); + if (other.isOnline()) { + Player p = (Player) other; + double finaladdhp = p.getHealth() + Double.parseDouble(args[2]); + double finalremhp = p.getHealth() - Double.parseDouble(args[2]); + if (args[0].equalsIgnoreCase("add")) { + if (!(finaladdhp > p.getMaxHealth()) && !(finaladdhp < 0)) { + p.setHealth(finaladdhp); + ChatUtil.sendNormalMessage(p, "Du wurdest von " + sender.getName() + " um " + args[2] + "HP geheilt!"); + } else + ChatUtil.sendErrorMessage(sender, "Operation nicht möglich!"); + } + if (args[0].equalsIgnoreCase("remove")) { + if (!(finalremhp > p.getMaxHealth()) && !(finalremhp < 0)) { + p.setHealth(finalremhp); + ChatUtil.sendNormalMessage(p, sender.getName() + " hat dir " + args[2] + "HP entfernt!"); + ChatUtil.sendNormalMessage(sender, "Du hast " + p.getName() + " " + args[2] + "HP entfernt!"); + } else + ChatUtil.sendErrorMessage(sender, "Operation nicht möglich!"); + } + if (args[0].equalsIgnoreCase("set")) { + if (!(Double.parseDouble(args[2]) > p.getMaxHealth()) && !(Double.parseDouble(args[2]) < 0)) { + p.setHealth(Double.parseDouble(args[2])); + ChatUtil.sendNormalMessage(p, sender.getName() + " hat deine HP auf " + args[2] + " gesetzt!"); + ChatUtil.sendNormalMessage(sender, "Du hast die HP von " + p.getName() + " auf " + args[2] + " gesetzt!"); + } else + ChatUtil.sendErrorMessage(sender, "Operation nicht möglich!"); + } + } else + ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!"); + } else { + ChatUtil.sendNormalMessage(sender, "~~~~~ HP command ~~~~~"); + ChatUtil.sendNormalMessage(sender, "/HP Get - Erhalte die aktuelen HP eines Spielers"); + ChatUtil.sendNormalMessage(sender, "/HP Add - Füge einem Spieler die angegebene Zahl an Herzen hinzu"); + ChatUtil.sendNormalMessage(sender, "/HP Remove - Entferne einem Spieler die angegebene Zahl an Herzen"); + ChatUtil.sendNormalMessage(sender, "/HP Set - Setze die Herzen eines Spieler auf die angegebene Zahl"); + ChatUtil.sendNormalMessage(sender, "/HP Max - Setze die maximalen HP aller Spieler"); + + } + } else { + ChatUtil.sendNormalMessage(sender, "~~~~~ HP command ~~~~~"); + ChatUtil.sendNormalMessage(sender, "/HP Get - Erhalte die aktuelen HP eines Spielers"); + ChatUtil.sendNormalMessage(sender, "/HP Add - Füge einem Spieler die angegebene Zahl an Herzen hinzu"); + ChatUtil.sendNormalMessage(sender, "/HP Remove - Entferne einem Spieler die angegebene Zahl an Herzen"); + ChatUtil.sendNormalMessage(sender, "/HP Set - Setze die Herzen eines Spieler auf die angegebene Zahl"); + ChatUtil.sendNormalMessage(sender, "/HP Max - Setze die maximalen HP aller Spieler"); + ; + } + } else + ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!"); + return true; + } +} diff --git a/src/main/java/de/fanta/challenges/commands/HP_Command.java b/src/main/java/de/fanta/challenges/commands/HP_Command.java deleted file mode 100644 index 0744df7..0000000 --- a/src/main/java/de/fanta/challenges/commands/HP_Command.java +++ /dev/null @@ -1,86 +0,0 @@ -package de.fanta.challenges.commands; - -import de.fanta.challenges.challenges.ChatUtil; -import org.bukkit.Bukkit; -import org.bukkit.OfflinePlayer; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class HP_Command implements CommandExecutor { - - @SuppressWarnings("deprecation") - @Override - public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { - if (sender.hasPermission("challenges.hp.modify")) { - if (args.length >= 2) { - if (args[0].equalsIgnoreCase("max")) { - if (Double.parseDouble(args[1]) > 0) { - for (Player pp : Bukkit.getOnlinePlayers()) { - pp.setMaxHealth(Double.parseDouble(args[1])); - pp.setHealth(pp.getMaxHealth()); - } - ChatUtil.sendNormalMessage(sender, "Du hast die maximalen HP auf " + args[1] + " gesetzt!"); - } - } else if (args[0].equalsIgnoreCase("get")) { - OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1])); - if (other.isOnline()) { - Player p = (Player) other; - ChatUtil.sendNormalMessage(p, p.getName() + " besitzt derzeit " + p.getHealth() + "HP!"); - } else - ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!"); - } else if (args.length >= 3) { - OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1])); - if (other.isOnline()) { - Player p = (Player) other; - double finaladdhp = p.getHealth() + Double.parseDouble(args[2]); - double finalremhp = p.getHealth() - Double.parseDouble(args[2]); - if (args[0].equalsIgnoreCase("add")) { - if (!(finaladdhp > p.getMaxHealth()) && !(finaladdhp < 0)) { - p.setHealth(finaladdhp); - ChatUtil.sendNormalMessage(p, "Du wurdest von " + sender.getName() + " um " + args[2] + "HP geheilt!"); - } else - ChatUtil.sendErrorMessage(sender, "Operation nicht möglich!"); - } - if (args[0].equalsIgnoreCase("remove")) { - if (!(finalremhp > p.getMaxHealth()) && !(finalremhp < 0)) { - p.setHealth(finalremhp); - ChatUtil.sendNormalMessage(p, sender.getName() + " hat dir " + args[2] + "HP entfernt!"); - ChatUtil.sendNormalMessage(sender, "Du hast " + p.getName() + " " + args[2] + "HP entfernt!"); - } else - ChatUtil.sendErrorMessage(sender, "Operation nicht möglich!"); - } - if (args[0].equalsIgnoreCase("set")) { - if (!(Double.parseDouble(args[2]) > p.getMaxHealth()) && !(Double.parseDouble(args[2]) < 0)) { - p.setHealth(Double.parseDouble(args[2])); - ChatUtil.sendNormalMessage(p, sender.getName() + " hat deine HP auf " + args[2] + " gesetzt!"); - ChatUtil.sendNormalMessage(sender, "Du hast die HP von " + p.getName() + " auf " + args[2] + " gesetzt!"); - } else - ChatUtil.sendErrorMessage(sender, "Operation nicht möglich!"); - } - } else - ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!"); - } else { - ChatUtil.sendNormalMessage(sender, "~~~~~ HP command ~~~~~"); - ChatUtil.sendNormalMessage(sender, "/HP Get - Erhalte die aktuelen HP eines Spielers"); - ChatUtil.sendNormalMessage(sender, "/HP Add - Füge einem Spieler die angegebene Zahl an Herzen hinzu"); - ChatUtil.sendNormalMessage(sender, "/HP Remove - Entferne einem Spieler die angegebene Zahl an Herzen"); - ChatUtil.sendNormalMessage(sender, "/HP Set - Setze die Herzen eines Spieler auf die angegebene Zahl"); - ChatUtil.sendNormalMessage(sender, "/HP Max - Setze die maximalen HP aller Spieler"); - - } - } else { - ChatUtil.sendNormalMessage(sender, "~~~~~ HP command ~~~~~"); - ChatUtil.sendNormalMessage(sender, "/HP Get - Erhalte die aktuelen HP eines Spielers"); - ChatUtil.sendNormalMessage(sender, "/HP Add - Füge einem Spieler die angegebene Zahl an Herzen hinzu"); - ChatUtil.sendNormalMessage(sender, "/HP Remove - Entferne einem Spieler die angegebene Zahl an Herzen"); - ChatUtil.sendNormalMessage(sender, "/HP Set - Setze die Herzen eines Spieler auf die angegebene Zahl"); - ChatUtil.sendNormalMessage(sender, "/HP Max - Setze die maximalen HP aller Spieler"); - ; - } - } else - ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!"); - return true; - } -} diff --git a/src/main/java/de/fanta/challenges/commands/ResetCommand.java b/src/main/java/de/fanta/challenges/commands/ResetCommand.java new file mode 100644 index 0000000..f58204a --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/ResetCommand.java @@ -0,0 +1,58 @@ +package de.fanta.challenges.commands; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; +import de.iani.cubesideutils.bukkit.commands.SubCommand; +import de.iani.cubesideutils.commands.ArgsParser; +import net.md_5.bungee.api.ChatColor; +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.command.ConsoleCommandSender; +import org.bukkit.entity.Player; + +public class ResetCommand extends SubCommand { + + private final Challenges plugin; + + public ResetCommand(Challenges plugin) { + this.plugin = plugin; + } + BackpackCommand backpack; + + @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())) { + plugin.getConfig().set("World_Name", Bukkit.getWorlds().get(0).getName()); + plugin.getConfig().set("World_Reset", true); + plugin.getConfig().set("timer.enabled", false); + plugin.getConfig().set("timer.time", 0); + plugin.getConfig().set("timer.sek", "00"); + plugin.getConfig().set("timer.min", "00"); + plugin.getConfig().set("timer.hrs", 0); + for (String key : plugin.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { + plugin.getConfig().set("Saved_Locations." + key, null); + } + plugin.saveConfig(); + + Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() { + @Override + public void run() { + for (Player p : Bukkit.getOnlinePlayers()) { + p.sendTitle(ChatColor.GREEN + "Server wird zurückgesetzt!", ChatColor.RED + "Bitte warte einen Moment" + ChatColor.GREEN + "." + ChatColor.AQUA + "." + ChatColor.YELLOW + ".", 10, 220, 10); + p.kickPlayer(ChatColor.RED + "Welt wird zurückgesetzt!\n" + ChatColor.RED + "§cBitte warte einen Moment..."); + } + ConsoleCommandSender console = Bukkit.getServer().getConsoleSender(); + Bukkit.dispatchCommand(console, "restart"); + } + }, 60); + } else { + ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! Nur" + plugin.getCurrentEditor().getName() + " kann die Map zurücksetzen!"); + } + return true; + } +} diff --git a/src/main/java/de/fanta/challenges/commands/Reset_Command.java b/src/main/java/de/fanta/challenges/commands/Reset_Command.java deleted file mode 100644 index 97b5f14..0000000 --- a/src/main/java/de/fanta/challenges/commands/Reset_Command.java +++ /dev/null @@ -1,52 +0,0 @@ -package de.fanta.challenges.commands; - -import de.fanta.challenges.challenges.Backpack; -import de.fanta.challenges.challenges.Challenges; -import net.md_5.bungee.api.ChatColor; -import org.bukkit.Bukkit; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.entity.Player; - -public class Reset_Command implements CommandExecutor { - - private Challenges chl = Challenges.getplugin(); - Backpack backpack; - - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - { - - } - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "lb clearlog all world world"); - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "lb clearlog all world world_nether"); - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "lb clearlog all world world_the_end"); - - chl.getConfig().set("World_Name", Bukkit.getWorlds().get(0).getName()); - chl.getConfig().set("World_Reset", true); - chl.getConfig().set("timer.enabled", false); - chl.getConfig().set("timer.time", 0); - chl.getConfig().set("timer.sek", "00"); - chl.getConfig().set("timer.min", "00"); - chl.getConfig().set("timer.hrs", 0); - for (String key : chl.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { - chl.getConfig().set("Saved_Locations." + key, null); - } - chl.saveConfig(); - - Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() { - @Override - public void run() { - for (Player p : Bukkit.getOnlinePlayers()) { - p.sendTitle(ChatColor.GREEN + "Welt wird zurückgesetzt!", ChatColor.RED + "Bitte warte einen Moment" + ChatColor.GREEN + "." + ChatColor.AQUA + "." + ChatColor.YELLOW + ".", 10, 400, 10); - p.kickPlayer(ChatColor.RED + "Welt wird zurückgesetzt!\n" + ChatColor.RED + "§cBitte warte einen Moment..."); - } - ConsoleCommandSender console = Bukkit.getServer().getConsoleSender(); - Bukkit.dispatchCommand(console, "restart"); - } - }, 60); - return true; - } -} diff --git a/src/main/java/de/fanta/challenges/commands/ReviveCommand.java b/src/main/java/de/fanta/challenges/commands/ReviveCommand.java new file mode 100644 index 0000000..64ecc1e --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/ReviveCommand.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 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())) { + 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/Revive_Command.java b/src/main/java/de/fanta/challenges/commands/Revive_Command.java deleted file mode 100644 index 2a10392..0000000 --- a/src/main/java/de/fanta/challenges/commands/Revive_Command.java +++ /dev/null @@ -1,69 +0,0 @@ -package de.fanta.challenges.commands; - -import de.fanta.challenges.challenges.Challenges; -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 Revive_Command implements CommandExecutor { - - private Challenges chl = Challenges.getplugin(); - - @SuppressWarnings("deprecation") - @Override - public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) { - if (sender.hasPermission("challenges.revive")) { - 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); - chl.getServer().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 - sender.sendMessage("§cDu hast hierfür keine Berechtigung"); - return true; - } -} diff --git a/src/main/java/de/fanta/challenges/commands/SettingsCommand.java b/src/main/java/de/fanta/challenges/commands/SettingsCommand.java new file mode 100644 index 0000000..7502955 --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/SettingsCommand.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 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())) { + 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())) { + 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())) { + 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/Settings_Command.java b/src/main/java/de/fanta/challenges/commands/Settings_Command.java deleted file mode 100644 index 4071384..0000000 --- a/src/main/java/de/fanta/challenges/commands/Settings_Command.java +++ /dev/null @@ -1,146 +0,0 @@ -package de.fanta.challenges.commands; - -import de.fanta.challenges.challenges.Challenges; -import de.fanta.challenges.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 Settings_Command implements CommandExecutor { - - private Challenges chl = Challenges.getplugin(); - - @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 (p.hasPermission("challenges.settings.view")) { - WolfyUtilities.getAPI(chl).getInventoryAPI().openCluster(p, "none"); - } else { - ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!"); - } - } else if (args.length == 1) { - if (args[0].equalsIgnoreCase("get")) { - if (p.hasPermission("challenges.settings.get")) { - ChatUtil.sendNormalMessage(p, "Einstellungen"); - ChatUtil.sendNormalMessage(p, "Crafting = " + chl.getConfig().getBoolean("craftingtable")); - ChatUtil.sendNormalMessage(p, "Villager Handel = " + chl.getConfig().getBoolean("allowtrading")); - ChatUtil.sendNormalMessage(p, "Sterben bei Fallschaden = " + chl.getConfig().getBoolean("deathonfall")); - ChatUtil.sendNormalMessage(p, "Schaden bei Schleichen = " + chl.getConfig().getBoolean("damageonsneak")); - ChatUtil.sendNormalMessage(p, "Schadens wert bei Schleichen = " + chl.getConfig().getString("sneakdmg")); - ChatUtil.sendNormalMessage(p, "Geteielter Schaden = " + chl.getConfig().getBoolean("sharedmg")); - ChatUtil.sendNormalMessage(p, "Ein Leben für alle = " + chl.getConfig().getBoolean("onelife")); - ChatUtil.sendNormalMessage(p, "Schaden im Chat = " + chl.getConfig().getBoolean("dmginchat")); - ChatUtil.sendNormalMessage(p, "Respawn = " + chl.getConfig().getBoolean("respawn")); - ChatUtil.sendNormalMessage(p, "MLG " + chl.getConfig().getBoolean("mlg.enabled")); - ChatUtil.sendNormalMessage(p, "MLG Kill All " + chl.getConfig().getBoolean("mlg.killall")); - ChatUtil.sendNormalMessage(p, "Maximale zeit bis zum nächsten MLG = " + chl.getConfig().getString("mlg.maxtime") + " Sekunden"); - ChatUtil.sendNormalMessage(p, "Sterben beim XP aufheben: " + chl.getConfig().getBoolean("xpdeath")); - - } else { - ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!"); - } - } 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 (p.hasPermission("challenges.settings.modify")) { - Boolean Bwert = Boolean.valueOf(Boolean.parseBoolean(args[1])); - switch (args[0].toLowerCase()) { - case "crafting": - chl.getConfig().set("craftingtable", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Crafting = " + chl.getConfig().getBoolean("craftingtable")); - break; - case "deathfall": - chl.getConfig().set("deathonfall", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben bei Fallschaden = " + chl.getConfig().getBoolean("deathonfall")); - break; - case "trading": - chl.getConfig().set("allowtrading", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Villager Handel = " + chl.getConfig().getBoolean("allowtrading")); - break; - case "dmgonsneak": - chl.getConfig().set("damageonsneak", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Schaden bei Schleichen = " + chl.getConfig().getBoolean("damageonsneak")); - break; - case "sneakdmg": - Double Dwert = Double.valueOf(Double.parseDouble(args[1])); - chl.getConfig().set("sneakdmg", Dwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Schadens wert bei Schleichen = " + chl.getConfig().getString("sneakdmg")); - break; - case "rnddrops": - chl.getConfig().set("rnddrops", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Random Drops = " + chl.getConfig().getBoolean("rnddrops")); - break; - case "sharedmg": - chl.getConfig().set("sharehp", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Geteielter Schaden = " + chl.getConfig().getBoolean("sharedmg")); - case "respawn": - chl.getConfig().set("respawn", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Respawn = " + chl.getConfig().getBoolean("respawn")); - break; - case "onelife": - chl.getConfig().set("onelife", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Ein Leben für alle = " + chl.getConfig().getBoolean("onelife")); - break; - case "chatdmg": - chl.getConfig().set("dmginchat", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Schaden im Chat = " + chl.getConfig().getBoolean("dmginchat")); - break; - case "mlg": - chl.getConfig().set("mlg.enabled", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "MLG " + chl.getConfig().getBoolean("mlg.enabled")); - break; - case "mlgkillall": - chl.getConfig().set("mlg.killall", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "MLG Kill All " + chl.getConfig().getBoolean("mlg.killall")); - break; - case "mlgtime": - Double time = Double.valueOf(Double.parseDouble(args[1])); - chl.getConfig().set("mlg.maxtime", time); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Maximale zeit bis zum nächsten MLG = " + chl.getConfig().getString("mlg.maxtime") + " Sekunden"); - break; - case "deathxp": - chl.getConfig().set("xpdeath", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben beim XP aufheben: " + chl.getConfig().getBoolean("xpdeath")); - break; - case "sprintdeath": - chl.getConfig().set("deathonsprint", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben durch sprinten: " + chl.getConfig().getBoolean("deathonsprint")); - break; - case "jumpdeath": - chl.getConfig().set("deathonjump", Bwert); - chl.saveConfig(); - ChatUtil.sendNormalMessage(p, "Sterben durch springenn: " + chl.getConfig().getBoolean("deathonjump")); - break; - } - } else { - ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!"); - } - } 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 new file mode 100644 index 0000000..048789e --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/TimerCommand.java @@ -0,0 +1,255 @@ +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())) { + if (args.length == 1) { + if (args[0].equalsIgnoreCase("resume")) { + 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 resume/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 resume/pause/reset/reverse/set [Zeit in Sekunden]"); + } + } else { + ChatUtil.sendNormalMessage(sender, "~~~~~ Timer command ~~~~~"); + ChatUtil.sendNormalMessage(sender, "/timer resume - 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/Timer_Command.java b/src/main/java/de/fanta/challenges/commands/Timer_Command.java deleted file mode 100644 index ecbb625..0000000 --- a/src/main/java/de/fanta/challenges/commands/Timer_Command.java +++ /dev/null @@ -1,250 +0,0 @@ -package de.fanta.challenges.commands; - -import de.fanta.challenges.challenges.Challenges; -import de.fanta.challenges.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 Timer_Command implements CommandExecutor { - private Challenges chl = Challenges.getplugin(); - 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 (sender.hasPermission("challenges.timer")) { - if (args.length == 1) { - if (args[0].equalsIgnoreCase("resume")) { - this.chl.CheckMLGWorld(); - if (!this.chl.getConfig().getBoolean("timer.enabled")) { - this.chl.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.chl.getConfig().getBoolean("timer.enabled")) { - this.chl.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.chl.getConfig().set("timer.reverse", Boolean.valueOf(!this.chl.getConfig().getBoolean("timer.reverse"))); - this.chl.saveConfig(); - if (this.chl.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.chl.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 resume/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 resume/pause/reset/reverse/set [Zeit in Sekunden]"); - } - } else { - ChatUtil.sendNormalMessage(sender, "~~~~~ Timer command ~~~~~"); - ChatUtil.sendNormalMessage(sender, "/timer resume - 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 hast hierfür keine Berechtigung"); - } - return true; - } - - public void LoadTimer() { - this.time = this.chl.getConfig().getInt("timer.time"); - UpdateStrings(); - StartTimer(); - } - - public void StartTimer() { - Bukkit.getScheduler().scheduleSyncRepeatingTask(this.chl, new Runnable() { - @Override - public void run() { - int rndnmbr = Timer_Command.this.random.nextInt(750); - boolean ttimer = Timer_Command.this.chl.getConfig().getBoolean("timer.enabled"); - int ttime = Timer_Command.this.chl.getConfig().getInt("timer.time"); - int thrs = Timer_Command.this.chl.getConfig().getInt("timer.hrs"); - String tsek = Timer_Command.this.chl.getConfig().getString("timer.sek"); - String tmin = Timer_Command.this.chl.getConfig().getString("timer.min"); - - if (ttimer) { - Timer_Command.this.tsincemlg++; - if (Timer_Command.this.chl.getConfig().getBoolean("mlg.enabled") && !Timer_Command.this.mlg_active && Bukkit.getOnlinePlayers().size() >= 1 && (rndnmbr == 638 || Timer_Command.this.tsincemlg >= Timer_Command.this.chl.getConfig().getInt("mlg.maxtime"))) { - Bukkit.broadcastMessage(Challenges.PREFIX + " §bZeit für einen MLG! §6Viel Glück!"); - Timer_Command.this.tsincemlg = 0; - for (Player p : Bukkit.getOnlinePlayers()) { - if ((((p.getGameMode() == GameMode.SURVIVAL) ? 1 : 0) & (!p.isDead() ? 1 : 0)) != 0) { - Timer_Command.this.TPMLG(p); - } - } - } - - if (Timer_Command.this.chl.getConfig().getBoolean("timer.reverse")) { - if (ttime <= 0) { - Timer_Command.this.chl.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--; - Timer_Command.this.time = ttime; - Timer_Command.this.UpdateStrings(); - } - for (Player p : Bukkit.getOnlinePlayers()) { - p.sendActionBar(ChatColor.DARK_GREEN + "" + ChatColor.BOLD + thrs + ":" + tmin + ":" + tsek); - } - } else { - - ttime++; - Timer_Command.this.time = ttime; - Timer_Command.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.chl.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.chl.getConfig().set("timer.time", Integer.valueOf(this.time)); - this.chl.getConfig().set("timer.sek", this.ssek); - this.chl.getConfig().set("timer.min", this.smin); - this.chl.getConfig().set("timer.hrs", Integer.valueOf(this.hrs)); - this.chl.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.chl, new Runnable() { - @SuppressWarnings("deprecation") - @Override - public void run() { - Timer_Command.this.mlg_active = false; - if (!p.isDead() && p.getWorld() == Bukkit.getWorld("mlg_challenge")) { - if (Timer_Command.this.chl.getConfig().getBoolean("timer.enabled")) { - ChatUtil.sendNormalMessage(p, "§aDu hast den §bMLG §aerfolgreich absolviert! §6Weitere folgen..."); - p.setInvulnerable(true); - Timer_Command.this.MLGBack(p, loc, inv); - } else { - Timer_Command.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.chl, 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/coords/CoordsCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsCommand.java new file mode 100644 index 0000000..ac22551 --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsCommand.java @@ -0,0 +1,71 @@ +package de.fanta.challenges.commands.coords; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; +import de.iani.cubesideutils.bukkit.commands.SubCommand; +import de.iani.cubesideutils.commands.ArgsParser; + +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; + +public class CoordsCommand extends SubCommand { + + private Challenges plugin = Challenges.getplugin(); + + public static final Inventory CoordsGUI = Bukkit.createInventory(null, 45, "§6Koordinaten"); + + public static final String CGUIN = "§6Koordinaten"; + + public CoordsCommand(Challenges plugin) { + this.plugin = plugin; + } + + @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; + } + createMainGUI((Player) sender); + + return true; +} + + public void createMainGUI(Player p) { + int i = 0; + String w; + String x; + String y; + String z; + for (String key : plugin.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { + if (i >= 45) { + break; + } + w = plugin.getConfig().getString("Saved_Locations." + key + ".World"); + x = plugin.getConfig().getString("Saved_Locations." + key + ".BlockX"); + y = plugin.getConfig().getString("Saved_Locations." + key + ".BlockY"); + z = plugin.getConfig().getString("Saved_Locations." + key + ".BlockZ"); + CoordsGUI.setItem(i, plugin.addGUIItem(getBlock(w), key, "§bX: §c" + x, "§bY: §c" + y, "§bZ: §c" + z)); + i++; + } + for (int ii = i; ii < 45; ii++) { + CoordsGUI.setItem(ii, plugin.addGUIItem(Material.AIR, "")); + } + p.openInventory(CoordsGUI); + } + + private Material getBlock(String wname) { + ItemStack mat = new ItemStack(Material.GRASS_BLOCK); + if (wname.equals(Bukkit.getWorlds().get(1).getName())) { + mat.setType(Material.NETHERRACK); + } else if (wname.equals(Bukkit.getWorlds().get(2).getName())) { + mat.setType(Material.END_STONE); + } + return mat.getType(); + } +} \ No newline at end of file diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsDeleteCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsDeleteCommand.java new file mode 100644 index 0000000..ef7a5b3 --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsDeleteCommand.java @@ -0,0 +1,63 @@ +package de.fanta.challenges.commands.coords; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; +import de.iani.cubesideutils.bukkit.commands.SubCommand; +import de.iani.cubesideutils.commands.ArgsParser; +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; + +import java.util.Collection; + +public class CoordsDeleteCommand extends SubCommand { + + public static final Inventory CoordsDeleteGUI = Bukkit.createInventory(null, 9, "§6Entferne Koordinate"); + public static final String CDGUIN = "§6Entferne Koordinate"; + private final Challenges plugin; + + public CoordsDeleteCommand(Challenges plugin) { + this.plugin = plugin; + } + + @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; + } + Player player = (Player) sender; + + if (args.hasNext()) { + String next = args.getNext(); + if (plugin.getConfig().contains("Saved_Locations." + next)) { + createDeleteGUI(player, next); + player.openInventory(CoordsDeleteGUI); + } else { + ChatUtil.sendWarningMessage(player, "Diese Position existiert nicht!"); + } + return true; + } + return false; + } + + public void createDeleteGUI(Player p, String dname) { + CoordsDeleteGUI.setItem(0, plugin.addGUIItem(Material.LIME_TERRACOTTA, "§aLöschen bestätigen", "§bWegpunkt: §c" + dname)); + CoordsDeleteGUI.setItem(4, plugin.addGUIItem(Material.ORANGE_BANNER, dname)); + for (int i = 1; i < 8; i++) { + if (CoordsDeleteGUI.getItem(i) == null) { + CoordsDeleteGUI.setItem(i, plugin.addGUIItem(Material.ORANGE_STAINED_GLASS_PANE, "")); + } + } + CoordsDeleteGUI.setItem(8, plugin.addGUIItem(Material.RED_TERRACOTTA, "§cLöschen abbrechen", "§bWegpunkt: §c" + dname)); + p.openInventory(CoordsDeleteGUI); + } + + @Override + public Collection onTabComplete(CommandSender sender, Command command, String alias, ArgsParser args) { + return plugin.getConfig().getConfigurationSection("Saved_Locations").getKeys(false); + } +} diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsGetCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsGetCommand.java new file mode 100644 index 0000000..019dfae --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsGetCommand.java @@ -0,0 +1,53 @@ +package de.fanta.challenges.commands.coords; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; +import de.iani.cubesideutils.bukkit.commands.SubCommand; +import de.iani.cubesideutils.commands.ArgsParser; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +import java.util.Collection; + +public class CoordsGetCommand extends SubCommand { + + private final Challenges plugin; + + public CoordsGetCommand(Challenges plugin) { + this.plugin = plugin; + } + + @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; + } + Player player = (Player) sender; + + if (!args.hasNext()) { + ChatUtil.sendNormalMessage(player, "Verfügbare Positionen:"); + for (String key : plugin.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) { + ChatUtil.sendNormalMessage(player, key); + } + } else { + String next = args.getNext(); + if (plugin.getConfig().contains("Saved_Locations." + next)) { + String w = plugin.getConfig().getString("Saved_Locations." + next + ".World"); + String x = plugin.getConfig().getString("Saved_Locations." + next + ".BlockX"); + String y = plugin.getConfig().getString("Saved_Locations." + next + ".BlockY"); + String z = plugin.getConfig().getString("Saved_Locations." + next + ".BlockZ"); + ChatUtil.sendNormalMessage(player, "§aPosition §8>> §2" + player.getName() + " §7- " + next + " §7[§2" + x + "§7/§2" + y + "§7/§2" + z + " " + w + "§7]"); + } else { + ChatUtil.sendWarningMessage(player, "§cDiese Position existiert nicht!"); + } + } + return true; + } + + @Override + public Collection onTabComplete(CommandSender sender, Command command, String alias, ArgsParser args) { + return plugin.getConfig().getConfigurationSection("Saved_Locations").getKeys(false); + } +} diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsSaveCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsSaveCommand.java new file mode 100644 index 0000000..e3f821a --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsSaveCommand.java @@ -0,0 +1,46 @@ +package de.fanta.challenges.commands.coords; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; +import de.iani.cubesideutils.bukkit.commands.SubCommand; +import de.iani.cubesideutils.commands.ArgsParser; +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class CoordsSaveCommand extends SubCommand { + + private final Challenges plugin; + + public CoordsSaveCommand(Challenges plugin) { + this.plugin = plugin; + } + + @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; + } + Player player = (Player) sender; + + if (args.hasNext()) { + String next = args.getNext(); + if (!plugin.getConfig().contains("Saved_Locations." + next)) { + Bukkit.broadcastMessage(Challenges.PREFIX + " §7| §aPosition §8>> §2" + player.getName() + " §7- " + next + " §7[§2" + player.getLocation().getBlockX() + "§7/§2" + player.getLocation().getBlockY() + "§7/§2" + player.getLocation().getBlockZ() + "§7]"); + plugin.getConfig().set("Saved_Locations." + next + ".World", player.getWorld().getName()); + plugin.getConfig().set("Saved_Locations." + next + ".BlockX", player.getLocation().getBlockX()); + plugin.getConfig().set("Saved_Locations." + next + ".BlockY", player.getLocation().getBlockY()); + plugin.getConfig().set("Saved_Locations." + next + ".BlockZ", player.getLocation().getBlockZ()); + plugin.saveConfig(); + } else { + ChatUtil.sendWarningMessage(player, "Diese Position existiert bereits! Benutze einen anderen Namen oder lösche die alte zuerst mit /coords delete " + next); + } + return true; + } + return false; + } + + +} diff --git a/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java b/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java new file mode 100644 index 0000000..8e5c123 --- /dev/null +++ b/src/main/java/de/fanta/challenges/commands/coords/CoordsShareCommand.java @@ -0,0 +1,29 @@ +package de.fanta.challenges.commands.coords; + +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; +import de.iani.cubesideutils.bukkit.commands.SubCommand; +import de.iani.cubesideutils.commands.ArgsParser; +import org.bukkit.Bukkit; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class CoordsShareCommand extends SubCommand { + + private final Challenges plugin; + + public CoordsShareCommand(Challenges plugin) { + this.plugin = plugin; + } + + @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; + } + Bukkit.broadcastMessage(Challenges.PREFIX + " §c" + sender.getName() + " §6ist bei §c" + ((Player) sender).getLocation().getBlockX() + " " + ((Player) sender).getLocation().getBlockY() + " " + ((Player) sender).getLocation().getBlockZ() + " §6in Welt §6" + ((Player) sender).getWorld().getName()); + return true; + } +} diff --git a/src/main/java/de/fanta/challenges/events/BlockCreateListener.java b/src/main/java/de/fanta/challenges/events/BlockCreateListener.java index ee77a58..eda3dd7 100644 --- a/src/main/java/de/fanta/challenges/events/BlockCreateListener.java +++ b/src/main/java/de/fanta/challenges/events/BlockCreateListener.java @@ -2,7 +2,7 @@ -import de.fanta.challenges.challenges.Challenges; +import de.fanta.challenges.Challenges; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; diff --git a/src/main/java/de/fanta/challenges/events/BlockDestroyListener.java b/src/main/java/de/fanta/challenges/events/BlockDestroyListener.java index 5470081..e659181 100644 --- a/src/main/java/de/fanta/challenges/events/BlockDestroyListener.java +++ b/src/main/java/de/fanta/challenges/events/BlockDestroyListener.java @@ -2,7 +2,7 @@ -import de.fanta.challenges.challenges.Challenges; +import de.fanta.challenges.Challenges; import org.bukkit.Material; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; diff --git a/src/main/java/de/fanta/challenges/events/DamageListener.java b/src/main/java/de/fanta/challenges/events/DamageListener.java index 1ec945c..1721d71 100644 --- a/src/main/java/de/fanta/challenges/events/DamageListener.java +++ b/src/main/java/de/fanta/challenges/events/DamageListener.java @@ -1,8 +1,8 @@ package de.fanta.challenges.events; import com.destroystokyo.paper.event.player.PlayerJumpEvent; -import de.fanta.challenges.challenges.Challenges; -import de.fanta.challenges.challenges.ChatUtil; +import de.fanta.challenges.Challenges; +import de.fanta.challenges.ChatUtil; import java.text.DecimalFormat; import org.bukkit.Bukkit; import org.bukkit.GameMode; @@ -60,8 +60,11 @@ if (health < 0) { pp.setHealth(0); } else { - pp.setHealth(health); - pp.getWorld().playSound(pp.getLocation(), Sound.ENTITY_PLAYER_HURT, 1, 1); + if (pp.getGameMode() != GameMode.SPECTATOR) { + pp.setHealth(health); + pp.getWorld().playSound(pp.getLocation(), Sound.ENTITY_PLAYER_HURT, 1, 1); + } + } } diff --git a/src/main/java/de/fanta/challenges/events/DeathListener.java b/src/main/java/de/fanta/challenges/events/DeathListener.java index 93a3753..0d92a81 100644 --- a/src/main/java/de/fanta/challenges/events/DeathListener.java +++ b/src/main/java/de/fanta/challenges/events/DeathListener.java @@ -2,7 +2,7 @@ -import de.fanta.challenges.challenges.Challenges; +import de.fanta.challenges.Challenges; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.entity.EnderDragon; diff --git a/src/main/java/de/fanta/challenges/events/InteractListener.java b/src/main/java/de/fanta/challenges/events/InteractListener.java index 2b5d94b..04309bd 100644 --- a/src/main/java/de/fanta/challenges/events/InteractListener.java +++ b/src/main/java/de/fanta/challenges/events/InteractListener.java @@ -2,7 +2,7 @@ -import de.fanta.challenges.challenges.Challenges; +import de.fanta.challenges.Challenges; import org.bukkit.Material; import org.bukkit.entity.EntityType; import org.bukkit.event.EventHandler; diff --git a/src/main/java/de/fanta/challenges/events/InventoryClickListener.java b/src/main/java/de/fanta/challenges/events/InventoryClickListener.java index 17de4a9..388dc17 100644 --- a/src/main/java/de/fanta/challenges/events/InventoryClickListener.java +++ b/src/main/java/de/fanta/challenges/events/InventoryClickListener.java @@ -1,8 +1,9 @@ package de.fanta.challenges.events; -import de.fanta.challenges.challenges.Challenges; -import de.fanta.challenges.commands.CoordsCommand; +import de.fanta.challenges.Challenges; +import de.fanta.challenges.commands.coords.CoordsCommand; +import de.fanta.challenges.commands.coords.CoordsDeleteCommand; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.entity.Player; @@ -16,6 +17,7 @@ Challenges chall; CoordsCommand coco; + CoordsDeleteCommand codeco; @SuppressWarnings({ "deprecation", "static-access" }) @EventHandler @@ -106,10 +108,10 @@ } } } - if (invname.equals(coco.CDGUIN)) { + if (invname.equals(codeco.CDGUIN)) { e.setCancelled(true); if (slot == 0) { - String cname = coco.CoordsDeleteGUI.getItem(4).getItemMeta().getDisplayName(); + String cname = codeco.CoordsDeleteGUI.getItem(4).getItemMeta().getDisplayName(); chl.getConfig().set("Saved_Locations." + cname, null); chl.saveConfig(); p.sendMessage("§cPosition §6" + cname + " §cwurde gelöscht!"); diff --git a/src/main/java/de/fanta/challenges/events/QuitJoinListener.java b/src/main/java/de/fanta/challenges/events/QuitJoinListener.java index 5ff6733..e9eb374 100644 --- a/src/main/java/de/fanta/challenges/events/QuitJoinListener.java +++ b/src/main/java/de/fanta/challenges/events/QuitJoinListener.java @@ -1,10 +1,11 @@ package de.fanta.challenges.events; -import de.fanta.challenges.challenges.Challenges; +import de.fanta.challenges.Challenges; import java.util.Random; -import de.fanta.challenges.challenges.ChatUtil; +import de.fanta.challenges.ChatUtil; import org.bukkit.Bukkit; +import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -18,7 +19,8 @@ @EventHandler public void PlayerJoinEvent(PlayerJoinEvent e) { Player p = e.getPlayer(); - e.setJoinMessage("§6" + p.getName() + " §chat den Server betreten!"); + 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") == true) { int rnd = new Random().nextInt(Bukkit.getOnlinePlayers().size()); Player rp = (Player) Bukkit.getServer().getOnlinePlayers().toArray()[rnd]; @@ -28,18 +30,25 @@ this.chl.getSBManager().createScoreboard(p); } - if (p.hasPermission("Challenges.editor")) { - if (chl.getCurrentEditor() == null) { + if (chl.getCurrentEditor() == null) { + if (p.hasPermission("Challenges.editor")) { chl.setCurrentEditor(p); - ChatUtil.sendNormalMessage(p, "Du bist jetzt ein toller Mensch"); + ChatUtil.sendNormalMessage(p, "Du bist nun der Editor dieser Lobby!"); + } else { + ChatUtil.sendWarningMessage(p, "Es ist aktuell kein Editor in dieser Lobby"); + ChatUtil.sendWarningMessage(p, "Um selbst Editor zu werden musst du VIP sein!"); } + + } else { + ChatUtil.sendNormalMessage( p,chl.getCurrentEditor().getName() + " ist der Editor dieser Lobby!"); } } @EventHandler public void PlayerQuitEvent(PlayerQuitEvent e) { Player p = e.getPlayer(); - e.setQuitMessage("§6" + p.getName() + " §chat den Server verlassen!"); + Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatColor.GOLD + p.getName() + ChatColor.GREEN + " hat die Lobby verlassen! " + ChatColor.BLUE + "[" + Bukkit.getServer().getOnlinePlayers().size() + "/" + + Bukkit.getServer().getMaxPlayers() + "]"); + e.setQuitMessage(null); if (Bukkit.getOnlinePlayers().size() == 1) { chl.getConfig().set("timer.enabled", false); diff --git a/src/main/java/de/fanta/challenges/gui/InventoryHandler.java b/src/main/java/de/fanta/challenges/gui/InventoryHandler.java index ed02db3..e80f853 100644 --- a/src/main/java/de/fanta/challenges/gui/InventoryHandler.java +++ b/src/main/java/de/fanta/challenges/gui/InventoryHandler.java @@ -1,6 +1,6 @@ package de.fanta.challenges.gui; -import de.fanta.challenges.challenges.Challenges; +import de.fanta.challenges.Challenges; import me.wolfyscript.utilities.api.WolfyUtilities; import me.wolfyscript.utilities.api.inventory.GuiCluster; import me.wolfyscript.utilities.api.inventory.InventoryAPI; diff --git a/src/main/java/de/fanta/challenges/gui/SettingButton.java b/src/main/java/de/fanta/challenges/gui/SettingButton.java index 5a69494..b90425a 100644 --- a/src/main/java/de/fanta/challenges/gui/SettingButton.java +++ b/src/main/java/de/fanta/challenges/gui/SettingButton.java @@ -1,6 +1,6 @@ package de.fanta.challenges.gui; -import de.fanta.challenges.challenges.Challenges; +import de.fanta.challenges.Challenges; import me.wolfyscript.utilities.api.inventory.GuiHandler; import me.wolfyscript.utilities.api.inventory.button.ButtonActionRender; import me.wolfyscript.utilities.api.inventory.button.ButtonState; diff --git a/src/main/java/de/fanta/challenges/gui/SettingsGui.java b/src/main/java/de/fanta/challenges/gui/SettingsGui.java index bf538b2..5f3ca9f 100644 --- a/src/main/java/de/fanta/challenges/gui/SettingsGui.java +++ b/src/main/java/de/fanta/challenges/gui/SettingsGui.java @@ -1,6 +1,6 @@ package de.fanta.challenges.gui; -import de.fanta.challenges.challenges.Challenges; +import de.fanta.challenges.Challenges; import java.util.ArrayList; import java.util.List; import me.wolfyscript.utilities.api.inventory.GuiUpdateEvent; diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 721dbb7..c0a8c71 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: Challenges -main: de.fanta.challenges.challenges.Challenges +main: de.fanta.challenges.Challenges version: 2.0 api-version: 1.15 load: STARTUP @@ -9,80 +9,25 @@ hp: description: Verwalte die HP eines Spielers usage: Benutze /hp get/add/remove/set/max [Spieler] [Wert] - permission: challenges.hp coords: description: Teile oder speichere deine Position! usage: Benutze /coords share/get/save/delete [Name] - permission: challenges.coords settings: description: Verwalte die Plugineinstellungen usage: Benutze /settings Get/Crafting/Trading/DeathFall/DMGOnSneak/Respawn/OneLife/ChatDMG [True/False] - permission: challenges.settings revive: description: Wiederbelebe einen gestorbenen Spieler! usage: Benutze /revive [world] [x] [y] [z] - permission: challenges.revive timer: description: Verwalte den Timer usage: Benutze /timer resume/pause/reset/set [Zeit in Sekunden] - permission: challenges.timer challenges: description: Main Command usage: Benutze /Challenges - permission: challenges.challenges backpack: description: Oeffne ein Backpack usage: Benutze /backpack oder /bp - permission: challenges.backpack aliases: [bp] reset: description: Setzte die Welt zurueck - usage: Benutze /Reset - permission: challenges.reset - -permissions: - challenges.*: - description: Voller Zugriff auf das Challenge Plugin - default: op - children: - challenges.hp: true - challenges.coords: true - challenges.settings: true - challenges.revive: true - challenges.timer: true - challenges.challenges: true - challenges.reset: true - challenges.hp: - description: Verwalte die HP eines Spielers - default: op - challenges.coords: - description: Teile oder speichere deine Position! - default: op - children: - challenges.coords.view: true - challenges.coords.share: true - challenges.coords.get: true - challenges.coords.save: true - challenges.coords.delete: true - challenges.settings: - description: Verwalte die Plugineinstellungen - default: op - children: - challenges.settings.view: true - challenges.settings.get: true - challenges.settings.modify: true - challenges.revive: - description: Wiederbelebe einen gestorbenen Spieler! - default: op - challenges.timer: - description: Verwalte den Timer - default: op - challenges.challenges: - description: Main Command - default: op - challenges.backpack: - description: Oeffne ein Backpack - default: op - challenges.reset: - description: Setze die Welt zurueck - default: op \ No newline at end of file + usage: Benutze /Reset \ No newline at end of file