diff --git a/.gitignore b/.gitignore
index b83d222..4a9e9ef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,5 @@
/target/
+/bin/
+.gitignore
+.classpath
+.project
diff --git a/bin/pom.xml b/bin/pom.xml
index 04b6cde..678c043 100644
--- a/bin/pom.xml
+++ b/bin/pom.xml
@@ -50,6 +50,10 @@
destroystokyo-repo
https://repo.destroystokyo.com/repository/maven-public/
+
+ brokkonaut
+ https://www.iani.de/nexus/content/groups/public
+
diff --git a/pom.xml b/pom.xml
index d268225..26bca48 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,53 +1,104 @@
- 4.0.0
- net.brennholz.challenges
- Challenges
- 2.0
-
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ 4.0.0
+ net.brennholz.challenges
+ Challenges
+ 2.0
+
UTF-8
UTF-8
UTF-8
UTF-8
-
-
-
- destroystokyo-repo
- https://repo.destroystokyo.com/repository/maven-public/
-
-
-
-
- com.destroystokyo.paper
- paper-api
- 1.15.2-R0.1-SNAPSHOT
- provided
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.2.0
-
- ${project.artifactId}
-
-
-
- maven-compiler-plugin
- 3.8.1
-
+
+
+
+ destroystokyo-repo
+ https://repo.destroystokyo.com/repository/maven-public/
+
+
+ brokkonaut
+ https://www.iani.de/nexus/content/groups/public
+
+
+
+
+ com.destroystokyo.paper
+ paper-api
+ 1.15.2-R0.1-SNAPSHOT
+ provided
+
+
+ de.iani.cubeside
+ CubesideUtils
+ 1.14-SNAPSHOT
+
+
+ io.github.wolfyscript
+ wolfyutilities
+ 1.5.6.17
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.2.0
+
+ ${project.artifactId}
+
+
+
+ maven-compiler-plugin
+ 3.8.1
+
11
-
-
-
-
-
- src/main/resources
- true
-
-
-
+
+
+
+ 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
+
+
+
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
diff --git a/src/main/java/net/brennholz/challenges/Backpack.java b/src/main/java/net/brennholz/challenges/Backpack.java
index 3f3a23b..2b2287a 100644
--- a/src/main/java/net/brennholz/challenges/Backpack.java
+++ b/src/main/java/net/brennholz/challenges/Backpack.java
@@ -3,6 +3,7 @@
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;
@@ -25,10 +26,10 @@
if (p.hasPermission("challenges.backpack")) {
p.openInventory(Backpack);
} else {
- p.sendMessage("hast hierfkeine Berechtigung");
+ ChatUtil.sendErrorMessage(p, "Keine Berechtigung!");
}
} else {
- sender.sendMessage("Konsolenbefehl!");
+ ChatUtil.sendErrorMessage(sender, "You are not a Player :>");
}
return true;
}
diff --git a/src/main/java/net/brennholz/challenges/Challenges.java b/src/main/java/net/brennholz/challenges/Challenges.java
index edca76e..58bc09c 100644
--- a/src/main/java/net/brennholz/challenges/Challenges.java
+++ b/src/main/java/net/brennholz/challenges/Challenges.java
@@ -1,5 +1,6 @@
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;
@@ -17,7 +18,10 @@
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;
@@ -54,15 +58,28 @@
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());
@@ -174,6 +191,7 @@
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"));
@@ -185,7 +203,6 @@
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"));
diff --git a/src/main/java/net/brennholz/challenges/ChatUtil.java b/src/main/java/net/brennholz/challenges/ChatUtil.java
new file mode 100644
index 0000000..2e60a5b
--- /dev/null
+++ b/src/main/java/net/brennholz/challenges/ChatUtil.java
@@ -0,0 +1,28 @@
+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/commands/Challenges_Command.java b/src/main/java/net/brennholz/commands/Challenges_Command.java
index 9b3f5a8..507646f 100644
--- a/src/main/java/net/brennholz/commands/Challenges_Command.java
+++ b/src/main/java/net/brennholz/commands/Challenges_Command.java
@@ -2,6 +2,7 @@
+import net.brennholz.challenges.ChatUtil;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
@@ -11,17 +12,17 @@
@Override
public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) {
if (sender.hasPermission("challenges.challenges")) {
- sender.sendMessage("§6Challenges Ver 1.9 by Brennholz3000");
- sender.sendMessage("§6Verfügbare Befehle:");
- sender.sendMessage("§c/HP §4- §6Verwalte die HP einzelner Spieler");
- sender.sendMessage("§c/Coords §4- §6Teile oder speichere Coordinaten");
- sender.sendMessage("§c/Settings §4- §6Verwalte die Challenges Einstellungen");
- sender.sendMessage("§c/Timer §4- §6Verwalte den Timer");
- sender.sendMessage("§c/Revive §4- §6Wiederbelebe Spieler");
- sender.sendMessage("§c/Backpack §6| §c/bp §4- §6öffne das Backpack");
- sender.sendMessage("§c/Reset §4- §6Generiert eine neue Welt, setzt den Timer zurück und löscht gespeicherte Positionen");
+ 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
- sender.sendMessage("§cDu hast hierfür keine Berechtigung");
+ 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
index 0d216f0..604ef67 100644
--- a/src/main/java/net/brennholz/commands/Coords_Command.java
+++ b/src/main/java/net/brennholz/commands/Coords_Command.java
@@ -4,6 +4,7 @@
import java.util.ArrayList;
+import net.brennholz.challenges.ChatUtil;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
@@ -34,37 +35,37 @@
if (p.hasPermission("challenges.coords.view")) {
createMainGUI(p);
} else
- p.sendMessage("§cDu hast hierfür keine Berechtigung");
+ ChatUtil.sendErrorMessage(p, "Keine Berechtigung!");
} else if (args.length == 1) {
if (args[0].equalsIgnoreCase("share")) {
if (p.hasPermission("challenges.coords.share")) {
- chl.getServer().broadcastMessage("§c" + p.getName() + " §6ist bei §c" + p.getLocation().getBlockX() + " " + p.getLocation().getBlockY() + " " + p.getLocation().getBlockZ() + " §6in Welt §6" + p.getWorld().getName());
+ Bukkit.broadcastMessage("§c" + p.getName() + " §6ist bei §c" + p.getLocation().getBlockX() + " " + p.getLocation().getBlockY() + " " + p.getLocation().getBlockZ() + " §6in Welt §6" + p.getWorld().getName());
} else
- p.sendMessage("§cDu hast hierfür keine Berechtigung");
+ ChatUtil.sendErrorMessage(p, "Keine Berechtigung!");
} else if (args[0].equalsIgnoreCase("get")) {
if (p.hasPermission("challenges.coords.get")) {
- p.sendMessage("§6Verfügbare Positionen:");
+ ChatUtil.sendNormalMessage(p, "Verfügbare Positionen:");
for (String key : chl.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) {
- p.sendMessage("§c" + key);
+ ChatUtil.sendNormalMessage(p, key);
}
} else
- p.sendMessage("§cDu hast hierfür keine Berechtigung");
+ ChatUtil.sendErrorMessage(p, "Keine Berechtigung!");
} else
- p.sendMessage("§cBenutze: /coords share/save/get/delete [Name]");
+ 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])) {
- chl.getServer().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]");
+ 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
- p.sendMessage("§cDiese Position existiert bereits! Benutze einen anderen Namen oder lösche die alte zuerst mit /coords delete " + args[1]);
+ ChatUtil.sendWarningMessage(p, "Diese Position existiert bereits! Benutze einen anderen Namen oder lösche die alte zuerst mit /coords delete " + args[1]);
} else
- p.sendMessage("§cDu hast hierfür keine Berechtigung");
+ 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])) {
@@ -72,25 +73,25 @@
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");
- p.sendMessage("§7| §aPosition §8>> §2" + p.getName() + " §7- " + args[1] + " §7[§2" + x + "§7/§2" + y + "§7/§2" + z + " " + w + "§7]");
+ ChatUtil.sendNormalMessage(p, "§aPosition §8>> §2" + p.getName() + " §7- " + args[1] + " §7[§2" + x + "§7/§2" + y + "§7/§2" + z + " " + w + "§7]");
} else
- p.sendMessage("§cDiese Position existiert nicht!");
+ ChatUtil.sendWarningMessage(p, "§cDiese Position existiert nicht!");
} else
- p.sendMessage("§cDu hast hierfür keine Berechtigung");
+ 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
- p.sendMessage("§cDiese Position existiert nicht!");
+ ChatUtil.sendWarningMessage(p, "Diese Position existiert nicht!");
} else
- p.sendMessage("§cDu hast hierfür keine Berechtigung");
+ ChatUtil.sendErrorMessage(p, "Keine Berechtigung!");
} else
- p.sendMessage("§cBenutze: /coords share/save/get/delete [Name]");
+ ChatUtil.sendWarningMessage(p, "Benutze: /coords share/save/get/delete [Name]");
}
} else
- sender.sendMessage("§cKein Konsolenbefehl!");
+ ChatUtil.sendErrorMessage(sender, "You are not a Player :>");
return true;
}
diff --git a/src/main/java/net/brennholz/commands/HP_Command.java b/src/main/java/net/brennholz/commands/HP_Command.java
index 8fde042..d0ce104 100644
--- a/src/main/java/net/brennholz/commands/HP_Command.java
+++ b/src/main/java/net/brennholz/commands/HP_Command.java
@@ -2,6 +2,7 @@
+import net.brennholz.challenges.ChatUtil;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
@@ -22,15 +23,15 @@
pp.setMaxHealth(Double.parseDouble(args[1]));
pp.setHealth(pp.getMaxHealth());
}
- sender.sendMessage("§6Du hast die maximalen HP auf §c" + args[1] + " §6gesetzt!");
+ 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;
- sender.sendMessage("§6" + p.getName() + " §ebesitzt derzeit §6" + p.getHealth() + "HP§e!");
+ ChatUtil.sendNormalMessage(p, p.getName() + " besitzt derzeit " + p.getHealth() + "HP!");
} else
- sender.sendMessage("§cDieser Spieler ist nicht online!");
+ ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!");
} else if (args.length >= 3) {
OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1]));
if (other.isOnline()) {
@@ -40,58 +41,48 @@
if (args[0].equalsIgnoreCase("add")) {
if (!(finaladdhp > p.getMaxHealth()) && !(finaladdhp < 0)) {
p.setHealth(finaladdhp);
- p.sendMessage("§aDu wurdest von §b" + sender.getName() + " §aum §c" + args[2]
- + "HP §ageheilt!");
- sender.sendMessage(
- "§aDu hast §b" + p.getName() + " §aum §c" + args[2] + "HP §ageheilt!");
+ ChatUtil.sendNormalMessage(p, "Du wurdest von " + sender.getName() + " um " + args[2] + "HP geheilt!");
} else
- sender.sendMessage("§cUnm§gliche Operation");
+ ChatUtil.sendErrorMessage(sender, "Operation nicht möglich!");
}
if (args[0].equalsIgnoreCase("remove")) {
if (!(finalremhp > p.getMaxHealth()) && !(finalremhp < 0)) {
p.setHealth(finalremhp);
- p.sendMessage("§4" + sender.getName() + " §chat dir §4" + args[2] + "HP §centfernt!");
- sender.sendMessage("§cDu hast §4" + p.getName() + " " + args[2] + "HP §centfernt!");
+ ChatUtil.sendNormalMessage(p, sender.getName() + " hat dir " + args[2] + "HP §centfernt!");
+ ChatUtil.sendNormalMessage(sender, "Du hast " + p.getName() + " " + args[2] + "HP §centfernt!");
} else
- sender.sendMessage("§cUnmögliche Operation!");
+ 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]));
- p.sendMessage(
- "§6" + sender.getName() + " §ehat deine HP auf §6" + args[2] + " §egesetzt!");
- sender.sendMessage("§eDu hast die HP von §6" + p.getName() + " §eauf §6" + args[2]
- + " §egesetzt!");
+ 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
- sender.sendMessage("§cUnmögliche Operation");
+ ChatUtil.sendErrorMessage(sender, "Operation nicht möglich!");
}
} else
- sender.sendMessage("§cDieser Spieler ist nicht online!");
+ ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!");
} else {
- sender.sendMessage("§c~~~~~ §6HP command §c~~~~~");
- sender.sendMessage("§c/HP Get §4- §6Erhalte die aktuelen HP eines Spielers");
- sender.sendMessage(
- "§c/HP Add §4- §6Füge einem Spieler die angegebene Zahl an Herzen hinzu");
- sender.sendMessage(
- "§c/HP Remove §4- §6Entferne einem Spieler die angegebene Zahl an Herzen");
- sender.sendMessage(
- "§c/HP Set §4- §6Setze die Herzen eines Spieler auf die angegebene Zahl");
- sender.sendMessage("§c/HP Max §4- §6Setze die maximalen HP aller Spieler");
+ 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 {
- sender.sendMessage("§c~~~~~ §6HP command §c~~~~~");
- sender.sendMessage("§c/HP Get §4- §6Erhalte die aktuelen HP eines Spielers");
- sender.sendMessage(
- "§c/HP Add §4- §6Füge einem Spieler die angegebene Zahl an Herzen hinzu");
- sender.sendMessage(
- "§c/HP Remove §4- §6Entferne einem Spieler die angegebene Zahl an Herzen");
- sender.sendMessage(
- "§c/HP Set §4- §6Setze die Herzen eines Spieler auf die angegebene Zahl");
- sender.sendMessage("§c/HP Max §4- §6Setze die maximalen HP aller Spieler");
+ 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
- sender.sendMessage("§cDu hast hierfür keine Berechtigung");
+ ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!");
return true;
}
}
diff --git a/src/main/java/net/brennholz/commands/Revive_Command.java b/src/main/java/net/brennholz/commands/Revive_Command.java
index d47fc30..19ec4f6 100644
--- a/src/main/java/net/brennholz/commands/Revive_Command.java
+++ b/src/main/java/net/brennholz/commands/Revive_Command.java
@@ -28,15 +28,14 @@
p.setHealth(p.getMaxHealth());
p.setGameMode(GameMode.SURVIVAL);
}
- chl.getServer().broadcastMessage("§bAlle Spieler wurden wiederbelebt! §aEs kann weiter gehen!");
+ 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);
- chl.getServer().broadcastMessage(
- "§b" + p.getName() + " §awurde von §b" + sender.getName() + " §awiederbelebt!");
+ Bukkit.broadcastMessage("§b" + p.getName() + " §awurde von §b" + sender.getName() + " §awiederbelebt!");
} else
sender.sendMessage("§cDieser Spieler ist nicht online!");
}
diff --git a/src/main/java/net/brennholz/commands/Settings_Command.java b/src/main/java/net/brennholz/commands/Settings_Command.java
index c4d308c..6dc8de1 100644
--- a/src/main/java/net/brennholz/commands/Settings_Command.java
+++ b/src/main/java/net/brennholz/commands/Settings_Command.java
@@ -1,5 +1,7 @@
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;
@@ -17,7 +19,8 @@
Player p = (Player) sender;
if (args.length == 0) {
if (p.hasPermission("challenges.settings.view")) {
- chl.createGUI(p);
+ WolfyUtilities.getAPI(chl).getInventoryAPI().openCluster(p, "none");
+ //chl.createGUI(p);
} else {
p.sendMessage("hast hierfkeine Berechtigung");
}
diff --git a/src/main/java/net/brennholz/gui/InventoryHandler.java b/src/main/java/net/brennholz/gui/InventoryHandler.java
new file mode 100644
index 0000000..cd9c49c
--- /dev/null
+++ b/src/main/java/net/brennholz/gui/InventoryHandler.java
@@ -0,0 +1,26 @@
+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
new file mode 100644
index 0000000..ecc409e
--- /dev/null
+++ b/src/main/java/net/brennholz/gui/SettingButton.java
@@ -0,0 +1,39 @@
+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
new file mode 100644
index 0000000..eaa4dc6
--- /dev/null
+++ b/src/main/java/net/brennholz/gui/SettingsGui.java
@@ -0,0 +1,82 @@
+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/plugin.yml b/src/main/resources/plugin.yml
index 5799110..ddfa262 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -3,6 +3,7 @@
version: 2.0
api-version: 1.13
load: STARTUP
+depend: [WolfyUtilities]
author: Brennholz3000
commands:
hp: