diff --git a/CommandGUI V2/pom.xml b/CommandGUI V2/pom.xml
index 5ba3556..9960bf5 100644
--- a/CommandGUI V2/pom.xml
+++ b/CommandGUI V2/pom.xml
@@ -6,10 +6,9 @@
net.t2code
CommandGUI_V2
- 2.6.2_Snapshot-2
+ 2.7.0
jar
-
CommandGUI
@@ -66,7 +65,10 @@
T2Code
https://repo.t2code.net/repository/T2Code/
-
+
+ placeholderapi
+ https://repo.extendedclip.com/content/repositories/placeholderapi/
+
@@ -83,98 +85,23 @@
net.t2code
T2CodeLib
- 11.4
+ 11.6
net.t2code
LuckyBox-API
4.2.2
-
- net.t2code.minecraft.1_18.r2
- spigot
- 1.18r2
-
-
- net.t2code.minecraft.1_18.r1
- spigot
- 1.18r1
-
-
- net.t2code.minecraft.1_17.r1
- spigot
- 1.17r1
-
-
- net.t2code.minecraft.1_16.r3
- spigot
- 1.16r3
-
net.t2code.minecraft.1_16.r2
spigot
1.16r2
-
- net.t2code.minecraft.1_16.r1
- spigot
- 1.16r1
-
-
- net.t2code.minecraft.1_15.r1
- spigot
- 1.15r1
-
-
- net.t2code.minecraft.1_14.r1
- spigot
- 1.14r1
-
-
- net.t2code.minecraft.1_13.r2
- spigot
- 1.13r2
-
-
- net.t2code.minecraft.1_13.r1
- spigot
- 1.13r1
-
-
- net.t2code.minecraft.1_12.r1
- spigot
- 1.12r1
-
-
- net.t2code.minecraft.1_11.r1
- spigot
- 1.11r1
-
net.t2code.minecraft.1_10.r1
spigot
1.10r1
-
- net.t2code.minecraft.1_9.r2
- spigot
- 1.9r2
-
-
- net.t2code.minecraft.1_9.r1
- spigot
- 1.9r1
-
-
- net.t2code.minecraft.1_8.r3
- spigot
- 1.8r3
-
-
- net.t2code.minecraft.1_8.r2
- spigot
- 1.8r2
-
net.t2code.minecraft.1_8.r1
spigot
@@ -183,7 +110,23 @@
com.zaxxer
HikariCP
- 3.4.5
+ 4.0.3
+
+
+ org.slf4j
+ slf4j-jdk14
+ 1.7.10
+
+
+ org.slf4j
+ slf4j-api
+ 1.7.22
+
+
+ me.clip
+ placeholderapi
+ 2.11.1
+ provided
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ConfigChat.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ConfigChat.java
deleted file mode 100644
index 1c7e936..0000000
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ConfigChat.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package de.jatitv.commandguiv2.Spigot.Listener;
-
-import de.jatitv.commandguiv2.Spigot.Objekte.Slot;
-import de.jatitv.commandguiv2.Spigot.Main;
-import de.jatitv.commandguiv2.Spigot.Objekte.Object;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.AsyncPlayerChatEvent;
-
-import java.util.HashMap;
-
-public class ConfigChat implements Listener {
- public static HashMap EditChat = new HashMap<>();
-
- @EventHandler
- public void onChat(AsyncPlayerChatEvent playerChatEvent) {
- Player player = playerChatEvent.getPlayer();
- if (EditChat.containsKey(player)) {
- if (playerChatEvent.getMessage().equals("cancel")) {
- //player.sendMessage(DefaultValue.SettingsGUIchatIsCanceled.replace("[setting]", EditChat.get(player)));
- } else {
- for (Object gui : Main.guiHashMap.values()) {
- for (Slot slot : gui.GUI_Slots) {
- if (slot.ConfigOptionPath.equals(EditChat.get(player))) {
-
-
- }
- }
- }
- }
- }
- }
-}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUIListener.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUIListener.java
new file mode 100644
index 0000000..7aac6c1
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUIListener.java
@@ -0,0 +1,277 @@
+package de.jatitv.commandguiv2.Spigot.Listener;
+
+import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
+import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
+import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands;
+import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
+import de.jatitv.commandguiv2.Spigot.system.Bungee_Sender_Reciver;
+import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
+import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
+import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
+import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
+import de.jatitv.commandguiv2.Spigot.Main;
+import de.jatitv.commandguiv2.Util;
+import net.t2code.lib.Spigot.Lib.items.ItemVersion;
+import net.t2code.lib.Spigot.Lib.messages.send;
+import net.t2code.lib.Spigot.Lib.replace.Replace;
+import net.t2code.lib.Spigot.Lib.vault.Vault;
+import org.bukkit.Bukkit;
+import org.bukkit.Material;
+import org.bukkit.Sound;
+import org.bukkit.configuration.file.YamlConfiguration;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.Listener;
+import org.bukkit.event.inventory.ClickType;
+import org.bukkit.event.inventory.InventoryClickEvent;
+import org.bukkit.plugin.Plugin;
+import org.bukkit.plugin.java.JavaPlugin;
+import org.bukkit.scheduler.BukkitRunnable;
+
+import java.io.File;
+import java.io.IOException;
+
+public class GUIListener implements Listener {
+
+ private static String prefix = Util.getPrefix();
+ public static String GUICode;
+ private static Plugin plugin = Main.plugin;
+
+ @EventHandler
+ public void onInventoryClick(InventoryClickEvent e) {
+ Player player = (Player) e.getWhoClicked();
+ JavaPlugin plugin = Main.plugin;
+ if (e.getInventory() == null) return;
+ if (e.getCurrentItem() == null) return;
+ for (Gui gui : Main.guiHashMap.values()) {
+ if (player.getOpenInventory().getTitle().equals(Replace.replace(prefix, GUICode + gui.guiName))
+ || (Main.PaPi && player.getOpenInventory().getTitle().equals(Replace.replace(prefix, player, GUICode + gui.guiName)))) {
+ e.setCancelled(true);
+ for (Slot slot : gui.slots) {
+ Function function = Main.functionHashMap.get(slot.function);
+ if (e.getSlot() != slot.slot) continue;
+ if (slot.permission && !player.hasPermission(slot.permissionToSee)) continue;
+ if (slot.permission && !player.hasPermission(slot.permissionToUse)) {
+ player.sendMessage(SelectMessages.NoPermissionForItem.replace("[item]", Replace.replace(prefix, function.name))
+ .replace("[perm]", slot.permissionToUse));
+ continue;
+ }
+ if (e.getCurrentItem().getType() == ItemVersion.getHead() || e.getCurrentItem().getType() == ItemVersion.getGreenWool().getType() ||
+ e.getCurrentItem().getType() == ItemVersion.getRedWool().getType() ||
+ e.getCurrentItem().getType() == Material.valueOf(function.item.toUpperCase().replace(".", "_"))) {
+ if (!slot.enable) continue;
+ if (function.cost_Enable) {
+ if (function.command_Enable || function.message_Enable || function.openGUI_Enable || function.serverChange) {
+
+ if (!Vault.buy(prefix, player, function.price)) {
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ player.closeInventory();
+ }
+ }.runTaskLater(plugin, 1L);
+ player.sendMessage(SelectMessages.No_money);
+ if (SelectConfig.Sound_NoMoney_Enable && SelectConfig.Sound_Enable)
+ player.playSound(player.getLocation(), SelectConfig.Sound_NoMoney, 3, 1);
+ } else {
+ player.sendMessage(SelectMessages.Buy_msg.replace("[itemname]", Replace.replace(prefix, function.name))
+ .replace("[price]", function.price + " " + SelectConfig.Currency));
+ execute(function, slot, player, e, gui);
+ }
+ }
+ } else {
+ execute(function, slot, player, e, gui);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ private static void execute(Function function, Slot slot, Player player, InventoryClickEvent e, Gui gui) {
+ if (function.togglePermission) togglePerm(function, gui, player);
+ if (function.toggleUseItem) toggleUseItem(player, gui);
+ if (function.command_Enable) command(function, player);
+ if (function.openGUI_Enable) openGUI(function, player);
+ if (function.message_Enable) message(function, player);
+ if (function.serverChange) serverChange(function, player);
+ if (function.setConfigEnable) setConfig(function, player, e);
+ if (SelectConfig.Sound_Enable && SelectConfig.Sound_Click_Enable) sound(function, slot, player, gui);
+ }
+
+ private static void command(Function slot, Player player) {
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ player.closeInventory();
+ }
+ }.runTaskLater(plugin, 1L);
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ if (slot.command_BungeeCommand) {
+ if (SelectConfig.Bungee) {
+ for (String cmd : slot.command) {
+ Bungee_Sender_Reciver.sendToBungee(player, cmd.replace("[player]", player.getName()), slot.commandAsConsole);
+ }
+ } else {
+ send.console(prefix + " §4To use bungee commands, enable the Bungee option in the config.");
+ send.player(player, prefix + " §4To use bungee commands, enable the Bungee option in the config.");
+ }
+ } else {
+ for (String cmd : slot.command) {
+ if (slot.commandAsConsole) {
+ Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd.replace("[player]", player.getName()));
+ } else player.chat("/" + cmd.replace("[player]", player.getName()));
+ }
+ }
+ }
+ }.runTaskLater(plugin, 2L);
+ }
+
+ private static void openGUI(Function slot, Player player) {
+ player.closeInventory();
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ OpenGUI.openGUI(player, slot.openGUI, true);
+ }
+ }.runTaskLater(plugin, 1L);
+ }
+
+ private static void message(Function slot, Player player) {
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ player.closeInventory();
+ }
+ }.runTaskLater(plugin, 1L);
+ for (String msg : slot.message) {
+ if (Main.PaPi) {
+ if (slot.cost_Enable) {
+ player.sendMessage(Replace.replacePrice(prefix, player, msg, slot.price + " " + SelectConfig.Currency));
+ } else player.sendMessage(Replace.replace(prefix, player, msg.replace("[prefix]", prefix)));
+ } else {
+ if (slot.cost_Enable) {
+ player.sendMessage(Replace.replacePrice(prefix, msg, slot.price + " " + SelectConfig.Currency));
+ } else player.sendMessage(Replace.replace(prefix, msg.replace("[prefix]", prefix)));
+ }
+ }
+ }
+
+ private static void serverChange(Function slot, Player player) {
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ player.closeInventory();
+ }
+ }.runTaskLater(plugin, 1L);
+ send.player(player, SelectMessages.onServerChange.replace("[server]", slot.serverChangeServer));
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ ServerChange.send(player, slot.serverChangeServer);
+ }
+ }.runTaskLater(Main.plugin, 20L);
+ }
+
+ private static void setConfig(Function slot, Player player, InventoryClickEvent e) {
+ File config = new File(slot.configFilePath);
+ YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
+
+ if (e.getClick() == ClickType.LEFT) {
+ if (slot.configOptionPremat.equals("String")) {
+ yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configStringValueLeft);
+ } else if (slot.configOptionPremat.equals("Boolean")) {
+ yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configBooleanValueLeft);
+ } else if (slot.configOptionPremat.equals("Integer")) {
+ yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configIntegerValueLeft);
+ } else if (slot.configOptionPremat.equals("Double")) {
+ yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configDoubleValueLeft);
+ } else if (slot.configOptionPremat.equals("List")) {
+ yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configListValueLeft);
+ } else {
+ player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo
+ }
+ }
+ if (e.getClick() == ClickType.RIGHT) {
+ if (slot.configOptionPremat.equals("String")) {
+ yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configStringValueRight);
+ } else if (slot.configOptionPremat.equals("Boolean")) {
+ yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configBooleanValueRight);
+ } else if (slot.configOptionPremat.equals("Integer")) {
+ yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configIntegerValueRight);
+ } else if (slot.configOptionPremat.equals("Double")) {
+ yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configDoubleValueRight);
+ } else if (slot.configOptionPremat.equals("List")) {
+ yamlConfiguration.set(slot.configOptionPath.replace("/", "."), slot.configListValueRight);
+ } else {
+ player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo
+ }
+ }
+ try {
+ yamlConfiguration.save(config);
+ } catch (IOException tac) {
+ tac.printStackTrace();
+ }
+ if (slot.pluginReloadEnable) {
+ Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), slot.pluginReloadCommand);
+ }
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ player.closeInventory();
+ }
+ }.runTaskLater(plugin, 1L);
+ }
+
+ private static void sound(Function function, Slot slot, Player player, Gui gui) {
+ if (function.customSound_Enable) {
+ if (!function.customSound_NoSound) {
+ try {
+ player.playSound(player.getLocation(), Sound.valueOf(function.customSound_Sound.toUpperCase().replace(".", "_")), 3, 1);
+ } catch (Exception e1) {
+ send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", prefix)
+ .replace("[sound]", "§6GUI: §e" + Replace.replace(prefix, gui.guiName) + "§r §6Slot: §e" + slot.slot + " §6CustomSound: §9" + function.customSound_Sound));
+ player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
+ }
+ }
+ } else player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
+ }
+
+ private static void togglePerm(Function function, Gui gui, Player player) {
+ if (player.hasPermission(function.togglePermissionPerm)) {
+ Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermFalse.replace("[player]", player.getName()).replace("[perm]", function.togglePermissionPerm));
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ player.closeInventory();
+ OpenGUI.openGUI(player, gui.key, false);
+ }
+ }.runTaskLater(plugin, 4L);
+ } else
+ Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermTrue.replace("[player]", player.getName()).replace("[perm]", function.togglePermissionPerm));
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ player.closeInventory();
+ OpenGUI.openGUI(player, gui.key, false);
+ }
+ }.runTaskLater(plugin, 4L);
+ }
+
+ private static void toggleUseItem(Player player, Gui gui) {
+ if (Events.useItemHashMap.get(player)) {
+ Commands.itemOff(player);
+ } else {
+ Commands.itemOn(player);
+ }
+ new BukkitRunnable() {
+ @Override
+ public void run() {
+ player.closeInventory();
+ OpenGUI.openGUI(player, gui.key, false);
+ }
+ }.runTaskLater(plugin, 2L);
+ }
+}
\ No newline at end of file
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUI_Listener.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUI_Listener.java
deleted file mode 100644
index 0a95d66..0000000
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/GUI_Listener.java
+++ /dev/null
@@ -1,245 +0,0 @@
-package de.jatitv.commandguiv2.Spigot.Listener;
-
-import de.jatitv.commandguiv2.Spigot.Objekte.Slot;
-import de.jatitv.commandguiv2.Spigot.system.Bungee_Sender_Reciver;
-import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
-import de.jatitv.commandguiv2.Spigot.Objekte.Object;
-import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
-import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
-import de.jatitv.commandguiv2.Spigot.Main;
-import de.jatitv.commandguiv2.Util;
-import net.t2code.lib.Spigot.Lib.items.ItemVersion;
-import net.t2code.lib.Spigot.Lib.messages.send;
-import net.t2code.lib.Spigot.Lib.replace.Replace;
-import net.t2code.lib.Spigot.Lib.vault.Vault;
-import org.bukkit.Bukkit;
-import org.bukkit.Material;
-import org.bukkit.Sound;
-import org.bukkit.configuration.file.YamlConfiguration;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.inventory.ClickType;
-import org.bukkit.event.inventory.InventoryClickEvent;
-import org.bukkit.plugin.Plugin;
-import org.bukkit.plugin.java.JavaPlugin;
-import org.bukkit.scheduler.BukkitRunnable;
-
-import java.io.File;
-import java.io.IOException;
-
-public class GUI_Listener implements Listener {
-
- private static String prefix = Util.getPrefix();
- public static String GUICode;
- private static Plugin plugin = Main.plugin;
-
- @EventHandler
- public void onInventoryClick(InventoryClickEvent e) {
- Player player = (Player) e.getWhoClicked();
- JavaPlugin plugin = Main.plugin;
- if (e.getInventory() == null) return;
- if (e.getCurrentItem() == null) return;
- for (Object gui : Main.guiHashMap.values()) {
- if (player.getOpenInventory().getTitle().equals(Replace.replace(prefix, GUICode + gui.GUI_Name))
- || (Main.PaPi && player.getOpenInventory().getTitle().equals(Replace.replace(prefix, player, GUICode + gui.GUI_Name)))) {
- e.setCancelled(true);
- for (Slot slot : gui.GUI_Slots) {
- if (e.getSlot() != slot.Slot) continue;
- if (e.getCurrentItem().getType() == ItemVersion.getHead() || e.getCurrentItem().getType() == Material.valueOf(slot.Item.toUpperCase().replace(".", "_"))) {
- if (!slot.Perm
- || player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1))
- || player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1) + ".use")
- || player.hasPermission("commandgui.admin")) {
- if (!slot.Enable) continue;
- if (!e.getCurrentItem().getItemMeta().getDisplayName().equals(Replace.replace(prefix, slot.Name))) continue;
- if (slot.Cost_Enable) {
- if (slot.Command_Enable || slot.Message_Enable || slot.OpenGUI_Enable || slot.ServerChange) {
- if (!Vault.buy(prefix, player, slot.Price)) {
- new BukkitRunnable() {
- @Override
- public void run() {
- player.closeInventory();
- }
- }.runTaskLater(plugin, 1L);
- player.sendMessage(SelectMessages.No_money);
- if (SelectConfig.Sound_NoMoney_Enable && SelectConfig.Sound_Enable)
- player.playSound(player.getLocation(), SelectConfig.Sound_NoMoney, 3, 1);
- } else {
- player.sendMessage(SelectMessages.Buy_msg.replace("[itemname]", Replace.replace(prefix, slot.Name))
- .replace("[price]", slot.Price + " " + SelectConfig.Currency));
- execute(slot, player, e, gui);
- }
- }
- } else execute(slot, player, e, gui);
- } else player.sendMessage(SelectMessages.NoPermissionForItem.replace("[item]", Replace.replace(prefix, slot.Name))
- .replace("[perm]", "commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1)));
- }
- }
- }
- }
- }
-
- private static void execute(Slot slot, Player player, InventoryClickEvent e, Object gui) {
- if (slot.Command_Enable) command(slot, player);
- if (slot.OpenGUI_Enable) openGUI(slot, player);
- if (slot.Message_Enable) message(slot, player);
- if (slot.ServerChange) serverChange(slot, player);
- if (slot.SetConfigEnable) setConfig(slot, player, e);
- if (SelectConfig.Sound_Enable && SelectConfig.Sound_Click_Enable) sound(slot, player, gui);
- }
-
- private static void command(Slot slot, Player player) {
- new BukkitRunnable() {
- @Override
- public void run() {
- player.closeInventory();
- }
- }.runTaskLater(plugin, 1L);
- new BukkitRunnable() {
- @Override
- public void run() {
- if (slot.Command_BungeeCommand) {
- if (SelectConfig.Bungee) {
- for (String cmd : slot.Command) {
- Bungee_Sender_Reciver.sendToBungee(player, cmd.replace("[player]", player.getName()), slot.CommandAsConsole);
- }
- } else {
- send.console(prefix + " §4To use bungee commands, enable the Bungee option in the config.");
- send.player(player, prefix + " §4To use bungee commands, enable the Bungee option in the config.");
- }
- } else {
- for (String cmd : slot.Command) {
- if (slot.CommandAsConsole) {
- Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd.replace("[player]", player.getName()));
- } else player.chat("/" + cmd.replace("[player]", player.getName()));
- }
- }
- }
- }.runTaskLater(plugin, 2L);
- }
-
- private static void openGUI(Slot slot, Player player) {
- new BukkitRunnable() {
- @Override
- public void run() {
- player.closeInventory();
- }
- }.runTaskLater(plugin, 1L);
- new BukkitRunnable() {
- @Override
- public void run() {
- OpenGUI.openGUI(player, Main.guiHashMap.get(slot.OpenGUI), slot.OpenGUI);
- }
- }.runTaskLater(plugin, 2L);
- }
-
- private static void message(Slot slot, Player player) {
- new BukkitRunnable() {
- @Override
- public void run() {
- player.closeInventory();
- }
- }.runTaskLater(plugin, 1L);
- for (String msg : slot.Message) {
- if (Main.PaPi) {
- if (slot.Cost_Enable) {
- player.sendMessage(Replace.replacePrice(prefix, player, msg, slot.Price + " " + SelectConfig.Currency));
- } else player.sendMessage(Replace.replace(prefix, player, msg.replace("[prefix]", prefix)));
- } else {
- if (slot.Cost_Enable) {
- player.sendMessage(Replace.replacePrice(prefix, msg, slot.Price + " " + SelectConfig.Currency));
- } else player.sendMessage(Replace.replace(prefix, msg.replace("[prefix]", prefix)));
- }
- }
- }
-
- private static void serverChange(Slot slot, Player player) {
- new BukkitRunnable() {
- @Override
- public void run() {
- player.closeInventory();
- }
- }.runTaskLater(plugin, 1L);
- send.player(player, SelectMessages.onServerChange.replace("[server]", slot.ServerChangeServer));
- new BukkitRunnable() {
- @Override
- public void run() {
- ServerChange.send(player, slot.ServerChangeServer);
- }
- }.runTaskLater(Main.plugin, 20L);
- }
-
- private static void setConfig(Slot slot, Player player, InventoryClickEvent e) {
- File config = new File(slot.ConfigFilePath);
- YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
- /*if (slot.ConfigChatInput){
- ConfigChat.EditChat.put(player, slot.ConfigOptionPath);
- player.sendMessage(DefaultValue.SettingsGUIchatSet.replace("[setting]", "Shop Name Chest small"));
- player.sendMessage(DefaultValue.SettingsGUIchatCancel);
- } else
- {
- */
- if (e.getClick() == ClickType.LEFT) {
- if (slot.ConfigOptionPremat.equals("String")) {
- yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigStringValueLeft);
- } else if (slot.ConfigOptionPremat.equals("Boolean")) {
- yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigBooleanValueLeft);
- } else if (slot.ConfigOptionPremat.equals("Integer")) {
- yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigIntegerValueLeft);
- } else if (slot.ConfigOptionPremat.equals("Double")) {
- yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigDoubleValueLeft);
- } else if (slot.ConfigOptionPremat.equals("List")) {
- yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigListValueLeft);
- } else {
- player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo
- }
- }
- if (e.getClick() == ClickType.RIGHT) {
- if (slot.ConfigOptionPremat.equals("String")) {
- yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigStringValueRight);
- } else if (slot.ConfigOptionPremat.equals("Boolean")) {
- yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigBooleanValueRight);
- } else if (slot.ConfigOptionPremat.equals("Integer")) {
- yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigIntegerValueRight);
- } else if (slot.ConfigOptionPremat.equals("Double")) {
- yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigDoubleValueRight);
- } else if (slot.ConfigOptionPremat.equals("List")) {
- yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigListValueRight);
- } else {
- player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo
- }
- }
- try {
- yamlConfiguration.save(config);
- } catch (IOException tac) {
- tac.printStackTrace();
- }
- if (slot.PluginReloadEnable) {
- Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), slot.PluginReloadCommand);
- }
- new BukkitRunnable() {
- @Override
- public void run() {
- player.closeInventory();
- }
- }.runTaskLater(plugin, 1L);
- }
-
- private static void sound(Slot slot, Player player, Object gui) {
- if (slot.CustomSound_Enable) {
- if (!slot.CustomSound_NoSound) {
- try {
- player.playSound(player.getLocation(), Sound.valueOf(slot.CustomSound_Sound.toUpperCase().replace(".", "_")), 3, 1);
-
- } catch (Exception e1) {
- send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", prefix)
- .replace("[sound]", "§6GUI: §e" + Replace.replace(prefix, gui.GUI_Name) + "§r §6Slot: §e" + slot.Slot + " §6CustomSound: §9" + slot.CustomSound_Sound));
- player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
- }
- }
- } else player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
- }
-}
-
-
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ItemChange.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ItemChange.java
index 4e2f9b8..1b9e68f 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ItemChange.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/ItemChange.java
@@ -1,14 +1,11 @@
package de.jatitv.commandguiv2.Spigot.Listener;
+import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
import de.jatitv.commandguiv2.Spigot.Main;
-import de.jatitv.commandguiv2.Spigot.system.Give_UseItem;
+import de.jatitv.commandguiv2.Spigot.system.UseItem;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
-import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
-import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send;
-import org.bukkit.Material;
import org.bukkit.entity.Player;
-import org.bukkit.inventory.ItemStack;
import org.bukkit.scheduler.BukkitRunnable;
public class ItemChange {
@@ -17,46 +14,25 @@ public class ItemChange {
if (SelectConfig.UseItem_InventorySlotEnforce) {
slot = SelectConfig.UseItem_InventorySlot;
} else {
- if (Select_Database.selectSlot(player) == null) {
+ if (Events.useItemSlotHashMap.get(player) == null) {
slot = SelectConfig.UseItem_InventorySlot;
} else {
- slot = Select_Database.selectSlot(player);
+ slot = Events.useItemSlotHashMap.get(player);
}
}
+
if (!SelectConfig.UseItem_Enable) {
return;
}
- if (SelectConfig.UseItemGameModeProtection) {
- if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
- if (SelectConfig.UseItemGameModeRemoveItemWhenItIsDisabled) removeItem(player);
- send.debug(Main.plugin,"GameMode disabled: " +player.getName() +" " +player.getGameMode().toString());
- return;
- }
- if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
- if (SelectConfig.UseItemGameModeRemoveItemWhenItIsDisabled) removeItem(player);
- send.debug(Main.plugin,"GameMode disabled: " +player.getName() +" " +player.getGameMode().toString());
- return;
- }
- }
- if (SelectConfig.UseItemWorldProtection) {
- if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
- if (SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled)removeItem(player);
- send.debug(Main.plugin,"World disabled: " +player.getName() +" " +player.getWorld().toString());
- return;
- }
- if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
- if (SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled)removeItem(player);
- send.debug(Main.plugin,"World disabled: " +player.getName() +" " +player.getWorld().toString());
- return;
- }
- }
+ UseItem.removeItem(player);
+ if (UseItem.protection(player, false)) return;
if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) {
- if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) {
+ if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) {
if (!player.hasPlayedBefore()) {
new BukkitRunnable() {
@Override
public void run() {
- Give_UseItem.onGive(player);
+ UseItem.giveUseItem(player);
if (setCursor) {
setCursor(player, slot);
}
@@ -77,11 +53,10 @@ public class ItemChange {
new BukkitRunnable() {
@Override
public void run() {
- removeItem(player);
- if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) {
+ if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) {
if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(slot - 1) == null) {
send.debug(Main.plugin,"Give: " +player.getName());
- Give_UseItem.onGive(player);
+ UseItem.giveUseItem(player);
if (setCursor) {
setCursor(player, slot);
}
@@ -94,12 +69,13 @@ public class ItemChange {
}
}
if (empty) {
- Give_UseItem.onGiveADD(player);
+ UseItem.addUseItem(player);
}
}
}
}
}.runTaskLater(Main.plugin, 1L * 1);
+
}
private static void setCursor(Player player, int slot) {
@@ -137,19 +113,4 @@ public class ItemChange {
Main.bungeejoinplayers.remove(player.getName());
}
}
-
- private static void removeItem(Player player) {
- for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) {
- ItemStack itm = player.getInventory().getItem(iam);
- if (itm != null) {
- if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) {
- if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
- player.getInventory().remove(itm);
- player.updateInventory();
- break;
- }
- }
- }
- }
- }
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/PluginEvent.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/PluginEvent.java
index f3e7a78..9e3dae0 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/PluginEvent.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/PluginEvent.java
@@ -4,7 +4,7 @@ package de.jatitv.commandguiv2.Spigot.Listener;
import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
-import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
+import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
import de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
import org.bukkit.Bukkit;
@@ -22,10 +22,11 @@ public class PluginEvent implements Listener {
@EventHandler
public void onJoinEvent(PlayerLoginEvent event) {
Player player = event.getPlayer();
- Select_Database.nameCheck(player);
- UpdateAPI.join(Main.plugin, prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord());
+ SelectDatabase.nameCheck(player);
+ UpdateAPI.join(Main.plugin,prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord());
}
+
@EventHandler
public void onClearServer(ServerCommandEvent event) {
if (SelectConfig.UseItem_KeepAtCommandClear) {
@@ -35,11 +36,11 @@ public class PluginEvent implements Listener {
public void run() {
try {
Player player = Bukkit.getPlayer(event.getCommand().replace("/", "").replace("clear ", ""));
- if (player == null) {
+ if (player == null){
return;
}
clearGive(player);
- } catch (Exception ex) {
+ } catch (Exception ex){
ex.printStackTrace();
return;
}
@@ -49,6 +50,7 @@ public class PluginEvent implements Listener {
}
}
+
@EventHandler
public void onClearPlayer(PlayerCommandPreprocessEvent event) {
if (SelectConfig.UseItem_KeepAtCommandClear) {
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events.java
index ac00ae0..49492b1 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events.java
@@ -6,11 +6,13 @@ import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
+import de.jatitv.commandguiv2.Spigot.system.UseItem;
+import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
import de.jatitv.commandguiv2.api.CGuiAPI;
-import net.t2code.lib.Bungee.Lib.messages.Bsend;
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
+import net.t2code.lib.Spigot.Lib.minecraftVersion.NMSVersion;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
@@ -27,42 +29,46 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.scheduler.BukkitRunnable;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Iterator;
public class Events implements Listener {
+ public static HashMap useItemHashMap = new HashMap<>();
+ public static HashMap useItemSlotHashMap = new HashMap<>();
+
@EventHandler
public void onJoin(PlayerJoinEvent e) {
+ if (SelectDatabase.selectItemStatus(e.getPlayer())) {
+ useItemHashMap.put(e.getPlayer(), true);
+ } else useItemHashMap.put(e.getPlayer(), false);
+
+ useItemSlotHashMap.put(e.getPlayer(), SelectDatabase.selectSlot(e.getPlayer()));
+
if (CGuiAPI.JoinDisable) {
- send.debug(Main.plugin,"JoinDisable");
+ send.debug(Main.plugin, "JoinDisable");
return;
}
if (e.getPlayer().hasPermission("commandgui.get.guiitem.at.login")) {
new BukkitRunnable() {
@Override
public void run() {
- send.debug(Main.plugin,"itemChange: " + e.getPlayer().getName());
+ send.debug(Main.plugin, "itemChange: " + e.getPlayer().getName());
ItemChange.itemChange(e.getPlayer(), true);
}
}.runTaskLater(Main.plugin, 20L * 1);
}
}
+ @EventHandler
+ public void onJoin(PlayerQuitEvent e) {
+ useItemHashMap.remove(e.getPlayer());
+ }
+
@EventHandler(priority = EventPriority.HIGHEST)
public void onDeathDrop(PlayerDeathEvent e) {
Player player = e.getEntity().getPlayer();
- for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) {
- ItemStack itm = player.getInventory().getItem(iam);
- if (itm != null) {
- if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) {
- if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
- player.getInventory().remove(itm);
- player.updateInventory();
- break;
- }
- }
- }
- }
+ UseItem.removeItem(player);
if (!e.getDrops().isEmpty()) {
Iterator var3 = (new ArrayList(e.getDrops())).iterator();
while (var3.hasNext()) {
@@ -80,6 +86,25 @@ public class Events implements Listener {
Player player = e.getPlayer();
if (SelectConfig.UseItem_Enable) {
ItemChange.itemChange(player, false);
+ //if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) {
+ // if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) {
+ // if (!player.hasPlayedBefore()) {
+ // new BukkitRunnable() {
+ // @Override
+ // public void run() {
+ // Give_UseItem.onGive(player);
+ // }
+ // }.runTaskLater(Main.plugin, 20L * 1);
+ // }
+ // } else {
+ // new BukkitRunnable() {
+ // @Override
+ // public void run() {
+ // Give_UseItem.onGive(player);
+ // }
+ // }.runTaskLater(Main.plugin, 20L * 1);
+ // }
+ //}
}
}
@@ -111,6 +136,7 @@ public class Events implements Listener {
}.runTaskLater(Main.plugin, SelectConfig.UseItemWorldChangeDelayInTicks * 1L);
}
+
@EventHandler(priority = EventPriority.HIGHEST)
public void onInteract(PlayerInteractEvent e) {
Player p = e.getPlayer();
@@ -131,47 +157,50 @@ public class Events implements Listener {
}
}
- private static void openGUI(PlayerInteractEvent e, Player p) {
+ private static void openGUI(PlayerInteractEvent e, Player player) {
e.setCancelled(true);
- if (p.isSneaking()) {
- Commands.info(p);
+ if (SelectConfig.disableInfoBySneak && player.isSneaking()) {
+ Commands.info(player);
return;
}
+
if (!legacy()) {
- if (!topInventoryIsEmpty(p)) return;
+ if (!topInventoryIsEmpty(player)) return;
}
+
+ if (UseItem.protection(player, true)) return;
+
if (SelectConfig.UseItemGameModeProtection) {
- if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(p.getGameMode().toString())) {
+ if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
e.setCancelled(true);
- send.player(p, SelectMessages.UseItemDisabledInGameMode);
+ send.player(player, SelectMessages.UseItemDisabledInGameMode);
return;
}
- if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(p.getGameMode().toString())) {
+ if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
e.setCancelled(true);
- send.player(p, SelectMessages.UseItemDisabledInGameMode);
+ send.player(player, SelectMessages.UseItemDisabledInGameMode);
return;
}
}
+
if (SelectConfig.UseItemWorldProtection) {
- if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(p.getWorld().getName())) {
+ if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
e.setCancelled(true);
- send.player(p, SelectMessages.UseItemDisabledInWorld);
+ send.player(player, SelectMessages.UseItemDisabledInWorld);
return;
}
- if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(p.getWorld().getName())) {
+ if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
e.setCancelled(true);
- send.player(p, SelectMessages.UseItemDisabledInWorld);
+ send.player(player, SelectMessages.UseItemDisabledInWorld);
return;
}
}
- if (!SelectConfig.UseItem_Permission || p.hasPermission("commandgui.useitem")) {
- OpenGUI.openGUI(p, Main.guiHashMap.get(SelectConfig.UseItem_OpenGUI), SelectConfig.UseItem_OpenGUI);
- if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) {
- p.playSound(p.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1);
- }
+
+ if (!SelectConfig.UseItem_Permission || player.hasPermission("commandgui.useitem")) {
+ OpenGUI.openGUI(player, SelectConfig.UseItem_OpenGUI, true);
} else {
- p.sendMessage(SelectMessages.NoPermissionForUseItem.replace("[perm]", "commandgui.useitem")
+ player.sendMessage(SelectMessages.NoPermissionForUseItem.replace("[perm]", "commandgui.useitem")
.replace("[gui]", SelectConfig.UseItem_OpenGUI));
}
}
@@ -186,9 +215,11 @@ public class Events implements Listener {
}
}
+
@EventHandler(priority = EventPriority.HIGHEST)
public void onItemMove(InventoryDragEvent e) {
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
+
if (e.getWhoClicked() instanceof Player) {
Player p = (Player) e.getWhoClicked();
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
@@ -210,7 +241,6 @@ public class Events implements Listener {
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onItemMove(InventoryClickEvent e) {
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
- Player player = (Player) e.getWhoClicked();
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
&& e.getCursor().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
@@ -220,13 +250,13 @@ public class Events implements Listener {
&& e.getCurrentItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
e.setCancelled(true);
-
}
}
@EventHandler(priority = EventPriority.HIGHEST)
public void onItemMove(InventoryPickupItemEvent e) {
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
+
if (e.getItem() != null && e.getItem().getItemStack() != null) {
ItemStack item = e.getItem().getItemStack();
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
@@ -239,6 +269,7 @@ public class Events implements Listener {
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlace(BlockPlaceEvent e) {
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
+
if (e.getItemInHand() != null && e.getItemInHand().hasItemMeta() && e.getItemInHand().getItemMeta().hasDisplayName()
&& e.getItemInHand().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
e.setCancelled(true);
@@ -248,6 +279,7 @@ public class Events implements Listener {
@EventHandler(priority = EventPriority.HIGHEST)
public void onDrop(PlayerDropItemEvent e) {
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
+
if (e.getItemDrop() != null && e.getItemDrop().getItemStack() != null) {
ItemStack item = e.getItemDrop().getItemStack();
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
@@ -258,7 +290,7 @@ public class Events implements Listener {
}
private static boolean legacy() {
- if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12 || MCVersion.minecraft1_13 || MCVersion.minecraft1_14 || MCVersion.minecraft1_15) {
+ if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12 || MCVersion.minecraft1_13 || MCVersion.minecraft1_14 || MCVersion.minecraft1_15 || NMSVersion.v1_16_R1) {
return true;
} else return false;
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events_from1_10.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/EventsFrom110.java
similarity index 97%
rename from CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events_from1_10.java
rename to CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/EventsFrom110.java
index 313609d..f853b76 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/Events_from1_10.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Listener/UseItem_Listener/EventsFrom110.java
@@ -8,7 +8,7 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.*;
-public class Events_from1_10 implements Listener {
+public class EventsFrom110 implements Listener {
@EventHandler(priority = EventPriority.HIGHEST)
public void onHandSwap(PlayerSwapHandItemsEvent e) {
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Main.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Main.java
index 741f0a7..6976b71 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Main.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Main.java
@@ -1,9 +1,9 @@
package de.jatitv.commandguiv2.Spigot;
//s guiHashMap = new HashMap<>();
+ public static HashMap guiHashMap = new HashMap<>();
public static ArrayList allAliases = new ArrayList<>();
+ public static HashMap functionHashMap = new HashMap<>();
+
@Override
public void onEnable() {
plugins = Arrays.asList(getServer().getPluginManager().getPlugins());
@@ -69,8 +71,7 @@ public final class Main extends JavaPlugin {
if (PluginCheck.plotSquaredGUI()) {
PlotSquaredGUI = true;
addonEnable(Bukkit.getPluginManager().getPlugin("PlotSquaredGUI"));
- }
- if (PluginCheck.luckyBox()) {
+ }if (PluginCheck.luckyBox()) {
LuckyBox = true;
addonEnable(Bukkit.getPluginManager().getPlugin("T2C-LuckyBox"));
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Obj_Select.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Obj_Select.java
deleted file mode 100644
index 74cb8d9..0000000
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Obj_Select.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package de.jatitv.commandguiv2.Spigot.Objekte;
-
-import de.jatitv.commandguiv2.Spigot.Main;
-import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUI;
-import net.t2code.lib.Spigot.Lib.messages.send;
-import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
-import org.bukkit.configuration.file.YamlConfiguration;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-
-public class Obj_Select {
- public static void onSelect() {
- Main.guiHashMap.clear();
- Main.allAliases.clear();
- File f = new File(Main.getPath() + "/GUIs/");
- File[] fileArray = f.listFiles();
-
- for (File config_gui : fileArray) {
- String sub = config_gui.getName().substring(config_gui.getName().length() - 4);
- if (sub.equals(".yml")) {
- Main.allAliases.add(config_gui.getName().replace(".yml", ""));
- YamlConfiguration yamlConfiguration_gui = YamlConfiguration.loadConfiguration(config_gui);
-
- Boolean GUI_Enable = yamlConfiguration_gui.getBoolean("GUI.Enable");
- Integer GUI_Lines = yamlConfiguration_gui.getInt("GUI.Lines");
- if (yamlConfiguration_gui.getInt("GUI.Lines") > 6) {
- yamlConfiguration_gui.set("GUI.Lines", 6);
- }
- if (yamlConfiguration_gui.getInt("GUI.Lines") < 1) {
- yamlConfiguration_gui.set("GUI.Lines", 1);
- }
- String GUI_Name = yamlConfiguration_gui.getString("GUI.Name");
- Boolean GUI_FillItem_Enable = yamlConfiguration_gui.getBoolean("GUI.FillItem.Enable");
- String GUI_FillItem_Item;
- if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
- GUI_FillItem_Item = yamlConfiguration_gui.getString("GUI.FillItem.GlassPaneCollor");
- } else GUI_FillItem_Item = yamlConfiguration_gui.getString("GUI.FillItem.Item");
-
- Boolean Command_Alias_Enable = yamlConfiguration_gui.getBoolean("Command.Alias");
- Boolean Command_Permission = yamlConfiguration_gui.getBoolean("Command.Permission.Required");
-
- ArrayList slots = new ArrayList<>();
- for (String key : yamlConfiguration_gui.getConfigurationSection("Slots").getKeys(false)) {
- Slot slot = new Slot(yamlConfiguration_gui.getInt("Slots." + key + ".Slot") - 1,
- yamlConfiguration_gui.getBoolean("Slots." + key + ".Enable"),
- // yamlConfiguration_gui.getBoolean("Slots." + key + ".Item.Removable"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".Item.Empty"),
- yamlConfiguration_gui.getInt("Slots." + key + ".Item.Amount"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".Item.PlayerHead.Enable"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".Item.PlayerHead.Base64.Enable"),
- yamlConfiguration_gui.getString("Slots." + key + ".Item.PlayerHead.Base64.Base64Value"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".Item.PlayerHead.PlayerWhoHasOpenedTheGUI"),
- yamlConfiguration_gui.getString("Slots." + key + ".Item.PlayerHead.PlayerName"),
- yamlConfiguration_gui.getString("Slots." + key + ".Item.Material"),
- yamlConfiguration_gui.getString("Slots." + key + ".Item.Name"),
- yamlConfiguration_gui.getList("Slots." + key + ".Item.Lore"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".CustomSound.Enable"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".CustomSound.NoSound"),
- yamlConfiguration_gui.getString("Slots." + key + ".CustomSound.Sound"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".Cost.Enable"),
- yamlConfiguration_gui.getDouble("Slots." + key + ".Cost.Price"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".Command.Enable"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".Command.BungeeCommand"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".Command.CommandAsConsole"),
- yamlConfiguration_gui.getStringList("Slots." + key + ".Command.Command"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".ServerChange.Enable"),
- yamlConfiguration_gui.getString("Slots." + key + ".ServerChange.Server"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".OpenGUI.Enable"),
- yamlConfiguration_gui.getString("Slots." + key + ".OpenGUI.GUI"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".Message.Enable"),
- yamlConfiguration_gui.getStringList("Slots." + key + ".Message.Message"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".Permission.Required"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.Enable"),
- yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.File.Path"),
- yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.Option.Path"),
- yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.Option.Premat"),
- // yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.Value.ChatInput"),
-
- yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.Value.LeftClick.String"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.Value.LeftClick.Boolean"),
- yamlConfiguration_gui.getInt("Slots." + key + ".SetConfig.Value.LeftClick.Integer"),
- yamlConfiguration_gui.getDouble("Slots." + key + ".SetConfig.Value.LeftClick.Double"),
- yamlConfiguration_gui.getStringList("Slots." + key + ".SetConfig.Value.LeftClick.List"),
-
- yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.Value.RightClick.String"),
- yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.Value.RightClick.Boolean"),
- yamlConfiguration_gui.getInt("Slots." + key + ".SetConfig.Value.RightClick.Integer"),
- yamlConfiguration_gui.getDouble("Slots." + key + ".SetConfig.Value.RightClick.Double"),
- yamlConfiguration_gui.getStringList("Slots." + key + ".SetConfig.RightClick.Value.List"),
-
- yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.PluginReload.Enable"),
- yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.PluginReload.Command"));
- slots.add(slot);
- }
- Object objekt = new Object(GUI_Enable, GUI_Lines, GUI_Name, GUI_FillItem_Enable, GUI_FillItem_Item,
- config_gui.getName().replace(".yml", ""), Command_Alias_Enable, Command_Permission, slots);
-
- Main.guiHashMap.put(config_gui.getName().replace(".yml", ""), objekt);
- CmdExecuter_GUI.arg1.put(config_gui.getName().replace(".yml", ""), "commandgui.gui." + config_gui.getName().replace(".yml", ""));
-
- try {
- yamlConfiguration_gui.save(config_gui);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
-}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Object.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Object.java
deleted file mode 100644
index b7d493d..0000000
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Object.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package de.jatitv.commandguiv2.Spigot.Objekte;
-
-import java.util.ArrayList;
-
-public class Object {
- public Boolean GUI_Enable;
- public Integer GUI_Lines;
- public String GUI_Name;
- public Boolean GUI_FillItem_Enable;
- public String GUI_FillItem_Item;
-
-
- public String Command_Command;
- public Boolean Command_Alias_Enable;
- public Boolean Command_Permission_Enable;
- public ArrayList GUI_Slots;
-
- public Object(Boolean GUI_Enable, Integer GUI_Lines, String GUI_Name, Boolean GUI_FillItem_Enable, String GUI_FillItem_Item,
- String Command_Command, Boolean Command_Alias_Enable, Boolean Command_Permission_Enable, ArrayList GUI_Slots){
- this.GUI_Enable = GUI_Enable;
- this.GUI_Lines = GUI_Lines;
- this.GUI_Name = GUI_Name;
- this.GUI_FillItem_Enable = GUI_FillItem_Enable;
- this.GUI_FillItem_Item = GUI_FillItem_Item;
- this.Command_Command = Command_Command;
- this.Command_Alias_Enable = Command_Alias_Enable;
- this.Command_Permission_Enable = Command_Permission_Enable;
- this.GUI_Slots = GUI_Slots;
- }
-}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Slot.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Slot.java
deleted file mode 100644
index ca3015c..0000000
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/Objekte/Slot.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package de.jatitv.commandguiv2.Spigot.Objekte;
-
-import java.util.List;
-
-public class Slot {
-
- public Integer Slot;
- public Boolean Enable;
- // public Boolean ItemsRemovable;
- public Boolean Empty;
- public Integer ItemAmount;
- public Boolean PlayerHead_Enable;
- public Boolean Base64_Enable;
- public String Base64Value;
- public Boolean PlayerWhoHasOpenedTheGUI;
- public String PlayerName;
- public String Item;
- public String Name;
- public List Lore;
- public Boolean CustomSound_Enable;
- public Boolean CustomSound_NoSound;
- public String CustomSound_Sound;
- public Boolean Cost_Enable;
- public Double Price;
- public Boolean Command_Enable;
- public Boolean Command_BungeeCommand;
- public Boolean CommandAsConsole;
- public Boolean ServerChange;
- public String ServerChangeServer;
- public List Command;
- public Boolean OpenGUI_Enable;
- public String OpenGUI;
- public Boolean Message_Enable;
- public List Message;
- public Boolean Perm;
- public Boolean SetConfigEnable;
- public String ConfigFilePath;
- public String ConfigOptionPath;
- public String ConfigOptionPremat;
- // public Boolean ConfigChatInput;
-
- public String ConfigStringValueLeft;
- public Boolean ConfigBooleanValueLeft;
- public Integer ConfigIntegerValueLeft;
- public Double ConfigDoubleValueLeft;
- public List ConfigListValueLeft;
-
- public String ConfigStringValueRight;
- public Boolean ConfigBooleanValueRight;
- public Integer ConfigIntegerValueRight;
- public Double ConfigDoubleValueRight;
- public List ConfigListValueRight;
-
-
- public Boolean PluginReloadEnable;
- public String PluginReloadCommand;
-
- public Slot(Integer Slot,
- Boolean Enable,
- // Boolean ItemsRemovable,
- Boolean Empty,
- Integer ItemAmount,
- Boolean PlayerHead_Enable,
- Boolean Base64Value_Enable,
- String Base64Value,
- Boolean PlayerWhoHasOpenedTheGUI,
- String PlayerName,
- String Item,
- String Name,
- List Lore,
- Boolean CustomSound_Enable,
- Boolean CustomSound_NoSound,
- String CustomSound_Sound,
- Boolean Cost_Enable,
- Double Price,
- Boolean Command_Enable,
- Boolean Command_BungeeCommand,
- Boolean CommandAsConsole,
- List Command,
- Boolean ServerChange,
- String ServerChangeServer,
- Boolean OpenGUI_Enable,
- String OpenGUI,
- Boolean Message_Enable,
- List Message,
- Boolean Perm,
- Boolean SetConfigEnable,
- String ConfigFilePath,
- String ConfigOptionPath,
- String ConfigOptionPremat,
- // Boolean ConfigChatInput,
-
- String ConfigStringValueLeft,
- Boolean ConfigBooleanValueLeft,
- Integer ConfigIntegerValueLeft,
- Double ConfigDoubleValueLeft,
- List ConfigListValueLeft,
-
- String ConfigStringValueRight,
- Boolean ConfigBooleanValueRight,
- Integer ConfigIntegerValueRight,
- Double ConfigDoubleValueRight,
- List ConfigListValueRight,
-
- Boolean PluginReloadEnable,
- String PluginReloadCommand) {
- this.Slot = Slot;
- this.Enable = Enable;
- // this.ItemsRemovable = ItemsRemovable;
- this.Empty = Empty;
- this.ItemAmount = ItemAmount;
- this.PlayerHead_Enable = PlayerHead_Enable;
- this.Base64_Enable = Base64Value_Enable;
- this.Base64Value = Base64Value;
- this.PlayerWhoHasOpenedTheGUI = PlayerWhoHasOpenedTheGUI;
- this.PlayerName = PlayerName;
- this.Item = Item;
- this.Name = Name;
- this.Lore = Lore;
- this.CustomSound_Enable = CustomSound_Enable;
- this.CustomSound_NoSound = CustomSound_NoSound;
- this.CustomSound_Sound = CustomSound_Sound;
- this.Cost_Enable = Cost_Enable;
- this.Price = Price;
- this.Command_Enable = Command_Enable;
- this.Command_BungeeCommand = Command_BungeeCommand;
- this.CommandAsConsole = CommandAsConsole;
- this.Command = Command;
- this.ServerChange = ServerChange;
- this.ServerChangeServer = ServerChangeServer;
- this.OpenGUI_Enable = OpenGUI_Enable;
- this.OpenGUI = OpenGUI;
- this.Message_Enable = Message_Enable;
- this.Message = Message;
- this.Perm = Perm;
- this.SetConfigEnable = SetConfigEnable;
- this.ConfigFilePath = ConfigFilePath;
- this.ConfigOptionPath = ConfigOptionPath;
- this.ConfigOptionPremat = ConfigOptionPremat;
- // this.ConfigChatInput = ConfigChatInput;
-
- this.ConfigStringValueLeft = ConfigStringValueLeft;
- this.ConfigBooleanValueLeft = ConfigBooleanValueLeft;
- this.ConfigIntegerValueLeft = ConfigIntegerValueLeft;
- this.ConfigDoubleValueLeft = ConfigDoubleValueLeft;
- this.ConfigListValueLeft = ConfigListValueLeft;
-
- this.ConfigStringValueRight = ConfigStringValueRight;
- this.ConfigBooleanValueRight = ConfigBooleanValueRight;
- this.ConfigIntegerValueRight = ConfigIntegerValueRight;
- this.ConfigDoubleValueRight = ConfigDoubleValueRight;
- this.ConfigListValueRight = ConfigListValueRight;
-
-
- this.PluginReloadEnable = PluginReloadEnable;
- this.PluginReloadCommand = PluginReloadCommand;
- }
-}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_Admin.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_Admin.java
deleted file mode 100644
index da237c2..0000000
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_Admin.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package de.jatitv.commandguiv2.Spigot.cmdManagement;
-
-import de.jatitv.commandguiv2.Spigot.system.Debug;
-import de.jatitv.commandguiv2.Spigot.config.DefaultGUICreate;
-import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
-import de.jatitv.commandguiv2.Spigot.Main;
-import de.jatitv.commandguiv2.Util;
-import org.bukkit.Bukkit;
-import org.bukkit.command.Command;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-import org.bukkit.command.TabCompleter;
-import org.bukkit.entity.Player;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-public class CmdExecuter_Admin implements CommandExecutor, TabCompleter {
- private static String prefix = Util.getPrefix();
-
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
-
- if (args.length == 0) {
- Help.sendHelp(sender, prefix);
- } else {
- switch (args[0].toLowerCase()) {
- case "info":
- if (sender.hasPermission("commandgui.command.info")) {
- Commands.info(sender);
- } else sender.sendMessage(SelectMessages.NoPermissionForCommand
- .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.command.info"));
-
- break;
- case "reload":
- case "rl":
- if (sender.hasPermission("commandgui.admin")) {
- Commands.reload(sender);
- } else sender.sendMessage(SelectMessages.NoPermissionForCommand
- .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
- break;
- case "createdefaultgui":
- if (sender.hasPermission("commandgui.admin")) {
- DefaultGUICreate.configCreate();
- sender.sendMessage(SelectMessages.DefaultGUIcreate.replace("[directory]", Main.getPath() + "/GUIs/default.yml"));
- } else sender.sendMessage(SelectMessages.NoPermissionForCommand
- .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
- break;
- case "debug":
- if (sender.hasPermission("commandgui.admin")) {
- Debug.onDebugFile(sender);
- /*if (args.length == 2) {
- if (args[1].equals("config")) {
- Debug.debugmsg();
- }
- if (args[1].equals("2")) {
- send.debug("2");
- }
- break;
-
- } else Debug.debugmsg();
-
- */
- } else sender.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
- break;
-
- case "give":
- if (args.length == 2) {
- if (sender.hasPermission("commandgui.giveitem.other")) {
- Player target = Bukkit.getPlayer(args[1]);
- Commands.give(sender, target);
- } else sender.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui give")
- .replace("[perm]", "commandgui.command.give"));
- } else Help.sendHelp(sender, prefix);
- break;
- case "help":
- default:
- Help.sendHelp(sender, prefix);
- break;
-
- }
- }
-
- return false;
- }
-
-
- //TabCompleter
- private static HashMap arg1 = new HashMap() {{
- put("reload", "commandgui.admin");
- put("rl", "commandgui.admin");
- put("createdefaultgui", "commandgui.admin");
- put("give", "commandgui.giveitem.other");
- put("info", "commandgui.command.info");
- }};
-
- @Override
- public List onTabComplete(CommandSender sender, Command cmd, String s, String[] args) {
- List list = new ArrayList<>();
- if (sender instanceof Player) {
- Player p = (Player) sender;
- if (args.length == 1) {
- for (String command : arg1.keySet()) {
- Boolean passend = true;
- for (int i = 0; i < args[0].length(); i++) {
- if (args[0].length() >= command.length()) {
- passend = false;
- } else {
- if (args[0].charAt(i) != command.charAt(i)) {
- passend = false;
- }
- }
- }
- if (hasPermission(p, arg1.get(command)) && passend) {
- list.add(command);
- }
- }
- }
-
- if (args.length == 2 && args[0].equalsIgnoreCase("give")) {
- if (sender.hasPermission("commandgui.giveitem.other")) {
- Iterator var6 = Bukkit.getOnlinePlayers().iterator();
-
- while (var6.hasNext()) {
- Player player1 = (Player) var6.next();
- list.add(player1.getName());
- }
- }
- return list;
- }
- }
- return list;
- }
-
-
- public static boolean hasPermission(Player player, String permission) {
- if (player.isOp()) {
- return true;
- }
- String[] Permissions = permission.split(";");
- for (String perm : Permissions) {
- if (player.hasPermission(perm)) {
- return true;
- }
- }
- return false;
- }
-}
-
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUIItem.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUIItem.java
index f94abd8..c35683b 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUIItem.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUIItem.java
@@ -55,7 +55,8 @@ public class CmdExecuter_GUIItem implements CommandExecutor, TabCompleter {
} else sender.sendMessage(SelectMessages.OnlyForPlayer);
}
}
- } else sender.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui-item").replace("[perm]", "commandgui.useitem.toggle"));
+ } else sender.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui-item")
+ .replace("[perm]", "commandgui.useitem.toggle"));
return false;
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUI.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUITab.java
similarity index 97%
rename from CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUI.java
rename to CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUITab.java
index 71115ee..b8b7ce7 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUI.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/CmdExecuter_GUITab.java
@@ -2,7 +2,7 @@ package de.jatitv.commandguiv2.Spigot.cmdManagement;
import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.system.Debug;
-import de.jatitv.commandguiv2.Spigot.config.DefaultGUICreate;
+import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.commands.Tab;
@@ -17,7 +17,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
-public class CmdExecuter_GUI implements CommandExecutor, TabCompleter {
+public class CmdExecuter_GUITab implements CommandExecutor, TabCompleter {
private static String prefix = Util.getPrefix();
@Override
@@ -56,7 +56,7 @@ public class CmdExecuter_GUI implements CommandExecutor, TabCompleter {
break;
case "createdefaultgui":
if (sender.hasPermission("commandgui.admin")) {
- DefaultGUICreate.configCreate();
+ CreateGUI.configCreate();
sender.sendMessage(SelectMessages.DefaultGUIcreate.replace("[directory]", Main.getPath() + "/GUIs/default.yml"));
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Commands.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Commands.java
index 2361156..2f9525c 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Commands.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Commands.java
@@ -1,16 +1,18 @@
package de.jatitv.commandguiv2.Spigot.cmdManagement;
+import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
import de.jatitv.commandguiv2.Spigot.Main;
-import de.jatitv.commandguiv2.Spigot.Objekte.Obj_Select;
-import de.jatitv.commandguiv2.Spigot.Objekte.Object;
+import de.jatitv.commandguiv2.Spigot.objects.Obj_Select;
+import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
import de.jatitv.commandguiv2.Spigot.cmdManagement.register.AliasRegister;
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
-import de.jatitv.commandguiv2.Spigot.system.Give_UseItem;
+import de.jatitv.commandguiv2.Spigot.system.UseItem;
import de.jatitv.commandguiv2.Spigot.config.config.ConfigCreate;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.config.languages.LanguagesCreate;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
-import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
+import de.jatitv.commandguiv2.Spigot.system.Permissions;
+import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
import de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send;
@@ -21,6 +23,8 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
+import java.util.Objects;
+
public class Commands {
public static void info(CommandSender sender) {
if (sender instanceof Player) {
@@ -59,22 +63,33 @@ public class Commands {
send.console(Util.getPrefix() + " §6Plugin reload...");
send.console(Util.getPrefix() + "§8-------------------------------");
- CmdExecuter_GUI.arg1.clear();
- CmdExecuter_GUI.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info");
+ CmdExecuter_GUITab.arg1.clear();
+ CmdExecuter_GUITab.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info");
ConfigCreate.configCreate();
SelectConfig.onSelect();
- Main.plugin.reloadConfig();
+ Main.plugin.reloadConfig();
+ if (!Objects.equals(SelectDatabase.getStorage().toString(), SelectConfig.storage)) {
+ if (sender instanceof Player) send.sender(sender, "You have changed the storage medium! To apply this change, you must restart the server!");
+ send.console("You have changed the storage medium! To apply this change, you must restart the server!");
+ }
LanguagesCreate.langCreate();
Obj_Select.onSelect();
SelectMessages.onSelect(Util.getPrefix());
SelectConfig.sound(Util.getPrefix());
+
try {
AliasRegister.onRegister();
} catch (Exception e) {
e.printStackTrace();
}
+ try {
+ Permissions.onPermRegister();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
if (SelectConfig.Bungee) {
Bukkit.getMessenger().registerOutgoingPluginChannel(Main.plugin, "commandgui:bungee");
@@ -88,7 +103,7 @@ public class Commands {
public static void give(CommandSender sender, Player target) {
if (Bukkit.getPlayer(target.getName()) != null) {
- Give_UseItem.onGive(target);
+ UseItem.giveUseItem(target);
send.sender(sender, SelectMessages.Give_Sender.replace("[player]", target.getName()).replace("[item]", SelectConfig.UseItem_Name));
send.player(target, SelectMessages.Give_Receiver.replace("[sender]", sender.getName()).replace("[item]", SelectConfig.UseItem_Name));
if (SelectConfig.Sound_Give_Enable && SelectConfig.Sound_Enable) {
@@ -104,32 +119,21 @@ public class Commands {
}
public static void itemOn(Player player) {
- for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) {
- ItemStack itm = player.getInventory().getItem(iam);
- if (itm != null) {
- if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) {
- if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
- player.getInventory().remove(itm);
- player.updateInventory();
- break;
- }
- }
- }
- }
+ UseItem.removeItem(player);
Integer slot = null;
if (SelectConfig.UseItem_InventorySlotEnforce) {
slot = SelectConfig.UseItem_InventorySlot;
} else {
- if (Select_Database.selectSlot(player) == null) {
+ if (Events.useItemSlotHashMap.get(player) == null) {
slot = SelectConfig.UseItem_InventorySlot;
} else {
- slot = Select_Database.selectSlot(player);
+ slot = Events.useItemSlotHashMap.get(player);
}
}
send.debug(Main.plugin, String.valueOf(slot));
if (player.getInventory().getItem(slot - 1) == null) {
- Select_Database.setItemStatusTrue(player);
- Give_UseItem.onGive(player);
+ SelectDatabase.setItemStatusTrue(player);
+ UseItem.giveUseItem(player);
} else {
boolean empty = false;
for (int i = 0; i < 9; i++) {
@@ -139,8 +143,8 @@ public class Commands {
}
}
if (empty) {
- Select_Database.setItemStatusTrue(player);
- Give_UseItem.onGiveADD(player);
+ SelectDatabase.setItemStatusTrue(player);
+ UseItem.addUseItem(player);
send.player(player, SelectMessages.ItemON);
} else {
player.sendMessage(SelectMessages.NoInventorySpace);
@@ -152,19 +156,8 @@ public class Commands {
}
public static void itemOff(Player player) {
- Select_Database.setItemStatusFalse(player);
- for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) {
- ItemStack itm = player.getInventory().getItem(iam);
- if (itm != null) {
- if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) {
- if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
- player.getInventory().remove(itm);
- player.updateInventory();
- send.player(player, SelectMessages.ItemOFF);
- }
- }
- }
- }
+ SelectDatabase.setItemStatusFalse(player);
+ UseItem.removeItem(player);
}
public static void onSetSlot(Player player, Integer setSlot) {
@@ -177,7 +170,7 @@ public class Commands {
send.player(player, SelectMessages.ItemSlot_wrongValue);
return;
}
- ItemStack itm1 = player.getInventory().getItem(setSlot - 1);
+ ItemStack itm1 = player.getInventory().getItem(setSlot + 1);
if (itm1 != null) {
if (itm1.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm1.getType() == ItemVersion.getHead()) {
if (itm1.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
@@ -190,21 +183,11 @@ public class Commands {
send.player(player, SelectMessages.ItemSlotNotEmpty.replace("[slot]", setSlot.toString()));
return;
}
- for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) {
- ItemStack itm = player.getInventory().getItem(iam);
- if (itm != null) {
- if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) {
- if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
- player.getInventory().remove(itm);
- player.updateInventory();
- break;
- }
- }
- }
- }
- Select_Database.setSlot(player, setSlot);
- if (Select_Database.selectItemStatus(player)) {
- Give_UseItem.onGive(player);
+ UseItem.removeItem(player);
+ SelectDatabase.setSlot(player, setSlot);
+ Events.useItemSlotHashMap.replace(player, setSlot);
+ if (Events.useItemHashMap.get(player)) {
+ UseItem.giveUseItem(player);
}
send.player(player, SelectMessages.ItemSlot.replace("[slot]", setSlot.toString()));
} else player.sendMessage(Util.getPrefix() + " §4Function disabled");
@@ -212,31 +195,25 @@ public class Commands {
public static void gui(Player player) {
if (Main.guiHashMap.containsKey(SelectConfig.DefaultGUI)) {
- Object gui = Main.guiHashMap.get(SelectConfig.DefaultGUI);
- if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) {
- if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command") || player.hasPermission("commandgui.bypass")) {
- OpenGUI.openGUI(player, gui, SelectConfig.DefaultGUI);
- if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) {
- player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1);
- }
+ Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI);
+ if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
+ if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command") || player.hasPermission("commandgui.bypass")) {
+ OpenGUI.openGUI(player, SelectConfig.DefaultGUI, true);
} else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui")
.replace("[perm]", "commandgui.command"));
- } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.GUI_Name));
+ } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.guiName));
}
}
public static void gui(Player player, String arg) {
if (Main.guiHashMap.containsKey(arg)) {
- Object gui = Main.guiHashMap.get(arg);
- if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) {
- if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command." + gui.Command_Command) || player.hasPermission("commandgui.bypass")) {
- OpenGUI.openGUI(player, gui, arg);
- if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) {
- player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1);
- }
- } else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + gui.Command_Command)
+ Gui gui = Main.guiHashMap.get(arg);
+ if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
+ if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + gui.key) || player.hasPermission("commandgui.bypass")) {
+ OpenGUI.openGUI(player, arg, true);
+ } else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + gui.key)
.replace("[perm]", "commandgui.command." + arg.toLowerCase()));
- } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.Command_Command));
+ } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.key));
} else player.sendMessage(SelectMessages.GUInotFound);
}
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Help.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Help.java
index 2748c9c..e461801 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Help.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/Help.java
@@ -2,7 +2,7 @@ package de.jatitv.commandguiv2.Spigot.cmdManagement;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import de.jatitv.commandguiv2.Spigot.Main;
-import de.jatitv.commandguiv2.Spigot.Objekte.Object;
+import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.messages.send;
@@ -14,11 +14,11 @@ public class Help {
public static void sendHelp(CommandSender sender, String Prefix) {
send.sender(sender, Prefix + " §8----- §4Command§9GUI §chelp §8-----");
if (sender.hasPermission("commandgui.command")) {
- Object gui = Main.guiHashMap.get(SelectConfig.DefaultGUI);
- send.sender(sender, Prefix + " " + SelectMessages.HelpCgui.replace("[gui]", Replace.replace(prefix,gui.GUI_Name)));
+ Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI);
+ send.sender(sender, Prefix + " " + SelectMessages.HelpCgui.replace("[gui]", Replace.replace(prefix,gui.guiName)));
for (String alias : Main.allAliases) {
- if (Main.guiHashMap.get(alias).GUI_Enable || sender.hasPermission("commandgui.bypass")) {
- send.sender(sender, Prefix + " " + SelectMessages.HelpOpen.replace("[gui]", alias).replace("[guiname]", Replace.replace(prefix,Main.guiHashMap.get(alias).GUI_Name)));
+ if (Main.guiHashMap.get(alias).guiEnable || sender.hasPermission("commandgui.bypass")) {
+ send.sender(sender, Prefix + " " + SelectMessages.HelpOpen.replace("[gui]", alias).replace("[guiname]", Replace.replace(prefix,Main.guiHashMap.get(alias).guiName)));
}
}
send.sender(sender, Prefix + " " + SelectMessages.HelpHelp);
@@ -31,9 +31,6 @@ public class Help {
if (sender.hasPermission("commandgui.command.info")) {
send.sender(sender, Prefix + " " + SelectMessages.HelpInfo);
}
- // if (sender.hasPermission("commandgui.command.give")) {
- // send.sender(sender, Prefix + " " + Select_msg.HelpGive);
- // }
if (sender.hasPermission("commandgui.admin")) {
send.sender(sender, Prefix + " " + SelectMessages.HelpCreateDefaultGUI.replace("[directory]", Main.getPath()+ "\\GUIs\\default.yml"));
send.sender(sender, Prefix + " " + SelectMessages.HelpReload);
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java
index 87e775d..3c90792 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/AliasRegister.java
@@ -1,15 +1,14 @@
package de.jatitv.commandguiv2.Spigot.cmdManagement.register;
import de.jatitv.commandguiv2.Spigot.Main;
-
import de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.messages.send;
-import net.t2code.lib.Spigot.Lib.minecraftVersion.NMSVersion;
import org.bukkit.Bukkit;
+import org.bukkit.command.CommandMap;
import org.bukkit.plugin.Plugin;
-import org.eclipse.sisu.space.ClassFinder;
import java.io.File;
+import java.lang.reflect.Field;
public class AliasRegister {
@@ -24,98 +23,18 @@ public class AliasRegister {
}
for (String alias : Main.allAliases) {
if (Main.guiHashMap.get(alias) != null) {
- if (Main.guiHashMap.get(alias).Command_Alias_Enable) {
- String version;
- if (NMSVersion.v1_8_R1) {
- send.debug(plugin, "Alias register 1.8_R1");
- org.bukkit.craftbukkit.v1_8_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_8_R1.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_8_R2) {
- send.debug(plugin, "Alias register 1.8_R2");
- org.bukkit.craftbukkit.v1_8_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_8_R2.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_8_R3) {
- send.debug(plugin, "Alias register 1.8_R3");
- org.bukkit.craftbukkit.v1_8_R3.CraftServer craftServer = (org.bukkit.craftbukkit.v1_8_R3.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_9_R1) {
- send.debug(plugin, "Alias register 1.9_R1");
- org.bukkit.craftbukkit.v1_9_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_9_R1.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_9_R2) {
- send.debug(plugin, "Alias register 1.9_R2");
- org.bukkit.craftbukkit.v1_9_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_9_R2.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_10_R1) {
- send.debug(plugin, "Alias register 1.10_R1");
- org.bukkit.craftbukkit.v1_10_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_10_R1.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_11_R1) {
- send.debug(plugin, "Alias register 1.11_R1");
- org.bukkit.craftbukkit.v1_11_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_11_R1.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_12_R1) {
- send.debug(plugin, "Alias register 1.12_R1");
- org.bukkit.craftbukkit.v1_12_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_12_R1.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_13_R1) {
- send.debug(plugin, "Alias register 1.13_R1");
- org.bukkit.craftbukkit.v1_13_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_13_R1.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_13_R2) {
- send.debug(plugin, "Alias register 1.13_R2");
- org.bukkit.craftbukkit.v1_13_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_13_R2.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_14_R1) {
- send.debug(plugin, "Alias register 1.14_R1");
- org.bukkit.craftbukkit.v1_14_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_14_R1.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_15_R1) {
- send.debug(plugin, "Alias register 1.15_R1");
- org.bukkit.craftbukkit.v1_15_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_15_R1.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_16_R1) {
- send.debug(plugin, "Alias register 1.16_R1");
- org.bukkit.craftbukkit.v1_16_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_16_R1.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_16_R2) {
- send.debug(plugin, "Alias register 1.16_R2");
- org.bukkit.craftbukkit.v1_16_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_16_R2.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_16_R3) {
- send.debug(plugin, "Alias register 1.16_R3");
- org.bukkit.craftbukkit.v1_16_R3.CraftServer craftServer = (org.bukkit.craftbukkit.v1_16_R3.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_17_R1) {
- send.debug(plugin, "Alias register 1.17_R1");
- org.bukkit.craftbukkit.v1_17_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_17_R1.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_18_R1) {
- send.debug(plugin, "Alias register 1.18_R1");
- org.bukkit.craftbukkit.v1_18_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_18_R1.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
- }
- if (NMSVersion.v1_18_R2) {
- send.debug(plugin, "Alias register 1.18_R2");
- org.bukkit.craftbukkit.v1_18_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_18_R2.CraftServer) plugin.getServer();
- craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
+ if (Main.guiHashMap.get(alias).commandAliasEnable) {
+ try {
+ final Field bukkitCommandMap = Bukkit.getServer().getClass().getDeclaredField("commandMap");
+
+ bukkitCommandMap.setAccessible(true);
+ CommandMap commandMap = (CommandMap) bukkitCommandMap.get(Bukkit.getServer());
+
+ commandMap.register(alias, new RegisterCommand(alias));
+ } catch(Exception e) {
+ e.printStackTrace();
}
+ //Register.register(alias, plugin);
}
}
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/RegisterCommand.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/RegisterCommand.java
index 55fedd5..28d6bb5 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/RegisterCommand.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/cmdManagement/register/RegisterCommand.java
@@ -2,9 +2,8 @@ package de.jatitv.commandguiv2.Spigot.cmdManagement.register;
import de.jatitv.commandguiv2.Spigot.Main;
-import de.jatitv.commandguiv2.Spigot.Objekte.Object;
+import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
-import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@@ -23,16 +22,13 @@ public class RegisterCommand extends Command {
if (sender instanceof Player) {
Player player = (Player) sender;
- Object gui = Main.guiHashMap.get(alias);
- if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) {
- if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command." + alias) || player.hasPermission("commandgui.bypass")) {
- OpenGUI.openGUI(player, gui, alias);
- if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) {
- player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1);
- }
+ Gui gui = Main.guiHashMap.get(alias);
+ if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
+ if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + alias) || player.hasPermission("commandgui.bypass")) {
+ OpenGUI.openGUI(player, alias, true);
} else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + alias)
.replace("[perm]", "commandgui.command." + alias));
- } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.GUI_Name));
+ } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.guiName));
} else sender.sendMessage("§8[§6Command§9GUI§8] §cThis command is only for players!");
return true;
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/DefaultGUICreate.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/DefaultGUICreate.java
deleted file mode 100644
index 5ae684f..0000000
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/DefaultGUICreate.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package de.jatitv.commandguiv2.Spigot.config;
-
-import de.jatitv.commandguiv2.Spigot.Main;
-import net.t2code.lib.Spigot.Lib.messages.send;
-import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
-import org.bukkit.configuration.file.YamlConfiguration;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-
-
-public class DefaultGUICreate {
-
- private static Boolean GUI_Enable = true;
- private static Integer GUI_Lines = 1;
- private static String GUI_Name = "&5default &9GUI";
- private static Boolean GUI_FillItem_Enable = true;
- private static Integer GUI_FillItem_Item_1_8 = 15;
- private static String GUI_FillItem_Item = "BLACK_STAINED_GLASS_PANE";
-
- private static Boolean Command_Alias = true;
- private static Boolean Command_Permission = true;
-
- private static Integer slot = 5;
- private static Boolean enable = true;
- private static Boolean ItemEmty = false;
- private static Integer ItemAmout = 1;
- private static Boolean Playerhead_enable = true;
- private static Boolean base64_Enable = true;
- private static String base64value = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg3M2MxMmJmZmI1MjUxYTBiODhkNWFlNzVjNzI0N2NiMzlhNzVmZjFhODFjYmU0YzhhMzliMzExZGRlZGEifX19";
- private static Boolean PlayerWhoHasOpenedTheGUI = false;
- private static String PlayerName = "";
- private static String Item = "";
- private static String Itemname = "&3Support Discord";
- private static List ItemLore = Arrays.asList(
- "&8-----------------",
- "&bIf you need help setting up the plugin,",
- "&bfeel free to contact me on the Suport Discord.",
- "&8-----------------",
- "&eIf you find any errors or bugs,",
- "&eplease contact me so I can fix them.",
- "&8-----------------",
- "&5Discord: §7http://dc.t2code.net");
- private static Boolean CustomSound = false;
- private static Boolean CustomSound_NoSound = false;
- private static String CustomSound_Sound = "";
- private static Boolean Cost = false;
- private static Double Cost_Price = 0.0;
- private static Boolean Command = false;
- private static Boolean BungeeCommand = false;
- private static Boolean CommandAsConsole = false;
- private static List Commands = Arrays.asList();
- private static Boolean Server_Change = false;
- private static String Server_Change_Server = "";
- private static Boolean OpenGUI = false;
- private static String OpenGUI_GUI = "";
- private static Boolean Message = true;
- private static List Messages = Arrays.asList("&6You can find more information on Discord: &ehttp://dc.t2code.net");
- private static Boolean Permission = false;
-
- private static Boolean SetConfig_Enable = false;
- private static String SetConfig_FilePath = "";
- private static String SetConfig_OptionPath = "";
- private static String SetConfig_OptionPremat = "String";
-
- private static String SetConfig_ValueLeftString = "";
- private static Boolean SetConfig_ValueLeftBoolean = false;
- private static Integer SetConfig_ValueLeftInteger = 0;
- private static Double SetConfig_ValueLeftDouble = 0.0;
- private static List SetConfig_ValueLeftList = Arrays.asList();
-
- private static String SetConfig_ValueRightString = "";
- private static Boolean SetConfig_ValueRightBoolean = false;
- private static Integer SetConfig_ValueRightInteger = 0;
- private static Double SetConfig_ValueRightDouble = 0.0;
- private static List SetConfig_ValueRightList = Arrays.asList();
-
- private static Boolean SetConfig_PluginReloadEnable = false;
- private static String SetConfig_PluginReloadCommand = "";
-
-
-
- public static void configCreate() {
- Long long_ = Long.valueOf(System.currentTimeMillis());
- send.console(Main.prefix + " §4Default GUI file (GUIs/default.yml) is loaded...");
- File config = new File(Main.getPath(), "GUIs/default.yml");
- YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
-
- set("GUI.Enable", GUI_Enable, yamlConfiguration);
- set("GUI.Lines", GUI_Lines, yamlConfiguration);
- set("GUI.Name", GUI_Name, yamlConfiguration);
- set("GUI.FillItem.Enable", GUI_FillItem_Enable, yamlConfiguration);
- if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
- set("GUI.FillItem.GlassPaneCollor", GUI_FillItem_Item_1_8, yamlConfiguration);
- } else set("GUI.FillItem.Item", GUI_FillItem_Item, yamlConfiguration);
-
- set("Command.Alias", Command_Alias, yamlConfiguration);
- set("Command.Permission.Required", Command_Permission, yamlConfiguration);
- set("Slots.Example.Slot", slot, yamlConfiguration);
- set("Slots.Example.Enable", enable, yamlConfiguration);
- set("Slots.Example.Item.Empty", ItemEmty, yamlConfiguration);
- set("Slots.Example.Item.Amount", ItemAmout, yamlConfiguration);
- if (!(MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12)) {
- set("Slots.Example.Item.PlayerHead.Enable", Playerhead_enable, yamlConfiguration);
- set("Slots.Example.Item.PlayerHead.Base64.Enable", base64_Enable, yamlConfiguration);
- set("Slots.Example.Item.PlayerHead.Base64.Base64Value", base64value, yamlConfiguration);
- set("Slots.Example.Item.PlayerHead.PlayerWhoHasOpenedTheGUI", PlayerWhoHasOpenedTheGUI, yamlConfiguration);
- set("Slots.Example.Item.PlayerHead.PlayerName", PlayerName, yamlConfiguration);
- }
- if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
- set("Slots.Example.Item.Material", "TNT", yamlConfiguration);
- } else set("Slots.Example.Item.Material", Item, yamlConfiguration);
- set("Slots.Example.Item.Name", Itemname, yamlConfiguration);
- set("Slots.Example.Item.Lore", ItemLore, yamlConfiguration);
- set("Slots.Example.CustomSound.Enable", CustomSound, yamlConfiguration);
- set("Slots.Example.CustomSound.NoSound", CustomSound_NoSound, yamlConfiguration);
- set("Slots.Example.CustomSound.Sound", CustomSound_Sound, yamlConfiguration);
- set("Slots.Example.Cost.Enable", Cost, yamlConfiguration);
- set("Slots.Example.Cost.Price", Cost_Price, yamlConfiguration);
- set("Slots.Example.Command.Enable", Command, yamlConfiguration);
- set("Slots.Example.Command.BungeeCommand", BungeeCommand, yamlConfiguration);
- set("Slots.Example.Command.CommandAsConsole", CommandAsConsole, yamlConfiguration);
- set("Slots.Example.Command.Command", Commands, yamlConfiguration);
- set("Slots.Example.ServerChange.Enable", Server_Change, yamlConfiguration);
- set("Slots.Example.ServerChange.Server", Server_Change_Server, yamlConfiguration);
- set("Slots.Example.OpenGUI.Enable", OpenGUI, yamlConfiguration);
- set("Slots.Example.OpenGUI.GUI", OpenGUI_GUI, yamlConfiguration);
- set("Slots.Example.Message.Enable", Message, yamlConfiguration);
- set("Slots.Example.Message.Message", Messages, yamlConfiguration);
- set("Slots.Example.Permission.Required", Permission, yamlConfiguration);
-
- set("Slots.Example.SetConfig.Enable", SetConfig_Enable, yamlConfiguration);
- set("Slots.Example.SetConfig.File.Path", SetConfig_FilePath, yamlConfiguration);
- set("Slots.Example.SetConfig.Option.Path", SetConfig_OptionPath, yamlConfiguration);
- set("Slots.Example.SetConfig.Option.Premat", SetConfig_OptionPremat, yamlConfiguration);
- set("Slots.Example.SetConfig.Value.LeftClick.String", SetConfig_ValueLeftString, yamlConfiguration);
- set("Slots.Example.SetConfig.Value.LeftClick.Boolean", SetConfig_ValueLeftBoolean, yamlConfiguration);
- set("Slots.Example.SetConfig.Value.LeftClick.Integer", SetConfig_ValueLeftInteger, yamlConfiguration);
- set("Slots.Example.SetConfig.Value.LeftClick.Double", SetConfig_ValueLeftDouble, yamlConfiguration);
- set("Slots.Example.SetConfig.Value.LeftClick.List", SetConfig_ValueLeftList, yamlConfiguration);
- set("Slots.Example.SetConfig.Value.RightClick.String", SetConfig_ValueRightString, yamlConfiguration);
- set("Slots.Example.SetConfig.Value.RightClick.Boolean", SetConfig_ValueRightBoolean, yamlConfiguration);
- set("Slots.Example.SetConfig.Value.RightClick.Integer", SetConfig_ValueRightInteger, yamlConfiguration);
- set("Slots.Example.SetConfig.Value.RightClick.Double", SetConfig_ValueRightDouble, yamlConfiguration);
- set("Slots.Example.SetConfig.Value.RightClick.List", SetConfig_ValueRightList, yamlConfiguration);
- set("Slots.Example.SetConfig.PluginReload.Enable", SetConfig_PluginReloadEnable, yamlConfiguration);
- set("Slots.Example.SetConfig.PluginReload.Command", SetConfig_PluginReloadCommand, yamlConfiguration);
-
-
- try {
- yamlConfiguration.save(config);
- } catch (IOException e) {
- e.printStackTrace();
- }
-
-
- send.console(Main.prefix + " §2Default GUI file (GUIs/default.yml) was loaded." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
- }
-
- private static void set(String path, String value, YamlConfiguration config) {
- if (!config.contains(path)) {
- config.set(path, value);
- }
- }
-
- private static void set(String path, Integer value, YamlConfiguration config) {
- if (!config.contains(path)) {
- config.set(path, value);
- }
- }
-
- private static void set(String path, Boolean value, YamlConfiguration config) {
- if (!config.contains(path)) {
- config.set(path, value);
- }
- }
-
- private static void set(String path, List value, YamlConfiguration config) {
- if (!config.contains(path)) {
- config.set(path, value);
- }
- }
-
- private static void set(String path, Double value, YamlConfiguration config) {
- if (!config.contains(path)) {
- config.set(path, value);
- }
- }
-}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/ConfigCreate.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/ConfigCreate.java
index 7d8bf2e..c7fe49d 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/ConfigCreate.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/ConfigCreate.java
@@ -2,6 +2,7 @@ package de.jatitv.commandguiv2.Spigot.config.config;
import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Util;
+import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
import net.t2code.lib.Spigot.Lib.yamlConfiguration.Config;
@@ -14,10 +15,8 @@ import java.util.Arrays;
public class ConfigCreate {
- public static Integer ConfigVersion = 4;
-
public static void configCreate() {
- Long long_ = Long.valueOf(System.currentTimeMillis());
+ long long_ = System.currentTimeMillis();
if (new File(Main.getPath(), "config.yml").exists()) {
if (Main.plugin.getConfig().getBoolean("Plugin.Debug")) send.console(Main.prefix + " §5DEBUG: §6" + " §4config.yml are created / updated...");
} else send.console(Main.prefix + " §4config.yml are created...");
@@ -25,24 +24,15 @@ public class ConfigCreate {
File config = new File(Main.getPath(), "config.yml");
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
- if (yamlConfiguration.getInt("ConfigVersion") < ConfigVersion && new File(Main.getPath(), "config.yml").exists()) {
- send.console(Util.getPrefix() +" §4----------------------");
- send.console(Util.getPrefix() +" ");
- send.console(Util.getPrefix() +" §6New features have been added to CommandGUI. The Config is adapted!");
- send.console(Util.getPrefix() +" ");
- send.console(Util.getPrefix() +" §4----------------------");
- }
+ if (!config.exists()) Config.set("ConfigVersion", Util.getConfigVersion(), yamlConfiguration);
- yamlConfiguration.set("ConfigVersion", ConfigVersion);
-
- Config.set("Plugin.UpdateCheckOnJoin", true, yamlConfiguration);
Config.set("Plugin.Debug", false, yamlConfiguration);
Config.set("Plugin.HelpAlias", true, yamlConfiguration);
Config.set("Plugin.language", "english", yamlConfiguration);
Config.set("Plugin.Currency", "$", yamlConfiguration);
Config.set("Plugin.DefaultGUI", "default", yamlConfiguration);
- Config.set("Storage.Type", "YML", yamlConfiguration);
+ Config.set("Storage.Type", "SQLITE", yamlConfiguration);
Config.set("Storage.MySQL.IP", "localhost", yamlConfiguration);
Config.set("Storage.MySQL.Port", 3306, yamlConfiguration);
Config.set("Storage.MySQL.Database", "database", yamlConfiguration);
@@ -110,6 +100,20 @@ public class ConfigCreate {
Config.set("Advanced.UseItem.World.Protection.Mode", "blacklist", yamlConfiguration);
Config.set("Advanced.UseItem.World.Protection.List", Arrays.asList("World1", "World2"), yamlConfiguration);
+ Config.set("Toggle.Items.OnOrYes.Item.Base64.Enable", false, yamlConfiguration);
+ Config.set("Toggle.Items.OnOrYes.Item.Base64.Base64Value", "", yamlConfiguration);
+ Config.set("Toggle.Items.OnOrYes.Item.Material", ItemVersion.getGreenWool().getType().toString(), yamlConfiguration);
+
+ Config.set("Toggle.Items.OffOrNo.Item.Base64.Enable", false, yamlConfiguration);
+ Config.set("Toggle.Items.OffOrNo.Item.Base64.Base64Value", "", yamlConfiguration);
+ Config.set("Toggle.Items.OffOrNo.Item.Material", ItemVersion.getRedWool().getType().toString(), yamlConfiguration);
+
+ Config.set("Toggle.Permission.Commands.True", "luckperms user [player] permission set [perm] true", yamlConfiguration);
+ Config.set("Toggle.Permission.Commands.False", "luckperms user [player] permission set [perm] false", yamlConfiguration);
+
+ Config.set("Placeholder.True", "&2true", yamlConfiguration);
+ Config.set("Placeholder.False", "&4false", yamlConfiguration);
+
Config.set("Sound.Enable", true, yamlConfiguration);
Config.set("Sound.OpenInventory.Enable", true, yamlConfiguration);
@@ -155,6 +159,6 @@ public class ConfigCreate {
} catch (IOException e) {
e.printStackTrace();
}
- send.console(Main.prefix + " §2config.yml were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
+ send.console(Main.prefix + " §2config.yml were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/SelectConfig.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/SelectConfig.java
index 3e071aa..f9c2d25 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/SelectConfig.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/config/SelectConfig.java
@@ -1,8 +1,11 @@
package de.jatitv.commandguiv2.Spigot.config.config;
import de.jatitv.commandguiv2.Spigot.Main;
+import de.jatitv.commandguiv2.Spigot.config.configConverter.ConfigConverterUnderV5;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import de.jatitv.commandguiv2.Spigot.system.database.MySQL;
+import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
+import de.jatitv.commandguiv2.Spigot.system.database.StorageType;
import de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
@@ -11,19 +14,20 @@ import org.bukkit.Sound;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class SelectConfig {
- public static Boolean DisableUpdateChecker;
- public static Boolean UpdateCheckOnJoin;
+ private static final File config = new File(Main.getPath(), "config.yml");
+ private static final YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
public static Boolean Debug;
public static Boolean HelpAlias;
public static String language;
public static String Currency;
- public static String Storage;
+ public static String storage;
public static Boolean Bungee;
public static String thisServer;
@@ -57,6 +61,8 @@ public class SelectConfig {
public static String UseItemWorldMode;
public static List UseItemWorldList;
+ public static Boolean disableInfoBySneak;
+
public static Boolean UseItem_InventorySlot_FreeSlot;
public static Integer UseItem_InventorySlot;
public static Boolean UseItem_InventorySlotEnforce;
@@ -69,6 +75,20 @@ public class SelectConfig {
public static String UseItem_Name;
public static List UseItem_Lore;
+ public static Boolean toggleItemOnOrYesBase64;
+ public static String toggleItemOnOrYesBase64Value;
+ public static String toggleItemOnOrYesMaterial;
+
+ public static Boolean toggleItemOffOrNoBase64;
+ public static String toggleItemOffOrNoBase64Value;
+ public static String toggleItemOffOrNoMaterial;
+
+ public static String togglePermTrue;
+ public static String togglePermFalse;
+
+ public static String placeholderTrue;
+ public static String placeholderFalse;
+
public static Boolean Sound_Enable = true;
public static Boolean Sound_OpenInventory_Enable = true;
@@ -97,20 +117,23 @@ public class SelectConfig {
public static void onSelect() {
- File config = new File(Main.getPath(), "config.yml");
- YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
+ if (yamlConfiguration.getInt("ConfigVersion") < Util.getConfigVersion() && new File(Main.getPath(), "config.yml").exists()) {
+ send.console(Util.getPrefix() + " §4----------------------");
+ send.console(Util.getPrefix() + " ");
+ send.console(Util.getPrefix() + " §6New features have been added to CommandGUI. The Config is adapted!");
+ send.console(Util.getPrefix() + " ");
+ send.console(Util.getPrefix() + " §4----------------------");
+ if (yamlConfiguration.getInt("ConfigVersion") < 5) {
+ ConfigConverterUnderV5.convert();
+ }
+ }
- if (yamlConfiguration.get("Plugin.DisableUpdateChecker") == null) {
- DisableUpdateChecker = false;
- } else DisableUpdateChecker = yamlConfiguration.getBoolean("Plugin.DisableUpdateChecker");
- UpdateCheckOnJoin = yamlConfiguration.getBoolean("Plugin.UpdateCheckOnJoin");
Debug = yamlConfiguration.getBoolean("Plugin.Debug");
HelpAlias = yamlConfiguration.getBoolean("Plugin.HelpAlias");
language = yamlConfiguration.getString("Plugin.language");
Currency = yamlConfiguration.getString("Plugin.Currency");
DefaultGUI = yamlConfiguration.getString("Plugin.DefaultGUI");
-
- Storage = yamlConfiguration.getString("Storage.Type").toUpperCase();
+ storage = yamlConfiguration.getString("Storage.Type").toUpperCase();
MySQL.ip = yamlConfiguration.getString("Storage.MySQL.IP");
MySQL.port = yamlConfiguration.getInt("Storage.MySQL.Port");
@@ -140,7 +163,7 @@ public class SelectConfig {
UseItem_Base64value = yamlConfiguration.getString("UseItem.Item.PlayerHead.Base64.Base64Value");
UseItem_PlayerWhoHasOpenedTheGUI = yamlConfiguration.getBoolean("UseItem.Item.PlayerHead.PlayerWhoHasOpenedTheGUI");
UseItem_PlayerName = yamlConfiguration.getString("UseItem.Item.PlayerHead.PlayerName");
- UseItem_Name = Replace.replace(Util.getPrefix(),yamlConfiguration.getString("UseItem.Item.Name"));
+ UseItem_Name = Replace.replace(Util.getPrefix(), yamlConfiguration.getString("UseItem.Item.Name"));
UseItem_Lore = yamlConfiguration.getStringList("UseItem.Item.Lore");
UseItem_GiveOnEveryJoin = yamlConfiguration.getBoolean("UseItem.Join.GiveOnEveryJoin");
UseItem_GiveOnlyOnFirstJoin = yamlConfiguration.getBoolean("UseItem.Join.GiveOnlyOnFirstJoin");
@@ -154,7 +177,7 @@ public class SelectConfig {
UseItemGameModeRemoveItemWhenItIsDisabled = yamlConfiguration.getBoolean("Advanced.UseItem.GameMode.Protection.RemoveItemWhenItIsDisabled");
UseItemGameModeMode = yamlConfiguration.getString("Advanced.UseItem.GameMode.Protection.Mode");
List gml = new ArrayList<>();
- for (String gm : yamlConfiguration.getStringList("Advanced.UseItem.GameMode.Protection.List")){
+ for (String gm : yamlConfiguration.getStringList("Advanced.UseItem.GameMode.Protection.List")) {
gml.add(gm.toUpperCase());
}
UseItemGameModeList = gml;
@@ -164,7 +187,25 @@ public class SelectConfig {
UseItemWorldProtection = yamlConfiguration.getBoolean("Advanced.UseItem.World.Protection.Enable");
UseItemWorldRemoveItemWhenItIsDisabled = yamlConfiguration.getBoolean("Advanced.UseItem.World.Protection.RemoveItemWhenItIsDisabled");
UseItemWorldMode = yamlConfiguration.getString("Advanced.UseItem.World.Protection.Mode");
- UseItemWorldList =yamlConfiguration.getStringList("Advanced.UseItem.World.Protection.List");
+ UseItemWorldList = yamlConfiguration.getStringList("Advanced.UseItem.World.Protection.List");
+
+ if (yamlConfiguration.get("Advanced.UseItem.DisableInfoBySneak") != null){
+ disableInfoBySneak = yamlConfiguration.getBoolean("Advanced.UseItem.DisableInfoBySneak");
+ }
+
+ toggleItemOnOrYesBase64 = yamlConfiguration.getBoolean("Toggle.Items.OnOrYes.Item.Base64.Enable");
+ toggleItemOnOrYesBase64Value = yamlConfiguration.getString("Toggle.Items.OnOrYes.Item.Base64.Base64Value");
+ toggleItemOnOrYesMaterial = yamlConfiguration.getString("Toggle.Items.OnOrYes.Item.Material");
+
+ toggleItemOffOrNoBase64 = yamlConfiguration.getBoolean("Toggle.Items.OffOrNo.Item.Base64.Enable");
+ toggleItemOffOrNoBase64Value = yamlConfiguration.getString("Toggle.Items.OffOrNo.Item.Base64.Base64Value");
+ toggleItemOffOrNoMaterial = yamlConfiguration.getString("Toggle.Items.OffOrNo.Item.Material");
+
+ togglePermTrue = yamlConfiguration.getString("Toggle.Permission.Commands.True");
+ togglePermFalse = yamlConfiguration.getString("Toggle.Permission.Commands.False");
+
+ placeholderTrue = yamlConfiguration.getString("Placeholder.True");
+ placeholderFalse = yamlConfiguration.getString("Placeholder.False");
Sound_Enable = yamlConfiguration.getBoolean("Sound.Enable");
Sound_OpenInventory_Enable = yamlConfiguration.getBoolean("Sound.OpenInventory.Enable");
@@ -180,6 +221,7 @@ public class SelectConfig {
Sound_Give_input = (yamlConfiguration.getString("Sound.Give.Sound").toUpperCase().replace(".", "_"));
Sound_PlayerNotFound_Enable = yamlConfiguration.getBoolean("Sound.PlayerNotFound.Enable");
Sound_PlayerNotFound_input = (yamlConfiguration.getString("Sound.PlayerNotFound.Sound").toUpperCase().replace(".", "_"));
+ setConfigVersion();
}
@@ -302,4 +344,13 @@ public class SelectConfig {
}
}
+
+ private static void setConfigVersion() {
+ yamlConfiguration.set("ConfigVersion", Util.getConfigVersion());
+ try {
+ yamlConfiguration.save(config);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/configConverter/ConfigConverterUnderV5.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/configConverter/ConfigConverterUnderV5.java
new file mode 100644
index 0000000..14f3988
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/configConverter/ConfigConverterUnderV5.java
@@ -0,0 +1,176 @@
+package de.jatitv.commandguiv2.Spigot.config.configConverter;
+
+import de.jatitv.commandguiv2.Spigot.Main;
+import de.jatitv.commandguiv2.Spigot.config.functions.CreateFunctions;
+import de.jatitv.commandguiv2.Util;
+import net.t2code.lib.Spigot.Lib.messages.send;
+import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
+import org.apache.commons.io.FileUtils;
+import org.bukkit.configuration.file.YamlConfiguration;
+import org.bukkit.plugin.Plugin;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+public class ConfigConverterUnderV5 {
+ public static void convert() {
+ renameFolder();
+ send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------");
+ send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]");
+ send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4Config conversion to the new config structure starts!");
+ send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]");
+ send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------");
+ File f = new File(Main.getPath() + "/OldConfig/GUIs/Version4");
+ File[] fileArray = f.listFiles();
+
+ for (File configOld : fileArray) {
+ String sub = configOld.getName().substring(configOld.getName().length() - 4);
+ if (sub.equals(".yml")) {
+ YamlConfiguration yamlConfigurationOld = YamlConfiguration.loadConfiguration(configOld);
+
+ File config = new File(Main.getPath(), "GUIs/" + configOld.getName().replace(".yml", "") + ".yml");
+ YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
+
+ Boolean enable = yamlConfigurationOld.getBoolean("GUI.Enable");
+ Integer lines = yamlConfigurationOld.getInt("GUI.Lines");
+
+ String name = yamlConfigurationOld.getString("GUI.Name");
+ Boolean fillItemEnable = yamlConfigurationOld.getBoolean("GUI.FillItem.Enable");
+ String fillItem;
+ if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
+ fillItem = yamlConfigurationOld.getString("GUI.FillItem.GlassPaneColor");
+ } else fillItem = yamlConfigurationOld.getString("GUI.FillItem.Item");
+
+ Boolean alias = yamlConfigurationOld.getBoolean("Command.Alias");
+ Boolean aliasPerm = yamlConfigurationOld.getBoolean("Command.Permission.Required");
+
+ setNew(enable, lines, name, fillItemEnable, fillItem, alias, aliasPerm, yamlConfiguration);
+
+ for (String key : yamlConfigurationOld.getConfigurationSection("Slots").getKeys(false)) {
+ Integer slotNumber = yamlConfigurationOld.getInt("Slots." + key + ".Slot");
+ Boolean slotEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Enable");
+ Boolean permRequired = yamlConfigurationOld.getBoolean("Slots." + key + ".Permission.Required");
+
+ Boolean empty = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.Empty");
+ Integer itemAmount = yamlConfigurationOld.getInt("Slots." + key + ".Item.Amount");
+ Boolean playerHeadEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.PlayerHead.Enable");
+ Boolean base64Enable = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.PlayerHead.Base64.Enable");
+ String base64Value = yamlConfigurationOld.getString("Slots." + key + ".Item.PlayerHead.Base64.Base64Value");
+ Boolean playerWhoHasOpenedTheGUI = yamlConfigurationOld.getBoolean("Slots." + key + ".Item.PlayerHead.PlayerWhoHasOpenedTheGUI");
+ String playerName = yamlConfigurationOld.getString("Slots." + key + ".Item.PlayerHead.PlayerName");
+ String itemMaterial = yamlConfigurationOld.getString("Slots." + key + ".Item.Material");
+ String itemName = yamlConfigurationOld.getString("Slots." + key + ".Item.Name");
+ List lore = yamlConfigurationOld.getStringList("Slots." + key + ".Item.Lore");
+ Boolean customSoundEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".CustomSound.Enable");
+ Boolean customSoundNoSound = yamlConfigurationOld.getBoolean("Slots." + key + ".CustomSound.NoSound");
+ String customSoundSound = yamlConfigurationOld.getString("Slots." + key + ".CustomSound.Sound");
+ Boolean costEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Cost.Enable");
+ Double price = yamlConfigurationOld.getDouble("Slots." + key + ".Cost.Price");
+ Boolean commandEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Command.Enable");
+ Boolean commandBungeeCommand = yamlConfigurationOld.getBoolean("Slots." + key + ".Command.BungeeCommand");
+ Boolean commandAsConsole = yamlConfigurationOld.getBoolean("Slots." + key + ".Command.CommandAsConsole");
+ List command = yamlConfigurationOld.getStringList("Slots." + key + ".Command.Command");
+ Boolean serverChange = yamlConfigurationOld.getBoolean("Slots." + key + ".ServerChange.Enable");
+ String serverChangeServer = yamlConfigurationOld.getString("Slots." + key + ".ServerChange.Server");
+ Boolean openGUIEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".OpenGUI.Enable");
+ String openGUI = yamlConfigurationOld.getString("Slots." + key + ".OpenGUI.GUI");
+ Boolean togglePermission = yamlConfigurationOld.getBoolean("Slots." + key + ".Toggle.Permission.Enable");
+ String togglePermissionPerm = yamlConfigurationOld.getString("Slots." + key + ".Toggle.Permission.Permission");
+ Boolean toggleUseItem = yamlConfigurationOld.getBoolean("Slots." + key + ".Toggle.UseItem.Enable");
+ Boolean messageEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".Message.Enable");
+ List message = yamlConfigurationOld.getStringList("Slots." + key + ".Message.Message");
+ Boolean setConfigEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.Enable");
+ String configFilePath = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.File.Path");
+ String configOptionPath = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Option.Path");
+ String configOptionPremat = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Option.Premat");
+ // Boolean ConfigChatInput = ;
+
+ String configStringValueLeft = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Value.LeftClick.String");
+ Boolean configBooleanValueLeft = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.Value.LeftClick.Boolean");
+ Integer configIntegerValueLeft = yamlConfigurationOld.getInt("Slots." + key + ".SetConfig.Value.LeftClick.Integer");
+ Double configDoubleValueLeft = yamlConfigurationOld.getDouble("Slots." + key + ".SetConfig.Value.LeftClick.Double");
+ List configListValueLeft = yamlConfigurationOld.getStringList("Slots." + key + ".SetConfig.Value.LeftClick.List");
+
+ String configStringValueRight = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.Value.RightClick.String");
+ Boolean configBooleanValueRight = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.Value.RightClick.Boolean");
+ Integer configIntegerValueRight = yamlConfigurationOld.getInt("Slots." + key + ".SetConfig.Value.RightClick.Integer");
+ Double configDoubleValueRight = yamlConfigurationOld.getDouble("Slots." + key + ".SetConfig.Value.RightClick.Double");
+ List configListValueRight = yamlConfigurationOld.getStringList("Slots." + key + ".SetConfig.RightClick.Value.List");
+
+ Boolean pluginReloadEnable = yamlConfigurationOld.getBoolean("Slots." + key + ".SetConfig.PluginReload.Enable");
+ String pluginReloadCommand = yamlConfigurationOld.getString("Slots." + key + ".SetConfig.PluginReload.Command");
+
+ setNew(key, slotNumber, slotEnable, key, permRequired, yamlConfiguration);
+ CreateFunctions.createFunction(key, empty, itemAmount, playerHeadEnable, base64Enable, base64Value, playerWhoHasOpenedTheGUI, playerName, itemMaterial, itemName, lore,
+ customSoundEnable, customSoundNoSound, customSoundSound, costEnable, price, commandEnable, commandBungeeCommand, commandAsConsole, command, serverChange,
+ serverChangeServer, openGUIEnable, openGUI, togglePermission, togglePermissionPerm, toggleUseItem, messageEnable, message, setConfigEnable, configFilePath,
+ configOptionPath, configOptionPremat, configStringValueLeft, configBooleanValueLeft, configIntegerValueLeft, configDoubleValueLeft, configListValueLeft,
+ configStringValueRight, configBooleanValueRight, configIntegerValueRight, configDoubleValueRight, configListValueRight, pluginReloadEnable, pluginReloadCommand);
+ }
+
+ try {
+ yamlConfiguration.save(config);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------");
+ send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]");
+ send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4The conversion to the new config structure is completed!");
+ send.console(Util.getPrefix() + " §7[§5ConfigConvert§7]");
+ send.console(Util.getPrefix() + " §7[§5ConfigConvert§7] §4----------------------");
+ }
+
+ private static void renameFolder() {
+ File dir = new File(Main.getPath() + "/GUIs");
+ File newDir = new File(Main.getPath() + "/OldConfig/GUIs/Version4");
+
+ try {
+ FileUtils.moveDirectory(dir, newDir);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static void setNew(Boolean enable, Integer lines, String name, Boolean fillItemEnable, String fillItem, Boolean alias, Boolean aliasPerm, YamlConfiguration yamlConfiguration) {
+ set("GUI.Enable", enable, yamlConfiguration);
+ set("GUI.Lines", lines, yamlConfiguration);
+ set("GUI.Name", name, yamlConfiguration);
+ set("GUI.FillItem.Enable", fillItemEnable, yamlConfiguration);
+ if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
+ set("GUI.FillItem.GlassPaneColor", fillItem, yamlConfiguration);
+ } else set("GUI.FillItem.Item", fillItem, yamlConfiguration);
+
+ set("Command.Alias", alias, yamlConfiguration);
+ set("Command.Permission.Required", aliasPerm, yamlConfiguration);
+ }
+
+ private static void setNew(String key, Integer slotNumber, Boolean slotEnable, String function, Boolean permRequired, YamlConfiguration yamlConfiguration) {
+ set("Slots." + key + ".Slot", slotNumber, yamlConfiguration);
+ set("Slots." + key + ".Enable", slotEnable, yamlConfiguration);
+ set("Slots." + key + ".Function", function, yamlConfiguration);
+ set("Slots." + key + ".Permission.Required", permRequired, yamlConfiguration);
+ set("Slots." + key + ".Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
+ set("Slots." + key + ".Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
+ }
+
+ private static void set(String path, String value, YamlConfiguration config) {
+ if (!config.contains(path)) {
+ config.set(path, value);
+ }
+ }
+
+ private static void set(String path, Integer value, YamlConfiguration config) {
+ if (!config.contains(path)) {
+ config.set(path, value);
+ }
+ }
+
+ private static void set(String path, Boolean value, YamlConfiguration config) {
+ if (!config.contains(path)) {
+ config.set(path, value);
+ }
+ }
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/functions/CreateFunctions.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/functions/CreateFunctions.java
new file mode 100644
index 0000000..536d230
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/functions/CreateFunctions.java
@@ -0,0 +1,146 @@
+package de.jatitv.commandguiv2.Spigot.config.functions;
+
+import de.jatitv.commandguiv2.Spigot.Main;
+import net.t2code.lib.Spigot.Lib.messages.send;
+import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
+import org.bukkit.configuration.file.YamlConfiguration;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+
+public class CreateFunctions {
+ public static void create() {
+ createFunction("UseItem", false, 1, false, false, "", false, "", "",
+ "&6Toggle UseItem", Arrays.asList("&bYou currently have the UseItem set to: %commandgui_useitem%"), false, false,
+ "", false, 0.0, false, false, false, Arrays.asList(), false,
+ "", false, "", false, "", true, true,
+ Arrays.asList("&bYour UseItem was set to: %commandgui_useitem%&b."), false, "", "", "String",
+ "", false, 0, 0.0, Arrays.asList(), "", false,
+ 0, 0.0, Arrays.asList(), false, "");
+
+ createFunction("SupportDiscord", false, 1, true, true, "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg3M2MxMmJmZmI1MjUxYTBiODhkNWFlNzVjNzI0N2NiMzlhNzVmZjFhODFjYmU0YzhhMzliMzExZGRlZGEifX19",
+ false, "", (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) ? "TNT" : "",
+ "&3Support Discord", Arrays.asList("&8-----------------", "&bIf you need help setting up the plugin,", "&bfeel free to contact me on the Suport Discord.",
+ "&8-----------------", "&eIf you find any errors or bugs,", "&eplease contact me so I can fix them.", "&8-----------------", "&5Discord: §7http://dc.t2code.net"),
+ false, false, "", false, 0.0, false, false,
+ false, Arrays.asList(), false, "", false, "", false, "",
+ false, true, Arrays.asList("&6You can find more information on Discord: &ehttp://dc.t2code.net"), false, "",
+ "", "String", "", false, 0, 0.0, Arrays.asList(),
+ "", false, 0, 0.0, Arrays.asList(), false, "");
+
+
+ }
+
+ public static void createFunction(String fileName, Boolean empty, Integer itemAmount, Boolean playerHeadEnable, Boolean base64Enable, String base64Value, Boolean playerWhoHasOpenedTheGUI,
+ String playerName, String itemMaterial, String name, List lore, Boolean customSoundEnable, Boolean customSoundNoSound, String customSoundSound,
+ Boolean costEnable, Double price, Boolean commandEnable, Boolean commandBungeeCommand, Boolean commandAsConsole, List command,
+ Boolean serverChange, String serverChangeServer, Boolean openGUIEnable, String openGUI, Boolean togglePermission, String togglePermissionPerm,
+ Boolean toggleUseItem, Boolean messageEnable, List message, Boolean setConfigEnable, String configFilePath, String configOptionPath,
+ String configOptionPremat, String configStringValueLeft, Boolean configBooleanValueLeft, Integer configIntegerValueLeft, Double configDoubleValueLeft,
+ List configListValueLeft, String configStringValueRight, Boolean configBooleanValueRight, Integer configIntegerValueRight, Double configDoubleValueRight,
+ List configListValueRight, Boolean pluginReloadEnable, String pluginReloadCommand) {
+ long long_ = System.currentTimeMillis();
+
+ File config = new File(Main.getPath(), "Functions/" + fileName + ".yml");
+ int i = 1;
+ while (config.exists()) {
+ config = new File(Main.getPath(), "Functions/" + fileName + "-" + i + ".yml");
+ i++;
+ }
+
+ send.console(Main.prefix + " §4Function GUI file (Functions/" + config.getName() + ") is loaded...");
+
+ YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
+
+ set("Slots.Function.Item.Empty", empty, yamlConfiguration);
+ set("Slots.Function.Item.Amount", itemAmount, yamlConfiguration);
+ // if (!(MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12)) {
+ set("Slots.Function.Item.PlayerHead.Enable", playerHeadEnable, yamlConfiguration);
+ set("Slots.Function.Item.PlayerHead.Base64.Enable", base64Enable, yamlConfiguration);
+ set("Slots.Function.Item.PlayerHead.Base64.Base64Value", base64Value, yamlConfiguration);
+ set("Slots.Function.Item.PlayerHead.PlayerWhoHasOpenedTheGUI", playerWhoHasOpenedTheGUI, yamlConfiguration);
+ set("Slots.Function.Item.PlayerHead.PlayerName", playerName, yamlConfiguration);
+ // }
+ set("Slots.Function.Item.Material", itemMaterial == null ? "" : itemMaterial, yamlConfiguration);
+ set("Slots.Function.Item.Name", name == null ? "" : name, yamlConfiguration);
+ set("Slots.Function.Item.Lore", lore, yamlConfiguration);
+ set("Slots.Function.CustomSound.Enable", customSoundEnable, yamlConfiguration);
+ set("Slots.Function.CustomSound.NoSound", customSoundNoSound, yamlConfiguration);
+ set("Slots.Function.CustomSound.Sound", customSoundSound == null ? "" : customSoundSound, yamlConfiguration);
+ set("Slots.Function.Cost.Enable", costEnable, yamlConfiguration);
+ set("Slots.Function.Cost.Price", price, yamlConfiguration);
+ set("Slots.Function.Command.Enable", commandEnable, yamlConfiguration);
+ set("Slots.Function.Command.BungeeCommand", commandBungeeCommand, yamlConfiguration);
+ set("Slots.Function.Command.CommandAsConsole", commandAsConsole, yamlConfiguration);
+ set("Slots.Function.Command.Command", command, yamlConfiguration);
+ set("Slots.Function.ServerChange.Enable", serverChange, yamlConfiguration);
+ set("Slots.Function.ServerChange.Server", serverChangeServer == null ? "" : serverChangeServer, yamlConfiguration);
+ set("Slots.Function.OpenGUI.Enable", openGUIEnable, yamlConfiguration);
+ set("Slots.Function.OpenGUI.GUI", openGUI == null ? "" : openGUI, yamlConfiguration);
+
+ set("Slots.Function.Toggle.Permission.Enable", togglePermission, yamlConfiguration);
+ set("Slots.Function.Toggle.Permission.Permission", togglePermissionPerm == null ? "" : togglePermissionPerm, yamlConfiguration);
+ set("Slots.Function.Toggle.UseItem.Enable", toggleUseItem, yamlConfiguration);
+
+ set("Slots.Function.Message.Enable", messageEnable, yamlConfiguration);
+ set("Slots.Function.Message.Message", message, yamlConfiguration);
+
+ set("Slots.Function.SetConfig.Enable", setConfigEnable, yamlConfiguration);
+ set("Slots.Function.SetConfig.File.Path", configFilePath == null ? "" : configFilePath, yamlConfiguration);
+ set("Slots.Function.SetConfig.Option.Path", configOptionPath == null ? "" : configOptionPath, yamlConfiguration);
+ set("Slots.Function.SetConfig.Option.Premat", configOptionPremat == null ? "" : configOptionPremat, yamlConfiguration);
+ set("Slots.Function.SetConfig.Value.LeftClick.String", configStringValueLeft == null ? "" : configStringValueLeft, yamlConfiguration);
+ set("Slots.Function.SetConfig.Value.LeftClick.Boolean", configBooleanValueLeft, yamlConfiguration);
+ set("Slots.Function.SetConfig.Value.LeftClick.Integer", configIntegerValueLeft, yamlConfiguration);
+ set("Slots.Function.SetConfig.Value.LeftClick.Double", configDoubleValueLeft, yamlConfiguration);
+ set("Slots.Function.SetConfig.Value.LeftClick.List", configListValueLeft, yamlConfiguration);
+ set("Slots.Function.SetConfig.Value.RightClick.String", configStringValueRight == null ? "" : configStringValueRight, yamlConfiguration);
+ set("Slots.Function.SetConfig.Value.RightClick.Boolean", configBooleanValueRight, yamlConfiguration);
+ set("Slots.Function.SetConfig.Value.RightClick.Integer", configIntegerValueRight, yamlConfiguration);
+ set("Slots.Function.SetConfig.Value.RightClick.Double", configDoubleValueRight, yamlConfiguration);
+ set("Slots.Function.SetConfig.Value.RightClick.List", configListValueRight, yamlConfiguration);
+ set("Slots.Function.SetConfig.PluginReload.Enable", pluginReloadEnable, yamlConfiguration);
+ set("Slots.Function.SetConfig.PluginReload.Command", pluginReloadCommand == null ? "" : pluginReloadCommand, yamlConfiguration);
+
+ try {
+ yamlConfiguration.save(config);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ send.console(Main.prefix + " §2Function file (Functions/" + config.getName() + ") was loaded." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
+
+ }
+
+
+ private static void set(String path, String value, YamlConfiguration config) {
+ if (!config.contains(path)) {
+ config.set(path, value);
+ }
+ }
+
+ private static void set(String path, Integer value, YamlConfiguration config) {
+ if (!config.contains(path)) {
+ config.set(path, value);
+ }
+ }
+
+ private static void set(String path, Boolean value, YamlConfiguration config) {
+ if (!config.contains(path)) {
+ config.set(path, value);
+ }
+ }
+
+ private static void set(String path, List value, YamlConfiguration config) {
+ if (!config.contains(path)) {
+ config.set(path, value);
+ }
+ }
+
+ private static void set(String path, Double value, YamlConfiguration config) {
+ if (!config.contains(path)) {
+ config.set(path, value);
+ }
+ }
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/gui/CreateGUI.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/gui/CreateGUI.java
new file mode 100644
index 0000000..78fcf7c
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/config/gui/CreateGUI.java
@@ -0,0 +1,72 @@
+package de.jatitv.commandguiv2.Spigot.config.gui;
+
+import de.jatitv.commandguiv2.Spigot.Main;
+import net.t2code.lib.Spigot.Lib.messages.send;
+import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
+import org.bukkit.configuration.file.YamlConfiguration;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+
+
+public class CreateGUI {
+ public static void configCreate() {
+ long long_ = System.currentTimeMillis();
+ send.console(Main.prefix + " §4Default GUI file (GUIs/default.yml) is loaded...");
+ File config = new File(Main.getPath(), "GUIs/default.yml");
+ YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
+
+ set("GUI.Enable", true, yamlConfiguration);
+ set("GUI.Lines", 1, yamlConfiguration);
+ set("GUI.Name", "&5default &9GUI", yamlConfiguration);
+ set("GUI.FillItem.Enable", true, yamlConfiguration);
+ if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
+ set("GUI.FillItem.GlassPaneColor", 15, yamlConfiguration);
+ } else set("GUI.FillItem.Item", "BLACK_STAINED_GLASS_PANE", yamlConfiguration);
+
+ set("Command.Alias", true, yamlConfiguration);
+ set("Command.Permission.Required", true, yamlConfiguration);
+
+ set("Slots.SupportDiscord.Slot", 4, yamlConfiguration);
+ set("Slots.SupportDiscord.Enable", true, yamlConfiguration);
+ set("Slots.SupportDiscord.Function", "SupportDiscord", yamlConfiguration);
+ set("Slots.SupportDiscord.Permission.Required", false, yamlConfiguration);
+ set("Slots.SupportDiscord.Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
+ set("Slots.SupportDiscord.Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
+
+ set("Slots.UseItem.Slot", 6, yamlConfiguration);
+ set("Slots.UseItem.Enable", true, yamlConfiguration);
+ set("Slots.UseItem.Function", "UseItem", yamlConfiguration);
+ set("Slots.UseItem.Permission.Required", false, yamlConfiguration);
+ set("Slots.UseItem.Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
+ set("Slots.UseItem.Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
+
+
+ try {
+ yamlConfiguration.save(config);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ send.console(Main.prefix + " §2Default GUI file (GUIs/default.yml) was loaded." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
+ }
+
+ private static void set(String path, String value, YamlConfiguration config) {
+ if (!config.contains(path)) {
+ config.set(path, value);
+ }
+ }
+
+ private static void set(String path, Integer value, YamlConfiguration config) {
+ if (!config.contains(path)) {
+ config.set(path, value);
+ }
+ }
+
+ private static void set(String path, Boolean value, YamlConfiguration config) {
+ if (!config.contains(path)) {
+ config.set(path, value);
+ }
+ }
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/GuiBuilder.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/GuiBuilder.java
new file mode 100644
index 0000000..419cc36
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/GuiBuilder.java
@@ -0,0 +1,122 @@
+package de.jatitv.commandguiv2.Spigot.gui;
+
+import com.mojang.authlib.GameProfile;
+import com.mojang.authlib.properties.Property;
+import de.jatitv.commandguiv2.Spigot.Main;
+import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
+import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
+import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
+import de.jatitv.commandguiv2.Util;
+import net.t2code.lib.Spigot.Lib.items.ItemVersion;
+import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
+import net.t2code.lib.Spigot.Lib.replace.Replace;
+import org.bukkit.Material;
+import org.bukkit.entity.Player;
+import org.bukkit.inventory.Inventory;
+import org.bukkit.inventory.ItemStack;
+import org.bukkit.inventory.meta.ItemMeta;
+import org.bukkit.inventory.meta.SkullMeta;
+
+import java.lang.reflect.Field;
+import java.util.UUID;
+
+public class GuiBuilder {
+
+ private static String prefix = Util.getPrefix();
+
+ protected static void item(Function function, Integer slot, Player player, Inventory inventory) {
+ ItemStack item = new ItemStack(Material.valueOf(function.item.toUpperCase().replace(".", "_")));
+ ItemMeta itemMeta = item.getItemMeta();
+ setDisplayNameAndLore(itemMeta, player, function);
+ item.setItemMeta(itemMeta);
+ Integer am;
+ if (function.itemAmount == 0) {
+ am = 1;
+ } else am = function.itemAmount;
+ item.setAmount(am);
+ inventory.setItem(slot, item);
+ }
+
+ protected static void item(String material, Function function,Integer slot, Player player, Inventory inventory) {
+ ItemStack item = new ItemStack(Material.valueOf(material));
+ ItemMeta itemMeta = item.getItemMeta();
+ setDisplayNameAndLore(itemMeta, player, function);
+ item.setItemMeta(itemMeta);
+ Integer am;
+ if (function.itemAmount == 0) {
+ am = 1;
+ } else am = function.itemAmount;
+ item.setAmount(am);
+ inventory.setItem(slot, item);
+ }
+
+
+ private static void setDisplayNameAndLore(ItemMeta itemMeta, Player player, Function slot) {
+ if (Main.PaPi) {
+ itemMeta.setDisplayName(Replace.replace(prefix, player, slot.name.replace("[player]", player.getName())));
+ itemMeta.setLore(Replace.replacePrice(prefix, player, slot.lore, slot.price + " " + SelectConfig.Currency));
+ } else {
+ itemMeta.setDisplayName(Replace.replace(prefix, slot.name.replace("[player]", player.getName())));
+ itemMeta.setLore(Replace.replacePrice(prefix, slot.lore, slot.price + " " + SelectConfig.Currency));
+ }
+ }
+
+ protected static void base64(String base64Value, Function function, Integer slot, Player player, Inventory inventory) {
+ ItemStack item = ItemVersion.getHeadIS();
+ SkullMeta itemMeta = (SkullMeta) item.getItemMeta();
+ setBase64(itemMeta, base64Value);
+ setDisplayNameAndLore(itemMeta, player, function);
+ item.setItemMeta(itemMeta);
+ Integer am;
+ if (function.itemAmount == 0) {
+ am = 1;
+ } else am = function.itemAmount;
+ item.setAmount(am);
+ inventory.setItem(slot, item);
+ }
+
+ private static void setBase64(ItemMeta itemMeta, String base64Value) {
+ GameProfile profile = new GameProfile(UUID.randomUUID(), "");
+ profile.getProperties().put("textures", new Property("textures", base64Value == null ? "" : base64Value));
+ Field profileField;
+ try {
+ profileField = itemMeta.getClass().getDeclaredField("profile");
+ profileField.setAccessible(true);
+ profileField.set(itemMeta, profile);
+ } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e) {
+ e.printStackTrace();
+ }
+ }
+
+ protected static void base64(Function function,Integer slot, Player player, Inventory inventory) {
+ base64(function.base64Value, function,slot, player, inventory);
+ }
+
+ protected static void playerHead(Function function, Integer slot,Player player, Inventory inventory, String skullName) {
+ ItemStack item = ItemVersion.getHeadIS();
+ SkullMeta itemMeta = (SkullMeta) item.getItemMeta();
+ setDisplayNameAndLore(itemMeta, player, function);
+ itemMeta.setOwner(skullName);
+ item.setItemMeta(itemMeta);
+ Integer am;
+ if (function.itemAmount == 0) {
+ am = 1;
+ } else am = function.itemAmount;
+ item.setAmount(am);
+ inventory.setItem(slot, item);
+ }
+
+ public static void fillItem(Inventory inventory, Gui gui) {
+ ItemStack glass;
+ if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
+ glass = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, Short.valueOf(gui.guiFillItemItem));
+ } else glass = new ItemStack(Material.valueOf(gui.guiFillItemItem.toUpperCase().replace(".", "_")));
+ ItemMeta itemMetaglass = glass.getItemMeta();
+ itemMetaglass.setDisplayName(" ");
+ glass.setItemMeta(itemMetaglass);
+ glass.setAmount(1);
+ for (int i = 0; i < 9 * gui.guiLines; i++) {
+ inventory.setItem(i, glass);
+ }
+ }
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/OpenGUI.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/OpenGUI.java
index 24c2b44..771338b 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/OpenGUI.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/OpenGUI.java
@@ -1,16 +1,15 @@
package de.jatitv.commandguiv2.Spigot.gui;
-import com.mojang.authlib.GameProfile;
-import com.mojang.authlib.properties.Property;
-import de.jatitv.commandguiv2.Spigot.Listener.GUI_Listener;
+import de.jatitv.commandguiv2.Spigot.Listener.GUIListener;
+import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
import de.jatitv.commandguiv2.Spigot.Main;
-import de.jatitv.commandguiv2.Spigot.Objekte.Slot;
+import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
-import de.jatitv.commandguiv2.Spigot.Objekte.Object;
+import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
+import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
import de.jatitv.commandguiv2.Util;
import io.github.solyze.plugmangui.inventories.PluginListGUI;
-import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
import net.t2code.lib.Spigot.Lib.replace.Replace;
@@ -21,18 +20,14 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
-import org.bukkit.inventory.meta.ItemMeta;
-import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.plugin.Plugin;
-import java.lang.reflect.Field;
-import java.util.UUID;
-
public class OpenGUI {
private static Plugin plugin = Main.plugin;
private static String prefix = Util.getPrefix();
- public static void openGUI(Player player, Object gui, String guiString) {
+ public static void openGUI(Player player, String guiString, Boolean sound) {
+ Gui gui = Main.guiHashMap.get(guiString);
Long long_ = Long.valueOf(System.currentTimeMillis());
switch (guiString) {
//case "plugin.PlotSquaredGUI":
@@ -68,131 +63,89 @@ public class OpenGUI {
}
if (MCVersion.minecraft1_13) {
- GUI_Listener.GUICode = "";
- } else GUI_Listener.GUICode = "§6§8§9§r";
- if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) {
+ GUIListener.GUICode = "";
+ } else GUIListener.GUICode = "§6§8§9§r";
+ if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
Inventory inventory;
if (Main.PaPi) {
- inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.GUI_Lines, (Replace.replace(prefix, player, GUI_Listener.GUICode + gui.GUI_Name)));
- } else inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.GUI_Lines, (Replace.replace(prefix, GUI_Listener.GUICode + gui.GUI_Name)));
+ inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.guiLines, (Replace.replace(prefix, player, GUIListener.GUICode + gui.guiName)));
+ } else inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.guiLines, (Replace.replace(prefix, GUIListener.GUICode + gui.guiName)));
- if (gui.GUI_FillItem_Enable) {
- ItemStack glass;
- if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
- glass = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, Short.valueOf(gui.GUI_FillItem_Item));
- } else glass = new ItemStack(Material.valueOf(gui.GUI_FillItem_Item.toUpperCase().replace(".", "_")));
- ItemMeta itemMetaglass = glass.getItemMeta();
- itemMetaglass.setDisplayName(" ");
- glass.setItemMeta(itemMetaglass);
- glass.setAmount(1);
- for (int i = 0; i < 9 * gui.GUI_Lines; i++) {
- inventory.setItem(i, glass);
- }
+ if (gui.guiFillItemEnable) {
+ GuiBuilder.fillItem(inventory, gui);
}
- for (Slot slot : gui.GUI_Slots) {
- if (!slot.Perm
- || player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1))
- || player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1)+".see")
- || player.hasPermission("commandgui.admin")) {
- if (slot.Enable) {
- if (slot.Empty) {
- ItemStack air = new ItemStack(Material.AIR);
- inventory.setItem(slot.Slot, air);
- } else {
- if (slot.PlayerHead_Enable) {
- if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
- send.player(player, prefix + "§c Playerheads are only available from version §61.13§c! §7- §bGUI: §6" + Replace.replace(prefix, gui.GUI_Name).toString() + " §bSlot: §6" + (slot.Slot + 1) + " §7- " + Replace.replace(prefix, slot.Name));
- send.error(plugin, "Playerheads are only available from version 1.13!");
- send.console(prefix + " §bGUI: §6" + Replace.replace(prefix, gui.GUI_Name).toString() + " §bSlot: §6" + (slot.Slot + 1) + " §7- " + Replace.replace(prefix, slot.Name));
- } else {
- ItemStack item = ItemVersion.getHeadIS();
- SkullMeta itemMeta = (SkullMeta) item.getItemMeta();
- if (slot.Base64_Enable) {
+ for (Slot slot : gui.slots) {
+ Function function = Main.functionHashMap.get(slot.function);
+ if (function == null) {
+ send.error(Main.plugin, "The Function " + slot.function + " in the GUI " + gui.key + " does not exist!");
+ continue;
+ }
+ if (slot.permission && !player.hasPermission(slot.permissionToSee)) continue;
+ if (slot.slot < 0 || slot.slot > gui.guiLines * 9) continue;
- if (Main.PaPi) {
- itemMeta.setDisplayName(Replace.replace(prefix, player, slot.Name.replace("[player]", player.getName())));
- itemMeta.setLore(Replace.replacePrice(prefix, player, slot.Lore, slot.Price + " " + SelectConfig.Currency));
- } else {
- itemMeta.setDisplayName(Replace.replace(prefix, slot.Name.replace("[player]", player.getName())));
- itemMeta.setLore(Replace.replacePrice(prefix, slot.Lore, slot.Price + " " + SelectConfig.Currency));
- }
- GameProfile profile = new GameProfile(UUID.randomUUID(), "");
- profile.getProperties().put("textures", new Property("textures", slot.Base64Value));
- Field profileField = null;
- try {
- profileField = itemMeta.getClass().getDeclaredField("profile");
- profileField.setAccessible(true);
- profileField.set(itemMeta, profile);
- } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e) {
- e.printStackTrace();
- }
- item.setItemMeta(itemMeta);
- Integer am;
- if (slot.ItemAmount == 0) {
- am = 1;
- } else am = slot.ItemAmount;
- item.setAmount(am);
- inventory.setItem(slot.Slot, item);
+ if (slot.enable) {
+ if (function.empty) {
+ ItemStack air = new ItemStack(Material.AIR);
+ inventory.setItem(slot.slot, air);
+ } else {
+ if (function.togglePermission) {
+ if (player.hasPermission(function.togglePermissionPerm)) {
+ toggleOn(function, slot.slot, player, inventory);
+ } else {
+ toggleOff(function, slot.slot, player, inventory);
+ }
+ } else if (function.toggleUseItem) {
+ if (Events.useItemHashMap.get(player)) {
+ toggleOn(function, slot.slot, player, inventory);
+ } else {
+ toggleOff(function, slot.slot, player, inventory);
+ }
+ } else {
+ if (function.playerHead_Enable) {
+ if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
+ send.player(player, prefix + "§c Playerheads are only available from version §61.13§c! §7- §bGUI: §6" +
+ Replace.replace(prefix, gui.guiName).toString() + " §bSlot: §6" + (slot.slot + 1) + " §7- " + Replace.replace(prefix, function.name));
+ send.error(plugin, "Playerheads are only available from version 1.13!");
+ send.console(prefix + " §bGUI: §6" + Replace.replace(prefix, gui.guiName).toString() + " §bSlot: §6" +
+ (slot.slot + 1) + " §7- " + Replace.replace(prefix, function.name));
+ } else {
+ if (function.base64_Enable) {
+ GuiBuilder.base64(function, slot.slot, player, inventory);
} else {
- if (slot.PlayerWhoHasOpenedTheGUI) {
- if (Main.PaPi) {
- itemMeta.setDisplayName(Replace.replace(prefix, player, slot.Name.replace("[player]", player.getName())));
- itemMeta.setLore(Replace.replacePrice(prefix, player, slot.Lore, slot.Price + " " + SelectConfig.Currency));
- } else {
- itemMeta.setDisplayName(Replace.replace(prefix, slot.Name.replace("[player]", player.getName())));
- itemMeta.setLore(Replace.replacePrice(prefix, slot.Lore, slot.Price + " " + SelectConfig.Currency));
- }
- itemMeta.setOwner(player.getName());
- item.setItemMeta(itemMeta);
- Integer am;
- if (slot.ItemAmount == 0) {
- am = 1;
- } else am = slot.ItemAmount;
- item.setAmount(am);
- inventory.setItem(slot.Slot, item);
+ if (function.playerWhoHasOpenedTheGUI) {
+ GuiBuilder.playerHead(function, slot.slot, player, inventory, player.getName());
} else {
- if (Main.PaPi) {
- itemMeta.setDisplayName(Replace.replace(prefix, player, slot.Name.replace("[player]", player.getName())));
- itemMeta.setLore(Replace.replacePrice(prefix, player, slot.Lore, slot.Price + " " + SelectConfig.Currency));
- } else {
- itemMeta.setDisplayName(Replace.replace(prefix, slot.Name.replace("[player]", player.getName())));
- itemMeta.setLore(Replace.replacePrice(prefix, player, slot.Lore, slot.Price + " " + SelectConfig.Currency));
- }
- itemMeta.setOwner(slot.PlayerName);
- item.setItemMeta(itemMeta);
- Integer am;
- if (slot.ItemAmount == 0) {
- am = 1;
- } else am = slot.ItemAmount;
- item.setAmount(am);
- inventory.setItem(slot.Slot, item);
+ GuiBuilder.playerHead(function, slot.slot, player, inventory, function.playerName);
}
}
}
} else {
- ItemStack item = new ItemStack(Material.valueOf(slot.Item.toUpperCase().replace(".", "_")));
- ItemMeta itemMeta = item.getItemMeta();
- if (Main.PaPi) {
- itemMeta.setDisplayName(Replace.replace(prefix, player, slot.Name.replace("[player]", player.getName())));
- itemMeta.setLore(Replace.replacePrice(prefix, player, slot.Lore, slot.Price + " " + SelectConfig.Currency));
- } else {
- itemMeta.setDisplayName(Replace.replace(prefix, slot.Name.replace("[player]", player.getName())));
- itemMeta.setLore(Replace.replacePrice(prefix, slot.Lore, slot.Price + " " + SelectConfig.Currency));
- }
- item.setItemMeta(itemMeta);
- Integer am;
- if (slot.ItemAmount == 0) {
- am = 1;
- } else am = slot.ItemAmount;
- item.setAmount(am);
- inventory.setItem(slot.Slot, item);
+ GuiBuilder.item(function, slot.slot, player, inventory);
}
}
}
+
+ }
+ }
+ if (sound) {
+ if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) {
+ player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1);
}
}
player.openInventory(inventory);
- send.debug(plugin, "§6" + player.getName() + " §5Open §6" + Replace.replace(prefix, gui.GUI_Name) + " §5" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
- } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", Replace.replace(prefix, gui.GUI_Name)));
+ send.debug(plugin, "§6" + player.getName() + " §5Open §6" + Replace.replace(prefix, gui.guiName) + " §5" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
+ } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", Replace.replace(prefix, gui.guiName)));
+ }
+
+ private static void toggleOn(Function function, Integer slot, Player player, Inventory inventory) {
+ if (SelectConfig.toggleItemOnOrYesBase64) {
+ GuiBuilder.base64(SelectConfig.toggleItemOnOrYesBase64Value, function, slot, player, inventory);
+ } else GuiBuilder.item(SelectConfig.toggleItemOnOrYesMaterial, function, slot, player, inventory);
+ }
+
+ private static void toggleOff(Function function, Integer slot, Player player, Inventory inventory) {
+ if (SelectConfig.toggleItemOffOrNoBase64) {
+ GuiBuilder.base64(SelectConfig.toggleItemOffOrNoBase64Value, function, slot, player, inventory);
+ } else GuiBuilder.item(SelectConfig.toggleItemOffOrNoMaterial, function, slot, player, inventory);
}
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/Obj_Select.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/Obj_Select.java
new file mode 100644
index 0000000..2c302b4
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/Obj_Select.java
@@ -0,0 +1,170 @@
+package de.jatitv.commandguiv2.Spigot.objects;
+
+import de.jatitv.commandguiv2.Spigot.Main;
+import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab;
+import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
+import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
+import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
+import net.t2code.lib.Spigot.Lib.messages.send;
+import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
+import org.bukkit.configuration.file.YamlConfiguration;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+public class Obj_Select {
+ public static void onSelect() {
+ onSelectFunction();
+ onSelectGui();
+ }
+
+ public static void onSelectGui() {
+ Main.guiHashMap.clear();
+ Main.allAliases.clear();
+ File f = new File(Main.getPath() + "/GUIs/");
+ File[] fileArray = f.listFiles();
+
+ for (File config_gui : fileArray) {
+ String sub = config_gui.getName().substring(config_gui.getName().length() - 4);
+ if (sub.equals(".yml")) {
+ String key = config_gui.getName().replace(".yml", "");
+ Main.allAliases.add(key);
+ YamlConfiguration yamlConfiguration_gui = YamlConfiguration.loadConfiguration(config_gui);
+
+ Boolean guiEnable = yamlConfiguration_gui.getBoolean("GUI.Enable");
+ Integer guiLines = yamlConfiguration_gui.getInt("GUI.Lines");
+ if (yamlConfiguration_gui.getInt("GUI.Lines") > 6) {
+ yamlConfiguration_gui.set("GUI.Lines", 6);
+ }
+ if (yamlConfiguration_gui.getInt("GUI.Lines") < 1) {
+ yamlConfiguration_gui.set("GUI.Lines", 1);
+ }
+
+ String guiName = yamlConfiguration_gui.getString("GUI.Name");
+ Boolean guiFillItemEnable = yamlConfiguration_gui.getBoolean("GUI.FillItem.Enable");
+ String guiFillItemItem;
+ if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
+ guiFillItemItem = yamlConfiguration_gui.getString("GUI.FillItem.GlassPaneColor");
+ } else guiFillItemItem = yamlConfiguration_gui.getString("GUI.FillItem.Item");
+
+ Boolean commandAliasEnable = yamlConfiguration_gui.getBoolean("Command.Alias");
+ Boolean commandPermission = yamlConfiguration_gui.getBoolean("Command.Permission.Required");
+
+ ArrayList slots = new ArrayList<>();
+ for (String slotKey : yamlConfiguration_gui.getConfigurationSection("Slots").getKeys(false)) {
+ Integer slotNumber = yamlConfiguration_gui.getInt("Slots." + slotKey + ".Slot") - 1;
+ Boolean enable = yamlConfiguration_gui.getBoolean("Slots." + slotKey + ".Enable");
+ String function = yamlConfiguration_gui.getString("Slots." + slotKey + ".Function");
+ Function functionCheck = Main.functionHashMap.get(function);
+ if (functionCheck == null) {
+ send.error(Main.plugin, "The Function " + function + " in the GUI " + key + " does not exist!");
+ }
+ Boolean permRequired = yamlConfiguration_gui.getBoolean("Slots." + slotKey + ".Permission.Required");
+ String permSee = yamlConfiguration_gui.getString("Slots." + slotKey + ".Permission.See");
+ String permUse = yamlConfiguration_gui.getString("Slots." + slotKey + ".Permission.Use");
+
+ Slot slot = new Slot(slotNumber, enable, function, permRequired,
+ Objects.requireNonNull(permSee).replace("[function]", key).replace("[slot]", String.valueOf(slotNumber + 1))
+ .replace("[slotname]", slotKey.toLowerCase()),
+ Objects.requireNonNull(permUse).replace("[function]", key).replace("[slot]", String.valueOf(slotNumber + 1))
+ .replace("[slotname]", slotKey.toLowerCase()));
+ slots.add(slot);
+ }
+ Gui gui = new Gui(guiEnable, guiLines, guiName, guiFillItemEnable, guiFillItemItem,
+ key, commandAliasEnable, commandPermission, slots);
+
+ Main.guiHashMap.put(key, gui);
+ CmdExecuter_GUITab.arg1.put(config_gui.getName()
+ .replace(".yml", ""), "commandgui.gui." + key);
+
+ try {
+ yamlConfiguration_gui.save(config_gui);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ public static void onSelectFunction() {
+ Main.functionHashMap.clear();
+ File f = new File(Main.getPath() + "/Functions/");
+ File[] fileArray = f.listFiles();
+
+ for (File config : fileArray) {
+ String sub = config.getName().substring(config.getName().length() - 4);
+ if (sub.equals(".yml")) {
+ YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
+
+ String key = config.getName().replace(".yml", "");
+ Boolean empty = yamlConfiguration.getBoolean("Slots.Function.Item.Empty");
+ Integer itemAmount = yamlConfiguration.getInt("Slots.Function.Item.Amount");
+ Boolean playerHead_Enable = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.Enable");
+ Boolean base64_Enable = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.Base64.Enable");
+ String base64Value = yamlConfiguration.getString("Slots.Function.Item.PlayerHead.Base64.Base64Value");
+ Boolean playerWhoHasOpenedTheGUI = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.PlayerWhoHasOpenedTheGUI");
+ String playerName = yamlConfiguration.getString("Slots.Function.Item.PlayerHead.PlayerName");
+ String item = yamlConfiguration.getString("Slots.Function.Item.Material");
+ String name = yamlConfiguration.getString("Slots.Function.Item.Name");
+ List lore = yamlConfiguration.getStringList("Slots.Function.Item.Lore");
+ Boolean customSound_Enable = yamlConfiguration.getBoolean("Slots.Function.CustomSound.Enable");
+ Boolean customSound_NoSound = yamlConfiguration.getBoolean("Slots.Function.CustomSound.NoSound");
+ String customSound_Sound = yamlConfiguration.getString("Slots.Function.CustomSound.Sound");
+ Boolean cost_Enable = yamlConfiguration.getBoolean("Slots.Function.Cost.Enable");
+ Double price = yamlConfiguration.getDouble("Slots.Function.Cost.Price");
+ Boolean command_Enable = yamlConfiguration.getBoolean("Slots.Function.Command.Enable");
+ Boolean command_BungeeCommand = yamlConfiguration.getBoolean("Slots.Function.Command.BungeeCommand");
+ Boolean commandAsConsole = yamlConfiguration.getBoolean("Slots.Function.Command.CommandAsConsole");
+ List command = yamlConfiguration.getStringList("Slots.Function.Command.Command");
+ Boolean serverChange = yamlConfiguration.getBoolean("Slots.Function.ServerChange.Enable");
+ String serverChangeServer = yamlConfiguration.getString("Slots.Function.ServerChange.Server");
+ Boolean openGUI_Enable = yamlConfiguration.getBoolean("Slots.Function.OpenGUI.Enable");
+ String openGUI = yamlConfiguration.getString("Slots.Function.OpenGUI.GUI");
+ Boolean togglePermission = yamlConfiguration.getBoolean("Slots.Function.Toggle.Permission.Enable");
+ String togglePermissionPerm = yamlConfiguration.getString("Slots.Function.Toggle.Permission.Permission");
+ Boolean toggleUseItem = yamlConfiguration.getBoolean("Slots.Function.Toggle.UseItem.Enable");
+ Boolean message_Enable = yamlConfiguration.getBoolean("Slots.Function.Message.Enable");
+ List message = yamlConfiguration.getStringList("Slots.Function.Message.Message");
+ Boolean setConfigEnable = yamlConfiguration.getBoolean("Slots.Function.SetConfig.Enable");
+ String configFilePath = yamlConfiguration.getString("Slots.Function.SetConfig.File.Path");
+ String configOptionPath = yamlConfiguration.getString("Slots.Function.SetConfig.Option.Path");
+ String configOptionPremat = yamlConfiguration.getString("Slots.Function.SetConfig.Option.Premat");
+ // Boolean ConfigChatInput = ;
+
+ String configStringValueLeft = yamlConfiguration.getString("Slots.Function.SetConfig.Value.LeftClick.String");
+ Boolean configBooleanValueLeft = yamlConfiguration.getBoolean("Slots.Function.SetConfig.Value.LeftClick.Boolean");
+ Integer configIntegerValueLeft = yamlConfiguration.getInt("Slots.Function.SetConfig.Value.LeftClick.Integer");
+ Double configDoubleValueLeft = yamlConfiguration.getDouble("Slots.Function.SetConfig.Value.LeftClick.Double");
+ List configListValueLeft = yamlConfiguration.getStringList("Slots.Function.SetConfig.Value.LeftClick.List");
+
+ String configStringValueRight = yamlConfiguration.getString("Slots.Function.SetConfig.Value.RightClick.String");
+ Boolean configBooleanValueRight = yamlConfiguration.getBoolean("Slots.Function.SetConfig.Value.RightClick.Boolean");
+ Integer configIntegerValueRight = yamlConfiguration.getInt("Slots.Function.SetConfig.Value.RightClick.Integer");
+ Double configDoubleValueRight = yamlConfiguration.getDouble("Slots.Function.SetConfig.Value.RightClick.Double");
+ List configListValueRight = yamlConfiguration.getStringList("Slots.Function.SetConfig.RightClick.Value.List");
+
+
+ Boolean pluginReloadEnable = yamlConfiguration.getBoolean("Slots.Function.SetConfig.PluginReload.Enable");
+ String pluginReloadCommand = yamlConfiguration.getString("Slots.Function.SetConfig.PluginReload.Command");
+
+
+ Function function = new Function(key, empty, itemAmount, playerHead_Enable, base64_Enable, base64Value, playerWhoHasOpenedTheGUI, playerName, item, name, lore,
+ customSound_Enable, customSound_NoSound, customSound_Sound, cost_Enable, price, command_Enable, command_BungeeCommand, commandAsConsole, command,
+ serverChange, serverChangeServer, openGUI_Enable, openGUI, togglePermission, togglePermissionPerm, toggleUseItem, message_Enable, message,
+ setConfigEnable, configFilePath, configOptionPath, configOptionPremat, configStringValueLeft, configBooleanValueLeft, configIntegerValueLeft,
+ configDoubleValueLeft, configListValueLeft, configStringValueRight, configBooleanValueRight, configIntegerValueRight, configDoubleValueRight,
+ configListValueRight, pluginReloadEnable, pluginReloadCommand);
+ Main.functionHashMap.put(key, function);
+
+ try {
+ yamlConfiguration.save(config);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/functions/Function.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/functions/Function.java
new file mode 100644
index 0000000..54b8ec9
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/functions/Function.java
@@ -0,0 +1,159 @@
+package de.jatitv.commandguiv2.Spigot.objects.functions;
+
+import java.util.List;
+
+public class Function {
+
+ public String key;
+ public Boolean empty;
+ public Integer itemAmount;
+ public Boolean playerHead_Enable;
+ public Boolean base64_Enable;
+ public String base64Value;
+ public Boolean playerWhoHasOpenedTheGUI;
+ public String playerName;
+ public String item;
+ public String name;
+ public List lore;
+ public Boolean customSound_Enable;
+ public Boolean customSound_NoSound;
+ public String customSound_Sound;
+ public Boolean cost_Enable;
+ public Double price;
+ public Boolean command_Enable;
+ public Boolean command_BungeeCommand;
+ public Boolean commandAsConsole;
+ public Boolean serverChange;
+ public String serverChangeServer;
+ public List command;
+ public Boolean openGUI_Enable;
+ public String openGUI;
+ public Boolean togglePermission;
+ public String togglePermissionPerm;
+ public Boolean toggleUseItem;
+ public Boolean message_Enable;
+ public List message;
+ public Boolean setConfigEnable;
+ public String configFilePath;
+ public String configOptionPath;
+ public String configOptionPremat;
+ // public Boolean ConfigChatInput;
+
+ public String configStringValueLeft;
+ public Boolean configBooleanValueLeft;
+ public Integer configIntegerValueLeft;
+ public Double configDoubleValueLeft;
+ public List configListValueLeft;
+
+ public String configStringValueRight;
+ public Boolean configBooleanValueRight;
+ public Integer configIntegerValueRight;
+ public Double configDoubleValueRight;
+ public List configListValueRight;
+
+
+ public Boolean pluginReloadEnable;
+ public String pluginReloadCommand;
+
+ public Function(String key,
+ Boolean empty,
+ Integer itemAmount,
+ Boolean playerHead_Enable,
+ Boolean base64Value_Enable,
+ String base64Value,
+ Boolean playerWhoHasOpenedTheGUI,
+ String playerName,
+ String item,
+ String name,
+ List lore,
+ Boolean customSound_Enable,
+ Boolean customSound_NoSound,
+ String customSound_Sound,
+ Boolean cost_Enable,
+ Double price,
+ Boolean command_Enable,
+ Boolean command_BungeeCommand,
+ Boolean commandAsConsole,
+ List command,
+ Boolean serverChange,
+ String serverChangeServer,
+ Boolean openGUI_Enable,
+ String openGUI,
+ Boolean togglePermission,
+ String togglePermissionPerm,
+ Boolean toggleUseItem,
+ Boolean message_Enable,
+ List message,
+ Boolean setConfigEnable,
+ String configFilePath,
+ String configOptionPath,
+ String configOptionPremat,
+
+ String configStringValueLeft,
+ Boolean configBooleanValueLeft,
+ Integer configIntegerValueLeft,
+ Double configDoubleValueLeft,
+ List configListValueLeft,
+
+ String configStringValueRight,
+ Boolean configBooleanValueRight,
+ Integer configIntegerValueRight,
+ Double configDoubleValueRight,
+ List configListValueRight,
+
+ Boolean pluginReloadEnable,
+ String pluginReloadCommand) {
+ this.key = key;
+ this.empty = empty;
+ this.itemAmount = itemAmount;
+ this.playerHead_Enable = playerHead_Enable;
+ this.base64_Enable = base64Value_Enable;
+ this.base64Value = base64Value;
+ this.playerWhoHasOpenedTheGUI = playerWhoHasOpenedTheGUI;
+ this.playerName = playerName;
+ this.item = item;
+ this.name = name;
+ this.lore = lore;
+ this.customSound_Enable = customSound_Enable;
+ this.customSound_NoSound = customSound_NoSound;
+ this.customSound_Sound = customSound_Sound;
+ this.cost_Enable = cost_Enable;
+ this.price = price;
+ this.command_Enable = command_Enable;
+ this.command_BungeeCommand = command_BungeeCommand;
+ this.commandAsConsole = commandAsConsole;
+ this.command = command;
+ this.serverChange = serverChange;
+ this.serverChangeServer = serverChangeServer;
+ this.openGUI_Enable = openGUI_Enable;
+ this.openGUI = openGUI;
+ this.togglePermission = togglePermission;
+ this.togglePermissionPerm = togglePermissionPerm;
+ this.toggleUseItem = toggleUseItem;
+ this.message_Enable = message_Enable;
+ this.message = message;
+ this.setConfigEnable = setConfigEnable;
+ this.configFilePath = configFilePath;
+ this.configOptionPath = configOptionPath;
+ this.configOptionPremat = configOptionPremat;
+ // this.ConfigChatInput = ConfigChatInput;
+
+ this.configStringValueLeft = configStringValueLeft;
+ this.configBooleanValueLeft = configBooleanValueLeft;
+ this.configIntegerValueLeft = configIntegerValueLeft;
+ this.configDoubleValueLeft = configDoubleValueLeft;
+ this.configListValueLeft = configListValueLeft;
+
+ this.configStringValueRight = configStringValueRight;
+ this.configBooleanValueRight = configBooleanValueRight;
+ this.configIntegerValueRight = configIntegerValueRight;
+ this.configDoubleValueRight = configDoubleValueRight;
+ this.configListValueRight = configListValueRight;
+
+
+ this.pluginReloadEnable = pluginReloadEnable;
+ this.pluginReloadCommand = pluginReloadCommand;
+
+
+ }
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/guis/Gui.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/guis/Gui.java
new file mode 100644
index 0000000..a3ddaaa
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/guis/Gui.java
@@ -0,0 +1,32 @@
+package de.jatitv.commandguiv2.Spigot.objects.guis;
+
+import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
+
+import java.util.ArrayList;
+
+public class Gui {
+ public Boolean guiEnable;
+ public Integer guiLines;
+ public String guiName;
+ public Boolean guiFillItemEnable;
+ public String guiFillItemItem;
+
+
+ public String key;
+ public Boolean commandAliasEnable;
+ public Boolean commandPermissionEnable;
+ public ArrayList slots;
+
+ public Gui(Boolean guiEnable, Integer guiLines, String guiName, Boolean guiFillitemEnable, String guiFillitemItem,
+ String commandCommand, Boolean commandAliasEnable, Boolean commandPermissionEnable, ArrayList slots){
+ this.guiEnable = guiEnable;
+ this.guiLines = guiLines;
+ this.guiName = guiName;
+ this.guiFillItemEnable = guiFillitemEnable;
+ this.guiFillItemItem = guiFillitemItem;
+ this.key = commandCommand;
+ this.commandAliasEnable = commandAliasEnable;
+ this.commandPermissionEnable = commandPermissionEnable;
+ this.slots = slots;
+ }
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/slots/Slot.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/slots/Slot.java
new file mode 100644
index 0000000..6c4173c
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/objects/slots/Slot.java
@@ -0,0 +1,28 @@
+package de.jatitv.commandguiv2.Spigot.objects.slots;
+
+public class Slot {
+
+ public Integer slot;
+ public Boolean enable;
+ public String function;
+ public Boolean permission;
+ public String permissionToSee;
+ public String permissionToUse;
+
+
+ public Slot(Integer slot,
+ Boolean enable,
+ String function,
+ Boolean permission,
+ String permissionToSee,
+ String permissionToUse
+ ) {
+ this.slot = slot;
+ this.enable = enable;
+ this.function = function;
+ this.permission = permission;
+ this.permissionToSee = permissionToSee;
+ this.permissionToUse = permissionToUse;
+
+ }
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Load.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Load.java
index 6a2daf8..2d6ad1f 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Load.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Load.java
@@ -1,29 +1,35 @@
package de.jatitv.commandguiv2.Spigot.system;
-import de.jatitv.commandguiv2.Spigot.Listener.GUI_Listener;
-import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events_from1_10;
-import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUI;
+import de.jatitv.commandguiv2.Spigot.Listener.GUIListener;
+import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.EventsFrom110;
+import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab;
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUIItem;
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_Help;
import de.jatitv.commandguiv2.Spigot.cmdManagement.register.AliasRegister;
-import de.jatitv.commandguiv2.Spigot.config.DefaultGUICreate;
+import de.jatitv.commandguiv2.Spigot.config.functions.CreateFunctions;
+import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI;
import de.jatitv.commandguiv2.Spigot.config.languages.LanguagesCreate;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import de.jatitv.commandguiv2.Spigot.system.database.MySQL;
import de.jatitv.commandguiv2.Spigot.Listener.PluginEvent;
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
import de.jatitv.commandguiv2.Spigot.Main;
-import de.jatitv.commandguiv2.Spigot.Objekte.Obj_Select;
+import de.jatitv.commandguiv2.Spigot.objects.Obj_Select;
import de.jatitv.commandguiv2.Spigot.config.config.ConfigCreate;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
+import de.jatitv.commandguiv2.Spigot.system.database.SQLITE;
+import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
+import de.jatitv.commandguiv2.Spigot.system.database.StorageType;
import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
+import net.t2code.lib.Spigot.Lib.plugins.PluginCheck;
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin;
import java.io.*;
+import java.sql.SQLException;
import java.util.List;
public class Load {
@@ -40,10 +46,14 @@ public class Load {
send.console(prefix + " §8-------------------------------");
-
if (!new File(Main.getPath(), "config.yml").exists()) {
try {
- DefaultGUICreate.configCreate();
+ CreateGUI.configCreate();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ try {
+ CreateFunctions.create();
} catch (Exception e) {
e.printStackTrace();
}
@@ -60,16 +70,20 @@ public class Load {
}
if (SelectConfig.Bungee) {
- if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin,"cgui:bungee")){
+ if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin, "cgui:bungee")) {
send.debug(plugin, "registerOutgoingPluginChannel §ecgui:bungee");
- Bukkit.getMessenger().registerOutgoingPluginChannel(plugin,"cgui:bungee");
+ Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "cgui:bungee");
}
- if (!Bukkit.getMessenger().isIncomingChannelRegistered(plugin,"cgui:onlinepl")){
+ if (!Bukkit.getMessenger().isIncomingChannelRegistered(plugin, "cgui:onlinepl")) {
send.debug(plugin, "registerIncomingPluginChannel §ecgui:onlinepl");
- Bukkit.getMessenger().registerIncomingPluginChannel(plugin,"cgui:onlinepl", new Bungee_Sender_Reciver());
+ Bukkit.getMessenger().registerIncomingPluginChannel(plugin, "cgui:onlinepl", new Bungee_Sender_Reciver());
}
}
+ if (PluginCheck.papi()) {
+ new Placeholder().register();
+ }
+
try {
LanguagesCreate.langCreate();
} catch (Exception e) {
@@ -81,7 +95,7 @@ public class Load {
e.printStackTrace();
}
try {
- CmdExecuter_GUI.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info");
+ CmdExecuter_GUITab.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info");
} catch (Exception e) {
e.printStackTrace();
}
@@ -97,27 +111,9 @@ public class Load {
}
send.console(prefix + " §8-------------------------------");
- if (SelectConfig.Storage.equals("MYSQL")) {
- MySQL.main();
- try {
- MySQL.query("CREATE TABLE IF NOT EXISTS `gui-item` (" +
- " `UUID` VARCHAR(191) NOT NULL COLLATE 'utf8mb4_general_ci'," +
- " `Name` TINYTEXT NOT NULL COLLATE 'utf8mb4_general_ci'," +
- " `Status` INT(1) NOT NULL DEFAULT '1'," +
- " `Slot` INT(1) NULL DEFAULT NULL," +
- " UNIQUE INDEX `UUID` (`UUID`)" +
- ")" +
- "COLLATE='utf8mb4_general_ci'" +
- "ENGINE=InnoDB" +
- ";");
- MySQL.query("ALTER TABLE `gui-item` ADD COLUMN IF NOT EXISTS `Slot` INT(1) NULL DEFAULT NULL AFTER `Status`;");
- } catch (Exception e) {
- e.printStackTrace();
- }
+ loadStorage(prefix);
+ send.console(prefix + " §8-------------------------------");
- } else {
- if (SelectConfig.Debug) send.console(prefix + " §6Storage medium §2YML §6is used.");
- }
if (Main.PaPi) {
send.console(prefix + " §2PlaceholderAPI successfully connected!");
} else {
@@ -125,22 +121,19 @@ public class Load {
}
try {
- RegisterPermissions.onPermRegister();
+ Permissions.onPermRegister();
} catch (Exception e) {
e.printStackTrace();
}
- // Main.plugin.getCommand("commandguiadmin").setExecutor(new CmdExecuter_Admin());
- // send.debug(plugin, "Commandregister: commandguiadmin");
-
if (SelectConfig.HelpAlias) {
Main.plugin.getCommand("commandguihelp").setExecutor(new CmdExecuter_Help());
- send.debug(plugin, "Commandregister: commandguihelp");
+ send.debug(plugin, "CommandRegister: commandguihelp");
}
- Main.plugin.getCommand("commandgui").setExecutor(new CmdExecuter_GUI());
- send.debug(plugin, "Commandregister: commandgui");
+ Main.plugin.getCommand("commandgui").setExecutor(new CmdExecuter_GUITab());
+ send.debug(plugin, "CommandRegister: commandgui");
Main.plugin.getCommand("commandgui-item").setExecutor(new CmdExecuter_GUIItem());
- send.debug(plugin, "Commandregister: commandgui-item");
+ send.debug(plugin, "CommandRegister: commandgui-item");
try {
AliasRegister.onRegister();
@@ -148,20 +141,69 @@ public class Load {
e.printStackTrace();
}
-
- Bukkit.getServer().getPluginManager().registerEvents(new GUI_Listener(), plugin);
+ Bukkit.getServer().getPluginManager().registerEvents(new GUIListener(), plugin);
Bukkit.getServer().getPluginManager().registerEvents(new PluginEvent(), plugin);
Bukkit.getServer().getPluginManager().registerEvents(new Events(), Main.plugin);
if (!MCVersion.minecraft1_8 && !MCVersion.minecraft1_9) {
- Bukkit.getServer().getPluginManager().registerEvents(new Events_from1_10(), plugin);
+ Bukkit.getServer().getPluginManager().registerEvents(new EventsFrom110(), plugin);
}
-
UpdateAPI.onUpdateCheck(plugin, prefix, spigot, spigotID, discord);
Metrics.Bstats();
Main.addonLoad();
T2CodeTemplate.onLoadFooter(prefix, long_);
}
+
+ private static void loadStorage(String prefix) {
+ try {
+ SelectDatabase.setStorage(StorageType.valueOf(SelectConfig.storage));
+ } catch (Exception ignored) {
+ send.error(Main.plugin, "The storage medium " + SelectConfig.storage + " is not supported!");
+ send.error(Main.plugin, "Storage medium " + StorageType.SQLITE + " is used.");
+ SelectDatabase.setStorage(StorageType.SQLITE);
+ }
+
+ switch (SelectDatabase.getStorage()) {
+ case MYSQL:
+ send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.");
+ MySQL.main();
+ try {
+ MySQL.query("CREATE TABLE IF NOT EXISTS `gui-item` (" +
+ " `UUID` VARCHAR(191) NOT NULL COLLATE 'utf8mb4_general_ci'," +
+ " `Name` TINYTEXT NOT NULL COLLATE 'utf8mb4_general_ci'," +
+ " `Status` INT(1) NOT NULL DEFAULT '1'," +
+ " `Slot` INT(1) NULL DEFAULT NULL," +
+ " UNIQUE INDEX `UUID` (`UUID`)" +
+ ")" +
+ "COLLATE='utf8mb4_general_ci'" +
+ "ENGINE=InnoDB" +
+ ";");
+ MySQL.query("ALTER TABLE `gui-item` ADD COLUMN IF NOT EXISTS `Slot` INT(1) NULL DEFAULT NULL AFTER `Status`;");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ break;
+ case YML:
+ send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.");
+ break;
+ default:
+ case SQLITE:
+ send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.");
+ try {
+ SQLITE.main();
+ SQLITE.query("CREATE TABLE IF NOT EXISTS `gui-item` (" +
+ "UUID TEXT NOT NULL," +
+ "Name TEXT NOT NULL," +
+ "Status INTEGER NOT NULL DEFAULT 1," +
+ "Slot INTEGER," +
+ "PRIMARY KEY(UUID)" +
+ ");");
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ break;
+ }
+ }
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Metrics.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Metrics.java
index f6f62c3..f272735 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Metrics.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Metrics.java
@@ -5,6 +5,8 @@ package de.jatitv.commandguiv2.Spigot.system;
import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
+import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
+import de.jatitv.commandguiv2.Spigot.system.database.StorageType;
import de.jatitv.commandguiv2.Util;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.YamlConfiguration;
@@ -34,8 +36,13 @@ public class Metrics {
public static void Bstats() {
int pluginId = Util.getBstatsID(); // <-- Replace with the id of your plugin!
Metrics metrics = new Metrics(Main.plugin, pluginId);
- metrics.addCustomChart(new Metrics.SimplePie("updatecheckonjoin", () -> String.valueOf(SelectConfig.UpdateCheckOnJoin)));
- metrics.addCustomChart(new Metrics.SimplePie("storage_type_mysql", () -> SelectConfig.Storage));
+ metrics.addCustomChart(new DrilldownPie("storage_type_mysql", () -> {
+ Map> map = new HashMap<>();
+ String storage = SelectDatabase.getStorage().toString();
+ Map entry = new HashMap<>();
+ entry.put(storage, 1); map.put(storage, entry);
+ return map;
+ }));
}
private final Plugin plugin;
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Permissions.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Permissions.java
new file mode 100644
index 0000000..0f853c7
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Permissions.java
@@ -0,0 +1,77 @@
+package de.jatitv.commandguiv2.Spigot.system;
+
+import de.jatitv.commandguiv2.Spigot.Main;
+import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
+import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
+import net.t2code.lib.Spigot.Lib.register.Register;
+import org.bukkit.permissions.PermissionDefault;
+import org.bukkit.plugin.Plugin;
+
+public class Permissions {
+ private static final Plugin plugin = Main.plugin;
+
+ public static final String key = "commandgui.";
+ public static final String command = key + "command";
+ public static final String info = key + "command.info";
+ public static final String bypass = key + "bypass";
+ public static final String useitemToggle = key + "useitem.toggle";
+ public static final String useitem = key + "useitem";
+ public static final String getGuiItemAtLogin = key + "get.guiitem.at.login";
+ public static final String updatemsg = key + "updatemsgupdatemsg";
+
+ public static final String player = key + "player";
+ public static final String admin = key + "admin";
+
+ public static final PermissionDefault op = PermissionDefault.OP;
+ public static final PermissionDefault notOp = PermissionDefault.NOT_OP;
+
+ public static void onPermRegister() {
+ Register.permission(command, op, plugin);
+ Register.permissionDescription(command, "Required permission to open GUIs via command", plugin);
+
+ Register.permission(getGuiItemAtLogin, op, plugin);
+ Register.permissionDescription(getGuiItemAtLogin, "Only players with this permission will receive the GUI item", plugin);
+
+ Register.permission(useitem, op, plugin);
+ Register.permissionDescription(useitem, "Required permission to use the GUI Item", plugin);
+
+ Register.permission(useitemToggle, op, plugin);
+ Register.permissionDescription(useitemToggle, "Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true)", plugin);
+
+ Register.permission(updatemsg, op, plugin);
+ Register.permissionDescription(updatemsg, "Players with this permission get the update message when joining if an update is available", plugin);
+
+ Register.permission(bypass, op, plugin);
+ Register.permissionDescription(bypass, "Bypass to open disabled GUIs", plugin);
+
+ Register.permission(info, notOp, plugin);
+ Register.permissionDescription(info, "Permission to view CommandGUI info", plugin);
+
+ Register.permission(player, op, command, true, plugin);
+ Register.permission(player, op, getGuiItemAtLogin, true, plugin);
+ Register.permission(player, op, useitem, true, plugin);
+ Register.permission(player, op, useitemToggle, true, plugin);
+ Register.permissionDescription(player, "All permissions from CommandGUI for Player", plugin);
+
+ Register.permission(admin, op, command, true, plugin);
+ Register.permission(admin, op, getGuiItemAtLogin, true, plugin);
+ Register.permission(admin, op, useitem, true, plugin);
+ Register.permission(admin, op, useitemToggle, true, plugin);
+ Register.permission(admin, op, updatemsg, true, plugin);
+ Register.permission(admin, op, bypass, true, plugin);
+ Register.permission(admin, op, info, true, plugin);
+ Register.permissionDescription(admin, "All permissions from CommandGUI", plugin);
+
+
+ for (Gui gui : Main.guiHashMap.values()) {
+ Register.permission("commandgui.command." + gui.key, op, plugin);
+ Register.permission(admin, op, "commandgui.command." + gui.key, true, plugin);
+ for (Slot slot : gui.slots) {
+ Register.permission(slot.permissionToUse, op, plugin);
+ Register.permission(admin, op, slot.permissionToUse, true, plugin);
+ Register.permission(slot.permissionToSee, op, plugin);
+ Register.permission(admin, op, slot.permissionToSee, true, plugin);
+ }
+ }
+ }
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Placeholder.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Placeholder.java
new file mode 100644
index 0000000..aa87c76
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Placeholder.java
@@ -0,0 +1,56 @@
+// This claas was created by JaTiTV
+
+package de.jatitv.commandguiv2.Spigot.system;
+
+import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
+import de.jatitv.commandguiv2.Spigot.Main;
+import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
+import me.clip.placeholderapi.expansion.PlaceholderExpansion;
+import org.bukkit.entity.Player;
+
+public class Placeholder extends PlaceholderExpansion {
+
+ @Override
+ public String getIdentifier() {
+ return "commandgui";
+ }
+
+ @Override
+ public String getAuthor() {
+ return Main.plugin.getDescription().getAuthors().toString();
+ }
+
+ @Override
+ public String getVersion() {
+ return Main.plugin.getDescription().getVersion();
+ }
+
+ @Override
+ public boolean canRegister() {
+ return true;
+ }
+
+ @Override
+ public boolean persist() {
+ return true;
+ }
+
+ @Override
+ public String onPlaceholderRequest(Player p, String params) {
+ if (params.contains("useitem_boolean")) {
+ return Events.useItemHashMap.get(p).toString();
+ }
+
+ if (params.contains("useitem")) {
+ if (Events.useItemHashMap.get(p)) {
+ return SelectConfig.placeholderTrue;
+ } else return SelectConfig.placeholderFalse;
+ }
+
+ if (params.contains("slot")){
+ return Events.useItemSlotHashMap.get(p).toString();
+ }
+
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/RegisterPermissions.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/RegisterPermissions.java
deleted file mode 100644
index 4d883ab..0000000
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/RegisterPermissions.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package de.jatitv.commandguiv2.Spigot.system;
-
-import de.jatitv.commandguiv2.Spigot.Main;
-import de.jatitv.commandguiv2.Spigot.Objekte.Object;
-import de.jatitv.commandguiv2.Spigot.Objekte.Slot;
-import org.bukkit.Bukkit;
-import org.bukkit.permissions.Permission;
-
-public class RegisterPermissions {
- public static void onPermRegister() {
- for (Object gui : Main.guiHashMap.values()) {
- if (Bukkit.getPluginManager().getPermission("commandgui.command." + gui.Command_Command) == null) {
- Bukkit.getPluginManager().addPermission(new Permission("commandgui.command." + gui.Command_Command));
- }
- for (Slot slot : gui.GUI_Slots) {
- if (Bukkit.getPluginManager().getPermission("commandgui." + gui.Command_Command + ".slot." + (slot.Slot + 1)) == null) {
- Bukkit.getPluginManager().addPermission(new Permission("commandgui." + gui.Command_Command + ".slot." + (slot.Slot + 1)));
- }
- }
- }
- }
-}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Give_UseItem.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/UseItem.java
similarity index 56%
rename from CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Give_UseItem.java
rename to CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/UseItem.java
index 63f4648..57692fe 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/Give_UseItem.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/UseItem.java
@@ -2,9 +2,10 @@ package de.jatitv.commandguiv2.Spigot.system;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;
+import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
-import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
+import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send;
@@ -19,29 +20,31 @@ import org.bukkit.inventory.meta.SkullMeta;
import java.lang.reflect.Field;
import java.util.UUID;
-public class Give_UseItem {
+public class UseItem {
- public static void onGive(Player player) {
+ public static void giveUseItem(Player player) {
Integer slot;
- if (SelectConfig.UseItem_InventorySlotEnforce){
+ if (protection(player, false)) return;
+ if (SelectConfig.UseItem_InventorySlotEnforce) {
slot = SelectConfig.UseItem_InventorySlot;
} else {
- if (Select_Database.selectSlot(player) == null) {
+ if (Events.useItemSlotHashMap.get(player) == null) {
slot = SelectConfig.UseItem_InventorySlot;
} else {
- slot = Select_Database.selectSlot(player);
+ slot = Events.useItemSlotHashMap.get(player);
}
}
if (SelectConfig.UseItem_InventorySlot_FreeSlot) {
player.getInventory().addItem(itemStack(player));
} else {
- send.debug(Main.plugin,"setUseItem: " + player.getName() + " Slot: "+ Integer.parseInt(String.valueOf(slot-1)));
+ send.debug(Main.plugin, "setUseItem: " + player.getName() + " Slot: " + Integer.parseInt(String.valueOf(slot - 1)));
player.getInventory().setItem(slot - 1, itemStack(player));
}
}
- public static void onGiveADD(Player player) {
+ public static void addUseItem(Player player) {
+ if (protection(player, false)) return;
if (SelectConfig.UseItem_InventorySlot_FreeSlot) {
player.getInventory().addItem(itemStack(player));
} else player.getInventory().addItem(itemStack(player));
@@ -95,4 +98,52 @@ public class Give_UseItem {
}
return item;
}
+
+ public static boolean protection(Player player, Boolean interact) {
+ if (SelectConfig.UseItemGameModeProtection) {
+ if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
+ if (interact) {
+ send.player(player, SelectMessages.UseItemDisabledInGameMode);
+ } else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
+ return true;
+ }
+ if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
+ if (interact) {
+ send.player(player, SelectMessages.UseItemDisabledInGameMode);
+ } else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
+ return true;
+ }
+ }
+ if (SelectConfig.UseItemWorldProtection) {
+ if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
+ if (interact) {
+ send.player(player, SelectMessages.UseItemDisabledInWorld);
+ } else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
+ return true;
+ }
+ if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
+ if (interact) {
+ send.player(player, SelectMessages.UseItemDisabledInWorld);
+ } else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static void removeItem(Player player) {
+ send.debug(Main.plugin, "World disabled: " + player.getName() + " " + player.getWorld().toString());
+ for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) {
+ ItemStack itm = player.getInventory().getItem(iam);
+ if (itm != null) {
+ if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) {
+ if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
+ player.getInventory().remove(itm);
+ player.updateInventory();
+ break;
+ }
+ }
+ }
+ }
+ }
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/MySQL.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/MySQL.java
index e4786d6..27dd43b 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/MySQL.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/MySQL.java
@@ -4,7 +4,6 @@ import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import de.jatitv.commandguiv2.Spigot.Main;
import net.t2code.lib.Spigot.Lib.messages.send;
-import org.bukkit.plugin.Plugin;
import java.sql.*;
import java.time.ZoneId;
@@ -36,9 +35,9 @@ public class MySQL {
config.addDataSourceProperty("prepStmtCacheSize", "250");
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
ds = new HikariDataSource(config);
- send.console(Main.prefix + " §2MySQL successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
+ send.console(Main.prefix + " §2MYSQL successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
} catch (Exception ex) {
- send.console(Main.prefix + " §4MySQL not connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
+ send.console(Main.prefix + " §4MYSQL not connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
send.error(Main.plugin, ex.getMessage() + " --- " + (System.currentTimeMillis() - long_) + "ms");
}
//Bukkit.getConsoleSender().sendMessage((System.currentTimeMillis() - long_) + "ms");
@@ -152,6 +151,6 @@ public class MySQL {
}
public static void close() {
- ds.close();
+ if (ds != null) ds.close();
}
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SQLITE.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SQLITE.java
new file mode 100644
index 0000000..401ad9b
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SQLITE.java
@@ -0,0 +1,135 @@
+package de.jatitv.commandguiv2.Spigot.system.database;
+
+import de.jatitv.commandguiv2.Spigot.Main;
+import de.jatitv.commandguiv2.Util;
+import net.t2code.lib.Spigot.Lib.messages.send;
+import org.bukkit.Bukkit;
+
+import java.io.File;
+import java.sql.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+public class SQLITE {
+ protected static String url;
+ private static Connection con;
+
+ public static void main() throws SQLException {
+ long long_ = System.currentTimeMillis();
+ File directory = new File(Main.getPath() + "/Storage");
+ if (!directory.exists()) {
+ directory.mkdir();
+ }
+ url = "jdbc:sqlite:" + Main.plugin.getDataFolder() + "/Storage/data.db";
+ con = DriverManager.getConnection(url);
+ Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §2SQLITE successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
+ DatabaseMetaData dbmd = con.getMetaData();
+ }
+
+ public static void query(String query) {
+
+ send.debug(Main.plugin, query);
+ try {
+ Statement stmt = con.createStatement();
+ stmt.execute(query);
+ stmt.close();
+ } catch (SQLException e) {
+ System.err.println(e.getMessage());
+ }
+ }
+
+ public static void query(ArrayList queryList) {
+ try {
+ Statement stmt = con.createStatement();
+ for (String query : queryList) {
+ send.debug(Main.plugin, query);
+ stmt.addBatch(query);
+ }
+ stmt.executeBatch();
+ stmt.close();
+ } catch (SQLException e) {
+ System.err.println(e.getMessage());
+ }
+ }
+
+
+ public static HashMap> selectAll(String query) {
+ send.debug(Main.plugin, query);
+ HashMap> Result = new HashMap<>();
+ try {
+ Statement stmt = con.createStatement();
+ ResultSet rs = stmt.executeQuery(query);
+ int columns = rs.getMetaData().getColumnCount();
+ while (rs.next()) {
+ ArrayList columnList = new ArrayList<>();
+ for (int i = 1; i <= columns; i++) {
+ columnList.add(rs.getString(i));
+ }
+ Result.put(rs.getString(1), columnList);
+ }
+ rs.close();
+ stmt.close();
+ } catch (SQLException ex) {
+ System.err.println(ex.getMessage());
+ }
+ return Result;
+ }
+
+ public static String select(String query) {
+ send.debug(Main.plugin, query);
+ String Ausgabe = "";
+ try {
+ Statement stmt = con.createStatement();
+ ResultSet rs = stmt.executeQuery(query);
+ while (rs.next()) {
+ Ausgabe = String.valueOf(rs.getString(1));
+ }
+ rs.close();
+ stmt.close();
+ } catch (SQLException ex) {
+ System.err.println(ex.getMessage());
+ }
+ return Ausgabe;
+ }
+
+ public static int count(String query) {
+ send.debug(Main.plugin, query);
+ int count = 0;
+ try {
+ Statement stmt = con.createStatement();
+ ResultSet rs = stmt.executeQuery(query);
+ while (rs.next()) {
+ count++;
+ }
+ rs.close();
+ stmt.close();
+ } catch (SQLException ex) {
+ System.err.println(ex.getMessage());
+ }
+ return count;
+ }
+
+ public static ArrayList selectRow(String query) {
+ send.debug(Main.plugin, query);
+ ArrayList Result = new ArrayList<>();
+ try {
+ Statement stmt = con.createStatement();
+ ResultSet rs = stmt.executeQuery(query);
+ int columns = rs.getMetaData().getColumnCount();
+ while (rs.next()) {
+ for (int i = 1; i <= columns; i++) {
+ Result.add(rs.getString(i));
+ }
+ }
+ rs.close();
+ stmt.close();
+ } catch (SQLException ex) {
+ System.err.println(ex.getMessage());
+ }
+ return Result;
+ }
+
+ public static void close() throws SQLException {
+ if (con != null) con.close();
+ }
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SelectDatabase.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SelectDatabase.java
new file mode 100644
index 0000000..b2b9d5f
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/SelectDatabase.java
@@ -0,0 +1,127 @@
+package de.jatitv.commandguiv2.Spigot.system.database;
+
+import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
+import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
+import org.bukkit.entity.Player;
+
+public class SelectDatabase {
+
+ private static StorageType Storage;
+
+ public static StorageType getStorage() {
+ return Storage;
+ }
+
+ public static void setStorage(StorageType storage) {
+ Storage = storage;
+ }
+
+ public static void nameCheck(Player player) {
+ switch (Storage) {
+ case MYSQL:
+ MySQL.query("UPDATE `gui-item` SET Name='" + player.getName() + "' WHERE UUID='" + player.getUniqueId() + "';");
+ break;
+ case YML:
+
+ break;
+ case SQLITE:
+ default:
+ SQLITE.query("UPDATE `gui-item` SET Name='" + player.getName() + "' WHERE UUID='" + player.getUniqueId() + "';");
+ break;
+ }
+ }
+
+ public static void setSlot(Player player, Integer slot) {
+ switch (Storage) {
+ case MYSQL:
+ MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Slot`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
+ + "','" + slot + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Slot` = '" + slot + "';");
+ break;
+ case YML:
+ YML.setGuiitemSlot(player, slot);
+ break;
+ case SQLITE:
+ default:
+ SQLITE.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Slot`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
+ + "','" + slot + "') ON CONFLICT(UUID) DO UPDATE SET `Name` = '" + player.getName() + "', `Slot` = '" + slot + "';");
+ break;
+ }
+ }
+
+ public static void setItemStatusTrue(Player player) {
+ Events.useItemHashMap.replace(player, true);
+ switch (Storage) {
+ case MYSQL:
+ MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
+ + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '1';");
+ break;
+ case YML:
+ YML.setGuiitemOn(player);
+ break;
+ case SQLITE:
+ default:
+ SQLITE.query("INSERT INTO `gui-item` (`UUID`, `Name`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
+ + "') ON CONFLICT(UUID) DO UPDATE SET `Name` = '" + player.getName() + "', `Status` = '1';");
+ break;
+ }
+ }
+
+ public static void setItemStatusFalse(Player player) {
+ Events.useItemHashMap.replace(player, false);
+ switch (Storage) {
+ case MYSQL:
+ MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Status`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
+ + "', '0') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '0';");
+ break;
+ case YML:
+ YML.setGuiitemOff(player);
+ break;
+ case SQLITE:
+ default:
+ SQLITE.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Status`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
+ + "', '0') ON CONFLICT(UUID) DO UPDATE SET `Name` = '" + player.getName() + "', `Status` = '0';");
+ break;
+ }
+ }
+
+ public static Boolean selectItemStatus(Player player) {
+ switch (Storage) {
+ case MYSQL:
+ String result = MySQL.select("SELECT `Status` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';");
+ if (result == null || result.equals("")) {
+ return true;
+ }
+ return result.equals("1");
+ case YML:
+ return YML.selectGuiitemOn(player);
+ case SQLITE:
+ default:
+ String result2 = SQLITE.select("SELECT `Status` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';");
+ if (result2 == null || result2.equals("")) {
+ return true;
+ }
+ return result2.equals("1");
+ }
+ }
+
+ public static Integer selectSlot(Player player) {
+ switch (Storage) {
+ case MYSQL:
+ String result = MySQL.select("SELECT `Slot` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';");
+ if (result == null || result.equals("") || result.equals("null")) {
+ return null;
+ }
+ return Integer.parseInt(result);
+ case YML:
+ return YML.selectSlot(player);
+ case SQLITE:
+ default:
+ String result2 = SQLITE.select("SELECT `Slot` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';");
+ if (result2 == null || result2.equals("") || result2.equals("null")) {
+ return null;
+ }
+ return Integer.parseInt(result2);
+ }
+ }
+
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/Select_Database.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/Select_Database.java
deleted file mode 100644
index 25e890a..0000000
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/Select_Database.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package de.jatitv.commandguiv2.Spigot.system.database;
-
-import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
-import org.bukkit.entity.Player;
-
-public class Select_Database {
-
- public static void nameCheck(Player player) {
- if (SelectConfig.Storage.equals("MYSQL")) {
- MySQL.query("UPDATE `gui-item` SET Name='" + player.getName() + "' WHERE UUID='" + player.getUniqueId() + "';");
- }
- }
-
- public static void setSlot(Player player, Integer slot) {
- if (SelectConfig.Storage.equals("MYSQL")) {
- MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Slot`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
- + "','" + slot + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Slot` = '" + slot + "';");
- } else {
- YML.setGuiitemSlot(player, slot);
- }
- }
-
- public static void setItemStatusTrue(Player player) {
- if (SelectConfig.Storage.equals("MYSQL")) {
- MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
- + "') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '1';");
- } else {
- YML.setGuiitemOn(player);
- }
- }
-
- public static void setItemStatusFalse(Player player) {
- if (SelectConfig.Storage.equals("MYSQL")) {
-
- MySQL.query("INSERT INTO `gui-item` (`UUID`, `Name`, `Status`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
- + "', '0') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Status` = '0';");
- } else {
- YML.setGuiitemOff(player);
- }
- }
-
- public static Boolean selectItemStatus(Player player) {
- if (SelectConfig.Storage.equals("MYSQL")) {
- if (MySQL.count("SELECT * FROM `gui-item` WHERE BINARY UUID='" + player.getUniqueId() + "'") > 0) {
- if (MySQL.select("SELECT `Status` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';").equals("1")) {
- return true;
- } else return false;
- } else {
- return true;
- }
- } else {
- return YML.selectGuiitemOn(player);
- }
- }
-
- public static Integer selectSlot(Player player) {
- if (SelectConfig.Storage.equals("MYSQL")) {
- if (MySQL.count("SELECT * FROM `gui-item` WHERE BINARY UUID='" + player.getUniqueId() + "'") > 0) {
- if (MySQL.select("SELECT `Slot` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';") != "null") {
- return Integer.valueOf(MySQL.select("SELECT `Slot` FROM `gui-item` WHERE `UUID`='" + player.getUniqueId() + "';"));
- } else return null;
- } else return null;
-
- } else {
- return YML.selectSlot(player);
- }
- }
-
-}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/StorageType.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/StorageType.java
new file mode 100644
index 0000000..ee77759
--- /dev/null
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/StorageType.java
@@ -0,0 +1,7 @@
+package de.jatitv.commandguiv2.Spigot.system.database;
+
+public enum StorageType {
+ MYSQL,
+ SQLITE,
+ YML
+}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/YML.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/YML.java
index 94a49e4..bbfe10a 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/YML.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/system/database/YML.java
@@ -11,7 +11,7 @@ import java.io.IOException;
public class YML {
- private static Plugin plugin = Main.plugin;
+ private static final Plugin plugin = Main.plugin;
public static File storage = new File(Main.getPath(), "Storage/gui-item.yml");
public static YamlConfiguration yamlConfigurationStorage = YamlConfiguration.loadConfiguration(storage);
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Util.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Util.java
index a6f2674..787f243 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Util.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Util.java
@@ -1,6 +1,7 @@
package de.jatitv.commandguiv2;
public class Util {
+ private static Integer configVersion = 5;
private static double requiredT2CodeLibVersion = 10.3;
private static String Prefix = "§8[§4C§9GUI§8]";
private static Integer SpigotID = 90671;
@@ -31,4 +32,8 @@ public class Util {
public static String getDiscord() {
return Discord;
}
+
+ public static Integer getConfigVersion() {
+ return configVersion;
+ }
}
diff --git a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/api/CGuiAPI.java b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/api/CGuiAPI.java
index 30dd7ea..2d8a4e7 100644
--- a/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/api/CGuiAPI.java
+++ b/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/api/CGuiAPI.java
@@ -1,13 +1,15 @@
package de.jatitv.commandguiv2.api;
import de.jatitv.commandguiv2.Spigot.Listener.ItemChange;
+import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands;
import de.jatitv.commandguiv2.Spigot.cmdManagement.Help;
-import de.jatitv.commandguiv2.Spigot.config.DefaultGUICreate;
+import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
-import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
+import de.jatitv.commandguiv2.Spigot.system.Permissions;
+import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
import net.t2code.lib.Spigot.Lib.messages.send;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -42,21 +44,21 @@ public class CGuiAPI {
}
public static Boolean selectPlayerItemEnable(Player player) {
- return Select_Database.selectItemStatus(player);
+ return Events.useItemHashMap.get(player);
}
public static Integer selectPlayerItemSlot(Player player) {
- return Select_Database.selectSlot(player);
+ return Events.useItemSlotHashMap.get(player);
}
public static void setPlayerItemEnable(Player player, Boolean value) {
if (value) {
- Select_Database.setItemStatusTrue(player);
- } else Select_Database.setItemStatusFalse(player);
+ SelectDatabase.setItemStatusTrue(player);
+ } else SelectDatabase.setItemStatusFalse(player);
}
public static void setPlayerItemSlot(Player player, Integer value) {
- Select_Database.setSlot(player, value);
+ SelectDatabase.setSlot(player, value);
}
public static void openDefaultGUI(Player player) {
@@ -72,26 +74,24 @@ public class CGuiAPI {
}
public static void sendPluginInfo(CommandSender sender) {
- if (sender.hasPermission("commandgui.command.info")) {
+ if (sender.hasPermission(Permissions.info)) {
Commands.info(sender);
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
- .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.command.info"));
+ .replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.info));
}
public static void createDefaultGUI(CommandSender sender) {
- if (sender.hasPermission("commandgui.admin")) {
- DefaultGUICreate.configCreate();
+ if (sender.hasPermission(Permissions.admin)) {
+ CreateGUI.configCreate();
sender.sendMessage(SelectMessages.DefaultGUIcreate.replace("[directory]", Main.getPath() + "\\GUIs\\default.yml"));
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
- .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
+ .replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin));
}
public static void reload(CommandSender sender) {
- if (sender.hasPermission("commandgui.admin")) {
+ if (sender.hasPermission(Permissions.admin)) {
Commands.reload(sender);
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
- .replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
+ .replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin));
}
-
-
}
diff --git a/CommandGUI V2/src/main/resources/META-INF/MANIFEST.MF b/CommandGUI V2/src/main/resources/META-INF/MANIFEST.MF
index 7f041a7..c51a347 100644
--- a/CommandGUI V2/src/main/resources/META-INF/MANIFEST.MF
+++ b/CommandGUI V2/src/main/resources/META-INF/MANIFEST.MF
@@ -1,5 +1,4 @@
Manifest-Version: 1.0
-Main-Class:
Class-Path: PlugmanGUI-3.0.jar spigot-1.8r3.jar spigot-1.9r1.jar spigot-
1.15r1.jar T2CodeLib-10.3.jar spigot-1.18r1.jar bungee-1615.jar spigot-
1.9r2.jar spigot-1.16r3.jar spigot-1.14r1.jar slf4j-api-1.7.25.jar Luck
diff --git a/CommandGUI V2/src/main/resources/plugin.yml b/CommandGUI V2/src/main/resources/plugin.yml
index 90ebe99..3459066 100644
--- a/CommandGUI V2/src/main/resources/plugin.yml
+++ b/CommandGUI V2/src/main/resources/plugin.yml
@@ -19,56 +19,54 @@ commands:
commandguihelp:
description: CommandGUI Help
aliases: [cguihelp, guihelp]
- # commandguiadmin:
- # aliases: [cguiadmin, cguia]
commandgui-item:
aliases: [gui-item]
-permissions:
- commandgui.admin:
- description: All permissions from CommandGUI
- default: op
- children:
- commandgui.updatemsg: true
- commandgui.command: true
- commandgui.get.guiitem.at.login: true
- commandgui.useitem: true
- commandgui.useitem.toggle: true
- commandgui.bypass: true
- commandgui.command.info: true
- commandgui.command.give: true
-
- commandgui.player:
- description: All permissions from CommandGUI
- default: op
- children:
- commandgui.command: true
- commandgui.get.guiitem.at.login: true
- commandgui.useitem: true
- commandgui.useitem.toggle: true
-
- commandgui.updatemsg:
- description: Players with this permission get the update message when joining if an update is available
- default: op
- commandgui.command:
- description: Required permission to open GUIs via command
- default: op
- commandgui.get.guiitem.at.login:
- description: Only players with this permission will receive the GUI item
- default: op
- commandgui.useitem:
- description: Required permission to use the GUI Item
- default: op
- commandgui.useitem.toggle:
- description: Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true)
- default: op
- commandgui.bypass:
- description: Bypass to open disabled GUIs
- default: op
- commandgui.command.info:
- description: Permission to view CommandGUI info
- default: not op
- commandgui.command.give:
- description: Kommend in V2.1.0
- default: op
\ No newline at end of file
+#permissions:
+# commandgui.admin:
+# description: All permissions from CommandGUI
+# default: op
+# children:
+# commandgui.command: true
+# commandgui.get.guiitem.at.login: true
+# commandgui.useitem: true
+# commandgui.useitem.toggle: true
+# commandgui.updatemsg: true
+# commandgui.bypass: true
+# commandgui.command.info: true
+# commandgui.command.give: true
+#
+# commandgui.player:
+# description: All permissions from CommandGUI
+# default: op
+# children:
+# commandgui.command: true
+# commandgui.get.guiitem.at.login: true
+# commandgui.useitem: true
+# commandgui.useitem.toggle: true
+#
+# commandgui.updatemsg:
+# description: Players with this permission get the update message when joining if an update is available
+# default: op
+# commandgui.command:
+# description: Required permission to open GUIs via command
+# default: op
+# commandgui.get.guiitem.at.login:
+# description: Only players with this permission will receive the GUI item
+# default: op
+# commandgui.useitem:
+# description: Required permission to use the GUI Item
+# default: op
+# commandgui.useitem.toggle:
+# description: Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true)
+# default: op
+# commandgui.bypass:
+# description: Bypass to open disabled GUIs
+# default: op
+# commandgui.command.info:
+# description: Permission to view CommandGUI info
+# default: not op
+# commandgui.command.give:
+# description: Kommend in V2.1.0
+# default: op
\ No newline at end of file
diff --git a/Config Update V5/new/Functions/SupportDiscord.yml b/Config Update V5/new/Functions/SupportDiscord.yml
new file mode 100644
index 0000000..5b81465
--- /dev/null
+++ b/Config Update V5/new/Functions/SupportDiscord.yml
@@ -0,0 +1,74 @@
+Slot:
+ Function:
+ Item:
+ Empty: false
+ Amount: 1
+ PlayerHead:
+ Enable: true
+ Base64:
+ Enable: true
+ Base64Value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg3M2MxMmJmZmI1MjUxYTBiODhkNWFlNzVjNzI0N2NiMzlhNzVmZjFhODFjYmU0YzhhMzliMzExZGRlZGEifX19
+ PlayerWhoHasOpenedTheGUI: false
+ PlayerName: ''
+ Material: ''
+ Name: '&3Support Discord'
+ Lore:
+ - '&8-----------------'
+ - '&bIf you need help setting up the plugin,'
+ - '&bfeel free to contact me on the Suport Discord.'
+ - '&8-----------------'
+ - '&eIf you find any errors or bugs,'
+ - '&eplease contact me so I can fix them.'
+ - '&8-----------------'
+ - '&5Discord: §7http://dc.t2code.net'
+ CustomSound:
+ Enable: false
+ NoSound: false
+ Sound: ''
+ Cost:
+ Enable: false
+ Price: 0.0
+ Command:
+ Enable: false
+ BungeeCommand: false
+ CommandAsConsole: false
+ Command: []
+ ServerChange:
+ Enable: false
+ Server: ''
+ OpenGUI:
+ Enable: false
+ GUI: ''
+ Toggle:
+ Permission:
+ Enable: false
+ Permission: ''
+ UseItem:
+ Enable: false
+ Message:
+ Enable: true
+ Message:
+ - '&6You can find more information on Discord: &ehttp://dc.t2code.net'
+ SetConfig:
+ Enable: false
+ File:
+ Path: ''
+ Option:
+ Path: ''
+ Premat: String
+ Value:
+ LeftClick:
+ String: ''
+ Boolean: false
+ Integer: 0
+ Double: 0.0
+ List: []
+ RightClick:
+ String: ''
+ Boolean: false
+ Integer: 0
+ Double: 0.0
+ List: []
+ PluginReload:
+ Enable: false
+ Command: ''
\ No newline at end of file
diff --git a/Config Update V5/new/Functions/UseItem.yml b/Config Update V5/new/Functions/UseItem.yml
new file mode 100644
index 0000000..40521f1
--- /dev/null
+++ b/Config Update V5/new/Functions/UseItem.yml
@@ -0,0 +1,69 @@
+Slot:
+ Functions:
+ Item:
+ Empty: false
+ Amount: 1
+ PlayerHead:
+ Enable: false
+ Base64:
+ Enable: false
+ Base64Value: ''
+ PlayerWhoHasOpenedTheGUI: false
+ PlayerName: ''
+ Material: ''
+ Name: '&6Toggle UseItem'
+ Lore:
+ - '&bYou currently have the UseItem set to: %commandgui_useitem%'
+ CustomSound:
+ Enable: false
+ NoSound: false
+ Sound: ''
+ Cost:
+ Enable: false
+ Price: 0.0
+ Command:
+ Enable: false
+ BungeeCommand: false
+ CommandAsConsole: false
+ Command: []
+ ServerChange:
+ Enable: false
+ Server: ''
+ OpenGUI:
+ Enable: false
+ GUI: ''
+ Toggle:
+ Permission:
+ Enable: false
+ Permission: ''
+ UseItem:
+ Enable: true
+ Message:
+ Enable: true
+ Message:
+ - '&bYour UseItem was set to: %commandgui_useitem%&b.'
+ Permission:
+ Required: false
+ SetConfig:
+ Enable: false
+ File:
+ Path: ''
+ Option:
+ Path: ''
+ Premat: String
+ Value:
+ LeftClick:
+ String: ''
+ Boolean: false
+ Integer: 0
+ Double: 0.0
+ List: []
+ RightClick:
+ String: ''
+ Boolean: false
+ Integer: 0
+ Double: 0.0
+ List: []
+ PluginReload:
+ Enable: false
+ Command: ''
diff --git a/Config Update V5/new/GUIs/default.yml b/Config Update V5/new/GUIs/default.yml
new file mode 100644
index 0000000..9e4a6e7
--- /dev/null
+++ b/Config Update V5/new/GUIs/default.yml
@@ -0,0 +1,28 @@
+GUI:
+ Enable: true
+ Lines: 1
+ Name: '&5default &9GUI'
+ FillItem:
+ Enable: true
+ Item: BLACK_STAINED_GLASS_PANE
+Command:
+ Alias: true
+ Permission:
+ Required: true
+Slots:
+ SupportDiscord:
+ Slot: 4
+ Enable: true
+ Function: SupportDiscord
+ Permission:
+ Required: false
+ See: ''
+ Use: ''
+ UseItem:
+ Slot: 6
+ Enable: true
+ Function: UseItem
+ Permission:
+ Required: false
+ See: ''
+ Use: ''
diff --git a/Config Update V5/new/config.yml b/Config Update V5/new/config.yml
new file mode 100644
index 0000000..5ef9e45
--- /dev/null
+++ b/Config Update V5/new/config.yml
@@ -0,0 +1,121 @@
+ConfigVersion: 4
+Plugin:
+ UpdateCheckOnJoin: true
+ Debug: false
+ HelpAlias: true
+ language: english
+ Currency: $
+ DefaultGUI: default
+Storage:
+ Type: YML
+ MySQL:
+ IP: localhost
+ Port: 3306
+ Database: database
+ User: root
+ Password: password
+ SSL: false
+BungeeCord:
+ Enable: false
+ ThisServer: server
+UseItem:
+ Enable: true
+ AllowToggle: true
+ AllowSetSlot: true
+ BlockMoveAndDrop: true
+ OpenGUI: default
+ Permission:
+ NeededToUse: true
+ KeepAtCommandClear: true
+ InventorySlot:
+ Slot: 1
+ SlotEnforce: false
+ FreeSlot: false
+ Item:
+ Material: paper
+ PlayerHead:
+ Enable: false
+ Base64:
+ Enable: false
+ Base64Value: ''
+ PlayerWhoHasOpenedTheGUI: false
+ Playername: ''
+ Name: '&bDefault &6GUI'
+ Lore:
+ - '&eThis is an example GUI'
+ Join:
+ GiveOnEveryJoin: true
+ GiveOnlyOnFirstJoin: false
+ Cursor:
+ ToGUIItem:
+ OnLogin:
+ Enable: true
+ Spigot:
+ OnOnlyFirstLogin: true
+ Bungee:
+ OnServerChange: false
+Advanced:
+ UseItem:
+ GameMode:
+ Change:
+ Enable: true
+ DelayInTicks: 1
+ Protection:
+ Enable: false
+ RemoveItemWhenItIsDisabled: false
+ Mode: blacklist
+ List:
+ - CREATIVE
+ - Spectator
+ World:
+ Change:
+ Enable: true
+ DelayInTicks: 1
+ Protection:
+ Enable: false
+ RemoveItemWhenItIsDisabled: false
+ Mode: blacklist
+ List:
+ - World1
+ - World2
+Toggle:
+ Items:
+ OnOrYes:
+ Item:
+ Base64:
+ Enable: false
+ Base64Value: ''
+ Material: GREEN_WOOL
+ OffOrNo:
+ Item:
+ Base64:
+ Enable: false
+ Base64Value: ''
+ Material: RED_WOOL
+ Permission:
+ Commands:
+ 'True': luckperms user [player] permission set [perm] true
+ 'False': luckperms user [player] permission set [perm] false
+Placeholder:
+ 'True': '&2true'
+ 'False': '&4false'
+Sound:
+ Enable: true
+ OpenInventory:
+ Enable: true
+ Sound: BLOCK_CHEST_OPEN
+ Click:
+ Enable: true
+ Sound: BLOCK_NOTE_BLOCK_HAT
+ NoMoney:
+ Enable: true
+ Sound: BLOCK_NOTE_BLOCK_HARP
+ NoInventorySpace:
+ Enable: true
+ Sound: BLOCK_NOTE_BLOCK_HARP
+ Give:
+ Enable: true
+ Sound: ENTITY_PLAYER_LEVELUP
+ PlayerNotFound:
+ Enable: true
+ Sound: BLOCK_NOTE_BLOCK_HARP
diff --git a/Config Update V5/new/languages/english_messages.yml b/Config Update V5/new/languages/english_messages.yml
new file mode 100644
index 0000000..7f03281
--- /dev/null
+++ b/Config Update V5/new/languages/english_messages.yml
@@ -0,0 +1,55 @@
+Plugin:
+ VaultNotSetUp: '[prefix] &4Vault / Economy not set up!'
+ SoundNotFound: '[prefix] &4The sound &6[sound] &4was not found! Please check the
+ settings.'
+ OnlyForPlayer: '[prefix] &cThis command is for players only!'
+ DefaultGUI:
+ create: '[prefix] &2DefaultGUI was created. You can find it in the directory:
+ &e[directory]&2!'
+ Reload:
+ Start: '[prefix] &6Plugin is reloaded...'
+ End: '[prefix] &2Plugin was successfully reloaded.'
+NoPermission:
+ ForCommandGUI: '[prefix] &cYou do not have permission for &4Command&9GUI&c!'
+ ForCommand: '[prefix] &cFor &b[cmd] &cyou lack the permission &6[perm]&c!'
+ ForUseItem: '[prefix] &cYou lack the permission &6[perm] &cto use the item for the
+ GUI: &6[gui].'
+ ForItem: '[prefix] &cFor &b[item] &cyou lack the permission &6[perm]&c!'
+UseItem:
+ UseItem_ON: '[prefix] &2You have activated the GUI item.'
+ UseItem_OFF: '[prefix] &2You have disabled the GUI item.'
+ Change_Slot: '[prefix] &2You have changed the GUI item to slot: &6[slot]&2.'
+ SlotNotEmpty: '[prefix] &6The slot &e[slot] &6is currently occupied!'
+ SlotAlreadySet: '[prefix] &6The slot §e[slot] §6is already set!'
+ ItemSlot_wrongValue: '[prefix] &cThe specified slot must be between 1 and 9!'
+ DisabledInGameMode: '[prefix] &cThe UseItem is disabled in this GameMode!'
+ DisabledInWorld: '[prefix] &cThe UseItem is disabled in this World!'
+Cost:
+ Buy_msg: '[prefix] &2You bought [itemname] &2for &6[price]&2.'
+ No_money: '[prefix] &cYou don''t have enough money!'
+ NoInventorySpace: '[prefix] &cYou have no room in your inventory!'
+ServerChange:
+ onServerChange: '[prefix] &2You will be connected to the server &e[server]§2.'
+GUI:
+ GUInotFound: '[prefix] &cThe GUI chosen by the does not exist.'
+ GUIisDisabled: '[prefix] &cThe GUI [gui] &cis currently Disabled!'
+Give:
+ Sender: '[prefix] &2You have given &6[player] &2an [item] &2!'
+ Receiver: '[prefix] &2You got &2, [item] &2from &6[sender]!'
+Player:
+ PlayerNotFond: '[prefix] &cThe player &6[player] &cwas not found or is not online!'
+ PlayerNoInventorySpace: '[prefix] &6[player] &chas no free space in his inventory!'
+Help:
+ CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eOpen the default GUI &7(&r[gui]&7)&e.'
+ Help: '&8''''&b/commandguihelp&8'''' &eOpen this help.'
+ Info: '&8''''&b/commandgui admin info&8'''' &eCall the info from &4Command&9GUI
+ &e.'
+ Open: '&8''''&b/commandgui [gui]&8'''' &eOpen the GUI: &6[guiname]&e.'
+ Give: '&8''''&b/commandgui admin give &7&8'''' &eGive a player the GUI item.'
+ CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eCreate a default
+ GUI &7([directory])&e.'
+ Reload: '&8''''&b/commandgui admin reload&8'''' &eReload the plugin.'
+ UseItem_On: '&8''''&b/gui-item on&8'''' &eActivate the GUIItem for you.'
+ UseItem_Off: '&8''''&b/gui-item off&8'''' &eDisable the GUIItem for yourself.'
+ UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSet the slot for GUIItem for
+ you.'
diff --git a/Config Update V5/new/languages/german_messages.yml b/Config Update V5/new/languages/german_messages.yml
new file mode 100644
index 0000000..5831fad
--- /dev/null
+++ b/Config Update V5/new/languages/german_messages.yml
@@ -0,0 +1,58 @@
+Plugin:
+ VaultNotSetUp: '[prefix] &4Vault / Economy nicht eingerichtet!'
+ SoundNotFound: '[prefix] &4Der Sound &6[sound] &4wurde nicht gefunden! Bitte [ue]berpr[ue]fe
+ die Einstellungen.'
+ OnlyForPlayer: '[prefix] &cDieser Command ist nur f[ue]r Spieler!'
+ DefaultGUI:
+ create: '[prefix] &2DefaultGUI wurde erstellt. Du findst sie im Verzeichnis: &e[directory]&2!'
+ Reload:
+ Start: '[prefix] &6Plugin wird neu geladen...'
+ End: '[prefix] &2Plugin wurde erfolgreich neu geladen.'
+NoPermission:
+ ForCommandGUI: '[prefix] &cDu hast keine Permission f[ue]r &4Command&9GUI&c!'
+ ForCommand: '[prefix] &cF[ue]r &b[cmd] &cfehlt dir die Permission &6[perm]&c!'
+ ForUseItem: '[prefix] &cDir fehlt die Permission &6[perm] &cum das Item f[ue]r die
+ GUI: &6[gui] &cnutzen zu k[oe]nnen.'
+ ForItem: '[prefix] &cF[ue]r &b[item] &cfehlt dir die Permission &6[perm]&c!'
+UseItem:
+ UseItem_ON: '[prefix] &2Du hast das GUI-Item aktiviert.'
+ UseItem_OFF: '[prefix] &2Du hast das GUI-Item deaktiviert.'
+ Change_Slot: '[prefix] &2Du hast das GUI-Item auf Slot &6[slot] &2umgestellt.'
+ SlotNotEmpty: '[prefix] &6Der Slot §e[slot] §6ist derzeit belegt!.'
+ SlotAlreadySet: '[prefix] &6Der Slot §e[slot] §6ist bereits eingestellt!'
+ ItemSlot_wrongValue: '[prefix] &cDer angegebene Slot muss sich zwischen 1 und 9
+ befinden!'
+ DisabledInGameMode: '[prefix] &cDas UseItem ist in diesem GameMode deaktiviert!'
+ DisabledInWorld: '[prefix] &cDas UseItem ist in dieser Welt deaktiviert!'
+Cost:
+ Buy_msg: '[prefix] &2Du hast dir [itemname] &2f[ue]r &6[price] &2gekauft.'
+ No_money: '[prefix] &cDu hast nicht gen[ue]gend Geld!'
+ NoInventorySpace: '[prefix] &cDu hast keinen Platz in deinem Inventar!'
+ServerChange:
+ onServerChange: '[prefix] &2Du wirst auf den Server §e[server] §2verbunden.'
+GUI:
+ GUInotFound: '[prefix] &cDie von die gew[ae]hlte GUI gibt es nicht.'
+ GUIisDisabled: '[prefix] &cDie GUI [gui] &cist derzeit Deaktiviert!'
+Give:
+ Sender: '[prefix] &2Du hast &6[player] &2ein [item] &2gegeben!'
+ Receiver: '[prefix] &2Du hast von &6[sender] &2, [item] &2bekommen!'
+Player:
+ PlayerNotFond: '[prefix] &cDer Spieler &6[player] &cwurde nicht gefunden oder ist
+ nicht Online!'
+ PlayerNoInventorySpace: '[prefix] &6[player] &chat keinen freien Platz in seinem
+ Inventar!'
+Help:
+ CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &e[OE]ffne die default GUI &7(&r[gui]&7)&e.'
+ Help: '&8''''&b/commandguihelp&8'''' &e[OE]ffne diese help.'
+ Info: '&8''''&b/commandgui admin info&8'''' &eRufe die Infos von &4Command&9GUI
+ &eauf.'
+ Open: '&8''''&b/commandgui [gui]&8'''' &e[OE]ffne die GUI: &6[guiname]&e.'
+ Give: '&8''''&b/commandgui admin give &7&8'''' &eGebe einem Spieler das
+ GUI-Item.'
+ CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eLasse eine
+ default GUI erstellen &7([directory])&e.'
+ Reload: '&8''''&b/commandgui admin reload&8'''' &eLade das Plugin neu.'
+ UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiviere f[ue]r dich das GUIItem.'
+ UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiviere f[ue]r dich das GUIItem.'
+ UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSetze den Slot für GUIItem
+ für Sie einstellen.'
diff --git a/Config Update V5/new/languages/norwegian_messages.yml b/Config Update V5/new/languages/norwegian_messages.yml
new file mode 100644
index 0000000..eb44615
--- /dev/null
+++ b/Config Update V5/new/languages/norwegian_messages.yml
@@ -0,0 +1,54 @@
+Plugin:
+ VaultNotSetUp: '[prefix] &4Vault / Økonomi har ikke blitt satt opp!'
+ SoundNotFound: '[prefix] &4Lyden &6[sound] &4ble ikke bli funnet! Vennligst sjekk
+ innstillingene.'
+ OnlyForPlayer: '[prefix] &cDenne kommandoen er for spillere kun!'
+ DefaultGUI:
+ create: '[prefix] &2DefaultGUI har blitt laget. Du kan finne den i mappen: &e[directory]&2!'
+ Reload:
+ Start: '[prefix] &6Pluginet blir relastet...'
+ End: '[prefix] &2Pluginet har blitt lastet inn på nytt.'
+NoPermission:
+ ForCommandGUI: '[prefix] &cDu har ikke tilgang til &4Command&9GUI&c!'
+ ForCommand: '[prefix] &cFor &b[cmd] &cmangler du tillatelsen &6[perm]&c!'
+ ForUseItem: '[prefix] &cDu mangler tillatelsen &6[perm] &cfor å bruke gjenstanden
+ i GUI: &6[gui].'
+ ForItem: '[prefix] &cFor &b[item] &cmangler du tillatelsen &6[perm]&c!'
+UseItem:
+ UseItem_ON: '[prefix] &2You have activated the GUI item.'
+ UseItem_OFF: '[prefix] &2You have disabled the GUI item.'
+ Change_Slot: '[prefix] &2You have changed the GUI item to slot: &6[slot]&2.'
+ SlotNotEmpty: '[prefix] &6Plassen &e[slot] &6er opptatt for øyeblikket!'
+ SlotAlreadySet: '[prefix] &6Plassen §e[slot] §6er allerede satt!'
+ ItemSlot_wrongValue: '[prefix] &cDen spesifiserte plassen må være mellom 1 og 9!'
+ DisabledInGameMode: '[prefix] &cBrukselementet er deaktivert i denne spillmodusen!!'
+ DisabledInWorld: '[prefix] &cUseItem er deaktivert i denne verden!'
+Cost:
+ Buy_msg: '[prefix] &2Du kjøpte [itemname] &2for &6[price]&2.'
+ No_money: '[prefix] &cDu har ikke nok penger!'
+ NoInventorySpace: '[prefix] &cDu har ikke nok plass i inventaret ditt!'
+ServerChange:
+ onServerChange: '[prefix] &2Du vil bli tilkoblet serveren &e[server]&2.'
+GUI:
+ GUInotFound: '[prefix] &cGUIen som ble spesifisert finnes ikke.'
+ GUIisDisabled: '[prefix] &cGUIen [gui] &cer slått av for øyeblikket!'
+Give:
+ Sender: '[prefix] &2Du har gitt &6[player] &2en [item]&2!'
+ Receiver: '[prefix] &2Du fikk &2, [item] &2fra &6[sender]!'
+Player:
+ PlayerNotFond: '[prefix] &cSpilleren &6[player] &cble ikke funnet eller er ikke
+ pålogget!'
+ PlayerNoInventorySpace: '[prefix] &6[player] &char ikke nok plass i inventaret sitt!'
+Help:
+ CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eÅpne default GUIen &7(&r[gui]&7)&e.'
+ Help: '&8''''&b/commandguihelp&8'''' &eSender denne hjelpe meldingen.'
+ Info: '&8''''&b/commandgui admin info&8'''' &eKall informasjon fra &4Command&9GUI&e.'
+ Open: '&8''''&b/commandgui [gui]&8'''' &eÅpne GUIen: &6[guiname]&e.'
+ Give: '&8''''&b/commandgui admin give &7&8'''' &eGi en spiller GUI gjenstanden.'
+ CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eLag en normalverdi
+ GUI &7([directory])&e.'
+ Reload: '&8''''&b/commandgui admin reload&8'''' &eLast inn pluginet på nytt.'
+ UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiverer en GUI gjenstand for deg.'
+ UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiverer en GUI gjenstand for deg.'
+ UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSett sporet for GUIItem for
+ deg.'
diff --git a/Config Update V5/old/GUIs/default.yml b/Config Update V5/old/GUIs/default.yml
new file mode 100644
index 0000000..9095465
--- /dev/null
+++ b/Config Update V5/old/GUIs/default.yml
@@ -0,0 +1,159 @@
+GUI:
+ Enable: true
+ Lines: 1
+ Name: '&5default &9GUI'
+ FillItem:
+ Enable: true
+ Item: BLACK_STAINED_GLASS_PANE
+Command:
+ Alias: true
+ Permission:
+ Required: true
+Slots:
+ SupportDiscord:
+ Slot: 4
+ Enable: true
+ Item:
+ Empty: false
+ Amount: 1
+ PlayerHead:
+ Enable: true
+ Base64:
+ Enable: true
+ Base64Value: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg3M2MxMmJmZmI1MjUxYTBiODhkNWFlNzVjNzI0N2NiMzlhNzVmZjFhODFjYmU0YzhhMzliMzExZGRlZGEifX19
+ PlayerWhoHasOpenedTheGUI: false
+ PlayerName: ''
+ Material: ''
+ Name: '&3Support Discord'
+ Lore:
+ - '&8-----------------'
+ - '&bIf you need help setting up the plugin,'
+ - '&bfeel free to contact me on the Suport Discord.'
+ - '&8-----------------'
+ - '&eIf you find any errors or bugs,'
+ - '&eplease contact me so I can fix them.'
+ - '&8-----------------'
+ - '&5Discord: §7http://dc.t2code.net'
+ CustomSound:
+ Enable: false
+ NoSound: false
+ Sound: ''
+ Cost:
+ Enable: false
+ Price: 0.0
+ Command:
+ Enable: false
+ BungeeCommand: false
+ CommandAsConsole: false
+ Command: []
+ ServerChange:
+ Enable: false
+ Server: ''
+ OpenGUI:
+ Enable: false
+ GUI: ''
+ Toggle:
+ Permission:
+ Enable: false
+ Permission: ''
+ UseItem:
+ Enable: false
+ Message:
+ Enable: true
+ Message:
+ - '&6You can find more information on Discord: &ehttp://dc.t2code.net'
+ Permission:
+ Required: false
+ SetConfig:
+ Enable: false
+ File:
+ Path: ''
+ Option:
+ Path: ''
+ Premat: String
+ Value:
+ LeftClick:
+ String: ''
+ Boolean: false
+ Integer: 0
+ Double: 0.0
+ List: []
+ RightClick:
+ String: ''
+ Boolean: false
+ Integer: 0
+ Double: 0.0
+ List: []
+ PluginReload:
+ Enable: false
+ Command: ''
+ UseItem:
+ Slot: 6
+ Enable: true
+ Item:
+ Empty: false
+ Amount: 1
+ PlayerHead:
+ Enable: false
+ Base64:
+ Enable: false
+ Base64Value: ''
+ PlayerWhoHasOpenedTheGUI: false
+ PlayerName: ''
+ Material: ''
+ Name: '&6Toggle UseItem'
+ Lore:
+ - '&bYou currently have the UseItem set to: %commandgui_useitem%'
+ CustomSound:
+ Enable: false
+ NoSound: false
+ Sound: ''
+ Cost:
+ Enable: false
+ Price: 0.0
+ Command:
+ Enable: false
+ BungeeCommand: false
+ CommandAsConsole: false
+ Command: []
+ ServerChange:
+ Enable: false
+ Server: ''
+ OpenGUI:
+ Enable: false
+ GUI: ''
+ Toggle:
+ Permission:
+ Enable: false
+ Permission: ''
+ UseItem:
+ Enable: true
+ Message:
+ Enable: true
+ Message:
+ - '&bYour UseItem was set to: %commandgui_useitem%&b.'
+ Permission:
+ Required: false
+ SetConfig:
+ Enable: false
+ File:
+ Path: ''
+ Option:
+ Path: ''
+ Premat: String
+ Value:
+ LeftClick:
+ String: ''
+ Boolean: false
+ Integer: 0
+ Double: 0.0
+ List: []
+ RightClick:
+ String: ''
+ Boolean: false
+ Integer: 0
+ Double: 0.0
+ List: []
+ PluginReload:
+ Enable: false
+ Command: ''
diff --git a/Config Update V5/old/config.yml b/Config Update V5/old/config.yml
new file mode 100644
index 0000000..5ef9e45
--- /dev/null
+++ b/Config Update V5/old/config.yml
@@ -0,0 +1,121 @@
+ConfigVersion: 4
+Plugin:
+ UpdateCheckOnJoin: true
+ Debug: false
+ HelpAlias: true
+ language: english
+ Currency: $
+ DefaultGUI: default
+Storage:
+ Type: YML
+ MySQL:
+ IP: localhost
+ Port: 3306
+ Database: database
+ User: root
+ Password: password
+ SSL: false
+BungeeCord:
+ Enable: false
+ ThisServer: server
+UseItem:
+ Enable: true
+ AllowToggle: true
+ AllowSetSlot: true
+ BlockMoveAndDrop: true
+ OpenGUI: default
+ Permission:
+ NeededToUse: true
+ KeepAtCommandClear: true
+ InventorySlot:
+ Slot: 1
+ SlotEnforce: false
+ FreeSlot: false
+ Item:
+ Material: paper
+ PlayerHead:
+ Enable: false
+ Base64:
+ Enable: false
+ Base64Value: ''
+ PlayerWhoHasOpenedTheGUI: false
+ Playername: ''
+ Name: '&bDefault &6GUI'
+ Lore:
+ - '&eThis is an example GUI'
+ Join:
+ GiveOnEveryJoin: true
+ GiveOnlyOnFirstJoin: false
+ Cursor:
+ ToGUIItem:
+ OnLogin:
+ Enable: true
+ Spigot:
+ OnOnlyFirstLogin: true
+ Bungee:
+ OnServerChange: false
+Advanced:
+ UseItem:
+ GameMode:
+ Change:
+ Enable: true
+ DelayInTicks: 1
+ Protection:
+ Enable: false
+ RemoveItemWhenItIsDisabled: false
+ Mode: blacklist
+ List:
+ - CREATIVE
+ - Spectator
+ World:
+ Change:
+ Enable: true
+ DelayInTicks: 1
+ Protection:
+ Enable: false
+ RemoveItemWhenItIsDisabled: false
+ Mode: blacklist
+ List:
+ - World1
+ - World2
+Toggle:
+ Items:
+ OnOrYes:
+ Item:
+ Base64:
+ Enable: false
+ Base64Value: ''
+ Material: GREEN_WOOL
+ OffOrNo:
+ Item:
+ Base64:
+ Enable: false
+ Base64Value: ''
+ Material: RED_WOOL
+ Permission:
+ Commands:
+ 'True': luckperms user [player] permission set [perm] true
+ 'False': luckperms user [player] permission set [perm] false
+Placeholder:
+ 'True': '&2true'
+ 'False': '&4false'
+Sound:
+ Enable: true
+ OpenInventory:
+ Enable: true
+ Sound: BLOCK_CHEST_OPEN
+ Click:
+ Enable: true
+ Sound: BLOCK_NOTE_BLOCK_HAT
+ NoMoney:
+ Enable: true
+ Sound: BLOCK_NOTE_BLOCK_HARP
+ NoInventorySpace:
+ Enable: true
+ Sound: BLOCK_NOTE_BLOCK_HARP
+ Give:
+ Enable: true
+ Sound: ENTITY_PLAYER_LEVELUP
+ PlayerNotFound:
+ Enable: true
+ Sound: BLOCK_NOTE_BLOCK_HARP
diff --git a/Config Update V5/old/languages/english_messages.yml b/Config Update V5/old/languages/english_messages.yml
new file mode 100644
index 0000000..7f03281
--- /dev/null
+++ b/Config Update V5/old/languages/english_messages.yml
@@ -0,0 +1,55 @@
+Plugin:
+ VaultNotSetUp: '[prefix] &4Vault / Economy not set up!'
+ SoundNotFound: '[prefix] &4The sound &6[sound] &4was not found! Please check the
+ settings.'
+ OnlyForPlayer: '[prefix] &cThis command is for players only!'
+ DefaultGUI:
+ create: '[prefix] &2DefaultGUI was created. You can find it in the directory:
+ &e[directory]&2!'
+ Reload:
+ Start: '[prefix] &6Plugin is reloaded...'
+ End: '[prefix] &2Plugin was successfully reloaded.'
+NoPermission:
+ ForCommandGUI: '[prefix] &cYou do not have permission for &4Command&9GUI&c!'
+ ForCommand: '[prefix] &cFor &b[cmd] &cyou lack the permission &6[perm]&c!'
+ ForUseItem: '[prefix] &cYou lack the permission &6[perm] &cto use the item for the
+ GUI: &6[gui].'
+ ForItem: '[prefix] &cFor &b[item] &cyou lack the permission &6[perm]&c!'
+UseItem:
+ UseItem_ON: '[prefix] &2You have activated the GUI item.'
+ UseItem_OFF: '[prefix] &2You have disabled the GUI item.'
+ Change_Slot: '[prefix] &2You have changed the GUI item to slot: &6[slot]&2.'
+ SlotNotEmpty: '[prefix] &6The slot &e[slot] &6is currently occupied!'
+ SlotAlreadySet: '[prefix] &6The slot §e[slot] §6is already set!'
+ ItemSlot_wrongValue: '[prefix] &cThe specified slot must be between 1 and 9!'
+ DisabledInGameMode: '[prefix] &cThe UseItem is disabled in this GameMode!'
+ DisabledInWorld: '[prefix] &cThe UseItem is disabled in this World!'
+Cost:
+ Buy_msg: '[prefix] &2You bought [itemname] &2for &6[price]&2.'
+ No_money: '[prefix] &cYou don''t have enough money!'
+ NoInventorySpace: '[prefix] &cYou have no room in your inventory!'
+ServerChange:
+ onServerChange: '[prefix] &2You will be connected to the server &e[server]§2.'
+GUI:
+ GUInotFound: '[prefix] &cThe GUI chosen by the does not exist.'
+ GUIisDisabled: '[prefix] &cThe GUI [gui] &cis currently Disabled!'
+Give:
+ Sender: '[prefix] &2You have given &6[player] &2an [item] &2!'
+ Receiver: '[prefix] &2You got &2, [item] &2from &6[sender]!'
+Player:
+ PlayerNotFond: '[prefix] &cThe player &6[player] &cwas not found or is not online!'
+ PlayerNoInventorySpace: '[prefix] &6[player] &chas no free space in his inventory!'
+Help:
+ CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eOpen the default GUI &7(&r[gui]&7)&e.'
+ Help: '&8''''&b/commandguihelp&8'''' &eOpen this help.'
+ Info: '&8''''&b/commandgui admin info&8'''' &eCall the info from &4Command&9GUI
+ &e.'
+ Open: '&8''''&b/commandgui [gui]&8'''' &eOpen the GUI: &6[guiname]&e.'
+ Give: '&8''''&b/commandgui admin give &7&8'''' &eGive a player the GUI item.'
+ CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eCreate a default
+ GUI &7([directory])&e.'
+ Reload: '&8''''&b/commandgui admin reload&8'''' &eReload the plugin.'
+ UseItem_On: '&8''''&b/gui-item on&8'''' &eActivate the GUIItem for you.'
+ UseItem_Off: '&8''''&b/gui-item off&8'''' &eDisable the GUIItem for yourself.'
+ UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSet the slot for GUIItem for
+ you.'
diff --git a/Config Update V5/old/languages/german_messages.yml b/Config Update V5/old/languages/german_messages.yml
new file mode 100644
index 0000000..5831fad
--- /dev/null
+++ b/Config Update V5/old/languages/german_messages.yml
@@ -0,0 +1,58 @@
+Plugin:
+ VaultNotSetUp: '[prefix] &4Vault / Economy nicht eingerichtet!'
+ SoundNotFound: '[prefix] &4Der Sound &6[sound] &4wurde nicht gefunden! Bitte [ue]berpr[ue]fe
+ die Einstellungen.'
+ OnlyForPlayer: '[prefix] &cDieser Command ist nur f[ue]r Spieler!'
+ DefaultGUI:
+ create: '[prefix] &2DefaultGUI wurde erstellt. Du findst sie im Verzeichnis: &e[directory]&2!'
+ Reload:
+ Start: '[prefix] &6Plugin wird neu geladen...'
+ End: '[prefix] &2Plugin wurde erfolgreich neu geladen.'
+NoPermission:
+ ForCommandGUI: '[prefix] &cDu hast keine Permission f[ue]r &4Command&9GUI&c!'
+ ForCommand: '[prefix] &cF[ue]r &b[cmd] &cfehlt dir die Permission &6[perm]&c!'
+ ForUseItem: '[prefix] &cDir fehlt die Permission &6[perm] &cum das Item f[ue]r die
+ GUI: &6[gui] &cnutzen zu k[oe]nnen.'
+ ForItem: '[prefix] &cF[ue]r &b[item] &cfehlt dir die Permission &6[perm]&c!'
+UseItem:
+ UseItem_ON: '[prefix] &2Du hast das GUI-Item aktiviert.'
+ UseItem_OFF: '[prefix] &2Du hast das GUI-Item deaktiviert.'
+ Change_Slot: '[prefix] &2Du hast das GUI-Item auf Slot &6[slot] &2umgestellt.'
+ SlotNotEmpty: '[prefix] &6Der Slot §e[slot] §6ist derzeit belegt!.'
+ SlotAlreadySet: '[prefix] &6Der Slot §e[slot] §6ist bereits eingestellt!'
+ ItemSlot_wrongValue: '[prefix] &cDer angegebene Slot muss sich zwischen 1 und 9
+ befinden!'
+ DisabledInGameMode: '[prefix] &cDas UseItem ist in diesem GameMode deaktiviert!'
+ DisabledInWorld: '[prefix] &cDas UseItem ist in dieser Welt deaktiviert!'
+Cost:
+ Buy_msg: '[prefix] &2Du hast dir [itemname] &2f[ue]r &6[price] &2gekauft.'
+ No_money: '[prefix] &cDu hast nicht gen[ue]gend Geld!'
+ NoInventorySpace: '[prefix] &cDu hast keinen Platz in deinem Inventar!'
+ServerChange:
+ onServerChange: '[prefix] &2Du wirst auf den Server §e[server] §2verbunden.'
+GUI:
+ GUInotFound: '[prefix] &cDie von die gew[ae]hlte GUI gibt es nicht.'
+ GUIisDisabled: '[prefix] &cDie GUI [gui] &cist derzeit Deaktiviert!'
+Give:
+ Sender: '[prefix] &2Du hast &6[player] &2ein [item] &2gegeben!'
+ Receiver: '[prefix] &2Du hast von &6[sender] &2, [item] &2bekommen!'
+Player:
+ PlayerNotFond: '[prefix] &cDer Spieler &6[player] &cwurde nicht gefunden oder ist
+ nicht Online!'
+ PlayerNoInventorySpace: '[prefix] &6[player] &chat keinen freien Platz in seinem
+ Inventar!'
+Help:
+ CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &e[OE]ffne die default GUI &7(&r[gui]&7)&e.'
+ Help: '&8''''&b/commandguihelp&8'''' &e[OE]ffne diese help.'
+ Info: '&8''''&b/commandgui admin info&8'''' &eRufe die Infos von &4Command&9GUI
+ &eauf.'
+ Open: '&8''''&b/commandgui [gui]&8'''' &e[OE]ffne die GUI: &6[guiname]&e.'
+ Give: '&8''''&b/commandgui admin give &7&8'''' &eGebe einem Spieler das
+ GUI-Item.'
+ CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eLasse eine
+ default GUI erstellen &7([directory])&e.'
+ Reload: '&8''''&b/commandgui admin reload&8'''' &eLade das Plugin neu.'
+ UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiviere f[ue]r dich das GUIItem.'
+ UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiviere f[ue]r dich das GUIItem.'
+ UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSetze den Slot für GUIItem
+ für Sie einstellen.'
diff --git a/Config Update V5/old/languages/norwegian_messages.yml b/Config Update V5/old/languages/norwegian_messages.yml
new file mode 100644
index 0000000..eb44615
--- /dev/null
+++ b/Config Update V5/old/languages/norwegian_messages.yml
@@ -0,0 +1,54 @@
+Plugin:
+ VaultNotSetUp: '[prefix] &4Vault / Økonomi har ikke blitt satt opp!'
+ SoundNotFound: '[prefix] &4Lyden &6[sound] &4ble ikke bli funnet! Vennligst sjekk
+ innstillingene.'
+ OnlyForPlayer: '[prefix] &cDenne kommandoen er for spillere kun!'
+ DefaultGUI:
+ create: '[prefix] &2DefaultGUI har blitt laget. Du kan finne den i mappen: &e[directory]&2!'
+ Reload:
+ Start: '[prefix] &6Pluginet blir relastet...'
+ End: '[prefix] &2Pluginet har blitt lastet inn på nytt.'
+NoPermission:
+ ForCommandGUI: '[prefix] &cDu har ikke tilgang til &4Command&9GUI&c!'
+ ForCommand: '[prefix] &cFor &b[cmd] &cmangler du tillatelsen &6[perm]&c!'
+ ForUseItem: '[prefix] &cDu mangler tillatelsen &6[perm] &cfor å bruke gjenstanden
+ i GUI: &6[gui].'
+ ForItem: '[prefix] &cFor &b[item] &cmangler du tillatelsen &6[perm]&c!'
+UseItem:
+ UseItem_ON: '[prefix] &2You have activated the GUI item.'
+ UseItem_OFF: '[prefix] &2You have disabled the GUI item.'
+ Change_Slot: '[prefix] &2You have changed the GUI item to slot: &6[slot]&2.'
+ SlotNotEmpty: '[prefix] &6Plassen &e[slot] &6er opptatt for øyeblikket!'
+ SlotAlreadySet: '[prefix] &6Plassen §e[slot] §6er allerede satt!'
+ ItemSlot_wrongValue: '[prefix] &cDen spesifiserte plassen må være mellom 1 og 9!'
+ DisabledInGameMode: '[prefix] &cBrukselementet er deaktivert i denne spillmodusen!!'
+ DisabledInWorld: '[prefix] &cUseItem er deaktivert i denne verden!'
+Cost:
+ Buy_msg: '[prefix] &2Du kjøpte [itemname] &2for &6[price]&2.'
+ No_money: '[prefix] &cDu har ikke nok penger!'
+ NoInventorySpace: '[prefix] &cDu har ikke nok plass i inventaret ditt!'
+ServerChange:
+ onServerChange: '[prefix] &2Du vil bli tilkoblet serveren &e[server]&2.'
+GUI:
+ GUInotFound: '[prefix] &cGUIen som ble spesifisert finnes ikke.'
+ GUIisDisabled: '[prefix] &cGUIen [gui] &cer slått av for øyeblikket!'
+Give:
+ Sender: '[prefix] &2Du har gitt &6[player] &2en [item]&2!'
+ Receiver: '[prefix] &2Du fikk &2, [item] &2fra &6[sender]!'
+Player:
+ PlayerNotFond: '[prefix] &cSpilleren &6[player] &cble ikke funnet eller er ikke
+ pålogget!'
+ PlayerNoInventorySpace: '[prefix] &6[player] &char ikke nok plass i inventaret sitt!'
+Help:
+ CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eÅpne default GUIen &7(&r[gui]&7)&e.'
+ Help: '&8''''&b/commandguihelp&8'''' &eSender denne hjelpe meldingen.'
+ Info: '&8''''&b/commandgui admin info&8'''' &eKall informasjon fra &4Command&9GUI&e.'
+ Open: '&8''''&b/commandgui [gui]&8'''' &eÅpne GUIen: &6[guiname]&e.'
+ Give: '&8''''&b/commandgui admin give &7&8'''' &eGi en spiller GUI gjenstanden.'
+ CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eLag en normalverdi
+ GUI &7([directory])&e.'
+ Reload: '&8''''&b/commandgui admin reload&8'''' &eLast inn pluginet på nytt.'
+ UseItem_On: '&8''''&b/gui-item on&8'''' &eAktiverer en GUI gjenstand for deg.'
+ UseItem_Off: '&8''''&b/gui-item off&8'''' &eDeaktiverer en GUI gjenstand for deg.'
+ UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSett sporet for GUIItem for
+ deg.'