diff --git a/.classpath b/.classpath
index a5d9509..234db15 100644
--- a/.classpath
+++ b/.classpath
@@ -18,7 +18,7 @@
-
+
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 2f5cc74..b5490a0 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/pom.xml b/pom.xml
index 26bca48..66c65bb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
4.0.0
- net.brennholz.challenges
+ de.fanta.challenges
Challenges
2.0
@@ -30,13 +30,15 @@
de.iani.cubeside
- CubesideUtils
- 1.14-SNAPSHOT
+ CubesideUtilsBukkit
+ 1.14-split-SNAPSHOT
+ provided
io.github.wolfyscript
wolfyutilities
1.5.6.17
+ provided
@@ -56,43 +58,6 @@
11
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.2.3
-
-
- package
-
- shade
-
-
-
-
- de.iani.cubesideutils
- net.brennholz.challenges.libs.de.iani.cubesideutils
-
-
- me.wolfyscript.utilities
- net.brennholz.challenges.libs.me.wolfyscript.utilities
-
-
-
-
-
-
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
-
-
-
-
-
diff --git a/src/main/java/de/fanta/challenges/Backpack.java b/src/main/java/de/fanta/challenges/Backpack.java
new file mode 100644
index 0000000..1099a0a
--- /dev/null
+++ b/src/main/java/de/fanta/challenges/Backpack.java
@@ -0,0 +1,76 @@
+package de.fanta.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.java b/src/main/java/de/fanta/challenges/Challenges.java
new file mode 100644
index 0000000..8dc7098
--- /dev/null
+++ b/src/main/java/de/fanta/challenges/Challenges.java
@@ -0,0 +1,214 @@
+/*TODO
+Backpack
+MLG-Challenges machen*/
+
+package de.fanta.challenges;
+
+import com.google.common.io.MoreFiles;
+import com.google.common.io.RecursiveDeleteOption;
+import de.fanta.commands.ChallengesCommand;
+import de.fanta.commands.CoordsCommand;
+import de.fanta.commands.HP_Command;
+import de.fanta.commands.Reset_Command;
+import de.fanta.commands.Revive_Command;
+import de.fanta.commands.Settings_Command;
+import de.fanta.commands.Timer_Command;
+import de.fanta.events.BlockCreateListener;
+import de.fanta.events.BlockDestroyListener;
+import de.fanta.events.DamageListener;
+import de.fanta.events.DeathListener;
+import de.fanta.events.InteractListener;
+import de.fanta.events.InventoryClickListener;
+import de.fanta.events.QuitJoinListener;
+import de.fanta.gui.InventoryHandler;
+import java.io.File;
+import java.io.IOException;
+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.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 + "]";
+
+
+ @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());
+ getCommand("challenges").setExecutor(new ChallengesCommand());
+
+ 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);
+ }
+ }
+}
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..dd5c1f4
--- /dev/null
+++ b/src/main/java/de/fanta/challenges/ChatUtil.java
@@ -0,0 +1,30 @@
+package de.fanta.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/RandomDrops.java b/src/main/java/de/fanta/challenges/RandomDrops.java
new file mode 100644
index 0000000..c83ea2a
--- /dev/null
+++ b/src/main/java/de/fanta/challenges/RandomDrops.java
@@ -0,0 +1,58 @@
+package de.fanta.challenges;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Random;
+import java.util.stream.Collectors;
+import org.bukkit.Material;
+import org.bukkit.block.Block;
+import org.bukkit.configuration.file.FileConfiguration;
+
+public class RandomDrops {
+ private final ArrayList BLOCKS;
+
+ private final ArrayList ITEM_DROPS;
+
+ private HashMap drops = new HashMap<>();
+
+ public RandomDrops() {
+ this.BLOCKS = (ArrayList) Arrays. stream(Material.values()).filter(mat -> mat.isBlock()).collect(Collectors.toList());
+ this.ITEM_DROPS = (ArrayList) Arrays. stream(Material.values()).filter(mat -> (mat.isItem() || mat == Material.BEDROCK)).collect(Collectors.toList());
+ }
+
+ public void shuffleItems() {
+ Collections.shuffle(this.ITEM_DROPS);
+ ArrayList itemDropsCopy = new ArrayList<>();
+ this.ITEM_DROPS.forEach(m -> itemDropsCopy.add(m));
+ this.BLOCKS.forEach(mat -> {
+ int r = (new Random()).nextInt(itemDropsCopy.size() - 1);
+ this.drops.put(mat, itemDropsCopy.get(r));
+ itemDropsCopy.remove(r);
+ });
+ saveItems();
+ }
+
+ public void saveItems() {
+ FileConfiguration config = Challenges.getplugin().getRndDropsConfig();
+ config.set("drops", this.drops.entrySet().stream().map(entry -> (new StringBuilder()).append(entry.getKey()).append(":").append(entry.getValue()).toString()).collect(Collectors.toList()));
+ }
+
+ public void loadItems() {
+ this.drops.clear();
+ FileConfiguration config = Challenges.getplugin().getRndDropsConfig();
+ if (config.isList("drops")) {
+ config.getStringList("drops").forEach(str -> {
+ String[] materialSplitted = str.split(":");
+ this.drops.put(Material.getMaterial(materialSplitted[0]), Material.getMaterial(materialSplitted[1]));
+ });
+ } else {
+ shuffleItems();
+ }
+ }
+
+ public Material getMaterialFromBlock(Block block) {
+ return this.drops.get(block.getType());
+ }
+}
diff --git a/src/main/java/de/fanta/challenges/SBManager.java b/src/main/java/de/fanta/challenges/SBManager.java
new file mode 100644
index 0000000..0bf25da
--- /dev/null
+++ b/src/main/java/de/fanta/challenges/SBManager.java
@@ -0,0 +1,22 @@
+package de.fanta.challenges;
+
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+import org.bukkit.scoreboard.DisplaySlot;
+import org.bukkit.scoreboard.Objective;
+import org.bukkit.scoreboard.RenderType;
+import org.bukkit.scoreboard.Scoreboard;
+import org.bukkit.scoreboard.ScoreboardManager;
+
+public class SBManager {
+ public void createScoreboard(Player p) {
+ ScoreboardManager manager = Bukkit.getScoreboardManager();
+ Scoreboard sb = manager.getNewScoreboard();
+ @SuppressWarnings("deprecation")
+ Objective TabHP = sb.registerNewObjective("§6Challenges", "health");
+ TabHP.setDisplaySlot(DisplaySlot.PLAYER_LIST);
+ TabHP.setDisplayName("§cHP");
+ TabHP.setRenderType(RenderType.HEARTS);
+ p.setScoreboard(sb);
+ }
+}
diff --git a/src/main/java/de/fanta/commands/ChallengesCommand.java b/src/main/java/de/fanta/commands/ChallengesCommand.java
new file mode 100644
index 0000000..30f28f4
--- /dev/null
+++ b/src/main/java/de/fanta/commands/ChallengesCommand.java
@@ -0,0 +1,28 @@
+package de.fanta.commands;
+
+import de.fanta.challenges.Challenges;
+import de.fanta.challenges.ChatUtil;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+
+public class ChallengesCommand implements CommandExecutor {
+
+ @Override
+ public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
+ if (sender.hasPermission("challenges.challenges")) {
+ ChatUtil.sendNormalMessage(sender, "Challenges Version " + Challenges.getplugin().getDescription().getVersion() + " von " + Challenges.getplugin().getDescription().getAuthors());
+ ChatUtil.sendNormalMessage(sender, "Verfügbare Befehle:");
+ ChatUtil.sendNormalMessage(sender, "/HP - Verwalte die HP einzelner Spieler");
+ ChatUtil.sendNormalMessage(sender, "/Coords - Teile oder speichere Coordinaten");
+ ChatUtil.sendNormalMessage(sender, "/Settings - Verwalte die Challenges Einstellungen");
+ ChatUtil.sendNormalMessage(sender, "/Timer - Verwalte den Timer");
+ 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");
+ } else {
+ ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!");
+ }
+ return true;
+ }
+}
diff --git a/src/main/java/de/fanta/commands/CoordsCommand.java b/src/main/java/de/fanta/commands/CoordsCommand.java
new file mode 100644
index 0000000..8a28493
--- /dev/null
+++ b/src/main/java/de/fanta/commands/CoordsCommand.java
@@ -0,0 +1,155 @@
+package de.fanta.commands;
+
+import de.fanta.challenges.Challenges;
+import de.fanta.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/commands/HP_Command.java b/src/main/java/de/fanta/commands/HP_Command.java
new file mode 100644
index 0000000..3befccc
--- /dev/null
+++ b/src/main/java/de/fanta/commands/HP_Command.java
@@ -0,0 +1,86 @@
+package de.fanta.commands;
+
+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 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/commands/Reset_Command.java b/src/main/java/de/fanta/commands/Reset_Command.java
new file mode 100644
index 0000000..ccd11d8
--- /dev/null
+++ b/src/main/java/de/fanta/commands/Reset_Command.java
@@ -0,0 +1,52 @@
+package de.fanta.commands;
+
+import de.fanta.challenges.Backpack;
+import de.fanta.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/commands/Revive_Command.java b/src/main/java/de/fanta/commands/Revive_Command.java
new file mode 100644
index 0000000..f78e8a4
--- /dev/null
+++ b/src/main/java/de/fanta/commands/Revive_Command.java
@@ -0,0 +1,69 @@
+package de.fanta.commands;
+
+import de.fanta.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/commands/Settings_Command.java b/src/main/java/de/fanta/commands/Settings_Command.java
new file mode 100644
index 0000000..ba96c6b
--- /dev/null
+++ b/src/main/java/de/fanta/commands/Settings_Command.java
@@ -0,0 +1,146 @@
+package de.fanta.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 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/commands/Timer_Command.java b/src/main/java/de/fanta/commands/Timer_Command.java
new file mode 100644
index 0000000..85e2f12
--- /dev/null
+++ b/src/main/java/de/fanta/commands/Timer_Command.java
@@ -0,0 +1,250 @@
+package de.fanta.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 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/events/BlockCreateListener.java b/src/main/java/de/fanta/events/BlockCreateListener.java
new file mode 100644
index 0000000..288db21
--- /dev/null
+++ b/src/main/java/de/fanta/events/BlockCreateListener.java
@@ -0,0 +1,28 @@
+package de.fanta.events;
+
+
+
+import de.fanta.challenges.Challenges;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.block.BlockPlaceEvent;
+import org.bukkit.event.player.PlayerBucketEmptyEvent;
+
+public class BlockCreateListener implements Listener {
+
+ private Challenges chl = Challenges.getplugin();
+
+ @EventHandler
+ public void onBlockPlace(BlockPlaceEvent e) {
+ if (this.chl.getConfig().getBoolean("timer.enabled") == false) {
+ e.setCancelled(true);
+ }
+ }
+
+ @EventHandler
+ public void onBucketPlace(PlayerBucketEmptyEvent e) {
+ if (this.chl.getConfig().getBoolean("timer.enabled") == false) {
+ e.setCancelled(true);
+ }
+ }
+}
diff --git a/src/main/java/de/fanta/events/BlockDestroyListener.java b/src/main/java/de/fanta/events/BlockDestroyListener.java
new file mode 100644
index 0000000..0c10af7
--- /dev/null
+++ b/src/main/java/de/fanta/events/BlockDestroyListener.java
@@ -0,0 +1,56 @@
+package de.fanta.events;
+
+
+
+import de.fanta.challenges.Challenges;
+import org.bukkit.Material;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.block.BlockBreakEvent;
+import org.bukkit.event.block.BlockExplodeEvent;
+import org.bukkit.event.entity.EntityExplodeEvent;
+import org.bukkit.inventory.ItemStack;
+
+public class BlockDestroyListener implements Listener {
+
+ private Challenges chl = Challenges.getplugin();
+
+ @EventHandler
+ public void onBlockBreak(BlockBreakEvent e) {
+ if (this.chl.getConfig().getBoolean("rnddrops") == true && this.chl.getConfig().getBoolean("timer.enabled") == true) {
+ e.setDropItems(false);
+ e.getBlock().getWorld().dropItem(e.getBlock().getLocation().add(0.5D, 0.5D, 0.5D), new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(e.getBlock())));
+ }
+ if (this.chl.getConfig().getBoolean("timer.enabled") == false) {
+ e.setCancelled(true);
+ }
+ }
+
+ @EventHandler
+ public void onBlockExplode(BlockExplodeEvent e) {
+ if (this.chl.getConfig().getBoolean("rnddrops") == true) {
+ e.blockList().forEach(block -> {
+ if(!block.getType().isAir()){
+ block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D),new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(block)));
+ block.setType(Material.AIR);
+ }
+ });
+ e.blockList().clear();
+ }
+ }
+
+ @EventHandler
+ public void onEntityExplode(EntityExplodeEvent e) {
+ if (this.chl.getConfig().getBoolean("rnddrops") == true) {
+ e.blockList().forEach(block -> {
+ if(!block.getType().isAir()){
+ block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D),new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(block)));
+ block.setType(Material.AIR);
+ }
+ });
+ e.blockList().clear();
+ }
+ }
+
+}
+
diff --git a/src/main/java/de/fanta/events/DamageListener.java b/src/main/java/de/fanta/events/DamageListener.java
new file mode 100644
index 0000000..c864a9d
--- /dev/null
+++ b/src/main/java/de/fanta/events/DamageListener.java
@@ -0,0 +1,197 @@
+package de.fanta.events;
+
+import com.destroystokyo.paper.event.player.PlayerJumpEvent;
+import de.fanta.challenges.Challenges;
+import de.fanta.challenges.ChatUtil;
+import java.text.DecimalFormat;
+import org.bukkit.Bukkit;
+import org.bukkit.GameMode;
+import org.bukkit.Location;
+import org.bukkit.Sound;
+import org.bukkit.entity.EntityType;
+import org.bukkit.entity.Player;
+import org.bukkit.entity.TNTPrimed;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.entity.EntityDamageByEntityEvent;
+import org.bukkit.event.entity.EntityDamageEvent;
+import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
+import org.bukkit.event.player.PlayerExpChangeEvent;
+import org.bukkit.event.player.PlayerToggleSneakEvent;
+import org.bukkit.event.player.PlayerToggleSprintEvent;
+
+public class DamageListener implements Listener {
+
+ private Challenges chl = Challenges.getplugin();
+
+ @EventHandler
+ public void onDamage(EntityDamageEvent e) {
+ if (e.getEntity() instanceof Player) {
+ Player p = (Player) e.getEntity();
+ String dmg = new DecimalFormat("#.##").format(e.getFinalDamage());
+ if (e.getFinalDamage() > 0) {
+ if (e.getCause() == DamageCause.FALL) {
+ if (chl.getConfig().getBoolean("deathonfall") == true) {
+ if (chl.getConfig().getBoolean("dmginchat") == true) {
+ Bukkit.broadcastMessage(Challenges.PREFIX + "§6 " + p.getName() + " §chat §4" + p.getHealth() + " §cHP Schaden genommen durch §4" + e.getCause());
+ }
+ Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() {
+ @Override
+ public void run() {
+ p.setHealth(0);
+ }
+ }, 1);
+ } else if (chl.getConfig().getBoolean("dmginchat") == true) {
+ Bukkit.broadcastMessage(Challenges.PREFIX + "§6 " + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getCause());
+ }
+ } else if (e.getCause() == DamageCause.CUSTOM) {
+ if (!p.isSneaking() && (chl.getConfig().getBoolean("dmginchat") == true)) {
+ Bukkit.broadcastMessage(Challenges.PREFIX + "§6 " + p.getName() + " §chat §4" + chl.getConfig().getDouble("sneakdmg") + " §cHP Schaden genommen durch §4SNEAKING");
+ }
+ } else if (e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) {
+
+ } else if (chl.getConfig().getBoolean("dmginchat") == true) {
+ Bukkit.broadcastMessage(Challenges.PREFIX + "§6 " + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getCause());
+ }
+ if (chl.getConfig().getBoolean("sharedmg") == true) {
+ for (Player pp : Bukkit.getOnlinePlayers()) {
+ if (pp != p) {
+ double health = pp.getHealth() - e.getFinalDamage();
+ if (health < 0) {
+ pp.setHealth(0);
+ } else {
+ pp.setHealth(health);
+ pp.getWorld().playSound(pp.getLocation(), Sound.ENTITY_PLAYER_HURT, 1, 1);
+ }
+
+ }
+ }
+ }
+ }
+ }
+ }
+
+ @EventHandler
+ public void onEntityDamage(EntityDamageByEntityEvent e) {
+ if ((e.getEntity() instanceof Player) && (e.getFinalDamage() > 0)) {
+ Player p = (Player) e.getEntity();
+ String dmg = new DecimalFormat("#.##").format(e.getFinalDamage());
+ if ((e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) && chl.getConfig().getBoolean("dmginchat") == true) {
+ Bukkit.broadcastMessage(Challenges.PREFIX + "§6 " + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getDamager().getName());
+ }
+ }
+ }
+
+ @SuppressWarnings("deprecation")
+ @EventHandler
+ public void PlayerSneak(PlayerToggleSneakEvent e) {
+ Player p = e.getPlayer();
+ if (p.getGameMode() == GameMode.SURVIVAL) {
+ if (!p.isSneaking()) {
+ if (chl.getConfig().getBoolean("damageonsneak") == true) {
+ if (chl.getConfig().getBoolean("tntdeath") == true) {
+ for (Player pp : Bukkit.getOnlinePlayers()) {
+ pp.sendTitle("§c" + p.getDisplayName().toString() + " §ahat gesneakt!", "§b:>");
+ EntityType tnt = EntityType.PRIMED_TNT;
+ Location loc = pp.getLocation();
+ TNTPrimed PRIME_TNT = (TNTPrimed) pp.getWorld().spawnEntity(loc, tnt);
+ PRIME_TNT.setCustomName("§c§lNUKE");
+ PRIME_TNT.setFuseTicks(15);
+ PRIME_TNT.setYield(120);
+ PRIME_TNT.setIsIncendiary(true);
+ }
+ } else {
+ p.damage(chl.getConfig().getDouble("sneakdmg"));
+ }
+ }
+ }
+ }
+ }
+
+ @SuppressWarnings("deprecation")
+ @EventHandler
+ public void PlayerSprint(PlayerToggleSprintEvent e) {
+ Player p = e.getPlayer();
+ if (p.getGameMode() == GameMode.SURVIVAL) {
+ if (!p.isSprinting()) {
+ if (chl.getConfig().getBoolean("deathonsprint") == true) {
+ if (chl.getConfig().getBoolean("tntdeath") == true) {
+ for (Player pp : Bukkit.getOnlinePlayers()) {
+ pp.sendTitle("§c" + p.getDisplayName().toString() + " §aist gesprintet!", "§bBOOOM :>");
+ EntityType tnt = EntityType.PRIMED_TNT;
+ Location loc = pp.getLocation();
+ TNTPrimed PRIME_TNT = (TNTPrimed) pp.getWorld().spawnEntity(loc, tnt);
+ PRIME_TNT.setCustomName("§c§lNUKE");
+ PRIME_TNT.setFuseTicks(15);
+ PRIME_TNT.setYield(120);
+ PRIME_TNT.setIsIncendiary(true);
+ }
+ } else {
+ p.setHealth(0);
+ }
+ }
+ }
+ }
+ }
+
+ @SuppressWarnings("deprecation")
+ @EventHandler
+ public void PlayerJump(PlayerJumpEvent e) {
+ Player p = e.getPlayer();
+ if (p.getGameMode() == GameMode.SURVIVAL) {
+ if (chl.getConfig().getBoolean("deathonjump") == true) {
+ if (chl.getConfig().getBoolean("tntdeath") == true) {
+ for (Player pp : Bukkit.getOnlinePlayers()) {
+ pp.sendTitle("§c" + p.getDisplayName().toString() + " §aist gesprungen!", "§bBOOOM :>");
+ EntityType tnt = EntityType.PRIMED_TNT;
+ Location loc = pp.getLocation();
+ TNTPrimed PRIME_TNT = (TNTPrimed) pp.getWorld().spawnEntity(loc, tnt);
+ PRIME_TNT.setCustomName("§c§lNUKE");
+ PRIME_TNT.setFuseTicks(15);
+ PRIME_TNT.setYield(120);
+ PRIME_TNT.setIsIncendiary(true);
+ }
+ } else {
+ p.setHealth(0);
+ }
+ }
+ }
+ }
+
+ @EventHandler
+ public void onDamageclear(EntityDamageEvent e) {
+ if (e.getEntity() instanceof Player) {
+ if (chl.getConfig().getBoolean("clinvdmg") == true) {
+ for (Player pp : Bukkit.getOnlinePlayers()) {
+ pp.getInventory().clear();
+ ChatUtil.sendNormalMessage(pp, e.getEntity().getName() + " hat Schaden bekommen! Alle Inventare wurden gelöscht!");
+
+ }
+ }
+ }
+ }
+
+ @SuppressWarnings("deprecation")
+ @EventHandler
+ public void PlayerGetXPJump(PlayerExpChangeEvent e) {
+ Player p = e.getPlayer();
+ if (p.getGameMode() == GameMode.SURVIVAL) {
+ if (chl.getConfig().getBoolean("xpdeath") == true) {
+ if (chl.getConfig().getBoolean("tntdeath") == true) {
+ for (Player pp : Bukkit.getOnlinePlayers()) {
+ pp.sendTitle("§c" + p.getDisplayName().toString() + " §ahat XP eingesammelt!", "§bPling :>");
+ EntityType tnt = EntityType.PRIMED_TNT;
+ Location loc = pp.getLocation();
+ TNTPrimed PRIME_TNT = (TNTPrimed) pp.getWorld().spawnEntity(loc, tnt);
+ PRIME_TNT.setCustomName("§c§lNUKE");
+ PRIME_TNT.setFuseTicks(15);
+ PRIME_TNT.setYield(120);
+ PRIME_TNT.setIsIncendiary(true);
+ }
+ } else {
+ p.setHealth(0);
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/de/fanta/events/DeathListener.java b/src/main/java/de/fanta/events/DeathListener.java
new file mode 100644
index 0000000..8970e31
--- /dev/null
+++ b/src/main/java/de/fanta/events/DeathListener.java
@@ -0,0 +1,73 @@
+package de.fanta.events;
+
+
+
+import de.fanta.challenges.Challenges;
+import org.bukkit.Bukkit;
+import org.bukkit.GameMode;
+import org.bukkit.entity.EnderDragon;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.entity.EntityDeathEvent;
+import org.bukkit.event.entity.PlayerDeathEvent;
+import org.bukkit.event.player.PlayerRespawnEvent;
+
+public class DeathListener implements Listener {
+
+ private Challenges chl = Challenges.getplugin();
+
+ @EventHandler
+ public void onPlayerDeath(PlayerDeathEvent e) {
+ if (chl.getConfig().getBoolean("onelife") == true) {
+ chl.getConfig().set("timer.enabled", false);
+ chl.saveConfig();
+ for (Player p : Bukkit.getOnlinePlayers()) {
+ p.setGameMode(GameMode.SPECTATOR);
+ }
+ chl.getServer().broadcastMessage("");
+ chl.getServer().broadcastMessage("");
+ e.setDeathMessage("§6" + e.getEntity().getName() + " §cist gestorben!");
+ chl.getServer().broadcastMessage("§cDie Challenge wurde nach §6" + chl.getConfig().getInt("timer.hrs") + ":" + chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek") + " §cabgebrochen!");
+ chl.getServer().broadcastMessage("§aSeed: §b" + Bukkit.getWorlds().get(0).getSeed());
+ chl.getServer().broadcastMessage("§6Um alle wiederzubeleben benutze §c/revive ALL");
+ } else {
+ e.setDeathMessage("§6" + e.getEntity().getName() + " §cist gestorben! §6(" + e.getEntity().getWorld().getName() + " " + e.getEntity().getLocation().getBlockX() + " " + e.getEntity().getLocation().getBlockY() + " " + e.getEntity().getLocation().getBlockZ() + "§c)");
+ if (chl.getConfig().getBoolean("respawn") == false) {
+ Bukkit.getServer().broadcastMessage("§6Benutze §c/revive " + e.getEntity().getName() + " [world] [x] [y] [z] §6um ihn wiederzubeleben!");
+ }
+ }
+ }
+
+ @EventHandler
+ public void onPlayerRespawn(PlayerRespawnEvent e) {
+ if (chl.getConfig().getBoolean("respawn") == false) {
+ e.getPlayer().sendTitle("§cDu bist gestorben!", "§4Du bist nun Zuschauer", 10, 80, 10);
+ Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() {
+ @Override
+ public void run() {
+ e.getPlayer().setGameMode(GameMode.SPECTATOR);
+ }
+ }, 1);
+ }
+ }
+
+ @EventHandler
+ public void DragonDeath(EntityDeathEvent e) {
+ if (e.getEntity() instanceof EnderDragon) {
+ chl.getConfig().set("timer.enabled", false);
+ chl.getServer().broadcastMessage("");
+ chl.getServer().broadcastMessage("");
+ chl.getServer().broadcastMessage("");
+ chl.getServer().broadcastMessage("");
+ chl.getServer().broadcastMessage("§8>> §aDie Challenge wurde §2§lerfolgreich §aabgeschlossen.");
+ chl.getServer().broadcastMessage("§8>> §7Der §2§lEnderdrache §7ist gestorben.");
+ chl.getServer().broadcastMessage("§8>> §7Benötigte Zeit: §2§l" + chl.getConfig().getInt("timer.hrs") + ":"+ chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek") + "§7!");
+ chl.getServer().broadcastMessage("§8>> §7Seed: §2§l" + Bukkit.getWorlds().get(0).getSeed());
+ chl.getServer().broadcastMessage("");
+ chl.getServer().broadcastMessage("");
+ chl.getServer().broadcastMessage("");
+ chl.getServer().broadcastMessage("");
+ }
+ }
+}
diff --git a/src/main/java/de/fanta/events/InteractListener.java b/src/main/java/de/fanta/events/InteractListener.java
new file mode 100644
index 0000000..98c3bda
--- /dev/null
+++ b/src/main/java/de/fanta/events/InteractListener.java
@@ -0,0 +1,44 @@
+package de.fanta.events;
+
+
+
+import de.fanta.challenges.Challenges;
+import org.bukkit.Material;
+import org.bukkit.entity.EntityType;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.block.Action;
+import org.bukkit.event.player.PlayerInteractEntityEvent;
+import org.bukkit.event.player.PlayerInteractEvent;
+
+public class InteractListener implements Listener {
+
+ private Challenges chl = Challenges.getplugin();
+
+ @EventHandler
+ public void onBlockClick(PlayerInteractEvent e) {
+ if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
+ if (e.getClickedBlock().getType() == Material.CRAFTING_TABLE) {
+ if (chl.getConfig().getBoolean("craftingtable") == false) {
+ e.setCancelled(true);
+ }
+ }
+ if (this.chl.getConfig().getBoolean("timer.enabled") == false) {
+ e.setCancelled(true);
+ }
+ }
+ }
+
+ @EventHandler
+ public void onEntityClick(PlayerInteractEntityEvent e) {
+ if (e.getRightClicked().getType() == EntityType.VILLAGER) {
+ if (chl.getConfig().getBoolean("allowtrading") == false) {
+ e.setCancelled(true);
+ }
+ }
+ if (this.chl.getConfig().getBoolean("timer.enabled") == false) {
+ e.setCancelled(true);
+ }
+ }
+}
+
diff --git a/src/main/java/de/fanta/events/InventoryClickListener.java b/src/main/java/de/fanta/events/InventoryClickListener.java
new file mode 100644
index 0000000..f566be8
--- /dev/null
+++ b/src/main/java/de/fanta/events/InventoryClickListener.java
@@ -0,0 +1,123 @@
+package de.fanta.events;
+
+
+import de.fanta.challenges.Challenges;
+import org.bukkit.Bukkit;
+import org.bukkit.World;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.inventory.InventoryClickEvent;
+
+public class InventoryClickListener implements Listener {
+
+ private Challenges chl = Challenges.getplugin();
+
+ Challenges chall;
+ de.fanta.commands.CoordsCommand coco;
+
+ @SuppressWarnings({ "deprecation", "static-access" })
+ @EventHandler
+ public void InvClick(InventoryClickEvent e) {
+ World wld = Bukkit.getWorlds().get(0);
+ World nth = Bukkit.getWorlds().get(1);
+ World end = Bukkit.getWorlds().get(2);
+ String invname = e.getView().getTitle();
+ Player p = (Player) e.getWhoClicked();
+ int slot = e.getRawSlot();
+ if (invname.equals(chall.GUIName)) {
+ e.setCancelled(true);
+ if (p.hasPermission("challenges.settings.modify")) {
+ switch (slot) {
+ case 9:
+ chl.getConfig().set("craftingtable", !(chl.getConfig().getBoolean("craftingtable")));
+ break;
+ case 10:
+ chl.getConfig().set("allowtrading", !(chl.getConfig().getBoolean("allowtrading")));
+ break;
+ case 11:
+ chl.getConfig().set("deathonfall", !(chl.getConfig().getBoolean("deathonfall")));
+ break;
+ case 12:
+ chl.getConfig().set("damageonsneak", !(chl.getConfig().getBoolean("damageonsneak")));
+ break;
+ case 13:
+ chl.getConfig().set("rnddrops", !(chl.getConfig().getBoolean("rnddrops")));
+ break;
+ case 14:
+ chl.getConfig().set("sharedmg", !(chl.getConfig().getBoolean("sharedmg")));
+ break;
+ case 15:
+ chl.getConfig().set("respawn", !(chl.getConfig().getBoolean("respawn")));
+ break;
+ case 16:
+ chl.getConfig().set("onelife", !(chl.getConfig().getBoolean("onelife")));
+ break;
+ case 17:
+ chl.getConfig().set("dmginchat", !(chl.getConfig().getBoolean("dmginchat")));
+ break;
+ case 27:
+ chl.getConfig().set("deathonsprint", !(chl.getConfig().getBoolean("deathonsprint")));
+ break;
+ case 28:
+ chl.getConfig().set("deathonjump", !(chl.getConfig().getBoolean("deathonjump")));
+ break;
+ case 29:
+ chl.getConfig().set("clinvdmg", !(chl.getConfig().getBoolean("clinvdmg")));
+ break;
+ case 35:
+ chl.getConfig().set("tntdeath", !(chl.getConfig().getBoolean("tntdeath")));
+ break;
+ case 37:
+ if (wld.getGameRuleValue("keepInventory").equals("true")) {
+ wld.setGameRuleValue("keepInventory", "false");
+ nth.setGameRuleValue("keepInventory", "false");
+ end.setGameRuleValue("keepInventory", "false");
+ } else if (wld.getGameRuleValue("keepInventory").equals("false")) {
+ wld.setGameRuleValue("keepInventory", "true");
+ nth.setGameRuleValue("keepInventory", "true");
+ end.setGameRuleValue("keepInventory", "true");
+ }
+ break;
+ case 43:
+ if (wld.getGameRuleValue("naturalRegeneration").equals("true")) {
+ wld.setGameRuleValue("naturalRegeneration", "false");
+ nth.setGameRuleValue("naturalRegeneration", "false");
+ end.setGameRuleValue("naturalRegeneration", "false");
+ } else if (wld.getGameRuleValue("naturalRegeneration").equals("false")) {
+ wld.setGameRuleValue("naturalRegeneration", "true");
+ nth.setGameRuleValue("naturalRegeneration", "true");
+ end.setGameRuleValue("naturalRegeneration", "true");
+ }
+ break;
+ default:
+ break;
+ }
+ chl.saveConfig();
+ p.performCommand("settings");
+ }
+ }
+ if (invname.equals(coco.CGUIN)) {
+ e.setCancelled(true);
+ if (slot >= 0 && slot <= 44) {
+ if (coco.CoordsGUI.getItem(slot) != null && p.hasPermission("challenges.coords.delete")) {
+ p.performCommand("coords delete " + e.getCurrentItem().getItemMeta().getDisplayName());
+ }
+ }
+ }
+ if (invname.equals(coco.CDGUIN)) {
+ e.setCancelled(true);
+ if (slot == 0) {
+ String cname = coco.CoordsDeleteGUI.getItem(4).getItemMeta().getDisplayName();
+ chl.getConfig().set("Saved_Locations." + cname, null);
+ chl.saveConfig();
+ p.sendMessage("§cPosition §6" + cname + " §cwurde gelöscht!");
+ p.closeInventory();
+ }
+ if (slot == 8) {
+ p.performCommand("coords");
+ }
+ }
+ }
+}
+
diff --git a/src/main/java/de/fanta/events/QuitJoinListener.java b/src/main/java/de/fanta/events/QuitJoinListener.java
new file mode 100644
index 0000000..03eb87d
--- /dev/null
+++ b/src/main/java/de/fanta/events/QuitJoinListener.java
@@ -0,0 +1,40 @@
+package de.fanta.events;
+
+import de.fanta.challenges.Challenges;
+import java.util.Random;
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.player.PlayerJoinEvent;
+import org.bukkit.event.player.PlayerQuitEvent;
+
+public class QuitJoinListener implements Listener {
+
+ private Challenges chl = Challenges.getplugin();
+
+ @EventHandler
+ public void PlayerJoinEvent(PlayerJoinEvent e) {
+ Player p = e.getPlayer();
+ e.setJoinMessage("§6" + p.getName() + " §chat den Server betreten!");
+ if (chl.getConfig().getBoolean("sharedmg") == true) {
+ int rnd = new Random().nextInt(Bukkit.getOnlinePlayers().size());
+ Player rp = (Player) Bukkit.getServer().getOnlinePlayers().toArray()[rnd];
+ p.setHealth(rp.getHealth());
+ }
+ if (this.chl.getConfig().getBoolean("tabhp") == true) {
+ this.chl.getSBManager().createScoreboard(p);
+ }
+ }
+
+ @EventHandler
+ public void PlayerQuitEvent(PlayerQuitEvent e) {
+ Player p = e.getPlayer();
+ e.setQuitMessage("§6" + p.getName() + " §chat den Server verlassen!");
+
+ if (Bukkit.getOnlinePlayers().size() == 1) {
+ chl.getConfig().set("timer.enabled", false);
+ chl.saveConfig();
+ }
+ }
+}
diff --git a/src/main/java/de/fanta/gui/InventoryHandler.java b/src/main/java/de/fanta/gui/InventoryHandler.java
new file mode 100644
index 0000000..baa0d2b
--- /dev/null
+++ b/src/main/java/de/fanta/gui/InventoryHandler.java
@@ -0,0 +1,26 @@
+package de.fanta.gui;
+
+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;
+
+public class InventoryHandler {
+
+ private Challenges challenges;
+ private WolfyUtilities wolfyUtilities;
+ private InventoryAPI inventoryAPI;
+
+ public InventoryHandler(Challenges challenges){
+ this.challenges = challenges;
+ this.wolfyUtilities = WolfyUtilities.getAPI(challenges);
+ this.inventoryAPI = wolfyUtilities.getInventoryAPI();
+ }
+
+ public void init(){
+ GuiCluster mainCluster = inventoryAPI.getOrRegisterGuiCluster("none");
+ mainCluster.registerGuiWindow(new SettingsGui(inventoryAPI));
+ mainCluster.setMainmenu("settings");
+
+ }
+}
diff --git a/src/main/java/de/fanta/gui/SettingButton.java b/src/main/java/de/fanta/gui/SettingButton.java
new file mode 100644
index 0000000..5b7b388
--- /dev/null
+++ b/src/main/java/de/fanta/gui/SettingButton.java
@@ -0,0 +1,38 @@
+package de.fanta.gui;
+
+import me.wolfyscript.utilities.api.inventory.GuiHandler;
+import me.wolfyscript.utilities.api.inventory.button.ButtonActionRender;
+import me.wolfyscript.utilities.api.inventory.button.ButtonState;
+import me.wolfyscript.utilities.api.inventory.button.buttons.ActionButton;
+import me.wolfyscript.utilities.api.utils.item_builder.ItemBuilder;
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.enchantments.Enchantment;
+import org.bukkit.entity.Player;
+import org.bukkit.event.inventory.InventoryClickEvent;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.ItemFlag;
+import org.bukkit.inventory.ItemStack;
+import de.fanta.challenges.Challenges;
+import java.util.Arrays;
+import java.util.HashMap;
+
+public class SettingButton extends ActionButton {
+
+ public SettingButton(String id, Material material, String displayName, String... lore) {
+ super(id, new ButtonState(material, displayName, new String[0], lore, new ButtonActionRender() {
+ @Override
+ public boolean run(GuiHandler guiHandler, Player player, Inventory inventory, int i, InventoryClickEvent inventoryClickEvent) {
+ Challenges challenges = Challenges.getplugin();
+ challenges.getConfig().set(id, !(challenges.getConfig().getBoolean(id)));
+ return true;
+ }
+
+ @Override
+ public ItemStack render(HashMap hashMap, GuiHandler guiHandler, Player player, ItemStack itemStack, int i, boolean b) {
+ ItemBuilder itemBuilder = new ItemBuilder(material).setDisplayName(ChatColor.GOLD + displayName).setLore(Arrays.asList(lore));
+ return Challenges.getplugin().getConfig().getBoolean(id) ? itemBuilder.addUnsafeEnchantment(Enchantment.DURABILITY, 1).addItemFlags(ItemFlag.HIDE_ENCHANTS).create() : itemBuilder.create();
+ }
+ }));
+ }
+}
diff --git a/src/main/java/de/fanta/gui/SettingsGui.java b/src/main/java/de/fanta/gui/SettingsGui.java
new file mode 100644
index 0000000..8f28190
--- /dev/null
+++ b/src/main/java/de/fanta/gui/SettingsGui.java
@@ -0,0 +1,72 @@
+package de.fanta.gui;
+
+import de.fanta.challenges.Challenges;
+import java.util.ArrayList;
+import java.util.List;
+import me.wolfyscript.utilities.api.inventory.GuiUpdateEvent;
+import me.wolfyscript.utilities.api.inventory.GuiWindow;
+import me.wolfyscript.utilities.api.inventory.InventoryAPI;
+import org.bukkit.ChatColor;
+import org.bukkit.Material;
+import org.bukkit.event.EventHandler;
+
+public class SettingsGui extends GuiWindow {
+
+ private Challenges challenges = Challenges.getplugin();
+
+ public SettingsGui(InventoryAPI inventoryAPI) {
+ super("settings", inventoryAPI, 54);
+ }
+
+ @Override
+ public void onInit() {
+ registerButton(new SettingButton("craftingtable", Material.CRAFTING_TABLE, "Erlaube Crafting"));
+ registerButton(new SettingButton("allowtrading", Material.EMERALD, "Erlaube Handeln"));
+ registerButton(new SettingButton("deathonfall", Material.BONE, "Tod bei Fallschaden", ChatColor.RED + "Spieler stirbt bei Fallschaden"));
+ registerButton(new SettingButton("damageonsneak", Material.MAGMA_BLOCK, "Schaden bei Schleichen",ChatColor.RED + "Spieler erhält " + challenges.getConfig().getInt("sneakdmg") + " Schaden bei Schleichen"));
+ registerButton(new SettingButton("rnddrops", Material.DIAMOND_PICKAXE, "Drops", ChatColor.RED + "Random Drops"));
+ registerButton(new SettingButton("sharedmg", Material.GLISTERING_MELON_SLICE, "Geteilter Schaden",ChatColor.RED + "Alle Spieler erhalten den gleichen Schaden"));
+ registerButton(new SettingButton("respawn", Material.TOTEM_OF_UNDYING, "Respawn"));
+ registerButton(new SettingButton("onelife", Material.POPPY, "Ein Leben für alle", ChatColor.RED + "Stirbt ein Spieler ist die", ChatColor.RED + "Challenge fehlgeschlagen"));
+ registerButton(new SettingButton("dmginchat", Material.BOOK, "Schaden in Chat", ChatColor.RED + "Zeigt Spielerschaden im Chat an"));
+ registerButton(new SettingButton("deathonsprint", Material.DIAMOND_BOOTS, "Tod bei Sprinten", ChatColor.RED + "Spieler Stirbt beim Sprinten"));
+ registerButton(new SettingButton("deathonjump", Material.LEATHER_BOOTS, "Tod bei Springen", ChatColor.RED + "Spieler Stirbt beim Springen"));
+ registerButton(new SettingButton("clinvdmg", Material.BARRIER, "Inv Löschen bei DMG",ChatColor.RED + "Löscht das Inventar von allen wenn ein Spieler schaden bekommt!"));
+ registerButton(new SettingButton("tntdeath", Material.TNT, "Sterben durch TnT",ChatColor.RED + "Tötet dich mit tnt bei der nicht Springen Schleichen und Jumpen Challenge"));
+ registerButton(new SettingButton("xpdeath", Material.ENCHANTING_TABLE, "Sterben durch XP", ChatColor.RED + "Tötet dich wenn du XP einsammelst"));
+ registerButton(new SettingButton("mlg.enabled", Material.WATER_BUCKET, "MLG", "an aus"));
+ registerButton(new SettingButton("mlg.killall", Material.WATER_BUCKET, "MLG killall", "an aus"));
+
+ // TODO Gamerules xpdeath
+ }
+
+ @EventHandler
+ public void onUpdate(GuiUpdateEvent event) {
+ event.setButton(0, "craftingtable");
+ event.setButton(1, "allowtrading");
+ event.setButton(18, "deathonfall");
+ event.setButton(19, "damageonsneak");
+ event.setButton(8, "rnddrops");
+ event.setButton(36, "sharedmg");
+ event.setButton(38, "respawn");
+ event.setButton(37, "onelife");
+ event.setButton(39, "dmginchat");
+ event.setButton(20, "deathonsprint");
+ event.setButton(21, "deathonjump");
+ event.setButton(40, "clinvdmg");
+ event.setButton(26, "tntdeath");
+ event.setButton(27, "xpdeath");
+ event.setButton(45, "mlg.enabled");
+ event.setButton(46, "mlg.killall");
+ }
+
+ @Override
+ protected String getInventoryName() {
+ return ChatColor.DARK_GREEN + "" + ChatColor.BOLD + "Settings";
+ }
+
+ @Override
+ public List getHelpInformation() {
+ return new ArrayList<>();
+ }
+}
diff --git a/src/main/java/net/brennholz/challenges/Backpack.java b/src/main/java/net/brennholz/challenges/Backpack.java
deleted file mode 100644
index 2b2287a..0000000
--- a/src/main/java/net/brennholz/challenges/Backpack.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package net.brennholz.challenges;
-
-import java.util.Iterator;
-import java.util.Map;
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-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");
-
- 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) {
- this.chl.getServer().broadcastMessage("Fehler! Slot: " + (String) entry.getKey());
- continue;
- }
- if (slot >= Backpack.getSize()) {
- this.chl.getServer().broadcastMessage("" + slot + " befindet sich audes Inventars!");
- continue;
- }
- MemorySection memorySection = (MemorySection) entry.getValue();
- ItemStack deserialized = ItemStack.deserialize(memorySection.getValues(false));
- Backpack.setItem(slot, deserialized);
- }
- }
-}
diff --git a/src/main/java/net/brennholz/challenges/Challenges.java b/src/main/java/net/brennholz/challenges/Challenges.java
deleted file mode 100644
index 58bc09c..0000000
--- a/src/main/java/net/brennholz/challenges/Challenges.java
+++ /dev/null
@@ -1,298 +0,0 @@
-package net.brennholz.challenges;
-
-import me.wolfyscript.utilities.api.WolfyUtilities;
-import net.brennholz.commands.Challenges_Command;
-import net.brennholz.commands.Coords_Command;
-import net.brennholz.commands.HP_Command;
-import net.brennholz.commands.Reset_Command;
-import net.brennholz.commands.Revive_Command;
-import net.brennholz.commands.Settings_Command;
-import net.brennholz.commands.Timer_Command;
-import net.brennholz.events.BlockCreateListener;
-import net.brennholz.events.BlockDestroyListener;
-import net.brennholz.events.DamageListener;
-import net.brennholz.events.DeathListener;
-import net.brennholz.events.InteractListener;
-import net.brennholz.events.InventoryClickListener;
-import net.brennholz.events.QuitJoinListener;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-
-import net.brennholz.gui.InventoryHandler;
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.World;
-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.Plugin;
-import org.bukkit.plugin.java.JavaPlugin;
-
-import com.google.common.io.MoreFiles;
-import com.google.common.io.RecursiveDeleteOption;
-
-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 + "]";
-
-
- 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 Coords_Command());
- getCommand("revive").setExecutor(new Revive_Command());
- getCommand("timer").setExecutor(new Timer_Command());
- getCommand("challenges").setExecutor(new Challenges_Command());
- getCommand("backpack").setExecutor(new Backpack());
- getCommand("reset").setExecutor(new Reset_Command());
-
- Bukkit.getPluginManager().registerEvents(new InventoryClickListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new QuitJoinListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new BlockDestroyListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new BlockCreateListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new InteractListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new DamageListener(), (Plugin)this);
- Bukkit.getPluginManager().registerEvents(new DeathListener(), (Plugin)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);
- 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 });
- getLogger().info("World reset successful!");
- } catch (IOException e) {
- getLogger().info("World reset failed!");
- e.printStackTrace();
- }
- getConfig().set("World_Reset", Boolean.valueOf(false));
- saveConfig();
- this.backpack.clearConfig();
- this.rndDrops.shuffleItems();
- this.rndDrops.saveItems();
- this.rndDrops.loadItems();
- } else {
- this.rndDrops.loadItems();
- }
- this.backpack.loadInventoryFromConfig();
- this.Timer.Run_Timer();
- getLogger().info("Plugin loaded!");
- this.sbManager = new SBManager();
- }
-
-
-
- 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 = (FileConfiguration)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 = (FileConfiguration)new YamlConfiguration();
- try {
- this.RndDropsConfig.load(this.RndDropsConfigFile);
- } catch (IOException|org.bukkit.configuration.InvalidConfigurationException e) {
- e.printStackTrace();
- }
- }
-
-
-
- public void createGUI(Player p) {
- SettingsGUI.setItem(0, addGUIItem(Material.CRAFTING_TABLE, "§6Erlaube Crafting"));
-
- SettingsGUI.setItem(1, addGUIItem(Material.EMERALD, "§6Erlaube Handeln"));
- SettingsGUI.setItem(2, addGUIItem(Material.BONE, "§6Tod bei Fallschaden", "§cSpieler stirbt bei Fallschaden"));
- SettingsGUI.setItem(3, addGUIItem(Material.MAGMA_BLOCK, "§6Schaden bei Schleichen","§cSpieler erhält §6" + getConfig().getInt("sneakdmg") + " §cSchaden bei Schleichen"));
- SettingsGUI.setItem(4, addGUIItem(Material.DIAMOND_PICKAXE, "§6Drops", "§cRandom Drops"));
- SettingsGUI.setItem(5, addGUIItem(Material.GLISTERING_MELON_SLICE, "§6Geteilter Schaden","§cAlle Spieler erhalten den gleichen Schaden"));
- SettingsGUI.setItem(6, addGUIItem(Material.TOTEM_OF_UNDYING, "§6Respawn"));
- SettingsGUI.setItem(7, addGUIItem(Material.POPPY, "§6Ein Leben für alle", "§cStirbt ein Spieler ist die","§cChallenge fehlgeschlagen"));
- SettingsGUI.setItem(8, addGUIItem(Material.BOOK, "§6Schaden in Chat", "§cZeigt Spielerschaden im Chat an"));
- SettingsGUI.setItem(18, addGUIItem(Material.DIAMOND_BOOTS, "§6Tod bei Sprinten", "§cSpieler Stirbt beim Sprinten"));
- SettingsGUI.setItem(19, addGUIItem(Material.LEATHER_BOOTS, "§6Tod bei Springen", "§cSpieler Stirbt beim Springen"));
- SettingsGUI.setItem(20, addGUIItem(Material.BARRIER, "§6Inv Löschen bei DMG","§cLöscht das Inventar von allen wenn ein Spieler schaden bekommt!"));
- SettingsGUI.setItem(26, addGUIItem(Material.TNT, "§6Sterben durch TnT","§cTötet dich mit tnt bei der nicht Springen Schleichen und Jumpen Challenge"));
-
- SettingsGUI.setItem(36, addGUIItem(Material.CHEST, "§6KeepInventory", "§cStirbst du, beh§lst du dein Inventar"));
- SettingsGUI.setItem(44, addGUIItem(Material.GOLDEN_APPLE, "§6Natürliche Regeneration", "§cSchalte natürliche Regeneration um"));
-
- SettingsGUI.setItem(9, addGUIItem(getDye("craftingtable"), getBool("craftingtable")));
- SettingsGUI.setItem(10, addGUIItem(getDye("allowtrading"), getBool("allowtrading")));
- SettingsGUI.setItem(11, addGUIItem(getDye("deathonfall"), getBool("deathonfall")));
- SettingsGUI.setItem(12, addGUIItem(getDye("damageonsneak"), getBool("damageonsneak")));
- SettingsGUI.setItem(13, addGUIItem(getDye("rnddrops"), getBool("rnddrops")));
- SettingsGUI.setItem(14, addGUIItem(getDye("sharedmg"), getBool("sharedmg")));
- SettingsGUI.setItem(15, addGUIItem(getDye("respawn"), getBool("respawn")));
- SettingsGUI.setItem(16, addGUIItem(getDye("onelife"), getBool("onelife")));
- SettingsGUI.setItem(17, addGUIItem(getDye("dmginchat"), getBool("dmginchat")));
- SettingsGUI.setItem(27, addGUIItem(getDye("deathonsprint"), getBool("deathonsprint")));
- SettingsGUI.setItem(28, addGUIItem(getDye("deathonjump"), getBool("deathonjump")));
- SettingsGUI.setItem(29, addGUIItem(getDye("clinvdmg"), getBool("clinvdmg")));
-
- SettingsGUI.setItem(35, addGUIItem(getDye("tntdeath"), getBool("tntdeath")));
-
- SettingsGUI.setItem(37, addGUIItem(getgrDye("keepInventory"), getgrBool("keepInventory")));
- SettingsGUI.setItem(43, addGUIItem(getgrDye("naturalRegeneration"), getgrBool("naturalRegeneration")));
-
-
-
- for (int i = 0; i < 45; i++) {
- if (SettingsGUI.getItem(i) == null)
- SettingsGUI.setItem(i, addGUIItem(Material.GRAY_STAINED_GLASS_PANE, ""));
- }
- p.openInventory(SettingsGUI);
- }
-
- private Material getDye(String cnfpath) {
- ItemStack mat = new ItemStack(Material.GRAY_DYE);
- if (getConfig().getBoolean(cnfpath) == true) {
- mat.setType(Material.LIME_DYE);
- } else {
- mat.setType(Material.RED_DYE);
- }
- return mat.getType();
- }
-
- private String getBool(String cnfpath) {
- if (getConfig().getBoolean(cnfpath) == true)
- return "§aTrue";
- return "§cFalse";
- }
-
-
-
- @SuppressWarnings("deprecation")
- private Material getgrDye(String gr) {
- ItemStack mat = new ItemStack(Material.GRAY_DYE);
- World wld = Bukkit.getWorlds().get(0);
- if (wld.getGameRuleValue(gr).equals("true")) {
- mat.setType(Material.LIME_DYE);
- } else if (wld.getGameRuleValue(gr).equals("false")) {
- mat.setType(Material.RED_DYE);
- }
- return mat.getType();
- }
-
-
-
- @SuppressWarnings("deprecation")
-private String getgrBool(String gr) {
- World wld = Bukkit.getWorlds().get(0);
- if (wld.getGameRuleValue(gr).equals("true"))
- return "§aTrue";
- if (wld.getGameRuleValue(gr).equals("false"))
- return "§cFalse";
- return "§7Unknown";
- }
-
-
-
- private ItemStack addGUIItem(Material mat, String name, String... lore) {
- ItemStack item = new ItemStack(mat, 1);
- ItemMeta meta = item.getItemMeta();
- 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 SBManager getSBManager() {
- return this.sbManager;
- }
-}
diff --git a/src/main/java/net/brennholz/challenges/ChatUtil.java b/src/main/java/net/brennholz/challenges/ChatUtil.java
deleted file mode 100644
index 2e60a5b..0000000
--- a/src/main/java/net/brennholz/challenges/ChatUtil.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package net.brennholz.challenges;
-
-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) {
- de.iani.cubesideutils.ChatUtil.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/net/brennholz/challenges/RandomDrops.java b/src/main/java/net/brennholz/challenges/RandomDrops.java
deleted file mode 100644
index e45f406..0000000
--- a/src/main/java/net/brennholz/challenges/RandomDrops.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package net.brennholz.challenges;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Random;
-import java.util.stream.Collectors;
-import org.bukkit.Material;
-import org.bukkit.block.Block;
-import org.bukkit.configuration.file.FileConfiguration;
-
-public class RandomDrops {
- private final ArrayList BLOCKS;
-
- private final ArrayList ITEM_DROPS;
-
- private HashMap drops = new HashMap<>();
-
- public RandomDrops() {
- this.BLOCKS = (ArrayList)Arrays.stream(Material.values()).filter(mat -> mat.isBlock()).collect(Collectors.toList());
- this.ITEM_DROPS = (ArrayList)Arrays.stream(Material.values()).filter(mat -> (mat.isItem() || mat == Material.BEDROCK)).collect(Collectors.toList());
- }
-
- public void shuffleItems() {
- Collections.shuffle(this.ITEM_DROPS);
- ArrayList itemDropsCopy = new ArrayList<>();
- this.ITEM_DROPS.forEach(m -> itemDropsCopy.add(m));
- this.BLOCKS.forEach(mat -> {
- int r = (new Random()).nextInt(itemDropsCopy.size() - 1);
- this.drops.put(mat, itemDropsCopy.get(r));
- itemDropsCopy.remove(r);
- });
- saveItems();
- }
-
- public void saveItems() {
- FileConfiguration config = Challenges.getplugin().getRndDropsConfig();
- config.set("drops", this.drops.entrySet().stream().map(entry -> (new StringBuilder()).append(entry.getKey()).append(":").append(entry.getValue()).toString()).collect(Collectors.toList()));
- }
-
- public void loadItems() {
- this.drops.clear();
- FileConfiguration config = Challenges.getplugin().getRndDropsConfig();
- if (config.isList("drops")) {
- config.getStringList("drops").forEach(str -> {
- String[] materialSplitted = str.split(":");
- this.drops.put(Material.getMaterial(materialSplitted[0]), Material.getMaterial(materialSplitted[1]));
- });
- } else {
- shuffleItems();
- }
- }
-
- public Material getMaterialFromBlock(Block block) {
- return this.drops.get(block.getType());
- }
-}
-
diff --git a/src/main/java/net/brennholz/challenges/SBManager.java b/src/main/java/net/brennholz/challenges/SBManager.java
deleted file mode 100644
index 923f327..0000000
--- a/src/main/java/net/brennholz/challenges/SBManager.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package net.brennholz.challenges;
-
-import org.bukkit.Bukkit;
-import org.bukkit.entity.Player;
-import org.bukkit.scoreboard.DisplaySlot;
-import org.bukkit.scoreboard.Objective;
-import org.bukkit.scoreboard.RenderType;
-import org.bukkit.scoreboard.Scoreboard;
-import org.bukkit.scoreboard.ScoreboardManager;
-
-public class SBManager {
- public void createScoreboard(Player p) {
- ScoreboardManager manager = Bukkit.getScoreboardManager();
- Scoreboard sb = manager.getNewScoreboard();
- @SuppressWarnings("deprecation")
- Objective TabHP = sb.registerNewObjective("§6Challenges", "health");
- TabHP.setDisplaySlot(DisplaySlot.PLAYER_LIST);
- TabHP.setDisplayName("§cHP");
- TabHP.setRenderType(RenderType.HEARTS);
- p.setScoreboard(sb);
- }
-}
diff --git a/src/main/java/net/brennholz/commands/Challenges_Command.java b/src/main/java/net/brennholz/commands/Challenges_Command.java
deleted file mode 100644
index 507646f..0000000
--- a/src/main/java/net/brennholz/commands/Challenges_Command.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package net.brennholz.commands;
-
-
-
-import net.brennholz.challenges.ChatUtil;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-
-public class Challenges_Command implements CommandExecutor {
-
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) {
- if (sender.hasPermission("challenges.challenges")) {
- ChatUtil.sendNormalMessage(sender, "Challenges Ver 1.9 by Brennholz3000");
- ChatUtil.sendNormalMessage(sender, "Verfügbare Befehle:" );
- ChatUtil.sendNormalMessage(sender, "/HP - Verwalte die HP einzelner Spieler");
- ChatUtil.sendNormalMessage(sender, "/Coords - Teile oder speichere Coordinaten");
- ChatUtil.sendNormalMessage(sender, "/Settings - Verwalte die Challenges Einstellungen");
- ChatUtil.sendNormalMessage(sender, "/Timer - Verwalte den Timer");
- ChatUtil.sendNormalMessage(sender, "/Revive - Wiederbelebe Spieler");
- ChatUtil.sendNormalMessage(sender, "/Backpack | /bp §4- §6öffne das Backpack");
- ChatUtil.sendNormalMessage(sender, "/Reset - Generiert eine neue Welt, setzt den Timer zurück und löscht gespeicherte Positionen");
- } else
- ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!");
- return true;
- }
-}
diff --git a/src/main/java/net/brennholz/commands/Coords_Command.java b/src/main/java/net/brennholz/commands/Coords_Command.java
deleted file mode 100644
index 604ef67..0000000
--- a/src/main/java/net/brennholz/commands/Coords_Command.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package net.brennholz.commands;
-
-
-
-import java.util.ArrayList;
-
-import net.brennholz.challenges.ChatUtil;
-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;
-
-import net.brennholz.challenges.Challenges;
-
-public class Coords_Command 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 String CGUIN = "§6Koordinaten";
- public static String CDGUIN = "§6Entferne Koordinate";
-
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String lable, 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("§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("§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/net/brennholz/commands/HP_Command.java b/src/main/java/net/brennholz/commands/HP_Command.java
deleted file mode 100644
index d0ce104..0000000
--- a/src/main/java/net/brennholz/commands/HP_Command.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package net.brennholz.commands;
-
-
-
-import net.brennholz.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 §centfernt!");
- ChatUtil.sendNormalMessage(sender, "Du hast " + p.getName() + " " + args[2] + "HP §centfernt!");
- } 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() + " §eauf " + 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 - §6Entferne 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 - §6Entferne 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/net/brennholz/commands/Reset_Command.java b/src/main/java/net/brennholz/commands/Reset_Command.java
deleted file mode 100644
index 85a008c..0000000
--- a/src/main/java/net/brennholz/commands/Reset_Command.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package net.brennholz.commands;
-
-
-
-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;
-
-import net.brennholz.challenges.Backpack;
-import net.brennholz.challenges.Challenges;
-
-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("§aWelt wird zurückgesetzt!", "§cBitte warte einen Moment§a.§b.§e.", 10, 400, 10);
- p.kickPlayer("§cWelt wird zurückgesetzt!\n§cBitte warte einen Moment...");
- }
- ConsoleCommandSender console = Bukkit.getServer().getConsoleSender();
- Bukkit.dispatchCommand(console, "restart");
- }
- }, 60);
- return true;
- }
-}
diff --git a/src/main/java/net/brennholz/commands/Revive_Command.java b/src/main/java/net/brennholz/commands/Revive_Command.java
deleted file mode 100644
index 19ec4f6..0000000
--- a/src/main/java/net/brennholz/commands/Revive_Command.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package net.brennholz.commands;
-
-
-
-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;
-
-import net.brennholz.challenges.Challenges;
-
-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);
- }
- chl.getServer().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/net/brennholz/commands/Settings_Command.java b/src/main/java/net/brennholz/commands/Settings_Command.java
deleted file mode 100644
index 6dc8de1..0000000
--- a/src/main/java/net/brennholz/commands/Settings_Command.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package net.brennholz.commands;
-
-import me.wolfyscript.utilities.api.WolfyUtilities;
-import me.wolfyscript.utilities.api.inventory.InventoryAPI;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-import net.brennholz.challenges.Challenges;
-
-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");
- //chl.createGUI(p);
- } else {
- p.sendMessage("hast hierfkeine Berechtigung");
- }
- } else if (args.length == 1) {
- if (args[0].equalsIgnoreCase("get")) {
- if (p.hasPermission("challenges.settings.get")) {
- p.sendMessage("Einstellungen");
- p.sendMessage("Crafting =" + chl.getConfig().getBoolean("craftingtable"));
- p.sendMessage("Handeln =" + chl.getConfig().getBoolean("allowtrading"));
- p.sendMessage("bei Fallschaden =" + chl.getConfig().getBoolean("deathonfall"));
- p.sendMessage("bei Schleichen =" + chl.getConfig().getBoolean("damageonsneak"));
- p.sendMessage("Schaden bei Schleichen =" + chl.getConfig().getInt("sneakdmg"));
- p.sendMessage("Drops =" + chl.getConfig().getBoolean("rnddrops"));
- p.sendMessage("Schaden =" + chl.getConfig().getBoolean("sharedmg"));
- p.sendMessage("Leben falle =" + chl.getConfig().getBoolean("onelife"));
- p.sendMessage("in Chat =" + chl.getConfig().getBoolean("dmginchat"));
- p.sendMessage("=" + chl.getConfig().getBoolean("respawn"));
- } else {
- p.sendMessage("hast hierfkeine Berechtigung");
- }
- } else {
- p.sendMessage("/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG [True/False]");
- }
- } else if (args.length >= 2) {
- if (p.hasPermission("challenges.settings.modify")) {
- Boolean Bwert = Boolean.valueOf(Boolean.parseBoolean(args[1]));
- if (args[0].equalsIgnoreCase("crafting")) {
- chl.getConfig().set("craftingtable", Bwert);
- chl.saveConfig();
- p.sendMessage("Crafting =" + chl.getConfig().getBoolean("craftingtable"));
- } else if (args[0].equalsIgnoreCase("deathfall")) {
- chl.getConfig().set("deathonfall", Bwert);
- chl.saveConfig();
- p.sendMessage("bei Fallschaden =" + chl.getConfig().getBoolean("deathonfall"));
- } else if (args[0].equalsIgnoreCase("trading")) {
- chl.getConfig().set("allowtrading", Bwert);
- chl.saveConfig();
- p.sendMessage("Handeln =" + chl.getConfig().getBoolean("allowtrading"));
- } else if (args[0].equalsIgnoreCase("dmgonsneak")) {
- chl.getConfig().set("damageonsneak", Bwert);
- chl.saveConfig();
- p.sendMessage("bei Schleichen =" + chl.getConfig().getBoolean("damageonsneak"));
- } else if (args[0].equalsIgnoreCase("sneakdmg")) {
- Double Dwert = Double.valueOf(Double.parseDouble(args[1]));
- chl.getConfig().set("sneakdmg", Dwert);
- chl.saveConfig();
- p.sendMessage("Schaden bei Schleichen =" + chl.getConfig().getString("sneakdmg"));
- } else if (args[0].equalsIgnoreCase("rnddrops")) {
- chl.getConfig().set("rnddrops", Bwert);
- chl.saveConfig();
- p.sendMessage("Drops =" + chl.getConfig().getBoolean("rnddrops"));
- } else if (args[0].equalsIgnoreCase("sharedmg")) {
- chl.getConfig().set("sharehp", Bwert);
- chl.saveConfig();
- p.sendMessage("Schaden =" + chl.getConfig().getBoolean("sharedmg"));
- } else if (args[0].equalsIgnoreCase("respawn")) {
- chl.getConfig().set("respawn", Bwert);
- chl.saveConfig();
- p.sendMessage("=" + chl.getConfig().getBoolean("respawn"));
- } else if (args[0].equalsIgnoreCase("onelife")) {
- chl.getConfig().set("onelife", Bwert);
- chl.saveConfig();
- p.sendMessage("Leben falle =" + chl.getConfig().getBoolean("onelife"));
- } else if (args[0].equalsIgnoreCase("chatdmg")) {
- chl.getConfig().set("dmginchat", Bwert);
- chl.saveConfig();
- p.sendMessage("in Chat =" + chl.getConfig().getBoolean("dmginchat"));
- } else {
- p.sendMessage("Parameter!");
- }
- } else {
- p.sendMessage("hast hierfkeine Berechtigung");
- }
- } else {
- p.sendMessage(
- "/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG [True/False]");
- }
- } else {
- sender.sendMessage("Konsolenbefehl!");
- }
- return true;
- }
-}
diff --git a/src/main/java/net/brennholz/commands/Timer_Command.java b/src/main/java/net/brennholz/commands/Timer_Command.java
deleted file mode 100644
index 870fde9..0000000
--- a/src/main/java/net/brennholz/commands/Timer_Command.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package net.brennholz.commands;
-
-
-
-import net.brennholz.challenges.Challenges;
-import org.bukkit.Bukkit;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
-
-public class Timer_Command implements CommandExecutor {
-
- private Challenges chl = Challenges.getplugin();
- public boolean timer;
- private int zeit = chl.getConfig().getInt("timer.time");
- private int sek;
- private int min;
- private int hrs;
- private String ssek;
- private String smin;
-
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) {
- timer = chl.getConfig().getBoolean("timer.enabled");
- if (sender.hasPermission("challenges.timer")) {
- if (args.length >= 1) {
- if (args[0].equalsIgnoreCase("resume")) {
- if (timer == false) {
- timer = true;
- chl.getServer().broadcastMessage("§aDer Timer wird fortgesetzt!");
- chl.getConfig().set("timer.enabled", timer);
- chl.saveConfig();
- } else
- sender.sendMessage("§cDer Timer läuft bereits!");
- } else if (args[0].equalsIgnoreCase("pause")) {
- if (timer == true) {
- timer = false;
- chl.getServer().broadcastMessage("§6Der Timer wurde angehalten");
- chl.getConfig().set("timer.enabled", timer);
- chl.saveConfig();
- } else
- sender.sendMessage("§cDer Timer ist bereits pausiert!");
- } else if (args[0].equalsIgnoreCase("reset")) {
- timer = false;
- chl.getConfig().set("timer.enabled", timer);
- chl.saveConfig();
- zeit = 0;
- sek = 0;
- min = 0;
- hrs = 0;
- RefreshConfig();
- chl.getServer().broadcastMessage("§cDer Timer wurde zurückgesetzt!");
- } else if (args.length >= 2) {
- if (args[0].equalsIgnoreCase("set")) {
- timer = false;
- chl.getConfig().set("timer.enabled", timer);
- chl.saveConfig();
- zeit = Integer.parseInt(args[1]);
- RefreshConfig();
- chl.getServer().broadcastMessage(
- "§bDer Timer wurde auf §a" + hrs + ":" + smin + ":" + ssek + " §bgesetzt!");
- }
- } else
- sender.sendMessage("§cBenutze: /timer resume/pause/reset/set [Zeit in Sekunden]");
- } else {
- sender.sendMessage("§c~~~~~ §6Timer command §c~~~~~");
- sender.sendMessage("§c/timer resume §4- §6Setze den Timer fort");
- sender.sendMessage("§c/timer pause §4- §6Pausiere den Timer");
- sender.sendMessage("§c/timer reset §4- §6Setze den Timer zurück");
- sender.sendMessage("§c/timer set [Zeit in Sekunden] §4- §6Setze den Timer auf eine bestimmte Zeit");
- }
- } else
- sender.sendMessage("§cDu hast hierfür keine Berechtigung");
- return true;
-
- }
-
- @SuppressWarnings("deprecation")
- public void Run_Timer() {
- Bukkit.getScheduler().scheduleAsyncRepeatingTask(chl, new Runnable() {
- @Override
- public void run() {
- boolean ttimer = chl.getConfig().getBoolean("timer.enabled");
- int ttime = chl.getConfig().getInt("timer.time");
- int thrs = chl.getConfig().getInt("timer.hrs");
- String tsek = chl.getConfig().getString("timer.sek");
- String tmin = chl.getConfig().getString("timer.min");
- if (ttimer) {
- ttime = ttime + 1;
- zeit = ttime;
- RefreshConfig();
- for (Player p : chl.getServer().getOnlinePlayers()) {
- p.sendActionBar("§7Challenge§8: §2§l" + thrs + ":" + tmin + ":" + tsek);
- }
- } else {
- for (Player p : chl.getServer().getOnlinePlayers()) {
- p.sendActionBar("§6Der Timer ist pausiert.");
- }
- }
- }
- }, 1 * 20L, 1 * 20L);
- }
-
- public void RefreshConfig() {
- min = zeit / 60;
- hrs = min / 60;
- min = min % 60;
- sek = zeit % 60;
- if (sek >= 10) {
- ssek = Integer.toString(sek);
- } else
- ssek = '0' + Integer.toString(sek);
- if (min >= 10) {
- smin = Integer.toString(min);
- } else
- smin = '0' + Integer.toString(min);
- chl.getConfig().set("timer.time", zeit);
- chl.getConfig().set("timer.sek", ssek);
- chl.getConfig().set("timer.min", smin);
- chl.getConfig().set("timer.hrs", hrs);
- chl.saveConfig();
- }
-
-}
diff --git a/src/main/java/net/brennholz/events/BlockCreateListener.java b/src/main/java/net/brennholz/events/BlockCreateListener.java
deleted file mode 100644
index dd4df6c..0000000
--- a/src/main/java/net/brennholz/events/BlockCreateListener.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package net.brennholz.events;
-
-
-
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.block.BlockPlaceEvent;
-import org.bukkit.event.player.PlayerBucketEmptyEvent;
-
-import net.brennholz.challenges.Challenges;
-
-public class BlockCreateListener implements Listener {
-
- private Challenges chl = Challenges.getplugin();
-
- @EventHandler
- public void onBlockPlace(BlockPlaceEvent e) {
- if (this.chl.getConfig().getBoolean("timer.enabled") == false) {
- e.setCancelled(true);
- }
- }
-
- @EventHandler
- public void onBucketPlace(PlayerBucketEmptyEvent e) {
- if (this.chl.getConfig().getBoolean("timer.enabled") == false) {
- e.setCancelled(true);
- }
- }
-}
diff --git a/src/main/java/net/brennholz/events/BlockDestroyListener.java b/src/main/java/net/brennholz/events/BlockDestroyListener.java
deleted file mode 100644
index 7297dbc..0000000
--- a/src/main/java/net/brennholz/events/BlockDestroyListener.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package net.brennholz.events;
-
-
-
-import org.bukkit.Material;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.block.BlockBreakEvent;
-import org.bukkit.event.block.BlockExplodeEvent;
-import org.bukkit.event.entity.EntityExplodeEvent;
-import org.bukkit.inventory.ItemStack;
-
-import net.brennholz.challenges.Challenges;
-
-public class BlockDestroyListener implements Listener {
-
- private Challenges chl = Challenges.getplugin();
-
- @EventHandler
- public void onBlockBreak(BlockBreakEvent e) {
- if (this.chl.getConfig().getBoolean("rnddrops") == true && this.chl.getConfig().getBoolean("timer.enabled") == true) {
- e.setDropItems(false);
- e.getBlock().getWorld().dropItem(e.getBlock().getLocation().add(0.5D, 0.5D, 0.5D), new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(e.getBlock())));
- }
- if (this.chl.getConfig().getBoolean("timer.enabled") == false) {
- e.setCancelled(true);
- }
- }
-
- @EventHandler
- public void onBlockExplode(BlockExplodeEvent e) {
- if (this.chl.getConfig().getBoolean("rnddrops") == true) {
- e.blockList().forEach(block -> {
- if(!block.getType().isAir()){
- block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D),new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(block)));
- block.setType(Material.AIR);
- }
- });
- e.blockList().clear();
- }
- }
-
- @EventHandler
- public void onEntityExplode(EntityExplodeEvent e) {
- if (this.chl.getConfig().getBoolean("rnddrops") == true) {
- e.blockList().forEach(block -> {
- if(!block.getType().isAir()){
- block.getWorld().dropItem(block.getLocation().add(0.5D, 0.5D, 0.5D),new ItemStack(this.chl.getRandomDropsManager().getMaterialFromBlock(block)));
- block.setType(Material.AIR);
- }
- });
- e.blockList().clear();
- }
- }
-
-}
-
diff --git a/src/main/java/net/brennholz/events/DamageListener.java b/src/main/java/net/brennholz/events/DamageListener.java
deleted file mode 100644
index e15b7b0..0000000
--- a/src/main/java/net/brennholz/events/DamageListener.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package net.brennholz.events;
-
-
-
-import java.text.DecimalFormat;
-
-
-import org.bukkit.Bukkit;
-import org.bukkit.GameMode;
-import org.bukkit.Location;
-import org.bukkit.Sound;
-import org.bukkit.entity.EntityType;
-import org.bukkit.entity.Player;
-import org.bukkit.entity.TNTPrimed;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.entity.EntityDamageByEntityEvent;
-import org.bukkit.event.entity.EntityDamageEvent;
-import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
-import org.bukkit.event.player.PlayerToggleSneakEvent;
-import org.bukkit.event.player.PlayerToggleSprintEvent;
-
-import com.destroystokyo.paper.event.player.PlayerJumpEvent;
-
-import net.brennholz.challenges.Challenges;
-
-public class DamageListener implements Listener {
-
- private Challenges chl = Challenges.getplugin();
-
- @EventHandler
- public void onDamage(EntityDamageEvent e) {
- if (e.getEntity() instanceof Player) {
- Player p = (Player) e.getEntity();
- String dmg = new DecimalFormat("#.##").format(e.getFinalDamage());
- if (e.getFinalDamage() > 0) {
- if (e.getCause() == DamageCause.FALL) {
- if (chl.getConfig().getBoolean("deathonfall") == true) {
- if (chl.getConfig().getBoolean("dmginchat") == true) {
- Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + p.getHealth() + " §cHP Schaden genommen durch §4" + e.getCause());
- }
- Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() {
- @Override
- public void run() {
- p.setHealth(0);
- }
- }, 1);
- } else if (chl.getConfig().getBoolean("dmginchat") == true) {
- Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getCause());
- }
- } else if (e.getCause() == DamageCause.CUSTOM) {
- if (!p.isSneaking() && (chl.getConfig().getBoolean("dmginchat") == true)) {
- Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + chl.getConfig().getDouble("sneakdmg") + " §cHP Schaden genommen durch §4SNEAKING");
- }
- } else if (e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) {
-
- } else if (chl.getConfig().getBoolean("dmginchat") == true) {
- Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getCause());
- }
- if (chl.getConfig().getBoolean("sharedmg") == true) {
- for (Player pp : Bukkit.getOnlinePlayers()) {
- if (pp != p) {
- double health = pp.getHealth() - e.getFinalDamage();
- if(health < 0) {
- pp.setHealth(0);
- }else {
- pp.setHealth(health);
- pp.getWorld().playSound(pp.getLocation(), Sound.ENTITY_PLAYER_HURT, (float) 1, 1);
- }
-
- }
- }
- }
- }
- }
- }
-
- @EventHandler
- public void onEntityDamage(EntityDamageByEntityEvent e) {
- if ((e.getEntity() instanceof Player) && (e.getFinalDamage() > 0)) {
- Player p = (Player) e.getEntity();
- String dmg = new DecimalFormat("#.##").format(e.getFinalDamage());
- if ((e.getCause() == DamageCause.ENTITY_ATTACK || e.getCause() == DamageCause.ENTITY_EXPLOSION) && chl.getConfig().getBoolean("dmginchat") == true) {
- Bukkit.broadcastMessage("§6" + p.getName() + " §chat §4" + dmg + " §cHP Schaden genommen durch §4" + e.getDamager().getName());
- }
- }
- }
-
- @SuppressWarnings("deprecation")
- @EventHandler
- public void PlayerSneak(PlayerToggleSneakEvent e) {
- Player p = (Player) e.getPlayer();
- if (p.getGameMode() == GameMode.SURVIVAL) {
- if (!p.isSneaking()) {
- if (chl.getConfig().getBoolean("damageonsneak") == true) {
- if (chl.getConfig().getBoolean("tntdeath") == true) {
- for (Player pp : Bukkit.getOnlinePlayers()) {
- pp.sendTitle("§c" + p.getDisplayName().toString() + " §ahat gesneakt!", "§b:>");
- EntityType tnt = EntityType.PRIMED_TNT;
- Location loc = pp.getLocation();
- TNTPrimed PRIME_TNT = (TNTPrimed) pp.getWorld().spawnEntity(loc, tnt);
- PRIME_TNT.setCustomName("§c§lNUKE");
- PRIME_TNT.setFuseTicks(15);
- PRIME_TNT.setYield(120);
- PRIME_TNT.setIsIncendiary(true);
- }
- } else {
- p.damage(chl.getConfig().getDouble("sneakdmg"));
- }
- }
- }
- }
-}
-
- @SuppressWarnings("deprecation")
- @EventHandler
- public void PlayerSprint(PlayerToggleSprintEvent e) {
- Player p = (Player) e.getPlayer();
- if (p.getGameMode() == GameMode.SURVIVAL) {
- if (!p.isSprinting()) {
- if (chl.getConfig().getBoolean("deathonsprint") == true) {
- if (chl.getConfig().getBoolean("tntdeath") == true) {
- for (Player pp : Bukkit.getOnlinePlayers()) {
- pp.sendTitle("§c" + p.getDisplayName().toString() + " §aist gesprintet!", "§b:>");
- EntityType tnt = EntityType.PRIMED_TNT;
- Location loc = pp.getLocation();
- TNTPrimed PRIME_TNT = (TNTPrimed) pp.getWorld().spawnEntity(loc, tnt);
- PRIME_TNT.setCustomName("§c§lNUKE");
- PRIME_TNT.setFuseTicks(15);
- PRIME_TNT.setYield(120);
- PRIME_TNT.setIsIncendiary(true);
- }
- } else {
- p.setHealth(0);
- }
- }
- }
- }
- }
- @SuppressWarnings("deprecation")
- @EventHandler
- public void PlayerJump(PlayerJumpEvent e) {
- Player p = (Player) e.getPlayer();
- if (p.getGameMode() == GameMode.SURVIVAL) {
- if (chl.getConfig().getBoolean("deathonjump") == true) {
- if (chl.getConfig().getBoolean("tntdeath") == true) {
- for (Player pp : Bukkit.getOnlinePlayers()) {
- pp.sendTitle("§c" + p.getDisplayName().toString() + " §aist gesprungen!", "§b:>");
- EntityType tnt = EntityType.PRIMED_TNT;
- Location loc = pp.getLocation();
- TNTPrimed PRIME_TNT = (TNTPrimed) pp.getWorld().spawnEntity(loc, tnt);
- PRIME_TNT.setCustomName("§c§lNUKE");
- PRIME_TNT.setFuseTicks(15);
- PRIME_TNT.setYield(120);
- PRIME_TNT.setIsIncendiary(true);
- }
- } else {
- p.setHealth(0);
- }
- }
- }
- }
- @EventHandler
- public void onDamageclear(EntityDamageEvent e) {
- if (e.getEntity() instanceof Player) {
- if (chl.getConfig().getBoolean("clinvdmg") == true) {
- for (Player pp : Bukkit.getOnlinePlayers()) {
- pp.getInventory().clear();
-
- }
- }
- }
- }
-}
-
diff --git a/src/main/java/net/brennholz/events/DeathListener.java b/src/main/java/net/brennholz/events/DeathListener.java
deleted file mode 100644
index 9534e79..0000000
--- a/src/main/java/net/brennholz/events/DeathListener.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package net.brennholz.events;
-
-
-
-import org.bukkit.Bukkit;
-import org.bukkit.GameMode;
-import org.bukkit.entity.EnderDragon;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.entity.EntityDeathEvent;
-import org.bukkit.event.entity.PlayerDeathEvent;
-import org.bukkit.event.player.PlayerRespawnEvent;
-
-import net.brennholz.challenges.Challenges;
-
-public class DeathListener implements Listener {
-
- private Challenges chl = Challenges.getplugin();
-
- @EventHandler
- public void onPlayerDeath(PlayerDeathEvent e) {
- if (chl.getConfig().getBoolean("onelife") == true) {
- chl.getConfig().set("timer.enabled", false);
- chl.saveConfig();
- for (Player p : Bukkit.getOnlinePlayers()) {
- p.setGameMode(GameMode.SPECTATOR);
- }
- chl.getServer().broadcastMessage("");
- chl.getServer().broadcastMessage("");
- e.setDeathMessage("§6" + e.getEntity().getName() + " §cist gestorben!");
- chl.getServer().broadcastMessage("§cDie Challenge wurde nach §6" + chl.getConfig().getInt("timer.hrs") + ":" + chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek") + " §cabgebrochen!");
- chl.getServer().broadcastMessage("§aSeed: §b" + Bukkit.getWorlds().get(0).getSeed());
- chl.getServer().broadcastMessage("§6Um alle wiederzubeleben benutze §c/revive ALL");
- } else {
- e.setDeathMessage("§6" + e.getEntity().getName() + " §cist gestorben! §6(" + e.getEntity().getWorld().getName() + " " + e.getEntity().getLocation().getBlockX() + " " + e.getEntity().getLocation().getBlockY() + " " + e.getEntity().getLocation().getBlockZ() + "§c)");
- if (chl.getConfig().getBoolean("respawn") == false) {
- Bukkit.getServer().broadcastMessage("§6Benutze §c/revive " + e.getEntity().getName() + " [world] [x] [y] [z] §6um ihn wiederzubeleben!");
- }
- }
- }
-
- @EventHandler
- public void onPlayerRespawn(PlayerRespawnEvent e) {
- if (chl.getConfig().getBoolean("respawn") == false) {
- e.getPlayer().sendTitle("§cDu bist gestorben!", "§4Du bist nun Zuschauer", 10, 80, 10);
- Bukkit.getScheduler().scheduleSyncDelayedTask(chl, new Runnable() {
- @Override
- public void run() {
- e.getPlayer().setGameMode(GameMode.SPECTATOR);
- }
- }, 1);
- }
- }
-
- @EventHandler
- public void DragonDeath(EntityDeathEvent e) {
- if (e.getEntity() instanceof EnderDragon) {
- chl.getConfig().set("timer.enabled", false);
- chl.getServer().broadcastMessage("");
- chl.getServer().broadcastMessage("");
- chl.getServer().broadcastMessage("");
- chl.getServer().broadcastMessage("");
- chl.getServer().broadcastMessage("§8>> §aDie Challenge wurde §2§lerfolgreich §aabgeschlossen.");
- chl.getServer().broadcastMessage("§8>> §7Der §2§lEnderdrache §7ist gestorben.");
- chl.getServer().broadcastMessage("§8>> §7Benötigte Zeit: §2§l" + chl.getConfig().getInt("timer.hrs") + ":"+ chl.getConfig().getString("timer.min") + ":" + chl.getConfig().getString("timer.sek") + "§7!");
- chl.getServer().broadcastMessage("§8>> §7Seed: §2§l" + Bukkit.getWorlds().get(0).getSeed());
- chl.getServer().broadcastMessage("");
- chl.getServer().broadcastMessage("");
- chl.getServer().broadcastMessage("");
- chl.getServer().broadcastMessage("");
- }
- }
-}
diff --git a/src/main/java/net/brennholz/events/InteractListener.java b/src/main/java/net/brennholz/events/InteractListener.java
deleted file mode 100644
index 265bb06..0000000
--- a/src/main/java/net/brennholz/events/InteractListener.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package net.brennholz.events;
-
-
-
-import org.bukkit.Material;
-import org.bukkit.entity.EntityType;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.block.Action;
-import org.bukkit.event.player.PlayerInteractEntityEvent;
-import org.bukkit.event.player.PlayerInteractEvent;
-
-import net.brennholz.challenges.Challenges;
-
-public class InteractListener implements Listener {
-
- private Challenges chl = Challenges.getplugin();
-
- @EventHandler
- public void onBlockClick(PlayerInteractEvent e) {
- if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
- if (e.getClickedBlock().getType() == Material.CRAFTING_TABLE) {
- if (chl.getConfig().getBoolean("craftingtable") == false) {
- e.setCancelled(true);
- }
- }
- if (this.chl.getConfig().getBoolean("timer.enabled") == false) {
- e.setCancelled(true);
- }
- }
- }
-
- @EventHandler
- public void onEntityClick(PlayerInteractEntityEvent e) {
- if (e.getRightClicked().getType() == EntityType.VILLAGER) {
- if (chl.getConfig().getBoolean("allowtrading") == false) {
- e.setCancelled(true);
- }
- }
- if (this.chl.getConfig().getBoolean("timer.enabled") == false) {
- e.setCancelled(true);
- }
- }
-}
-
diff --git a/src/main/java/net/brennholz/events/InventoryClickListener.java b/src/main/java/net/brennholz/events/InventoryClickListener.java
deleted file mode 100644
index ecba344..0000000
--- a/src/main/java/net/brennholz/events/InventoryClickListener.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package net.brennholz.events;
-
-
-import org.bukkit.Bukkit;
-import org.bukkit.World;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.inventory.InventoryClickEvent;
-
-import net.brennholz.challenges.Challenges;
-
-public class InventoryClickListener implements Listener {
-
- private Challenges chl = Challenges.getplugin();
-
- Challenges chall;
- net.brennholz.commands.Coords_Command coco;
-
- @SuppressWarnings({ "deprecation", "static-access" })
- @EventHandler
- public void InvClick(InventoryClickEvent e) {
- World wld = Bukkit.getWorlds().get(0);
- World nth = Bukkit.getWorlds().get(1);
- World end = Bukkit.getWorlds().get(2);
- String invname = e.getView().getTitle();
- Player p = (Player) e.getWhoClicked();
- int slot = e.getRawSlot();
- if (invname.equals(chall.GUIName)) {
- e.setCancelled(true);
- if (p.hasPermission("challenges.settings.modify")) {
- switch (slot) {
- case 9:
- chl.getConfig().set("craftingtable", !(chl.getConfig().getBoolean("craftingtable")));
- break;
- case 10:
- chl.getConfig().set("allowtrading", !(chl.getConfig().getBoolean("allowtrading")));
- break;
- case 11:
- chl.getConfig().set("deathonfall", !(chl.getConfig().getBoolean("deathonfall")));
- break;
- case 12:
- chl.getConfig().set("damageonsneak", !(chl.getConfig().getBoolean("damageonsneak")));
- break;
- case 13:
- chl.getConfig().set("rnddrops", !(chl.getConfig().getBoolean("rnddrops")));
- break;
- case 14:
- chl.getConfig().set("sharedmg", !(chl.getConfig().getBoolean("sharedmg")));
- break;
- case 15:
- chl.getConfig().set("respawn", !(chl.getConfig().getBoolean("respawn")));
- break;
- case 16:
- chl.getConfig().set("onelife", !(chl.getConfig().getBoolean("onelife")));
- break;
- case 17:
- chl.getConfig().set("dmginchat", !(chl.getConfig().getBoolean("dmginchat")));
- break;
- case 27:
- chl.getConfig().set("deathonsprint", !(chl.getConfig().getBoolean("deathonsprint")));
- break;
- case 28:
- chl.getConfig().set("deathonjump", !(chl.getConfig().getBoolean("deathonjump")));
- break;
- case 29:
- chl.getConfig().set("clinvdmg", !(chl.getConfig().getBoolean("clinvdmg")));
- break;
- case 35:
- chl.getConfig().set("tntdeath", !(chl.getConfig().getBoolean("tntdeath")));
- break;
- case 37:
- if (wld.getGameRuleValue("keepInventory").equals("true")) {
- wld.setGameRuleValue("keepInventory", "false");
- nth.setGameRuleValue("keepInventory", "false");
- end.setGameRuleValue("keepInventory", "false");
- } else if (wld.getGameRuleValue("keepInventory").equals("false")) {
- wld.setGameRuleValue("keepInventory", "true");
- nth.setGameRuleValue("keepInventory", "true");
- end.setGameRuleValue("keepInventory", "true");
- }
- break;
- case 43:
- if (wld.getGameRuleValue("naturalRegeneration").equals("true")) {
- wld.setGameRuleValue("naturalRegeneration", "false");
- nth.setGameRuleValue("naturalRegeneration", "false");
- end.setGameRuleValue("naturalRegeneration", "false");
- } else if (wld.getGameRuleValue("naturalRegeneration").equals("false")) {
- wld.setGameRuleValue("naturalRegeneration", "true");
- nth.setGameRuleValue("naturalRegeneration", "true");
- end.setGameRuleValue("naturalRegeneration", "true");
- }
- break;
- default:
- break;
- }
- chl.saveConfig();
- p.performCommand("settings");
- }
- }
- if (invname.equals(coco.CGUIN)) {
- e.setCancelled(true);
- if (slot >= 0 && slot <= 44) {
- if (coco.CoordsGUI.getItem(slot) != null && p.hasPermission("challenges.coords.delete")) {
- p.performCommand("coords delete " + e.getCurrentItem().getItemMeta().getDisplayName());
- }
- }
- }
- if (invname.equals(coco.CDGUIN)) {
- e.setCancelled(true);
- if (slot == 0) {
- String cname = coco.CoordsDeleteGUI.getItem(4).getItemMeta().getDisplayName();
- chl.getConfig().set("Saved_Locations." + cname, null);
- chl.saveConfig();
- p.sendMessage("§cPosition §6" + cname + " §cwurde gelöscht!");
- p.closeInventory();
- }
- if (slot == 8) {
- p.performCommand("coords");
- }
- }
- }
-}
-
diff --git a/src/main/java/net/brennholz/events/QuitJoinListener.java b/src/main/java/net/brennholz/events/QuitJoinListener.java
deleted file mode 100644
index ae097fe..0000000
--- a/src/main/java/net/brennholz/events/QuitJoinListener.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package net.brennholz.events;
-
-
-
-import java.util.Random;
-import net.brennholz.challenges.Challenges;
-import org.bukkit.Bukkit;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerJoinEvent;
-import org.bukkit.event.player.PlayerQuitEvent;
-
-public class QuitJoinListener implements Listener {
-
- private Challenges chl = Challenges.getplugin();
-
-
-
- @EventHandler
- public void PlayerJoinEvent(PlayerJoinEvent e) {
- Player p = e.getPlayer();
- e.setJoinMessage("§6" + p.getName() + " §chat den Server betreten!");
- if (chl.getConfig().getBoolean("sharedmg") == true) {
- int rnd = new Random().nextInt(Bukkit.getOnlinePlayers().size());
- Player rp = (Player) Bukkit.getServer().getOnlinePlayers().toArray()[rnd];
- p.setHealth(rp.getHealth());
- }
- if (this.chl.getConfig().getBoolean("tabhp") == true) {
- this.chl.getSBManager().createScoreboard(p);
- }
- }
-
- @EventHandler
- public void PlayerQuitEvent(PlayerQuitEvent e) {
- Player p = e.getPlayer();
- e.setQuitMessage("§6" + p.getName() + " §chat den Server verlassen!");
-
- if (Bukkit.getOnlinePlayers().size() == 1) {
- chl.getConfig().set("timer.enabled", false);
- chl.saveConfig();
- }
- }
-}
diff --git a/src/main/java/net/brennholz/gui/InventoryHandler.java b/src/main/java/net/brennholz/gui/InventoryHandler.java
deleted file mode 100644
index cd9c49c..0000000
--- a/src/main/java/net/brennholz/gui/InventoryHandler.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package net.brennholz.gui;
-
-import me.wolfyscript.utilities.api.WolfyUtilities;
-import me.wolfyscript.utilities.api.inventory.GuiCluster;
-import me.wolfyscript.utilities.api.inventory.InventoryAPI;
-import net.brennholz.challenges.Challenges;
-
-public class InventoryHandler {
-
- private Challenges challenges;
- private WolfyUtilities wolfyUtilities;
- private InventoryAPI inventoryAPI;
-
- public InventoryHandler(Challenges challenges){
- this.challenges = challenges;
- this.wolfyUtilities = WolfyUtilities.getAPI(challenges);
- this.inventoryAPI = wolfyUtilities.getInventoryAPI();
- }
-
- public void init(){
- GuiCluster mainCluster = inventoryAPI.getOrRegisterGuiCluster("none");
- mainCluster.registerGuiWindow(new SettingsGui(inventoryAPI));
- mainCluster.setMainmenu("settings");
-
- }
-}
diff --git a/src/main/java/net/brennholz/gui/SettingButton.java b/src/main/java/net/brennholz/gui/SettingButton.java
deleted file mode 100644
index ecc409e..0000000
--- a/src/main/java/net/brennholz/gui/SettingButton.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package net.brennholz.gui;
-
-import me.wolfyscript.utilities.api.inventory.GuiHandler;
-import me.wolfyscript.utilities.api.inventory.button.ButtonActionRender;
-import me.wolfyscript.utilities.api.inventory.button.ButtonState;
-import me.wolfyscript.utilities.api.inventory.button.buttons.ActionButton;
-import me.wolfyscript.utilities.api.utils.item_builder.ItemBuilder;
-import net.brennholz.challenges.Challenges;
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.enchantments.Enchantment;
-import org.bukkit.entity.Player;
-import org.bukkit.event.inventory.InventoryClickEvent;
-import org.bukkit.inventory.Inventory;
-import org.bukkit.inventory.ItemFlag;
-import org.bukkit.inventory.ItemStack;
-
-import java.util.Arrays;
-import java.util.HashMap;
-
-public class SettingButton extends ActionButton {
-
- public SettingButton(String id, Material material, String displayName, String... lore) {
- super(id, new ButtonState(material, displayName, new String[0], lore, new ButtonActionRender() {
- @Override
- public boolean run(GuiHandler guiHandler, Player player, Inventory inventory, int i, InventoryClickEvent inventoryClickEvent) {
- Challenges challenges = Challenges.getplugin();
- challenges.getConfig().set(id, !(challenges.getConfig().getBoolean(id)));
- return true;
- }
-
- @Override
- public ItemStack render(HashMap hashMap, GuiHandler guiHandler, Player player, ItemStack itemStack, int i, boolean b) {
- ItemBuilder itemBuilder = new ItemBuilder(material).setDisplayName(ChatColor.GOLD + displayName).setLore(Arrays.asList(lore));
- return Challenges.getplugin().getConfig().getBoolean(id) ? itemBuilder.addUnsafeEnchantment(Enchantment.DURABILITY, 1).addItemFlags(ItemFlag.HIDE_ENCHANTS).create() : itemBuilder.create();
- }
- }));
- }
-}
diff --git a/src/main/java/net/brennholz/gui/SettingsGui.java b/src/main/java/net/brennholz/gui/SettingsGui.java
deleted file mode 100644
index eaa4dc6..0000000
--- a/src/main/java/net/brennholz/gui/SettingsGui.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package net.brennholz.gui;
-
-import me.wolfyscript.utilities.api.inventory.GuiHandler;
-import me.wolfyscript.utilities.api.inventory.GuiUpdateEvent;
-import me.wolfyscript.utilities.api.inventory.GuiWindow;
-import me.wolfyscript.utilities.api.inventory.InventoryAPI;
-import me.wolfyscript.utilities.api.inventory.button.ButtonActionRender;
-import me.wolfyscript.utilities.api.inventory.button.ButtonState;
-import me.wolfyscript.utilities.api.inventory.button.buttons.ActionButton;
-import me.wolfyscript.utilities.api.inventory.button.buttons.ToggleButton;
-import me.wolfyscript.utilities.api.utils.item_builder.ItemBuilder;
-import net.brennholz.challenges.Challenges;
-import org.bukkit.ChatColor;
-import org.bukkit.Material;
-import org.bukkit.enchantments.Enchantment;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.inventory.InventoryClickEvent;
-import org.bukkit.event.inventory.InventoryType;
-import org.bukkit.inventory.Inventory;
-import org.bukkit.inventory.ItemFlag;
-import org.bukkit.inventory.ItemStack;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-
-public class SettingsGui extends GuiWindow {
-
- private Challenges challenges = Challenges.getplugin();
-
- public SettingsGui(InventoryAPI inventoryAPI) {
- super("settings", inventoryAPI, 54);
- }
-
- @Override
- public void onInit() {
- registerButton(new SettingButton("craftingtable", Material.CRAFTING_TABLE, "Erlaube Crafting"));
- registerButton(new SettingButton("allowtrading", Material.EMERALD, "Erlaube Handeln"));
- registerButton(new SettingButton("deathonfall", Material.BONE, "Tod bei Fallschaden", ChatColor.RED + "Spieler stirbt bei Fallschaden"));
- registerButton(new SettingButton("damageonsneak", Material.MAGMA_BLOCK, "Schaden bei Schleichen",ChatColor.RED + "Spieler erhält " + challenges.getConfig().getInt("sneakdmg") + " Schaden bei Schleichen"));
- registerButton(new SettingButton("rnddrops", Material.DIAMOND_PICKAXE, "Drops", ChatColor.RED + "Random Drops"));
- registerButton(new SettingButton("sharedmg", Material.GLISTERING_MELON_SLICE, "Geteilter Schaden",ChatColor.RED + "Alle Spieler erhalten den gleichen Schaden"));
- registerButton(new SettingButton("respawn", Material.TOTEM_OF_UNDYING, "Respawn"));
- registerButton(new SettingButton("onelife", Material.POPPY, "Ein Leben für alle", ChatColor.RED + "Stirbt ein Spieler ist die",ChatColor.RED + "Challenge fehlgeschlagen"));
- registerButton(new SettingButton("dmginchat", Material.BOOK, "Schaden in Chat", ChatColor.RED + "Zeigt Spielerschaden im Chat an"));
- registerButton(new SettingButton("deathonsprint", Material.DIAMOND_BOOTS, "Tod bei Sprinten", ChatColor.RED + "Spieler Stirbt beim Sprinten"));
- registerButton(new SettingButton("deathonjump", Material.LEATHER_BOOTS, "Tod bei Springen", ChatColor.RED + "Spieler Stirbt beim Springen"));
- registerButton(new SettingButton("clinvdmg", Material.BARRIER, "Inv Löschen bei DMG",ChatColor.RED + "Löscht das Inventar von allen wenn ein Spieler schaden bekommt!"));
- registerButton(new SettingButton("tntdeath", Material.TNT, "Sterben durch TnT",ChatColor.RED + "Tötet dich mit tnt bei der nicht Springen Schleichen und Jumpen Challenge"));
-
- //TODO Gamerules
- }
-
- @EventHandler
- public void onUpdate(GuiUpdateEvent event) {
- event.setButton(0, "craftingtable");
- event.setButton(1, "allowtrading");
- event.setButton(2, "deathonfall");
- event.setButton(3, "damageonsneak");
- event.setButton(4, "rnddrops");
- event.setButton(5, "sharedmg");
- event.setButton(6, "respawn");
- event.setButton(7, "onelife");
- event.setButton(8, "dmginchat");
- event.setButton(9, "deathonsprint");
- event.setButton(10, "deathonjump");
- event.setButton(11, "clinvdmg");
- event.setButton(12, "tntdeath");
- }
-
- @Override
- protected String getInventoryName() {
- return ChatColor.GREEN+"Settings";
- }
-
- @Override
- public List getHelpInformation() {
- return new ArrayList<>();
- }
-}
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index d7859b4..0cf264c 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -10,13 +10,19 @@
dmginchat: false
deathonsprint: false
deathonjump: false
+xpdeath: false
clinvdmg: false
tabhp: true
tntdeath: false
#Mögliche werte: 9 18 27 36 45 54
-backpack_size: 27
+backpack_size: 54
+mlg:
+ enabled: false
+ killall: false
+ maxtime: 600
timer:
enabled: false
+ reverse: false
time: 0
sek: '00'
min: '00'
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index ddfa262..5cd21ca 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -1,10 +1,9 @@
name: Challenges
-main: net.brennholz.challenges.Challenges
+main: de.fanta.challenges.Challenges
version: 2.0
-api-version: 1.13
+api-version: 1.15
load: STARTUP
-depend: [WolfyUtilities]
-author: Brennholz3000
+author: fanta
commands:
hp:
description: Verwalte die HP eines Spielers