diff --git a/pom.xml b/pom.xml
index a7d5e80..413ad7b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,12 +33,6 @@
1.16-SNAPSHOT
provided
-
- io.github.wolfyscript
- wolfyutilities
- 1.5.6.17
- provided
-
diff --git a/src/main/java/de/fanta/challenges/Challenges.java b/src/main/java/de/fanta/challenges/Challenges.java
index 5602ab9..218dad3 100644
--- a/src/main/java/de/fanta/challenges/Challenges.java
+++ b/src/main/java/de/fanta/challenges/Challenges.java
@@ -5,13 +5,14 @@
package de.fanta.challenges;
-import de.fanta.challenges.commands.BackpackCommand;
import de.fanta.challenges.challenges.RandomDrops;
import de.fanta.challenges.challenges.SBManager;
import de.fanta.challenges.commands.CommandRegistration;
import de.fanta.challenges.events.PlayerCountChangedEvent;
import de.fanta.challenges.events.ServerStatusChangedEvent;
import de.fanta.challenges.events.TimerChangedEvent;
+import de.fanta.challenges.guis.BackpackGui;
+import de.fanta.challenges.guis.settingsgui.OtherSettingsGui;
import de.fanta.challenges.guis.settingsgui.ServerSettingsGui;
import de.fanta.challenges.listeners.BlockCreateListener;
import de.fanta.challenges.listeners.BlockDestroyListener;
@@ -25,14 +26,14 @@
import de.fanta.challenges.guis.TimerGui;
import de.fanta.challenges.guis.settingsgui.MainGui;
import de.fanta.challenges.guis.settingsgui.SettingsGui;
-import de.fanta.challenges.utils.guiutils.InventoryHandler;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
-import me.wolfyscript.utilities.api.WolfyUtilities;
+import de.fanta.challenges.utils.ChatUtil;
+import org.bukkit.BanList;
import org.bukkit.Bukkit;
import org.bukkit.GameRule;
import org.bukkit.Material;
@@ -44,7 +45,6 @@
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
-import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
@@ -52,7 +52,7 @@
public class Challenges extends JavaPlugin {
private static Challenges plugin;
- private File BackpackConfigFile;
+ private File backpackConfigFile;
private FileConfiguration BackpackConfig;
@@ -62,21 +62,17 @@
private Timer timer;
- public BackpackCommand backpack;
+ private BackpackGui backpack;
private SBManager sbManager;
public RandomDrops rndDrops;
- public static Inventory SettingsGUI = Bukkit.createInventory(null, 45, "§6Settings");
-
- public static String GUIName = "§6Settings";
-
public static Challenges getPlugin() {
return plugin;
}
- public static final String PREFIX = ChatColor.of("#455aad") + "[" + ChatColor.of("#1FFF00") + "Challenge" + ChatColor.of("#455aad") + "]";
+ public static final String PREFIX = ChatColor.of("#455aad") + "[" + ChatUtil.NORMAL + "Challenge" + ChatColor.of("#455aad") + "]";
public static final String GUIPREFIX = ChatColor.of("#2d8745") + "Challenge";
private Player currentEditor;
@@ -86,17 +82,11 @@
@Override
public void onEnable() {
plugin = this;
- WolfyUtilities wolfyUtilities = WolfyUtilities.getOrCreateAPI(this);
- wolfyUtilities.setCHAT_PREFIX(PREFIX);
- wolfyUtilities.setCONSOLE_PREFIX(PREFIX);
this.timer = new Timer(this);
this.rndDrops = new RandomDrops();
- InventoryHandler inventoryHandler = new InventoryHandler(this);
- inventoryHandler.init();
-
- this.backpack = new BackpackCommand(this);
+ this.backpack = new BackpackGui(getConfig().getInt("backpack_size") * 9);
new CommandRegistration(this).registerCommands();
@@ -113,6 +103,7 @@
Bukkit.getPluginManager().registerEvents(new MainGui(), this);
Bukkit.getPluginManager().registerEvents(new SettingsGui(), this);
Bukkit.getPluginManager().registerEvents(new ServerSettingsGui(), this);
+ Bukkit.getPluginManager().registerEvents(new OtherSettingsGui(), this);
saveDefaultConfig();
reloadConfig();
@@ -154,9 +145,13 @@
@Override
public void onDisable() {
- this.backpack.saveInventoryToConfig();
+ Bukkit.getBanList(BanList.Type.NAME).getBanEntries().forEach(b -> Bukkit.getBanList(BanList.Type.NAME).pardon(b.getTarget()));
+ if (!getConfig().getBoolean("World_Reset")) {
+ this.backpack.saveInventoryToConfig();getConfig().set("backpack_size", backpack.getSize() / 9);
+ } else {
+ this.backpack.clearConfig();
+ }
try {
- this.BackpackConfig.save(this.BackpackConfigFile);
this.RndDropsConfig.save(this.RndDropsConfigFile);
} catch (IOException e) {
e.printStackTrace();
@@ -175,14 +170,14 @@
}
private void createBackpackConfig() {
- this.BackpackConfigFile = new File(getDataFolder(), "backpack.yml");
- if (!this.BackpackConfigFile.exists()) {
- this.BackpackConfigFile.getParentFile().mkdirs();
+ 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);
+ this.BackpackConfig.load(this.backpackConfigFile);
} catch (InvalidConfigurationException | IOException e) {
e.printStackTrace();
}
@@ -264,4 +259,12 @@
public void setWaitingForShutdown(boolean waitingForShutdown) {
this.waitingForShutdown = waitingForShutdown;
}
+
+ public BackpackGui getBackpack() {
+ return backpack;
+ }
+
+ public File getBackpackConfigFile() {
+ return backpackConfigFile;
+ }
}
diff --git a/src/main/java/de/fanta/challenges/Timer.java b/src/main/java/de/fanta/challenges/Timer.java
index 103c574..d0d398c 100644
--- a/src/main/java/de/fanta/challenges/Timer.java
+++ b/src/main/java/de/fanta/challenges/Timer.java
@@ -113,12 +113,12 @@
private void sendTimerActionBar(ChatColor color) {
for (Player p : Bukkit.getOnlinePlayers()) {
- p.sendActionBar(ChatColor.BOLD + "" + formatTime(color));
+ p.sendActionBar(formatTime(color));
}
}
public String formatTime(ChatColor color) {
- return color + StringUtil.formatTimespan((long) time * 1000L, " Tag/e ", "", "", "", color + ":", ":", false, true);
+ return color + StringUtil.formatTimespan((long) time * 1000L, " Tag/e ", "", "", "", ":", ":", false, true);
}
public void reverseTimer() {
diff --git a/src/main/java/de/fanta/challenges/commands/BackpackCommand.java b/src/main/java/de/fanta/challenges/commands/BackpackCommand.java
index c3e33e2..e653ab4 100644
--- a/src/main/java/de/fanta/challenges/commands/BackpackCommand.java
+++ b/src/main/java/de/fanta/challenges/commands/BackpackCommand.java
@@ -22,9 +22,6 @@
this.plugin = plugin;
}
- static int size = Challenges.getPlugin().getConfig().getInt("backpack_size") * 9;
- public static Inventory Backpack = Bukkit.createInventory(null, size, "§6Backpack");
-
@Override
public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) {
if (!(sender instanceof Player)) {
@@ -32,42 +29,7 @@
return true;
}
Player p = (Player) sender;
- p.openInventory(Backpack);
+ plugin.getBackpack().open(p);
return true;
}
-
- public void clearConfig() {
- for (String main_path : this.plugin.getBackpackConfig().getKeys(false)) {
- this.plugin.getBackpackConfig().set(main_path, null);
- }
- }
-
- public void saveInventoryToConfig() {
- clearConfig();
- for (int slot = 0; slot < Backpack.getSize(); slot++) {
- ItemStack stack = Backpack.getItem(slot);
- if (stack != null && stack.getType() != Material.AIR) {
- this.plugin.getBackpackConfig().set(String.valueOf(slot), stack.serialize());
- }
- }
- }
-
- public void loadInventoryFromConfig() {
- for (Map.Entry stringObjectEntry : this.plugin.getBackpackConfig().getValues(false).entrySet()) {
- int slot;
- try {
- slot = Integer.parseInt((String) ((Map.Entry) stringObjectEntry).getKey());
- } catch (NumberFormatException var6) {
- Bukkit.broadcastMessage("Fehler! Slot: " + ((Map.Entry) stringObjectEntry).getKey());
- continue;
- }
- if (slot >= Backpack.getSize()) {
- Bukkit.broadcastMessage(slot + " befindet sich außerhalb des Inventars!");
- continue;
- }
- MemorySection memorySection = (MemorySection) ((Map.Entry) stringObjectEntry).getValue();
- ItemStack deserialized = ItemStack.deserialize(memorySection.getValues(false));
- Backpack.setItem(slot, deserialized);
- }
- }
}
diff --git a/src/main/java/de/fanta/challenges/commands/CommandRegistration.java b/src/main/java/de/fanta/challenges/commands/CommandRegistration.java
index 0a90cc2..a857a1e 100644
--- a/src/main/java/de/fanta/challenges/commands/CommandRegistration.java
+++ b/src/main/java/de/fanta/challenges/commands/CommandRegistration.java
@@ -41,6 +41,7 @@
CommandRouter challengesRouter = new CommandRouter(plugin.getCommand("challenges"));
challengesRouter.addCommandMapping(new ChallengesCommand(plugin));
challengesRouter.addCommandMapping(new ChallengesHelpCommand(plugin), "help");
+ challengesRouter.addCommandMapping(new KickCommand(plugin), "kick");
CommandRouter resetRouter = new CommandRouter(plugin.getCommand("reset"));
@@ -48,7 +49,7 @@
resetRouter.addCommandMapping(new ResetConfirmCommand(plugin), "confirm");
CommandRouter backpackRouter = new CommandRouter(plugin.getCommand("backpack"));
- backpackRouter.addCommandMapping(plugin.backpack);
+ backpackRouter.addCommandMapping(new BackpackCommand(plugin));
CommandRouter coordsRouter = new CommandRouter(plugin.getCommand("coords"));
coordsRouter.addCommandMapping(new CoordsCommand(plugin));
diff --git a/src/main/java/de/fanta/challenges/commands/KickCommand.java b/src/main/java/de/fanta/challenges/commands/KickCommand.java
new file mode 100644
index 0000000..19376bf
--- /dev/null
+++ b/src/main/java/de/fanta/challenges/commands/KickCommand.java
@@ -0,0 +1,62 @@
+package de.fanta.challenges.commands;
+
+import de.fanta.challenges.Challenges;
+import de.fanta.challenges.utils.ChatUtil;
+import de.iani.cubesideutils.bukkit.commands.SubCommand;
+import de.iani.cubesideutils.commands.ArgsParser;
+import org.bukkit.BanList;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
+
+public class KickCommand extends SubCommand {
+ private final Challenges plugin;
+
+ public KickCommand(Challenges plugin) {
+ this.plugin = plugin;
+ }
+
+ @Override
+ public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) {
+ if (!(sender instanceof Player)) {
+ ChatUtil.sendErrorMessage(sender, "You are not a Player :>");
+ return true;
+ }
+ if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) {
+ if (args.hasNext()) {
+ String playerName = args.getNext();
+ Player player = Bukkit.getPlayer(playerName);
+
+ if (player == sender) {
+ ChatUtil.sendErrorMessage(sender,"Du kannst dich nicht selbst kicken");
+ return true;
+ }
+
+ if (player == null) {
+ ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!");
+ } else {
+ player.performCommand("tt challenge");
+ ChatUtil.sendWarningMessage(player, "Du wurdest vom Editor gekickt!");
+ ChatUtil.sendWarningMessage(player, "Du kannst in einer Minute wieder Joinen");
+ Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
+ player.banPlayer("Du wurdest vom Editor gekickt");
+ }, 5L);
+ Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
+ Bukkit.getBanList(BanList.Type.NAME).pardon(player.getName());
+ }, 20 * 60);
+ }
+ return true;
+ }
+ return false;
+ } else if (plugin.getCurrentEditor() != null) {
+ ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! Nur " + plugin.getCurrentEditor().getName() + " kann spieler kicken");
+ return true;
+ } else {
+ ChatUtil.sendErrorMessage(sender, "Aktuell gibt es keinen Editor!");
+ ChatUtil.sendErrorMessage(sender, "Um selbst Editor zu werden musst du dir im Freebuild VIP Kaufen!");
+ return true;
+ }
+ }
+}
diff --git a/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java b/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java
index 83741b6..803db2b 100644
--- a/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java
+++ b/src/main/java/de/fanta/challenges/commands/reset/ResetConfirmCommand.java
@@ -39,9 +39,7 @@
plugin.setWaitingForShutdown(true);
- Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
- Bukkit.shutdown();
- }, 60);
+ Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, Bukkit::shutdown, 60);
} else if (plugin.getCurrentEditor() != null) {
ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! Nur" + plugin.getCurrentEditor().getName() + " kann die Map zurücksetzen!");
return true;
diff --git a/src/main/java/de/fanta/challenges/commands/settings/SettingsCommandTODO.java b/src/main/java/de/fanta/challenges/commands/settings/SettingsCommandTODO.java
index 2e2ecec..d51b29f 100644
--- a/src/main/java/de/fanta/challenges/commands/settings/SettingsCommandTODO.java
+++ b/src/main/java/de/fanta/challenges/commands/settings/SettingsCommandTODO.java
@@ -3,7 +3,6 @@
import de.fanta.challenges.Challenges;
import de.fanta.challenges.guis.settingsgui.MainGui;
import de.fanta.challenges.utils.ChatUtil;
-import me.wolfyscript.utilities.api.WolfyUtilities;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
@@ -25,8 +24,6 @@
if (args.length == 0) {
if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) {
MainGui.createMainGUI(p);
- //Todo REMOVE WOLFYUTILITIS
- //WolfyUtilities.getAPI(plugin).getInventoryAPI().openCluster(p, "none");
return true;
} else {
ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!");
diff --git a/src/main/java/de/fanta/challenges/guis/BackpackGui.java b/src/main/java/de/fanta/challenges/guis/BackpackGui.java
new file mode 100644
index 0000000..e7e030b
--- /dev/null
+++ b/src/main/java/de/fanta/challenges/guis/BackpackGui.java
@@ -0,0 +1,102 @@
+package de.fanta.challenges.guis;
+
+import de.fanta.challenges.Challenges;
+import net.md_5.bungee.api.ChatColor;
+import org.bukkit.Bukkit;
+import org.bukkit.Material;
+import org.bukkit.configuration.MemorySection;
+import org.bukkit.entity.HumanEntity;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.ItemStack;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.logging.Level;
+
+public class BackpackGui {
+
+ public static final String TITLE = Challenges.GUIPREFIX + " >> Backpack";
+ private Inventory backpack;
+
+ public BackpackGui(int size) {
+ this.backpack = Bukkit.createInventory(null, size, TITLE);
+ }
+
+ public void resize(int newSize) {
+ if (newSize == backpack.getSize()) {
+ return;
+ }
+
+ Inventory newBackpack = Bukkit.createInventory(backpack.getHolder(), newSize, TITLE);
+ if (newSize > backpack.getSize()) {
+ for (int i = 0; i < backpack.getSize(); i++) {
+ newBackpack.setItem(i, backpack.getItem(i));
+ }
+ } else if (newSize < backpack.getSize()) {
+ for (int i = 0; i < newSize; i++) {
+ newBackpack.setItem(i, backpack.getItem(i));
+ }
+
+ for (int i = newSize; i < backpack.getSize(); i++) {
+ ItemStack item = backpack.getItem(i);
+ if (item != null && item.getType() != Material.AIR) {
+ if (!newBackpack.addItem(item).isEmpty()) {
+ Bukkit.broadcastMessage(Challenges.PREFIX + ChatColor.DARK_RED + " Backpack kann nicht verkleinert werden. Zu wenig Platz!"); // TODO COLOR
+ return;
+ }
+ }
+ }
+ }
+ for (HumanEntity player : backpack.getViewers()) {
+ player.closeInventory();
+ }
+ this.backpack = newBackpack;
+ }
+
+ public void open(Player player) {
+ player.openInventory(this.backpack);
+ }
+
+ public int getSize() {
+ return this.backpack.getSize();
+ }
+
+ public void clearConfig() {
+ Challenges.getPlugin().getBackpackConfigFile().delete();
+ }
+
+ public void saveInventoryToConfig() {
+ clearConfig();
+ for (int slot = 0; slot < backpack.getSize(); slot++) {
+ ItemStack stack = backpack.getItem(slot);
+ if (stack != null && stack.getType() != Material.AIR) {
+ Challenges.getPlugin().getBackpackConfig().set(String.valueOf(slot), stack.serialize());
+ }
+ }
+ try {
+ Challenges.getPlugin().getBackpackConfig().save(Challenges.getPlugin().getBackpackConfigFile());
+ } catch (IOException e) {
+ Bukkit.getLogger().log(Level.SEVERE, "Could not save backpack config", e);
+ }
+ }
+
+ public void loadInventoryFromConfig() {
+ for (Map.Entry stringObjectEntry : Challenges.getPlugin().getBackpackConfig().getValues(false).entrySet()) {
+ int slot;
+ try {
+ slot = Integer.parseInt(stringObjectEntry.getKey());
+ } catch (NumberFormatException e) {
+ Bukkit.getLogger().log(Level.SEVERE, "Fehler! Slot: " + stringObjectEntry.getKey(), e);
+ continue;
+ }
+ if (slot >= backpack.getSize()) {
+ Bukkit.getLogger().log(Level.SEVERE, "Slot " + slot + " befindet sich außerhalb des Inventars!");
+ continue;
+ }
+ MemorySection memorySection = (MemorySection) stringObjectEntry.getValue();
+ ItemStack deserialized = ItemStack.deserialize(memorySection.getValues(false));
+ backpack.setItem(slot, deserialized);
+ }
+ }
+}
diff --git a/src/main/java/de/fanta/challenges/guis/SettingsGui.java b/src/main/java/de/fanta/challenges/guis/SettingsGui.java
index eaf72fc..cf51761 100644
--- a/src/main/java/de/fanta/challenges/guis/SettingsGui.java
+++ b/src/main/java/de/fanta/challenges/guis/SettingsGui.java
@@ -1,10 +1,9 @@
-package de.fanta.challenges.guis;
+/*package de.fanta.challenges.guis;
import de.fanta.challenges.Challenges;
import java.util.ArrayList;
import java.util.List;
-import de.fanta.challenges.utils.guiutils.SettingButton;
import me.wolfyscript.utilities.api.inventory.GuiUpdateEvent;
import me.wolfyscript.utilities.api.inventory.GuiWindow;
import me.wolfyscript.utilities.api.inventory.InventoryAPI;
@@ -34,6 +33,7 @@
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"));
@@ -46,11 +46,8 @@
@EventHandler
public void onUpdate(GuiUpdateEvent event) {
- event.setButton(36, "sharedmg");
- event.setButton(38, "respawn");
- event.setButton(37, "onelife");
- event.setButton(39, "dmginchat");
- event.setButton(26, "tntdeath");
+
+ //Other
event.setButton(46, "mlg.killall");
}
@@ -63,4 +60,4 @@
public List getHelpInformation() {
return new ArrayList<>();
}
-}
+}*/
diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java
index e84d8d8..6eaed8b 100644
--- a/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java
+++ b/src/main/java/de/fanta/challenges/guis/settingsgui/MainGui.java
@@ -19,13 +19,15 @@
public static final Inventory MAIN_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Settings");
private static final int CHALLENGES_INDEX = 10;
- private static final int SERVER_SETTINGS_INDEX = 13;
+ private static final int OTHER_SETTINGS_INDEX = 13;
+ private static final int SERVER_SETTINGS_INDEX = 16;
private static final int CLOSE_IDEX = 26;
public static void createMainGUI(Player p) {
MAIN_GUI.setItem(CHALLENGES_INDEX, GUIUtils.createGuiItem(Material.REPEATER, ChatColor.GREEN + "Challenges"));
MAIN_GUI.setItem(CLOSE_IDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatColor.RED + "Menü Verlassen!"));
- MAIN_GUI.setItem(SERVER_SETTINGS_INDEX, GUIUtils.createGuiItem(Material.COMMAND_BLOCK, ChatColor.GREEN+ "Server Einstellungen"));
+ MAIN_GUI.setItem(SERVER_SETTINGS_INDEX, GUIUtils.createGuiItem(Material.COMMAND_BLOCK, ChatColor.GREEN + "Server Einstellungen"));
+ MAIN_GUI.setItem(OTHER_SETTINGS_INDEX, GUIUtils.createGuiItem(Material.COMPARATOR, ChatColor.GREEN + "Andere Einstellungen"));
for (int i = 0; i < INVENTORY_SIZE; i++) {
if (MAIN_GUI.getItem(i) == null || MAIN_GUI.getItem(i).getType() == Material.AIR) {
MAIN_GUI.setItem(i, GUIUtils.EMPTY_ICON);
@@ -49,6 +51,9 @@
case SERVER_SETTINGS_INDEX:
ServerSettingsGui.createServerSettingsGUI(p);
break;
+ case OTHER_SETTINGS_INDEX:
+ OtherSettingsGui.createOtherSettingsGUI(p);
+ break;
}
e.setCancelled(true);
}
diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java
new file mode 100644
index 0000000..6855e4e
--- /dev/null
+++ b/src/main/java/de/fanta/challenges/guis/settingsgui/OtherSettingsGui.java
@@ -0,0 +1,113 @@
+package de.fanta.challenges.guis.settingsgui;
+
+import de.fanta.challenges.Challenges;
+import de.fanta.challenges.commands.BackpackCommand;
+import de.fanta.challenges.utils.guiutils.GUIUtils;
+import de.iani.cubesideutils.bukkit.items.CustomHeads;
+import de.iani.cubesideutils.plugin.CubesideUtils;
+import net.md_5.bungee.api.ChatColor;
+import org.bukkit.Bukkit;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.inventory.InventoryClickEvent;
+import org.bukkit.inventory.Inventory;
+
+public class OtherSettingsGui implements Listener {
+
+ private static final Challenges plugin = Challenges.getPlugin();
+
+ public static final int INVENTORY_SIZE = 27;
+ private static final int BACK_INDEX = 18;
+ private static final int BACKPACK_INDEX = 10;
+ private static final int DMG_INCHAT_INDEX = 11;
+ private static final int TNT_DEATH_INDEX = 12;
+ private static final int BACKPACK_ADD_INDEX = 1;
+ private static final int BACKPACK_REMOVE_INDEX = 19;
+
+ public static final Inventory OTHER_SETTINGS_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Other Settings");
+
+ private static final int CLOSE_IDEX = 26;
+
+ public static void createOtherSettingsGUI(Player p) {
+ OTHER_SETTINGS_GUI.setItem(BACKPACK_INDEX, GUIUtils.createGuiItem(Material.LIME_SHULKER_BOX, ChatColor.GREEN + "Rucksack Größe: " + plugin.getBackpack().getSize() / 9 + "/6"));
+ if (plugin.getBackpack().getSize() < 6 * 9) {
+ OTHER_SETTINGS_GUI.setItem(BACKPACK_ADD_INDEX, CustomHeads.QUARTZ_ARROW_UP.getHead());
+ } else {
+ OTHER_SETTINGS_GUI.setItem(BACKPACK_ADD_INDEX, GUIUtils.EMPTY_ICON);
+ }
+ if (plugin.getBackpack().getSize() > 9) {
+ OTHER_SETTINGS_GUI.setItem(BACKPACK_REMOVE_INDEX, CustomHeads.QUARTZ_ARROW_DOWN.getHead());
+ } else {
+ OTHER_SETTINGS_GUI.setItem(BACKPACK_REMOVE_INDEX, GUIUtils.EMPTY_ICON);
+ }
+ if (plugin.getConfig().getBoolean("dmginchat")) {
+ OTHER_SETTINGS_GUI.setItem(DMG_INCHAT_INDEX, GUIUtils.createGuiItem(Material.PAPER, ChatColor.GREEN + "Schaden im Chat anzeigen aktiviert", true));
+ } else {
+ OTHER_SETTINGS_GUI.setItem(DMG_INCHAT_INDEX, GUIUtils.createGuiItem(Material.PAPER, ChatColor.RED + "Schaden im Chat anzeigen deaktiviert"));
+ }
+ if (plugin.getConfig().getBoolean("tntdeath")) {
+ OTHER_SETTINGS_GUI.setItem(TNT_DEATH_INDEX, GUIUtils.createGuiItem(Material.TNT, ChatColor.GREEN + "Sterben durch TnT aktiviert", true, ChatColor.GREEN + "Tötet dich mit TnT bei der nicht Springen Schleichen und Jumpen Challenge"));
+ } else {
+ OTHER_SETTINGS_GUI.setItem(TNT_DEATH_INDEX, GUIUtils.createGuiItem(Material.TNT, ChatColor.RED + "Sterben durch TnT deaktiviert", ChatColor.RED + "Tötet dich mit TnT bei der nicht Springen Schleichen und Jumpen Challenge"));
+ }
+
+ OTHER_SETTINGS_GUI.setItem(BACK_INDEX, GUIUtils.createGuiItem(Material.ARROW, ChatColor.GREEN + "Zurück"));
+ OTHER_SETTINGS_GUI.setItem(CLOSE_IDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatColor.RED + "Menü Verlassen!"));
+ for (int i = 0; i < INVENTORY_SIZE; i++) {
+ if (OTHER_SETTINGS_GUI.getItem(i) == null || OTHER_SETTINGS_GUI.getItem(i).getType() == Material.AIR) {
+ OTHER_SETTINGS_GUI.setItem(i, GUIUtils.EMPTY_ICON);
+ }
+ }
+ p.openInventory(OTHER_SETTINGS_GUI);
+ }
+
+ @EventHandler
+ public void onInventoryClick(InventoryClickEvent e) {
+ int slot = e.getRawSlot();
+ Player p = (Player) e.getWhoClicked();
+ if (e.getInventory() == OTHER_SETTINGS_GUI) {
+ switch (slot) {
+ case BACKPACK_ADD_INDEX:
+ if (plugin.getBackpack().getSize() < 6 * 9) {
+ plugin.getBackpack().resize(plugin.getBackpack().getSize() + 9);
+ }
+ break;
+ case BACKPACK_REMOVE_INDEX:
+ if (plugin.getBackpack().getSize() > 9) {
+ plugin.getBackpack().resize(plugin.getBackpack().getSize() - 9);
+ }
+ break;
+ case DMG_INCHAT_INDEX:
+ if (plugin.getConfig().getBoolean("dmginchat")) {
+ GUIUtils.sendTitleToAll("Einstellungen", "Schaden im Chat anzeigen deaktiviert", ChatColor.RED);
+ GUIUtils.setConfig("dmginchat", false);
+ } else {
+ GUIUtils.sendTitleToAll("Einstellungen", "Schaden im Chat anzeigen aktiviert", ChatColor.GREEN);
+ GUIUtils.setConfig("dmginchat", true);
+ }
+ break;
+ case TNT_DEATH_INDEX:
+ if (plugin.getConfig().getBoolean("tntdeath")) {
+ GUIUtils.sendTitleToAll("Einstellungen", "Sterben durch TnT deaktiviert", ChatColor.RED);
+ GUIUtils.setConfig("tntdeath", false);
+ } else {
+ GUIUtils.sendTitleToAll("Einstellungen", "Sterben durch TnT aktiviert", ChatColor.GREEN);
+ GUIUtils.setConfig("tntdeath", true);
+ }
+ break;
+ }
+ createOtherSettingsGUI(p);
+ switch (slot) {
+ case BACK_INDEX:
+ MainGui.createMainGUI(p);
+ break;
+ case CLOSE_IDEX:
+ p.closeInventory();
+ break;
+ }
+ e.setCancelled(true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java
index b624991..bfdaeb8 100644
--- a/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java
+++ b/src/main/java/de/fanta/challenges/guis/settingsgui/ServerSettingsGui.java
@@ -5,6 +5,9 @@
import de.fanta.challenges.utils.guiutils.GUIUtils;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.Bukkit;
+import org.bukkit.Difficulty;
+import org.bukkit.GameMode;
+import org.bukkit.GameRule;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@@ -12,6 +15,8 @@
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
+import javax.print.attribute.standard.MediaSize;
+
public class ServerSettingsGui implements Listener {
private static final Challenges plugin = Challenges.getPlugin();
@@ -19,10 +24,53 @@
public static final int INVENTORY_SIZE = 27;
public static final Inventory SERVER_SETTINGS_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Server Settings");
- private static final int CHALLENGES_INDEX = 10;
+ private static final int DIFFICULTY_INDEX = 10;
+ private static final int KEEP_INVENTORY_INDEX = 11;
+ private static final int NATURAL_REGENERATION_INDEX = 12;
+ private static final int PVP_INDEX = 16;
+ private static final int BACK_INDEX = 18;
+ private static final int CLOSE_INDEX = 26;
+ private static final int ONE_LIFE_INDEX = 14;
+ private static final int RESPAWN_INDEX = 15;
public static void createServerSettingsGUI(Player p) {
- SERVER_SETTINGS_GUI.setItem(CHALLENGES_INDEX, GUIUtils.createGuiItem(Material.REPEATER, ChatColor.GREEN + "Challenges"));
+ if (plugin.getServer().getWorld("world").getDifficulty() == Difficulty.EASY) {
+ SERVER_SETTINGS_GUI.setItem(DIFFICULTY_INDEX, GUIUtils.createGuiItem(Material.IRON_SWORD, ChatColor.AQUA + "Schwierigkeitsgrad Leicht"));
+ } else if (plugin.getServer().getWorld("world").getDifficulty() == Difficulty.NORMAL) {
+ SERVER_SETTINGS_GUI.setItem(DIFFICULTY_INDEX, GUIUtils.createGuiItem(Material.DIAMOND_SWORD, ChatColor.RED + "Schwierigkeitsgrad Mittel"));
+ } else if (plugin.getServer().getWorld("world").getDifficulty() == Difficulty.HARD) {
+ SERVER_SETTINGS_GUI.setItem(DIFFICULTY_INDEX, GUIUtils.createGuiItem(Material.NETHERITE_SWORD, ChatColor.DARK_RED + "Schwierigkeitsgrad Schwer"));
+ } else if (plugin.getServer().getWorld("world").getDifficulty() == Difficulty.PEACEFUL) {
+ SERVER_SETTINGS_GUI.setItem(DIFFICULTY_INDEX, GUIUtils.createGuiItem(Material.POPPY, ChatColor.GREEN + "Schwierigkeitsgrad Friedlich"));
+ }
+ if (plugin.getServer().getWorld("world").getPVP()) {
+ SERVER_SETTINGS_GUI.setItem(PVP_INDEX, GUIUtils.createGuiItem(Material.WOODEN_SWORD, ChatColor.GREEN + "PVP aktiviert", true));
+ } else {
+ SERVER_SETTINGS_GUI.setItem(PVP_INDEX, GUIUtils.createGuiItem(Material.WOODEN_SWORD, ChatColor.RED + "PVP deaktiviert"));
+ }
+ if (plugin.getConfig().getBoolean("onelife")) {
+ SERVER_SETTINGS_GUI.setItem(ONE_LIFE_INDEX, GUIUtils.createGuiItem(Material.SUNFLOWER, ChatColor.GREEN + "Ein Leben für alle aktiviert", true));
+ } else {
+ SERVER_SETTINGS_GUI.setItem(ONE_LIFE_INDEX, GUIUtils.createGuiItem(Material.SUNFLOWER, ChatColor.RED + "Ein Leben für alle deaktiviert"));
+ }
+ if (plugin.getConfig().getBoolean("respawn")) {
+ SERVER_SETTINGS_GUI.setItem(RESPAWN_INDEX, GUIUtils.createGuiItem(Material.TOTEM_OF_UNDYING, ChatColor.GREEN + "Wiederbeleben aktiviert", true));
+ } else {
+ SERVER_SETTINGS_GUI.setItem(RESPAWN_INDEX, GUIUtils.createGuiItem(Material.TOTEM_OF_UNDYING, ChatColor.RED + "Wiederbeleben deaktiviert"));
+ }
+ if (plugin.getServer().getWorld("world").getGameRuleValue(GameRule.KEEP_INVENTORY)) {
+ SERVER_SETTINGS_GUI.setItem(KEEP_INVENTORY_INDEX, GUIUtils.createGuiItem(Material.CHEST_MINECART,ChatColor.GREEN + "Keep Inventory aktiviert", true));
+ } else {
+ SERVER_SETTINGS_GUI.setItem(KEEP_INVENTORY_INDEX, GUIUtils.createGuiItem(Material.CHEST_MINECART,ChatColor.RED + "Keep Inventory deaktiviert"));
+ }
+ if (plugin.getServer().getWorld("world").getGameRuleValue(GameRule.NATURAL_REGENERATION)) {
+ SERVER_SETTINGS_GUI.setItem(NATURAL_REGENERATION_INDEX, GUIUtils.createGuiItem(Material.GOLDEN_APPLE,ChatColor.GREEN + "Natürliche Regeneration aktiviert", true));
+ } else {
+ SERVER_SETTINGS_GUI.setItem(NATURAL_REGENERATION_INDEX, GUIUtils.createGuiItem(Material.GOLDEN_APPLE,ChatColor.RED + "Natürliche Regeneration deaktiviert"));
+ }
+
+ SERVER_SETTINGS_GUI.setItem(CLOSE_INDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatColor.RED + "Menü Verlassen!"));
+ SERVER_SETTINGS_GUI.setItem(BACK_INDEX, GUIUtils.createGuiItem(Material.ARROW, ChatColor.GREEN + "Zurück"));
for (int i = 0; i < INVENTORY_SIZE; i++) {
if (SERVER_SETTINGS_GUI.getItem(i) == null || SERVER_SETTINGS_GUI.getItem(i).getType() == Material.AIR) {
SERVER_SETTINGS_GUI.setItem(i, GUIUtils.EMPTY_ICON);
@@ -37,8 +85,95 @@
Player p = (Player) e.getWhoClicked();
if (e.getInventory() == SERVER_SETTINGS_GUI) {
switch (slot) {
- case CHALLENGES_INDEX:
- SettingsGui.createSettingsGUI(p);
+ case DIFFICULTY_INDEX:
+ if (plugin.getServer().getWorld("world").getDifficulty() == Difficulty.EASY) {
+ plugin.getServer().getWorld("world").setDifficulty(Difficulty.NORMAL);
+ plugin.getServer().getWorld("world_nether").setDifficulty(Difficulty.NORMAL);
+ plugin.getServer().getWorld("world_the_end").setDifficulty(Difficulty.NORMAL);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Schwierigkeitsgrad Mittel", ChatColor.RED);
+ } else if (plugin.getServer().getWorld("world").getDifficulty() == Difficulty.NORMAL) {
+ plugin.getServer().getWorld("world").setDifficulty(Difficulty.HARD);
+ plugin.getServer().getWorld("world_nether").setDifficulty(Difficulty.HARD);
+ plugin.getServer().getWorld("world_the_end").setDifficulty(Difficulty.HARD);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Schwierigkeitsgrad Schwer", ChatColor.DARK_RED);
+ } else if (plugin.getServer().getWorld("world").getDifficulty() == Difficulty.HARD) {
+ plugin.getServer().getWorld("world").setDifficulty(Difficulty.PEACEFUL);
+ plugin.getServer().getWorld("world_nether").setDifficulty(Difficulty.PEACEFUL);
+ plugin.getServer().getWorld("world_the_end").setDifficulty(Difficulty.PEACEFUL);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Schwierigkeitsgrad Friedlich", ChatColor.GREEN);
+ } else if (plugin.getServer().getWorld("world").getDifficulty() == Difficulty.PEACEFUL) {
+ plugin.getServer().getWorld("world").setDifficulty(Difficulty.EASY);
+ plugin.getServer().getWorld("world_nether").setDifficulty(Difficulty.EASY);
+ plugin.getServer().getWorld("world_the_end").setDifficulty(Difficulty.EASY);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Schwierigkeitsgrad Leicht", ChatColor.AQUA);
+ }
+ break;
+ case PVP_INDEX:
+ if (plugin.getServer().getWorld("world").getPVP()) {
+ plugin.getServer().getWorld("world").setPVP(false);
+ plugin.getServer().getWorld("world_nether").setPVP(false);
+ plugin.getServer().getWorld("world_the_end").setPVP(false);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "PVP deaktiviert", ChatColor.RED);
+ } else {
+ plugin.getServer().getWorld("world").setPVP(true);
+ plugin.getServer().getWorld("world_nether").setPVP(true);
+ plugin.getServer().getWorld("world_the_end").setPVP(true);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "PVP aktiviert", ChatColor.GREEN);
+ }
+ break;
+ case ONE_LIFE_INDEX:
+ if (plugin.getConfig().getBoolean("onelife")) {
+ GUIUtils.setConfig("onelife", false);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Ein Leben für alle deaktiviert", ChatColor.RED);
+ } else {
+ GUIUtils.setConfig("onelife", true);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Ein Leben für alle aktiviert", ChatColor.GREEN);
+ }
+ break;
+ case RESPAWN_INDEX:
+ if (plugin.getConfig().getBoolean("respawn")) {
+ GUIUtils.setConfig("respawn", false);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Wiederbeleben deaktiviert", ChatColor.RED);
+ } else {
+ GUIUtils.setConfig("respawn", true);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Wiederbeleben aktiviert", ChatColor.GREEN);
+ }
+ break;
+ case KEEP_INVENTORY_INDEX:
+ if (plugin.getServer().getWorld("world").getGameRuleValue(GameRule.KEEP_INVENTORY)) {
+ plugin.getServer().getWorld("world").setGameRule(GameRule.KEEP_INVENTORY, false);
+ plugin.getServer().getWorld("world_nether").setGameRule(GameRule.KEEP_INVENTORY, false);
+ plugin.getServer().getWorld("world_the_end").setGameRule(GameRule.KEEP_INVENTORY, false);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Keep Inventory aktiviert", ChatColor.GREEN);
+ } else {
+ plugin.getServer().getWorld("world").setGameRule(GameRule.KEEP_INVENTORY, true);
+ plugin.getServer().getWorld("world_nether").setGameRule(GameRule.KEEP_INVENTORY, true);
+ plugin.getServer().getWorld("world_the_end").setGameRule(GameRule.KEEP_INVENTORY, true);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Keep Inventory deaktiviert", ChatColor.RED);
+ }
+ break;
+ case NATURAL_REGENERATION_INDEX:
+ if (plugin.getServer().getWorld("world").getGameRuleValue(GameRule.NATURAL_REGENERATION)) {
+ plugin.getServer().getWorld("world").setGameRule(GameRule.NATURAL_REGENERATION, false);
+ plugin.getServer().getWorld("world_nether").setGameRule(GameRule.NATURAL_REGENERATION, false);
+ plugin.getServer().getWorld("world_the_end").setGameRule(GameRule.NATURAL_REGENERATION, false);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Natürliche Regeneration aktiviert", ChatColor.GREEN);
+ } else {
+ plugin.getServer().getWorld("world").setGameRule(GameRule.NATURAL_REGENERATION, true);
+ plugin.getServer().getWorld("world_nether").setGameRule(GameRule.NATURAL_REGENERATION, true);
+ plugin.getServer().getWorld("world_the_end").setGameRule(GameRule.NATURAL_REGENERATION, true);
+ GUIUtils.sendTitleToAll("Server Einstellungen", "Natürliche Regeneration deaktiviert", ChatColor.RED);
+ }
+ break;
+ }
+ createServerSettingsGUI(p);
+
+ switch (slot) {
+ case BACK_INDEX:
+ MainGui.createMainGUI(p);
+ break;
+ case CLOSE_INDEX:
+ p.closeInventory();
break;
}
e.setCancelled(true);
diff --git a/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java b/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java
index b74d8f7..4083591 100644
--- a/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java
+++ b/src/main/java/de/fanta/challenges/guis/settingsgui/SettingsGui.java
@@ -17,7 +17,7 @@
private static final Challenges plugin = Challenges.getPlugin();
public static final int INVENTORY_SIZE = 54;
- public static final Inventory SETTINGS_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Settings");
+ public static final Inventory SETTINGS_GUI = Bukkit.createInventory(null, INVENTORY_SIZE, Challenges.GUIPREFIX + " >> Challenges");
private static final int CRAFTING_TABLE_INDEX = 0;
private static final int TRADING_INDEX = 9;
@@ -34,6 +34,7 @@
private static final int RANDOM_DROP_INDEX = 8;
private static final int SHUFFLE_RANDOM_DROP_INDEX = 17;
private static final int TARGET_INDEX = 4;
+ private static final int SHARE_DMG_INDEX = 28;
private static final int DMG_ON_SNEAK_INDEX = 43;
private static final int DMG_ON_SNEAK_ADD_INDEX = 34;
@@ -100,6 +101,11 @@
} else {
SETTINGS_GUI.setItem(MLG_INDEX, GUIUtils.createGuiItem(Material.WATER_BUCKET, ChatColor.RED + "MLG deaktiviert"));
}
+ if (plugin.getConfig().getBoolean("sharedmg")) {
+ SETTINGS_GUI.setItem(SHARE_DMG_INDEX, GUIUtils.createGuiItem(Material.MELON_SLICE, ChatColor.GREEN + "Geteielter Schade aktiviert", true));
+ } else {
+ SETTINGS_GUI.setItem(SHARE_DMG_INDEX, GUIUtils.createGuiItem(Material.MELON_SLICE, ChatColor.RED + "Geteielter Schade deaktiviert"));
+ }
SETTINGS_GUI.setItem(SHUFFLE_RANDOM_DROP_INDEX, GUIUtils.createGuiItem(Material.CHORUS_FLOWER, ChatColor.GREEN + "Zufällige Drops neu mischen"));
SETTINGS_GUI.setItem(CLOSE_GUI_INDEX, GUIUtils.createGuiItem(Material.BARRIER, ChatColor.RED + "Menü Verlassen!"));
SETTINGS_GUI.setItem(BACK_BUTTON_INDEX, GUIUtils.createGuiItem(Material.ARROW, ChatColor.GREEN + "Zurück"));
@@ -231,6 +237,15 @@
GUIUtils.setConfig("sneakdmg", plugin.getConfig().getDouble("sneakdmg") - 0.5);
}
break;
+ case SHARE_DMG_INDEX:
+ if (plugin.getConfig().getBoolean("sharedmg")) {
+ GUIUtils.setConfig("sharedmg", false);
+ GUIUtils.sendTitleToAll("Challenge", "Geteielter Schaden deaktieviert", ChatColor.RED);
+ } else {
+ GUIUtils.setConfig("sharedmg", true);
+ GUIUtils.sendTitleToAll("Challenge", "Geteielter Schaden aktieviert", ChatColor.GREEN);
+ }
+ break;
default:
break;
@@ -246,6 +261,4 @@
}
e.setCancelled(true);
}
-}
-
-
+}
\ No newline at end of file
diff --git a/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java b/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java
index 5b97fa6..b0f8217 100644
--- a/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java
+++ b/src/main/java/de/fanta/challenges/listeners/QuitJoinListener.java
@@ -33,7 +33,7 @@
}
Player p = e.getPlayer();
- Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatColor.of("#3D98DC") + p.getName() + ChatColor.of("#1FFF00") + " hat die Lobby betreten! " + ChatColor.of("#E4E737") + "[" + Bukkit.getServer().getOnlinePlayers().size() + "/" + Bukkit.getServer().getMaxPlayers() + "]");
+ Bukkit.broadcastMessage(Challenges.PREFIX + " " + ChatColor.of("#3D98DC") + p.getName() + ChatUtil.NORMAL + " hat die Lobby betreten! " + ChatColor.of("#E4E737") + "[" + Bukkit.getServer().getOnlinePlayers().size() + "/" + Bukkit.getServer().getMaxPlayers() + "]");
e.setJoinMessage(null);
if (plugin.getConfig().getBoolean("sharedmg")) {
int rnd = new Random().nextInt(Bukkit.getOnlinePlayers().size());
diff --git a/src/main/java/de/fanta/challenges/utils/ChatUtil.java b/src/main/java/de/fanta/challenges/utils/ChatUtil.java
index 5eaeee7..45339e8 100644
--- a/src/main/java/de/fanta/challenges/utils/ChatUtil.java
+++ b/src/main/java/de/fanta/challenges/utils/ChatUtil.java
@@ -3,12 +3,14 @@
import de.fanta.challenges.Challenges;
import de.iani.cubesideutils.bukkit.ChatUtilBukkit;
import net.md_5.bungee.api.ChatColor;
-import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
-import org.bukkit.entity.Player;
public class ChatUtil {
+ public static final ChatColor NORMAL = ChatColor.of("#1FFF00");
+ public static final ChatColor WARNING = ChatColor.of("#ffe100");
+ public static final ChatColor ERROR = ChatColor.of("#a30202");
+
private ChatUtil() {
// prevent instances
}
@@ -18,14 +20,14 @@
}
public static void sendNormalMessage(CommandSender sender, Object message, Object... messageParts) {
- sendMessage(sender, ChatColor.of("#1FFF00").toString(), message, messageParts);
+ sendMessage(sender, NORMAL.toString(), message, messageParts);
}
public static void sendWarningMessage(CommandSender sender, Object message, Object... messageParts) {
- sendMessage(sender, ChatColor.of("#ffe100").toString(), message, messageParts);
+ sendMessage(sender, WARNING.toString(), message, messageParts);
}
public static void sendErrorMessage(CommandSender sender, Object message, Object... messageParts) {
- sendMessage(sender, ChatColor.of("#a30202").toString(), message, messageParts);
+ sendMessage(sender, ERROR.toString(), message, messageParts);
}
}
diff --git a/src/main/java/de/fanta/challenges/utils/guiutils/InventoryHandler.java b/src/main/java/de/fanta/challenges/utils/guiutils/InventoryHandler.java
deleted file mode 100644
index a104731..0000000
--- a/src/main/java/de/fanta/challenges/utils/guiutils/InventoryHandler.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package de.fanta.challenges.utils.guiutils;
-
-import de.fanta.challenges.Challenges;
-import de.fanta.challenges.guis.SettingsGui;
-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/challenges/utils/guiutils/SettingButton.java b/src/main/java/de/fanta/challenges/utils/guiutils/SettingButton.java
deleted file mode 100644
index e6b11db..0000000
--- a/src/main/java/de/fanta/challenges/utils/guiutils/SettingButton.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package de.fanta.challenges.utils.guiutils;
-
-import de.fanta.challenges.Challenges;
-import me.wolfyscript.utilities.api.inventory.GuiHandler;
-import me.wolfyscript.utilities.api.inventory.button.ButtonActionRender;
-import me.wolfyscript.utilities.api.inventory.button.ButtonState;
-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 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/resources/plugin.yml b/src/main/resources/plugin.yml
index 7b8ed56..27977a6 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -4,7 +4,7 @@
load: STARTUP
api-version: 1.16
author: ${project.author}
-depend: [CubesideUtils, WolfyUtilities]
+depend: [CubesideUtils]
commands:
hp:
description: Verwalte die HP eines Spielers
@@ -40,4 +40,7 @@
leave:
description: Spiel verlassen
usage: Use /leave
- aliases: [l]
\ No newline at end of file
+ aliases: [l]
+ kick:
+ description: Spieler Kicken
+ usage: Use /kick
\ No newline at end of file