19 Commits

Author SHA1 Message Date
a05b941aaf 2.7.1 | Bug fixes
Bug fixes:
- When sneaking and using the UseItem, an error occurred.
- The config.yml was not reloaded on '/commandgui admin reload' and the change was rolled back
- The command '/gui-item slot <slot>' was calculated incorrectly and it often came the message that the selected slot was occupied although it was not.
2022-05-12 18:28:35 +02:00
36de2ff0ca Small bugfix 2022-05-03 19:23:17 +02:00
JaTiTV
777c6876fc Merge pull request '2.7.0' (#8) from 2.7.0 into main
Reviewed-on: JaTiTV/CommandGUI#8
2022-04-28 19:55:33 +02:00
b6347c8fad 2.7.0 2022-04-28 19:40:41 +02:00
f3feddd317 api changes & clean code 2022-04-22 19:05:34 +02:00
35a9930017 error fix 2022-04-21 02:38:43 +02:00
fc98f931e2 Bugfix
Bugfix: If you did not have the permission to see a function and still clicked on the slot, then an error occurred
2022-04-21 02:19:27 +02:00
cfd07b01f2 2.7.0_Snapshot-6 | Fix
Fixes:
- If there was a function in the GUI that did not exist, then an error occurred in the console and the GUI could not be opened, this was fixed.
- If you changed the slot of the UseItem, the Protection (RemoveItemWhenItIsDisabled) was ignored and you got the item.
2022-04-21 01:58:54 +02:00
c5bc880ab1 Add SQLITE & Bugfix
Add: SQLITE as storage medium
Change: The MYSQL connection has been slightly optimized
Fix: The command 'gui-item slot <number>' dat not set the item to the right place?
2022-04-19 18:03:44 +02:00
3bd0662273 fix use and see perm 2022-04-19 09:40:15 +02:00
7993dca126 refresh perms by reload 2022-04-19 09:32:18 +02:00
520df8dc97 2.7.0_Snapshot-3 | Perm Update
Removed permissiond regestration from plugin.yml and regestred via code.
- The Slot See and Use Permissions are now included in OP and commandgui.admin
2022-04-19 09:22:56 +02:00
8e90aee0ca 2.7.0_Snapshot-2 | small change
Fix: the sound was not played when CostumSound was off in the function
Change: placeholder in slot permissions changed from '[guiname]' to '[function]'.
2022-04-19 08:32:07 +02:00
7fda797cae remove config poll 2022-04-19 07:15:09 +02:00
007d8776b9 update default config to V5 2022-04-19 07:14:35 +02:00
JaTiTV
dcd524ab3c „Config poll/new/GUIs/default.yml“ ändern 2022-04-19 00:45:40 +02:00
JaTiTV
c3d0990853 „Config poll/new/Functions/SupportDiscord.yml“ ändern 2022-04-19 00:13:25 +02:00
JaTiTV
04a7d4952e „Config poll/new/Functions/SupportDiscord.yml“ ändern 2022-04-19 00:13:11 +02:00
d96205887c Config poll 2022-04-16 15:46:26 +02:00
38 changed files with 1025 additions and 557 deletions

View File

@@ -6,7 +6,7 @@
<groupId>net.t2code</groupId> <groupId>net.t2code</groupId>
<artifactId>CommandGUI_V2</artifactId> <artifactId>CommandGUI_V2</artifactId>
<version>2.7.0_Snapshot-1</version> <version>2.7.1</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>CommandGUI</name> <name>CommandGUI</name>
@@ -67,9 +67,8 @@
</repository> </repository>
<repository> <repository>
<id>placeholderapi</id> <id>placeholderapi</id>
<url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url> <url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
</repository> </repository>
</repositories> </repositories>
<dependencies> <dependencies>
@@ -86,7 +85,7 @@
<dependency> <dependency>
<groupId>net.t2code</groupId> <groupId>net.t2code</groupId>
<artifactId>T2CodeLib</artifactId> <artifactId>T2CodeLib</artifactId>
<version>11.4</version> <version>11.6</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.t2code</groupId> <groupId>net.t2code</groupId>
@@ -113,12 +112,6 @@
<artifactId>HikariCP</artifactId> <artifactId>HikariCP</artifactId>
<version>4.0.3</version> <version>4.0.3</version>
</dependency> </dependency>
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>2.11.1</version>
<scope>provided</scope>
</dependency>
<dependency> <dependency>
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId> <artifactId>slf4j-jdk14</artifactId>
@@ -129,5 +122,11 @@
<artifactId>slf4j-api</artifactId> <artifactId>slf4j-api</artifactId>
<version>1.7.22</version> <version>1.7.22</version>
</dependency> </dependency>
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>2.11.1</version>
<scope>provided</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -31,7 +31,7 @@ import org.bukkit.scheduler.BukkitRunnable;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
public class GUI_Listener implements Listener { public class GUIListener implements Listener {
private static String prefix = Util.getPrefix(); private static String prefix = Util.getPrefix();
public static String GUICode; public static String GUICode;
@@ -44,24 +44,25 @@ public class GUI_Listener implements Listener {
if (e.getInventory() == null) return; if (e.getInventory() == null) return;
if (e.getCurrentItem() == null) return; if (e.getCurrentItem() == null) return;
for (Gui gui : Main.guiHashMap.values()) { for (Gui gui : Main.guiHashMap.values()) {
if (player.getOpenInventory().getTitle().equals(Replace.replace(prefix, GUICode + gui.GUI_Name)) if (player.getOpenInventory().getTitle().equals(Replace.replace(prefix, GUICode + gui.guiName))
|| (Main.PaPi && player.getOpenInventory().getTitle().equals(Replace.replace(prefix, player, GUICode + gui.GUI_Name)))) { || (Main.PaPi && player.getOpenInventory().getTitle().equals(Replace.replace(prefix, player, GUICode + gui.guiName)))) {
e.setCancelled(true); e.setCancelled(true);
for (Slot slot : gui.slots) { for (Slot slot : gui.slots) {
Function function = Main.functionHashMap.get(slot.function); Function function = Main.functionHashMap.get(slot.function);
if (e.getSlot() != slot.slot) continue; 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() || if (e.getCurrentItem().getType() == ItemVersion.getHead() || e.getCurrentItem().getType() == ItemVersion.getGreenWool().getType() ||
e.getCurrentItem().getType() == ItemVersion.getRedWool().getType() || e.getCurrentItem().getType() == ItemVersion.getRedWool().getType() ||
e.getCurrentItem().getType() == Material.valueOf(function.item.toUpperCase().replace(".", "_"))) { e.getCurrentItem().getType() == Material.valueOf(function.item.toUpperCase().replace(".", "_"))) {
if (slot.permission || !player.hasPermission(slot.permissionToUse)) {
player.sendMessage(SelectMessages.NoPermissionForItem.replace("[item]", Replace.replace(prefix, function.name))
.replace("[perm]", slot.permissionToUse));
continue;
}
if (!slot.enable) continue; if (!slot.enable) continue;
if (!e.getCurrentItem().getItemMeta().getDisplayName().equals(Replace.replace(prefix, function.name))) continue;
if (function.cost_Enable) { if (function.cost_Enable) {
if (function.command_Enable || function.message_Enable || function.openGUI_Enable || function.serverChange) { if (function.command_Enable || function.message_Enable || function.openGUI_Enable || function.serverChange) {
if (!Vault.buy(prefix, player, function.price)) { if (!Vault.buy(prefix, player, function.price)) {
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
@@ -78,7 +79,9 @@ public class GUI_Listener implements Listener {
execute(function, slot, player, e, gui); execute(function, slot, player, e, gui);
} }
} }
} else execute(function, slot, player, e, gui); } else {
execute(function, slot, player, e, gui);
}
} }
} }
} }
@@ -86,8 +89,8 @@ public class GUI_Listener implements Listener {
} }
private static void execute(Function function, Slot slot, Player player, InventoryClickEvent e, Gui gui) { private static void execute(Function function, Slot slot, Player player, InventoryClickEvent e, Gui gui) {
if (function.togglePermission) togglePerm(function, player); if (function.togglePermission) togglePerm(function, gui, player);
if (function.toggleUseItem) toggleUseItem(player); if (function.toggleUseItem) toggleUseItem(player, gui);
if (function.command_Enable) command(function, player); if (function.command_Enable) command(function, player);
if (function.openGUI_Enable) openGUI(function, player); if (function.openGUI_Enable) openGUI(function, player);
if (function.message_Enable) message(function, player); if (function.message_Enable) message(function, player);
@@ -131,7 +134,7 @@ public class GUI_Listener implements Listener {
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
public void run() { public void run() {
OpenGUI.openGUI(player, slot.openGUI); OpenGUI.openGUI(player, slot.openGUI, true);
} }
}.runTaskLater(plugin, 1L); }.runTaskLater(plugin, 1L);
} }
@@ -227,26 +230,48 @@ public class GUI_Listener implements Listener {
if (!function.customSound_NoSound) { if (!function.customSound_NoSound) {
try { try {
player.playSound(player.getLocation(), Sound.valueOf(function.customSound_Sound.toUpperCase().replace(".", "_")), 3, 1); player.playSound(player.getLocation(), Sound.valueOf(function.customSound_Sound.toUpperCase().replace(".", "_")), 3, 1);
} catch (Exception e1) { } catch (Exception e1) {
send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", prefix) 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" + function.customSound_Sound)); .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); player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
} }
} }
} } else player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
} }
private static void togglePerm(Function slot, Player player) { private static void togglePerm(Function function, Gui gui, Player player) {
if (player.hasPermission(slot.togglePermissionPerm)) { if (player.hasPermission(function.togglePermissionPerm)) {
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermFalse.replace("[player]", player.getName()).replace("[perm]", slot.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 } else
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermTrue.replace("[player]", player.getName()).replace("[perm]", slot.togglePermissionPerm)); 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) { private static void toggleUseItem(Player player, Gui gui) {
if (Events.useItemHashMap.get(player)) { if (Events.useItemHashMap.get(player)) {
Commands.itemOff(player); Commands.itemOff(player);
} else Commands.itemOn(player); } else {
Commands.itemOn(player);
}
new BukkitRunnable() {
@Override
public void run() {
player.closeInventory();
OpenGUI.openGUI(player, gui.key, false);
}
}.runTaskLater(plugin, 2L);
} }
} }

View File

@@ -2,14 +2,10 @@ package de.jatitv.commandguiv2.Spigot.Listener;
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
import de.jatitv.commandguiv2.Spigot.Main; 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.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 net.t2code.lib.Spigot.Lib.messages.send;
import org.bukkit.Material;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitRunnable;
public class ItemChange { public class ItemChange {
@@ -28,37 +24,15 @@ public class ItemChange {
if (!SelectConfig.UseItem_Enable) { if (!SelectConfig.UseItem_Enable) {
return; return;
} }
if (SelectConfig.UseItemGameModeProtection) { UseItem.removeItem(player);
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) { if (UseItem.protection(player, false)) return;
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;
}
}
if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) { if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) {
if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) { if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) {
if (!player.hasPlayedBefore()) { if (!player.hasPlayedBefore()) {
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
public void run() { public void run() {
Give_UseItem.onGive(player); UseItem.giveUseItem(player);
if (setCursor) { if (setCursor) {
setCursor(player, slot); setCursor(player, slot);
} }
@@ -69,21 +43,21 @@ public class ItemChange {
} }
} }
} }
send.debug(Main.plugin,"GiveOnlyOnFirstJoin: " +player.getName()); send.debug(Main.plugin, "GiveOnlyOnFirstJoin: " + player.getName());
return; return;
} }
if (!SelectConfig.UseItem_GiveOnEveryJoin) { if (!SelectConfig.UseItem_GiveOnEveryJoin) {
send.debug(Main.plugin,"!GiveOnEveryJoin: " +player.getName()); send.debug(Main.plugin, "!GiveOnEveryJoin: " + player.getName());
return; return;
} }
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
public void run() { public void run() {
removeItem(player); if (player == null) return;
if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) { if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) {
if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(slot - 1) == null) { if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(slot - 1) == null) {
send.debug(Main.plugin,"Give: " +player.getName()); send.debug(Main.plugin, "Give: " + player.getName());
Give_UseItem.onGive(player); UseItem.giveUseItem(player);
if (setCursor) { if (setCursor) {
setCursor(player, slot); setCursor(player, slot);
} }
@@ -96,7 +70,7 @@ public class ItemChange {
} }
} }
if (empty) { if (empty) {
Give_UseItem.onGiveADD(player); UseItem.addUseItem(player);
} }
} }
} }
@@ -106,54 +80,38 @@ public class ItemChange {
} }
private static void setCursor(Player player, int slot) { private static void setCursor(Player player, int slot) {
send.debug(Main.plugin,"setCursor 1 Player: "+player.getName()); send.debug(Main.plugin, "setCursor 1 Player: " + player.getName());
if (!SelectConfig.Cursor_ToGUIItem_OnLogin) { if (!SelectConfig.Cursor_ToGUIItem_OnLogin) {
return; return;
} }
send.debug(Main.plugin,"setCursor 2 Player: "+player.getName()); send.debug(Main.plugin, "setCursor 2 Player: " + player.getName());
if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin) { if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin) {
if (!player.hasPlayedBefore()) { if (!player.hasPlayedBefore()) {
player.getInventory().setHeldItemSlot(slot - 1); player.getInventory().setHeldItemSlot(slot - 1);
send.debug(Main.plugin,"setCursor 3 Player: "+player.getName()); send.debug(Main.plugin, "setCursor 3 Player: " + player.getName());
} }
return; return;
} }
send.debug(Main.plugin,"setCursor 4 Player: "+player.getName()); send.debug(Main.plugin, "setCursor 4 Player: " + player.getName());
if (!SelectConfig.Bungee) { if (!SelectConfig.Bungee) {
player.getInventory().setHeldItemSlot(slot - 1); player.getInventory().setHeldItemSlot(slot - 1);
send.debug(Main.plugin,"setCursor 5 Player: "+player.getName()); send.debug(Main.plugin, "setCursor 5 Player: " + player.getName());
return; return;
} }
send.debug(Main.plugin,"setCursor 6 Player: "+player.getName()); send.debug(Main.plugin, "setCursor 6 Player: " + player.getName());
if (SelectConfig.UseItem_ServerChange) { if (SelectConfig.UseItem_ServerChange) {
player.getInventory().setHeldItemSlot(slot - 1); player.getInventory().setHeldItemSlot(slot - 1);
send.debug(Main.plugin,"setCursor 7 Player: "+player.getName()); send.debug(Main.plugin, "setCursor 7 Player: " + player.getName());
return; return;
} }
send.debug(Main.plugin,"setCursor 8 Player: "+player.getName()); send.debug(Main.plugin, "setCursor 8 Player: " + player.getName());
send.debug(Main.plugin,"setCursor bungeejoinplayers: " +Main.bungeejoinplayers); send.debug(Main.plugin, "setCursor bungeejoinplayers: " + Main.bungeejoinplayers);
send.debug(Main.plugin,"setCursor Player: " +player.getName()); send.debug(Main.plugin, "setCursor Player: " + player.getName());
if (Main.bungeejoinplayers.contains(player.getName())) { if (Main.bungeejoinplayers.contains(player.getName())) {
player.getInventory().setHeldItemSlot(slot - 1); player.getInventory().setHeldItemSlot(slot - 1);
send.debug(Main.plugin,"setCursor 9 Player: "+player.getName()); send.debug(Main.plugin, "setCursor 9 Player: " + player.getName());
Main.bungeejoinplayers.remove(player.getName()); 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;
}
}
}
}
}
} }

View File

@@ -4,7 +4,7 @@ package de.jatitv.commandguiv2.Spigot.Listener;
import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; 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 de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.update.UpdateAPI; import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@@ -22,7 +22,7 @@ public class PluginEvent implements Listener {
@EventHandler @EventHandler
public void onJoinEvent(PlayerLoginEvent event) { public void onJoinEvent(PlayerLoginEvent event) {
Player player = event.getPlayer(); Player player = event.getPlayer();
Select_Database.nameCheck(player); SelectDatabase.nameCheck(player);
UpdateAPI.join(Main.plugin,prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord()); UpdateAPI.join(Main.plugin,prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord());
} }

View File

@@ -6,7 +6,8 @@ import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI; import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
import de.jatitv.commandguiv2.Spigot.system.database.Select_Database; import de.jatitv.commandguiv2.Spigot.system.UseItem;
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
import de.jatitv.commandguiv2.api.CGuiAPI; import de.jatitv.commandguiv2.api.CGuiAPI;
import net.t2code.lib.Spigot.Lib.items.ItemVersion; import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.messages.send;
@@ -35,23 +36,24 @@ public class Events implements Listener {
public static HashMap<Player, Boolean> useItemHashMap = new HashMap<>(); public static HashMap<Player, Boolean> useItemHashMap = new HashMap<>();
public static HashMap<Player, Integer> useItemSlotHashMap = new HashMap<>(); public static HashMap<Player, Integer> useItemSlotHashMap = new HashMap<>();
@EventHandler @EventHandler
public void onJoin(PlayerJoinEvent e) { public void onJoin(PlayerJoinEvent e) {
if (Select_Database.selectItemStatus(e.getPlayer())){ if (SelectDatabase.selectItemStatus(e.getPlayer())) {
useItemHashMap.put(e.getPlayer(), true); useItemHashMap.put(e.getPlayer(), true);
} else useItemHashMap.put(e.getPlayer(), false); } else useItemHashMap.put(e.getPlayer(), false);
useItemSlotHashMap.put(e.getPlayer(),Select_Database.selectSlot(e.getPlayer())); useItemSlotHashMap.put(e.getPlayer(), SelectDatabase.selectSlot(e.getPlayer()));
if (CGuiAPI.JoinDisable) { if (CGuiAPI.JoinDisable) {
send.debug(Main.plugin,"JoinDisable"); send.debug(Main.plugin, "JoinDisable");
return; return;
} }
if (e.getPlayer().hasPermission("commandgui.get.guiitem.at.login")) { if (e.getPlayer().hasPermission("commandgui.get.guiitem.at.login")) {
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
public void run() { public void run() {
send.debug(Main.plugin,"itemChange: " + e.getPlayer().getName()); send.debug(Main.plugin, "itemChange: " + e.getPlayer().getName());
ItemChange.itemChange(e.getPlayer(), true); ItemChange.itemChange(e.getPlayer(), true);
} }
}.runTaskLater(Main.plugin, 20L * 1); }.runTaskLater(Main.plugin, 20L * 1);
@@ -66,18 +68,7 @@ public class Events implements Listener {
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void onDeathDrop(PlayerDeathEvent e) { public void onDeathDrop(PlayerDeathEvent e) {
Player player = e.getEntity().getPlayer(); Player player = e.getEntity().getPlayer();
for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) { UseItem.removeItem(player);
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;
}
}
}
}
if (!e.getDrops().isEmpty()) { if (!e.getDrops().isEmpty()) {
Iterator var3 = (new ArrayList(e.getDrops())).iterator(); Iterator var3 = (new ArrayList(e.getDrops())).iterator();
while (var3.hasNext()) { while (var3.hasNext()) {
@@ -166,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); e.setCancelled(true);
if (p.isSneaking()) { if ((!SelectConfig.disableInfoBySneak) && player.isSneaking()) {
Commands.info(p); Commands.info(player);
return; return;
} }
if (!legacy()) { if (!legacy()) {
if (!topInventoryIsEmpty(p)) return; if (!topInventoryIsEmpty(player)) return;
} }
if (UseItem.protection(player, true)) return;
if (SelectConfig.UseItemGameModeProtection) { 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); e.setCancelled(true);
send.player(p, SelectMessages.UseItemDisabledInGameMode); send.player(player, SelectMessages.UseItemDisabledInGameMode);
return; 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); e.setCancelled(true);
send.player(p, SelectMessages.UseItemDisabledInGameMode); send.player(player, SelectMessages.UseItemDisabledInGameMode);
return; return;
} }
} }
if (SelectConfig.UseItemWorldProtection) { 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); e.setCancelled(true);
send.player(p, SelectMessages.UseItemDisabledInWorld); send.player(player, SelectMessages.UseItemDisabledInWorld);
return; 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); e.setCancelled(true);
send.player(p, SelectMessages.UseItemDisabledInWorld); send.player(player, SelectMessages.UseItemDisabledInWorld);
return; return;
} }
} }
if (!SelectConfig.UseItem_Permission || p.hasPermission("commandgui.useitem")) {
OpenGUI.openGUI(p, SelectConfig.UseItem_OpenGUI); if (!SelectConfig.UseItem_Permission || player.hasPermission("commandgui.useitem")) {
if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) { OpenGUI.openGUI(player, SelectConfig.UseItem_OpenGUI, true);
p.playSound(p.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1);
}
} else { } else {
p.sendMessage(SelectMessages.NoPermissionForUseItem.replace("[perm]", "commandgui.useitem") player.sendMessage(SelectMessages.NoPermissionForUseItem.replace("[perm]", "commandgui.useitem")
.replace("[gui]", SelectConfig.UseItem_OpenGUI)); .replace("[gui]", SelectConfig.UseItem_OpenGUI));
} }
} }
@@ -217,7 +211,6 @@ public class Events implements Listener {
if (e.getItem() != null && e.getItem().hasItemMeta() && e.getItem().getItemMeta().hasDisplayName() if (e.getItem() != null && e.getItem().hasItemMeta() && e.getItem().getItemMeta().hasDisplayName()
&& e.getItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { && e.getItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
e.setCancelled(true); e.setCancelled(true);
} }
} }
@@ -225,6 +218,7 @@ public class Events implements Listener {
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void onItemMove(InventoryDragEvent e) { public void onItemMove(InventoryDragEvent e) {
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return; if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
if (e.getWhoClicked() instanceof Player) { if (e.getWhoClicked() instanceof Player) {
Player p = (Player) e.getWhoClicked(); Player p = (Player) e.getWhoClicked();
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName() if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
@@ -246,7 +240,6 @@ public class Events implements Listener {
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onItemMove(InventoryClickEvent e) { public void onItemMove(InventoryClickEvent e) {
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return; if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
Player player = (Player) e.getWhoClicked();
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName() if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
&& e.getCursor().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { && e.getCursor().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
@@ -256,13 +249,13 @@ public class Events implements Listener {
&& e.getCurrentItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { && e.getCurrentItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
e.setCancelled(true); e.setCancelled(true);
} }
} }
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void onItemMove(InventoryPickupItemEvent e) { public void onItemMove(InventoryPickupItemEvent e) {
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return; if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
if (e.getItem() != null && e.getItem().getItemStack() != null) { if (e.getItem() != null && e.getItem().getItemStack() != null) {
ItemStack item = e.getItem().getItemStack(); ItemStack item = e.getItem().getItemStack();
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName() if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
@@ -275,6 +268,7 @@ public class Events implements Listener {
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void onPlace(BlockPlaceEvent e) { public void onPlace(BlockPlaceEvent e) {
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return; if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
if (e.getItemInHand() != null && e.getItemInHand().hasItemMeta() && e.getItemInHand().getItemMeta().hasDisplayName() if (e.getItemInHand() != null && e.getItemInHand().hasItemMeta() && e.getItemInHand().getItemMeta().hasDisplayName()
&& e.getItemInHand().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { && e.getItemInHand().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
e.setCancelled(true); e.setCancelled(true);
@@ -284,6 +278,7 @@ public class Events implements Listener {
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void onDrop(PlayerDropItemEvent e) { public void onDrop(PlayerDropItemEvent e) {
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return; if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
if (e.getItemDrop() != null && e.getItemDrop().getItemStack() != null) { if (e.getItemDrop() != null && e.getItemDrop().getItemStack() != null) {
ItemStack item = e.getItemDrop().getItemStack(); ItemStack item = e.getItemDrop().getItemStack();
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName() if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
@@ -294,7 +289,7 @@ public class Events implements Listener {
} }
private static boolean legacy() { 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|| NMSVersion.v1_16_R1) { 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; return true;
} else return false; } else return false;
} }

View File

@@ -8,7 +8,7 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.*; import org.bukkit.event.player.*;
public class Events_from1_10 implements Listener { public class EventsFrom110 implements Listener {
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void onHandSwap(PlayerSwapHandItemsEvent e) { public void onHandSwap(PlayerSwapHandItemsEvent e) {

View File

@@ -6,12 +6,13 @@ import de.jatitv.commandguiv2.Spigot.objects.Obj_Select;
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
import de.jatitv.commandguiv2.Spigot.cmdManagement.register.AliasRegister; import de.jatitv.commandguiv2.Spigot.cmdManagement.register.AliasRegister;
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI; 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.ConfigCreate;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.config.languages.LanguagesCreate; import de.jatitv.commandguiv2.Spigot.config.languages.LanguagesCreate;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; 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 de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.items.ItemVersion; import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.messages.send;
@@ -22,6 +23,8 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import java.util.Objects;
public class Commands { public class Commands {
public static void info(CommandSender sender) { public static void info(CommandSender sender) {
if (sender instanceof Player) { if (sender instanceof Player) {
@@ -62,9 +65,13 @@ public class Commands {
CmdExecuter_GUITab.arg1.clear(); CmdExecuter_GUITab.arg1.clear();
CmdExecuter_GUITab.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info"); CmdExecuter_GUITab.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info");
ConfigCreate.configCreate();
SelectConfig.onSelect(); 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(); LanguagesCreate.langCreate();
@@ -77,6 +84,11 @@ public class Commands {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
try {
Permissions.onPermRegister();
} catch (Exception e) {
e.printStackTrace();
}
if (SelectConfig.Bungee) { if (SelectConfig.Bungee) {
Bukkit.getMessenger().registerOutgoingPluginChannel(Main.plugin, "commandgui:bungee"); Bukkit.getMessenger().registerOutgoingPluginChannel(Main.plugin, "commandgui:bungee");
@@ -91,7 +103,7 @@ public class Commands {
public static void give(CommandSender sender, Player target) { public static void give(CommandSender sender, Player target) {
if (Bukkit.getPlayer(target.getName()) != null) { 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.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)); send.player(target, SelectMessages.Give_Receiver.replace("[sender]", sender.getName()).replace("[item]", SelectConfig.UseItem_Name));
if (SelectConfig.Sound_Give_Enable && SelectConfig.Sound_Enable) { if (SelectConfig.Sound_Give_Enable && SelectConfig.Sound_Enable) {
@@ -107,18 +119,7 @@ public class Commands {
} }
public static void itemOn(Player player) { public static void itemOn(Player player) {
for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) { UseItem.removeItem(player);
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;
}
}
}
}
Integer slot = null; Integer slot = null;
if (SelectConfig.UseItem_InventorySlotEnforce) { if (SelectConfig.UseItem_InventorySlotEnforce) {
slot = SelectConfig.UseItem_InventorySlot; slot = SelectConfig.UseItem_InventorySlot;
@@ -131,8 +132,8 @@ public class Commands {
} }
send.debug(Main.plugin, String.valueOf(slot)); send.debug(Main.plugin, String.valueOf(slot));
if (player.getInventory().getItem(slot - 1) == null) { if (player.getInventory().getItem(slot - 1) == null) {
Select_Database.setItemStatusTrue(player); SelectDatabase.setItemStatusTrue(player);
Give_UseItem.onGive(player); UseItem.giveUseItem(player);
} else { } else {
boolean empty = false; boolean empty = false;
for (int i = 0; i < 9; i++) { for (int i = 0; i < 9; i++) {
@@ -142,8 +143,8 @@ public class Commands {
} }
} }
if (empty) { if (empty) {
Select_Database.setItemStatusTrue(player); SelectDatabase.setItemStatusTrue(player);
Give_UseItem.onGiveADD(player); UseItem.addUseItem(player);
send.player(player, SelectMessages.ItemON); send.player(player, SelectMessages.ItemON);
} else { } else {
player.sendMessage(SelectMessages.NoInventorySpace); player.sendMessage(SelectMessages.NoInventorySpace);
@@ -155,91 +156,69 @@ public class Commands {
} }
public static void itemOff(Player player) { public static void itemOff(Player player) {
Select_Database.setItemStatusFalse(player); SelectDatabase.setItemStatusFalse(player);
for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) { UseItem.removeItem(player);
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);
}
}
}
}
} }
public static void onSetSlot(Player player, Integer setSlot) { public static void onSetSlot(Player player, Integer setSlot) {
if (SelectConfig.UseItem_AllowSetSlot) { if (!SelectConfig.UseItem_AllowSetSlot) {
if (setSlot < 1) { player.sendMessage(Util.getPrefix() + " §4Function disabled");
send.player(player, SelectMessages.ItemSlot_wrongValue); return;
}
if (setSlot < 1) {
send.player(player, SelectMessages.ItemSlot_wrongValue);
return;
}
if (setSlot > 9) {
send.player(player, SelectMessages.ItemSlot_wrongValue);
return;
}
if (Events.useItemHashMap.get(player)) {
if (Objects.equals(Events.useItemSlotHashMap.get(player), setSlot)) {
player.sendMessage(SelectMessages.ItemSlotAlreadySet.replace("[slot]", setSlot.toString()));
return; return;
} }
if (setSlot > 9) { }
send.player(player, SelectMessages.ItemSlot_wrongValue);
return; if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(setSlot - 1) != null) {
} send.player(player, SelectMessages.ItemSlotNotEmpty.replace("[slot]", setSlot.toString()));
ItemStack itm1 = player.getInventory().getItem(setSlot - 1); return;
if (itm1 != null) { }
if (itm1.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm1.getType() == ItemVersion.getHead()) {
if (itm1.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) { UseItem.removeItem(player);
player.sendMessage(SelectMessages.ItemSlotAlreadySet.replace("[slot]", setSlot.toString())); SelectDatabase.setSlot(player, setSlot);
return; Events.useItemSlotHashMap.replace(player, setSlot);
}
} if (Events.useItemHashMap.get(player)) {
} UseItem.giveUseItem(player);
if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(setSlot - 1) != null) { }
send.player(player, SelectMessages.ItemSlotNotEmpty.replace("[slot]", setSlot.toString()));
return; send.player(player, SelectMessages.ItemSlot.replace("[slot]", setSlot.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;
}
}
}
}
Select_Database.setSlot(player, setSlot);
if (Events.useItemHashMap.get(player)) {
Give_UseItem.onGive(player);
}
send.player(player, SelectMessages.ItemSlot.replace("[slot]", setSlot.toString()));
} else player.sendMessage(Util.getPrefix() + " §4Function disabled");
} }
public static void gui(Player player) { public static void gui(Player player) {
if (Main.guiHashMap.containsKey(SelectConfig.DefaultGUI)) { if (Main.guiHashMap.containsKey(SelectConfig.DefaultGUI)) {
Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI); Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI);
if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) { if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command") || player.hasPermission("commandgui.bypass")) { if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command") || player.hasPermission("commandgui.bypass")) {
OpenGUI.openGUI(player, SelectConfig.DefaultGUI); OpenGUI.openGUI(player, SelectConfig.DefaultGUI, true);
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") } else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui")
.replace("[perm]", "commandgui.command")); .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) { public static void gui(Player player, String arg) {
if (Main.guiHashMap.containsKey(arg)) { if (Main.guiHashMap.containsKey(arg)) {
Gui gui = Main.guiHashMap.get(arg); Gui gui = Main.guiHashMap.get(arg);
if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) { if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command." + gui.Command_Command) || player.hasPermission("commandgui.bypass")) { if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + gui.key) || player.hasPermission("commandgui.bypass")) {
OpenGUI.openGUI(player, arg); OpenGUI.openGUI(player, arg, true);
if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) { } else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + gui.key)
player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1);
}
} else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + gui.Command_Command)
.replace("[perm]", "commandgui.command." + arg.toLowerCase())); .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); } else player.sendMessage(SelectMessages.GUInotFound);
} }
} }

View File

@@ -15,10 +15,10 @@ public class Help {
send.sender(sender, Prefix + " §8----- §4Command§9GUI §chelp §8-----"); send.sender(sender, Prefix + " §8----- §4Command§9GUI §chelp §8-----");
if (sender.hasPermission("commandgui.command")) { if (sender.hasPermission("commandgui.command")) {
Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI); Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI);
send.sender(sender, Prefix + " " + SelectMessages.HelpCgui.replace("[gui]", Replace.replace(prefix,gui.GUI_Name))); send.sender(sender, Prefix + " " + SelectMessages.HelpCgui.replace("[gui]", Replace.replace(prefix,gui.guiName)));
for (String alias : Main.allAliases) { for (String alias : Main.allAliases) {
if (Main.guiHashMap.get(alias).GUI_Enable || sender.hasPermission("commandgui.bypass")) { 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).GUI_Name))); 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); send.sender(sender, Prefix + " " + SelectMessages.HelpHelp);
@@ -31,9 +31,6 @@ public class Help {
if (sender.hasPermission("commandgui.command.info")) { if (sender.hasPermission("commandgui.command.info")) {
send.sender(sender, Prefix + " " + SelectMessages.HelpInfo); send.sender(sender, Prefix + " " + SelectMessages.HelpInfo);
} }
// if (sender.hasPermission("commandgui.command.give")) {
// send.sender(sender, Prefix + " " + Select_msg.HelpGive);
// }
if (sender.hasPermission("commandgui.admin")) { if (sender.hasPermission("commandgui.admin")) {
send.sender(sender, Prefix + " " + SelectMessages.HelpCreateDefaultGUI.replace("[directory]", Main.getPath()+ "\\GUIs\\default.yml")); send.sender(sender, Prefix + " " + SelectMessages.HelpCreateDefaultGUI.replace("[directory]", Main.getPath()+ "\\GUIs\\default.yml"));
send.sender(sender, Prefix + " " + SelectMessages.HelpReload); send.sender(sender, Prefix + " " + SelectMessages.HelpReload);

View File

@@ -23,7 +23,7 @@ public class AliasRegister {
} }
for (String alias : Main.allAliases) { for (String alias : Main.allAliases) {
if (Main.guiHashMap.get(alias) != null) { if (Main.guiHashMap.get(alias) != null) {
if (Main.guiHashMap.get(alias).Command_Alias_Enable) { if (Main.guiHashMap.get(alias).commandAliasEnable) {
try { try {
final Field bukkitCommandMap = Bukkit.getServer().getClass().getDeclaredField("commandMap"); final Field bukkitCommandMap = Bukkit.getServer().getClass().getDeclaredField("commandMap");

View File

@@ -4,7 +4,6 @@ package de.jatitv.commandguiv2.Spigot.cmdManagement.register;
import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI; import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@@ -24,15 +23,12 @@ public class RegisterCommand extends Command {
if (sender instanceof Player) { if (sender instanceof Player) {
Player player = (Player) sender; Player player = (Player) sender;
Gui gui = Main.guiHashMap.get(alias); Gui gui = Main.guiHashMap.get(alias);
if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) { if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command." + alias) || player.hasPermission("commandgui.bypass")) { if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + alias) || player.hasPermission("commandgui.bypass")) {
OpenGUI.openGUI(player, alias); OpenGUI.openGUI(player, alias, true);
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 " + alias) } else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + alias)
.replace("[perm]", "commandgui.command." + 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!"); } else sender.sendMessage("§8[§6Command§9GUI§8] §cThis command is only for players!");
return true; return true;
} }

View File

@@ -26,15 +26,13 @@ public class ConfigCreate {
if (!config.exists()) Config.set("ConfigVersion", Util.getConfigVersion(), yamlConfiguration); if (!config.exists()) Config.set("ConfigVersion", Util.getConfigVersion(), yamlConfiguration);
Config.set("Plugin.UpdateCheckOnJoin", true, yamlConfiguration);
Config.set("Plugin.Debug", false, yamlConfiguration); Config.set("Plugin.Debug", false, yamlConfiguration);
Config.set("Plugin.HelpAlias", true, yamlConfiguration); Config.set("Plugin.HelpAlias", true, yamlConfiguration);
Config.set("Plugin.language", "english", yamlConfiguration); Config.set("Plugin.language", "english", yamlConfiguration);
Config.set("Plugin.Currency", "$", yamlConfiguration); Config.set("Plugin.Currency", "$", yamlConfiguration);
Config.set("Plugin.DefaultGUI", "default", 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.IP", "localhost", yamlConfiguration);
Config.set("Storage.MySQL.Port", 3306, yamlConfiguration); Config.set("Storage.MySQL.Port", 3306, yamlConfiguration);
Config.set("Storage.MySQL.Database", "database", yamlConfiguration); Config.set("Storage.MySQL.Database", "database", yamlConfiguration);
@@ -102,7 +100,6 @@ public class ConfigCreate {
Config.set("Advanced.UseItem.World.Protection.Mode", "blacklist", yamlConfiguration); Config.set("Advanced.UseItem.World.Protection.Mode", "blacklist", yamlConfiguration);
Config.set("Advanced.UseItem.World.Protection.List", Arrays.asList("World1", "World2"), 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.Enable", false, yamlConfiguration);
Config.set("Toggle.Items.OnOrYes.Item.Base64.Base64Value", "", 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.OnOrYes.Item.Material", ItemVersion.getGreenWool().getType().toString(), yamlConfiguration);

View File

@@ -4,6 +4,8 @@ import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.config.configConverter.ConfigConverterUnderV5; import de.jatitv.commandguiv2.Spigot.config.configConverter.ConfigConverterUnderV5;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import de.jatitv.commandguiv2.Spigot.system.database.MySQL; 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 de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
@@ -17,19 +19,12 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class SelectConfig { public class SelectConfig {
private static final File config = new File(Main.getPath(), "config.yml");
private static final YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
public static Boolean DisableUpdateChecker;
public static Boolean UpdateCheckOnJoin;
public static Boolean Debug; public static Boolean Debug;
public static Boolean HelpAlias; public static Boolean HelpAlias;
public static String language; public static String language;
public static String Currency; public static String Currency;
public static List<String> mainCommands;
public static String Storage; public static String storage;
public static Boolean Bungee; public static Boolean Bungee;
public static String thisServer; public static String thisServer;
@@ -63,6 +58,8 @@ public class SelectConfig {
public static String UseItemWorldMode; public static String UseItemWorldMode;
public static List<String> UseItemWorldList; public static List<String> UseItemWorldList;
public static Boolean disableInfoBySneak = false;
public static Boolean UseItem_InventorySlot_FreeSlot; public static Boolean UseItem_InventorySlot_FreeSlot;
public static Integer UseItem_InventorySlot; public static Integer UseItem_InventorySlot;
public static Boolean UseItem_InventorySlotEnforce; public static Boolean UseItem_InventorySlotEnforce;
@@ -117,6 +114,9 @@ public class SelectConfig {
public static void onSelect() { 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()) { if (yamlConfiguration.getInt("ConfigVersion") < Util.getConfigVersion() && new File(Main.getPath(), "config.yml").exists()) {
send.console(Util.getPrefix() + " §4----------------------"); send.console(Util.getPrefix() + " §4----------------------");
send.console(Util.getPrefix() + " "); send.console(Util.getPrefix() + " ");
@@ -128,18 +128,12 @@ public class SelectConfig {
} }
} }
if (yamlConfiguration.get("Plugin.DisableUpdateChecker") == null) {
DisableUpdateChecker = false;
} else DisableUpdateChecker = yamlConfiguration.getBoolean("Plugin.DisableUpdateChecker");
UpdateCheckOnJoin = yamlConfiguration.getBoolean("Plugin.UpdateCheckOnJoin");
Debug = yamlConfiguration.getBoolean("Plugin.Debug"); Debug = yamlConfiguration.getBoolean("Plugin.Debug");
HelpAlias = yamlConfiguration.getBoolean("Plugin.HelpAlias"); HelpAlias = yamlConfiguration.getBoolean("Plugin.HelpAlias");
language = yamlConfiguration.getString("Plugin.language"); language = yamlConfiguration.getString("Plugin.language");
Currency = yamlConfiguration.getString("Plugin.Currency"); Currency = yamlConfiguration.getString("Plugin.Currency");
DefaultGUI = yamlConfiguration.getString("Plugin.DefaultGUI"); 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.ip = yamlConfiguration.getString("Storage.MySQL.IP");
MySQL.port = yamlConfiguration.getInt("Storage.MySQL.Port"); MySQL.port = yamlConfiguration.getInt("Storage.MySQL.Port");
@@ -195,6 +189,9 @@ public class SelectConfig {
UseItemWorldMode = yamlConfiguration.getString("Advanced.UseItem.World.Protection.Mode"); 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"); toggleItemOnOrYesBase64 = yamlConfiguration.getBoolean("Toggle.Items.OnOrYes.Item.Base64.Enable");
toggleItemOnOrYesBase64Value = yamlConfiguration.getString("Toggle.Items.OnOrYes.Item.Base64.Base64Value"); toggleItemOnOrYesBase64Value = yamlConfiguration.getString("Toggle.Items.OnOrYes.Item.Base64.Base64Value");
@@ -224,7 +221,6 @@ public class SelectConfig {
Sound_Give_input = (yamlConfiguration.getString("Sound.Give.Sound").toUpperCase().replace(".", "_")); Sound_Give_input = (yamlConfiguration.getString("Sound.Give.Sound").toUpperCase().replace(".", "_"));
Sound_PlayerNotFound_Enable = yamlConfiguration.getBoolean("Sound.PlayerNotFound.Enable"); Sound_PlayerNotFound_Enable = yamlConfiguration.getBoolean("Sound.PlayerNotFound.Enable");
Sound_PlayerNotFound_input = (yamlConfiguration.getString("Sound.PlayerNotFound.Sound").toUpperCase().replace(".", "_")); Sound_PlayerNotFound_input = (yamlConfiguration.getString("Sound.PlayerNotFound.Sound").toUpperCase().replace(".", "_"));
setConfigVersion();
} }
@@ -348,7 +344,9 @@ public class SelectConfig {
} }
private static void setConfigVersion() { public static void setConfigVersion() {
File config = new File(Main.getPath(), "config.yml");
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
yamlConfiguration.set("ConfigVersion", Util.getConfigVersion()); yamlConfiguration.set("ConfigVersion", Util.getConfigVersion());
try { try {
yamlConfiguration.save(config); yamlConfiguration.save(config);

View File

@@ -152,8 +152,8 @@ public class ConfigConverterUnderV5 {
set("Slots." + key + ".Enable", slotEnable, yamlConfiguration); set("Slots." + key + ".Enable", slotEnable, yamlConfiguration);
set("Slots." + key + ".Function", function, yamlConfiguration); set("Slots." + key + ".Function", function, yamlConfiguration);
set("Slots." + key + ".Permission.Required", permRequired, yamlConfiguration); set("Slots." + key + ".Permission.Required", permRequired, yamlConfiguration);
set("Slots." + key + ".Permission.See", "commandgui.gui.[guiname].slot.[slot].see", yamlConfiguration); set("Slots." + key + ".Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
set("Slots." + key + ".Permission.Use", "commandgui.gui.[guiname].slot.[slot].use", yamlConfiguration); set("Slots." + key + ".Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
} }
private static void set(String path, String value, YamlConfiguration config) { private static void set(String path, String value, YamlConfiguration config) {

View File

@@ -33,15 +33,15 @@ public class CreateGUI {
set("Slots.SupportDiscord.Enable", true, yamlConfiguration); set("Slots.SupportDiscord.Enable", true, yamlConfiguration);
set("Slots.SupportDiscord.Function", "SupportDiscord", yamlConfiguration); set("Slots.SupportDiscord.Function", "SupportDiscord", yamlConfiguration);
set("Slots.SupportDiscord.Permission.Required", false, yamlConfiguration); set("Slots.SupportDiscord.Permission.Required", false, yamlConfiguration);
set("Slots.SupportDiscord.Permission.See", "commandgui.gui.[guiname].slot.[slot].see", yamlConfiguration); set("Slots.SupportDiscord.Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
set("Slots.SupportDiscord.Permission.Use", "commandgui.gui.[guiname].slot.[slot].use", yamlConfiguration); set("Slots.SupportDiscord.Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
set("Slots.UseItem.Slot", 6, yamlConfiguration); set("Slots.UseItem.Slot", 6, yamlConfiguration);
set("Slots.UseItem.Enable", true, yamlConfiguration); set("Slots.UseItem.Enable", true, yamlConfiguration);
set("Slots.UseItem.Function", "UseItem", yamlConfiguration); set("Slots.UseItem.Function", "UseItem", yamlConfiguration);
set("Slots.UseItem.Permission.Required", false, yamlConfiguration); set("Slots.UseItem.Permission.Required", false, yamlConfiguration);
set("Slots.UseItem.Permission.See", "commandgui.gui.[guiname].slot.[slot].see", yamlConfiguration); set("Slots.UseItem.Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
set("Slots.UseItem.Permission.Use", "commandgui.gui.[guiname].slot.[slot].use", yamlConfiguration); set("Slots.UseItem.Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
try { try {

View File

@@ -109,13 +109,13 @@ public class GuiBuilder {
public static void fillItem(Inventory inventory, Gui gui) { public static void fillItem(Inventory inventory, Gui gui) {
ItemStack glass; ItemStack glass;
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { 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)); glass = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, Short.valueOf(gui.guiFillItemItem));
} else glass = new ItemStack(Material.valueOf(gui.GUI_FillItem_Item.toUpperCase().replace(".", "_"))); } else glass = new ItemStack(Material.valueOf(gui.guiFillItemItem.toUpperCase().replace(".", "_")));
ItemMeta itemMetaglass = glass.getItemMeta(); ItemMeta itemMetaglass = glass.getItemMeta();
itemMetaglass.setDisplayName(" "); itemMetaglass.setDisplayName(" ");
glass.setItemMeta(itemMetaglass); glass.setItemMeta(itemMetaglass);
glass.setAmount(1); glass.setAmount(1);
for (int i = 0; i < 9 * gui.GUI_Lines; i++) { for (int i = 0; i < 9 * gui.guiLines; i++) {
inventory.setItem(i, glass); inventory.setItem(i, glass);
} }
} }

View File

@@ -1,6 +1,6 @@
package de.jatitv.commandguiv2.Spigot.gui; package de.jatitv.commandguiv2.Spigot.gui;
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.Listener.UseItem_Listener.Events;
import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.objects.functions.Function; import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
@@ -26,7 +26,7 @@ public class OpenGUI {
private static Plugin plugin = Main.plugin; private static Plugin plugin = Main.plugin;
private static String prefix = Util.getPrefix(); private static String prefix = Util.getPrefix();
public static void openGUI(Player player, String guiString) { public static void openGUI(Player player, String guiString, Boolean sound) {
Gui gui = Main.guiHashMap.get(guiString); Gui gui = Main.guiHashMap.get(guiString);
Long long_ = Long.valueOf(System.currentTimeMillis()); Long long_ = Long.valueOf(System.currentTimeMillis());
switch (guiString) { switch (guiString) {
@@ -63,20 +63,26 @@ public class OpenGUI {
} }
if (MCVersion.minecraft1_13) { if (MCVersion.minecraft1_13) {
GUI_Listener.GUICode = ""; GUIListener.GUICode = "";
} else GUI_Listener.GUICode = "§6§8§9§r"; } else GUIListener.GUICode = "§6§8§9§r";
if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) { if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
Inventory inventory; Inventory inventory;
if (Main.PaPi) { if (Main.PaPi) {
inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.GUI_Lines, (Replace.replace(prefix, player, 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.GUI_Lines, (Replace.replace(prefix, GUI_Listener.GUICode + gui.GUI_Name))); } else inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.guiLines, (Replace.replace(prefix, GUIListener.GUICode + gui.guiName)));
if (gui.GUI_FillItem_Enable) { if (gui.guiFillItemEnable) {
GuiBuilder.fillItem(inventory, gui); GuiBuilder.fillItem(inventory, gui);
} }
for (Slot slot : gui.slots) { for (Slot slot : gui.slots) {
Function function = Main.functionHashMap.get(slot.function); Function function = Main.functionHashMap.get(slot.function);
if (slot.permission || !player.hasPermission(slot.permissionToSee)) continue; 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 (slot.enable) { if (slot.enable) {
if (function.empty) { if (function.empty) {
ItemStack air = new ItemStack(Material.AIR); ItemStack air = new ItemStack(Material.AIR);
@@ -98,9 +104,9 @@ public class OpenGUI {
if (function.playerHead_Enable) { if (function.playerHead_Enable) {
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) { 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" + 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, function.name)); 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.error(plugin, "Playerheads are only available from version 1.13!");
send.console(prefix + " §bGUI: §6" + Replace.replace(prefix, gui.GUI_Name).toString() + " §bSlot: §6" + send.console(prefix + " §bGUI: §6" + Replace.replace(prefix, gui.guiName).toString() + " §bSlot: §6" +
(slot.slot + 1) + " §7- " + Replace.replace(prefix, function.name)); (slot.slot + 1) + " §7- " + Replace.replace(prefix, function.name));
} else { } else {
if (function.base64_Enable) { if (function.base64_Enable) {
@@ -121,9 +127,14 @@ public class OpenGUI {
} }
} }
if (sound) {
if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) {
player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1);
}
}
player.openInventory(inventory); 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"); 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.GUI_Name))); } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", Replace.replace(prefix, gui.guiName)));
} }
private static void toggleOn(Function function, Integer slot, Player player, Inventory inventory) { private static void toggleOn(Function function, Integer slot, Player player, Inventory inventory) {

View File

@@ -5,6 +5,7 @@ import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab;
import de.jatitv.commandguiv2.Spigot.objects.functions.Function; import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui; import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
import de.jatitv.commandguiv2.Spigot.objects.slots.Slot; 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 net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
@@ -16,8 +17,8 @@ import java.util.Objects;
public class Obj_Select { public class Obj_Select {
public static void onSelect() { public static void onSelect() {
onSelectGui();
onSelectFunction(); onSelectFunction();
onSelectGui();
} }
public static void onSelectGui() { public static void onSelectGui() {
@@ -29,9 +30,9 @@ public class Obj_Select {
for (File config_gui : fileArray) { for (File config_gui : fileArray) {
String sub = config_gui.getName().substring(config_gui.getName().length() - 4); String sub = config_gui.getName().substring(config_gui.getName().length() - 4);
if (sub.equals(".yml")) { if (sub.equals(".yml")) {
Main.allAliases.add(config_gui.getName().replace(".yml", "")); String key = config_gui.getName().replace(".yml", "");
Main.allAliases.add(key);
YamlConfiguration yamlConfiguration_gui = YamlConfiguration.loadConfiguration(config_gui); YamlConfiguration yamlConfiguration_gui = YamlConfiguration.loadConfiguration(config_gui);
String guiFileName = config_gui.getName().replace(".yml", "");
Boolean guiEnable = yamlConfiguration_gui.getBoolean("GUI.Enable"); Boolean guiEnable = yamlConfiguration_gui.getBoolean("GUI.Enable");
Integer guiLines = yamlConfiguration_gui.getInt("GUI.Lines"); Integer guiLines = yamlConfiguration_gui.getInt("GUI.Lines");
@@ -53,25 +54,31 @@ public class Obj_Select {
Boolean commandPermission = yamlConfiguration_gui.getBoolean("Command.Permission.Required"); Boolean commandPermission = yamlConfiguration_gui.getBoolean("Command.Permission.Required");
ArrayList<Slot> slots = new ArrayList<>(); ArrayList<Slot> slots = new ArrayList<>();
for (String key : yamlConfiguration_gui.getConfigurationSection("Slots").getKeys(false)) { for (String slotKey : yamlConfiguration_gui.getConfigurationSection("Slots").getKeys(false)) {
Integer slotNumber = yamlConfiguration_gui.getInt("Slots." + key + ".Slot") - 1; Integer slotNumber = yamlConfiguration_gui.getInt("Slots." + slotKey + ".Slot") - 1;
Boolean enable = yamlConfiguration_gui.getBoolean("Slots." + key + ".Enable"); Boolean enable = yamlConfiguration_gui.getBoolean("Slots." + slotKey + ".Enable");
String function = yamlConfiguration_gui.getString("Slots." + key + ".Function"); String function = yamlConfiguration_gui.getString("Slots." + slotKey + ".Function");
Boolean permRequired = yamlConfiguration_gui.getBoolean("Slots." + key + ".Permission.Required"); Function functionCheck = Main.functionHashMap.get(function);
String permSee = yamlConfiguration_gui.getString("Slots." + key + ".Permission.See"); if (functionCheck == null) {
String permUse = yamlConfiguration_gui.getString("Slots." + key + ".Permission.Use"); 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, Slot slot = new Slot(slotNumber, enable, function, permRequired,
Objects.requireNonNull(permSee).replace("[guiname]", guiFileName).replace("[slot]", String.valueOf(slotNumber)) Objects.requireNonNull(permSee).replace("[function]", key).replace("[slot]", String.valueOf(slotNumber + 1))
.replace("[slotname]", key), permUse); .replace("[slotname]", slotKey.toLowerCase()),
Objects.requireNonNull(permUse).replace("[function]", key).replace("[slot]", String.valueOf(slotNumber + 1))
.replace("[slotname]", slotKey.toLowerCase()));
slots.add(slot); slots.add(slot);
} }
Gui gui = new Gui(guiEnable, guiLines, guiName, guiFillItemEnable, guiFillItemItem, Gui gui = new Gui(guiEnable, guiLines, guiName, guiFillItemEnable, guiFillItemItem,
config_gui.getName().replace(".yml", ""), commandAliasEnable, commandPermission, slots); key, commandAliasEnable, commandPermission, slots);
Main.guiHashMap.put(guiFileName, gui); Main.guiHashMap.put(key, gui);
CmdExecuter_GUITab.arg1.put(config_gui.getName() CmdExecuter_GUITab.arg1.put(config_gui.getName()
.replace(".yml", ""), "commandgui.gui." + config_gui.getName().replace(".yml", "")); .replace(".yml", ""), "commandgui.gui." + key);
try { try {
yamlConfiguration_gui.save(config_gui); yamlConfiguration_gui.save(config_gui);
@@ -92,6 +99,7 @@ public class Obj_Select {
if (sub.equals(".yml")) { if (sub.equals(".yml")) {
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
String key = config.getName().replace(".yml", "");
Boolean empty = yamlConfiguration.getBoolean("Slots.Function.Item.Empty"); Boolean empty = yamlConfiguration.getBoolean("Slots.Function.Item.Empty");
Integer itemAmount = yamlConfiguration.getInt("Slots.Function.Item.Amount"); Integer itemAmount = yamlConfiguration.getInt("Slots.Function.Item.Amount");
Boolean playerHead_Enable = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.Enable"); Boolean playerHead_Enable = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.Enable");
@@ -143,13 +151,13 @@ public class Obj_Select {
String pluginReloadCommand = yamlConfiguration.getString("Slots.Function.SetConfig.PluginReload.Command"); String pluginReloadCommand = yamlConfiguration.getString("Slots.Function.SetConfig.PluginReload.Command");
Function function = new Function(empty, itemAmount, playerHead_Enable, base64_Enable, base64Value, playerWhoHasOpenedTheGUI, playerName, item, name, lore, 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, 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, serverChange, serverChangeServer, openGUI_Enable, openGUI, togglePermission, togglePermissionPerm, toggleUseItem, message_Enable, message,
setConfigEnable, configFilePath, configOptionPath, configOptionPremat, configStringValueLeft, configBooleanValueLeft, configIntegerValueLeft, setConfigEnable, configFilePath, configOptionPath, configOptionPremat, configStringValueLeft, configBooleanValueLeft, configIntegerValueLeft,
configDoubleValueLeft, configListValueLeft, configStringValueRight, configBooleanValueRight, configIntegerValueRight, configDoubleValueRight, configDoubleValueLeft, configListValueLeft, configStringValueRight, configBooleanValueRight, configIntegerValueRight, configDoubleValueRight,
configListValueRight, pluginReloadEnable, pluginReloadCommand); configListValueRight, pluginReloadEnable, pluginReloadCommand);
Main.functionHashMap.put(config.getName().replace(".yml", ""), function); Main.functionHashMap.put(key, function);
try { try {
yamlConfiguration.save(config); yamlConfiguration.save(config);

View File

@@ -4,6 +4,7 @@ import java.util.List;
public class Function { public class Function {
public String key;
public Boolean empty; public Boolean empty;
public Integer itemAmount; public Integer itemAmount;
public Boolean playerHead_Enable; public Boolean playerHead_Enable;
@@ -54,7 +55,8 @@ public class Function {
public Boolean pluginReloadEnable; public Boolean pluginReloadEnable;
public String pluginReloadCommand; public String pluginReloadCommand;
public Function(Boolean empty, public Function(String key,
Boolean empty,
Integer itemAmount, Integer itemAmount,
Boolean playerHead_Enable, Boolean playerHead_Enable,
Boolean base64Value_Enable, Boolean base64Value_Enable,
@@ -101,6 +103,7 @@ public class Function {
Boolean pluginReloadEnable, Boolean pluginReloadEnable,
String pluginReloadCommand) { String pluginReloadCommand) {
this.key = key;
this.empty = empty; this.empty = empty;
this.itemAmount = itemAmount; this.itemAmount = itemAmount;
this.playerHead_Enable = playerHead_Enable; this.playerHead_Enable = playerHead_Enable;
@@ -152,6 +155,5 @@ public class Function {
this.pluginReloadCommand = pluginReloadCommand; this.pluginReloadCommand = pluginReloadCommand;
} }
} }

View File

@@ -5,28 +5,28 @@ import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
import java.util.ArrayList; import java.util.ArrayList;
public class Gui { public class Gui {
public Boolean GUI_Enable; public Boolean guiEnable;
public Integer GUI_Lines; public Integer guiLines;
public String GUI_Name; public String guiName;
public Boolean GUI_FillItem_Enable; public Boolean guiFillItemEnable;
public String GUI_FillItem_Item; public String guiFillItemItem;
public String Command_Command; public String key;
public Boolean Command_Alias_Enable; public Boolean commandAliasEnable;
public Boolean Command_Permission_Enable; public Boolean commandPermissionEnable;
public ArrayList<Slot> slots; public ArrayList<Slot> slots;
public Gui(Boolean GUI_Enable, Integer GUI_Lines, String GUI_Name, Boolean GUI_FillItem_Enable, String GUI_FillItem_Item, public Gui(Boolean guiEnable, Integer guiLines, String guiName, Boolean guiFillitemEnable, String guiFillitemItem,
String Command_Command, Boolean Command_Alias_Enable, Boolean Command_Permission_Enable, ArrayList<Slot> slots){ String commandCommand, Boolean commandAliasEnable, Boolean commandPermissionEnable, ArrayList<Slot> slots){
this.GUI_Enable = GUI_Enable; this.guiEnable = guiEnable;
this.GUI_Lines = GUI_Lines; this.guiLines = guiLines;
this.GUI_Name = GUI_Name; this.guiName = guiName;
this.GUI_FillItem_Enable = GUI_FillItem_Enable; this.guiFillItemEnable = guiFillitemEnable;
this.GUI_FillItem_Item = GUI_FillItem_Item; this.guiFillItemItem = guiFillitemItem;
this.Command_Command = Command_Command; this.key = commandCommand;
this.Command_Alias_Enable = Command_Alias_Enable; this.commandAliasEnable = commandAliasEnable;
this.Command_Permission_Enable = Command_Permission_Enable; this.commandPermissionEnable = commandPermissionEnable;
this.slots = slots; this.slots = slots;
} }
} }

View File

@@ -1,7 +1,7 @@
package de.jatitv.commandguiv2.Spigot.system; package de.jatitv.commandguiv2.Spigot.system;
import de.jatitv.commandguiv2.Spigot.Listener.GUI_Listener; import de.jatitv.commandguiv2.Spigot.Listener.GUIListener;
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events_from1_10; import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.EventsFrom110;
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab; import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab;
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUIItem; import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUIItem;
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_Help; import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_Help;
@@ -17,6 +17,9 @@ import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.objects.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.ConfigCreate;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; 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.T2CodeTemplate;
import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
@@ -26,6 +29,7 @@ import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import java.io.*; import java.io.*;
import java.sql.SQLException;
import java.util.List; import java.util.List;
public class Load { public class Load {
@@ -42,7 +46,6 @@ public class Load {
send.console(prefix + " §8-------------------------------"); send.console(prefix + " §8-------------------------------");
if (!new File(Main.getPath(), "config.yml").exists()) { if (!new File(Main.getPath(), "config.yml").exists()) {
try { try {
CreateGUI.configCreate(); CreateGUI.configCreate();
@@ -66,6 +69,8 @@ public class Load {
e.printStackTrace(); e.printStackTrace();
} }
SelectConfig.setConfigVersion();
if (SelectConfig.Bungee) { if (SelectConfig.Bungee) {
if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin, "cgui:bungee")) { if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin, "cgui:bungee")) {
send.debug(plugin, "registerOutgoingPluginChannel §ecgui:bungee"); send.debug(plugin, "registerOutgoingPluginChannel §ecgui:bungee");
@@ -108,28 +113,9 @@ public class Load {
} }
send.console(prefix + " §8-------------------------------"); send.console(prefix + " §8-------------------------------");
if (SelectConfig.Storage.equals("MYSQL")) { loadStorage(prefix);
MySQL.main(); send.console(prefix + " §8-------------------------------");
send.console(prefix + " §2Storage medium §6MySQL §2is used.");
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();
}
} else {
send.console(prefix + " §2Storage medium §6YML §2is used.");
}
if (Main.PaPi) { if (Main.PaPi) {
send.console(prefix + " §2PlaceholderAPI successfully connected!"); send.console(prefix + " §2PlaceholderAPI successfully connected!");
} else { } else {
@@ -137,7 +123,7 @@ public class Load {
} }
try { try {
RegisterPermissions.onPermRegister(); Permissions.onPermRegister();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@@ -157,13 +143,13 @@ public class Load {
e.printStackTrace(); 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 PluginEvent(), plugin);
Bukkit.getServer().getPluginManager().registerEvents(new Events(), Main.plugin); Bukkit.getServer().getPluginManager().registerEvents(new Events(), Main.plugin);
if (!MCVersion.minecraft1_8 && !MCVersion.minecraft1_9) { 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); UpdateAPI.onUpdateCheck(plugin, prefix, spigot, spigotID, discord);
@@ -171,4 +157,55 @@ public class Load {
Main.addonLoad(); Main.addonLoad();
T2CodeTemplate.onLoadFooter(prefix, long_); 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;
}
}
} }

View File

@@ -5,6 +5,8 @@ package de.jatitv.commandguiv2.Spigot.system;
import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; 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 de.jatitv.commandguiv2.Util;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
@@ -34,8 +36,13 @@ public class Metrics {
public static void Bstats() { public static void Bstats() {
int pluginId = Util.getBstatsID(); // <-- Replace with the id of your plugin! int pluginId = Util.getBstatsID(); // <-- Replace with the id of your plugin!
Metrics metrics = new Metrics(Main.plugin, pluginId); Metrics metrics = new Metrics(Main.plugin, pluginId);
metrics.addCustomChart(new Metrics.SimplePie("updatecheckonjoin", () -> String.valueOf(SelectConfig.UpdateCheckOnJoin))); metrics.addCustomChart(new DrilldownPie("storage_type_mysql", () -> {
metrics.addCustomChart(new Metrics.SimplePie("storage_type_mysql", () -> SelectConfig.Storage)); Map<String, Map<String, Integer>> map = new HashMap<>();
String storage = SelectDatabase.getStorage().toString();
Map<String, Integer> entry = new HashMap<>();
entry.put(storage, 1); map.put(storage, entry);
return map;
}));
} }
private final Plugin plugin; private final Plugin plugin;

View File

@@ -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);
}
}
}
}

View File

@@ -1,26 +0,0 @@
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.functions.Function;
import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
import org.bukkit.Bukkit;
import org.bukkit.permissions.Permission;
public class RegisterPermissions {
public static void onPermRegister() {
for (Gui 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.slots) {
if (Bukkit.getPluginManager().getPermission(slot.permissionToUse) == null) {
Bukkit.getPluginManager().addPermission(new Permission(slot.permissionToUse));
}
if (Bukkit.getPluginManager().getPermission(slot.permissionToSee) == null) {
Bukkit.getPluginManager().addPermission(new Permission(slot.permissionToSee));
}
}
}
}
}

View File

@@ -5,7 +5,7 @@ import com.mojang.authlib.properties.Property;
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events; import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; 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 de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.items.ItemVersion; import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.messages.send;
@@ -20,15 +20,16 @@ import org.bukkit.inventory.meta.SkullMeta;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.UUID; 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; Integer slot;
if (SelectConfig.UseItem_InventorySlotEnforce){ if (protection(player, false)) return;
if (SelectConfig.UseItem_InventorySlotEnforce) {
slot = SelectConfig.UseItem_InventorySlot; slot = SelectConfig.UseItem_InventorySlot;
} else { } else {
if (Events.useItemSlotHashMap.get(player)== null) { if (Events.useItemSlotHashMap.get(player) == null) {
slot = SelectConfig.UseItem_InventorySlot; slot = SelectConfig.UseItem_InventorySlot;
} else { } else {
slot = Events.useItemSlotHashMap.get(player); slot = Events.useItemSlotHashMap.get(player);
@@ -37,12 +38,13 @@ public class Give_UseItem {
if (SelectConfig.UseItem_InventorySlot_FreeSlot) { if (SelectConfig.UseItem_InventorySlot_FreeSlot) {
player.getInventory().addItem(itemStack(player)); player.getInventory().addItem(itemStack(player));
} else { } 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)); 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) { if (SelectConfig.UseItem_InventorySlot_FreeSlot) {
player.getInventory().addItem(itemStack(player)); player.getInventory().addItem(itemStack(player));
} else player.getInventory().addItem(itemStack(player)); } else player.getInventory().addItem(itemStack(player));
@@ -96,4 +98,52 @@ public class Give_UseItem {
} }
return item; 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;
}
}
}
}
}
} }

View File

@@ -35,9 +35,9 @@ public class MySQL {
config.addDataSourceProperty("prepStmtCacheSize", "250"); config.addDataSourceProperty("prepStmtCacheSize", "250");
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048"); config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
ds = new HikariDataSource(config); 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) { } 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"); send.error(Main.plugin, ex.getMessage() + " --- " + (System.currentTimeMillis() - long_) + "ms");
} }
//Bukkit.getConsoleSender().sendMessage((System.currentTimeMillis() - long_) + "ms"); //Bukkit.getConsoleSender().sendMessage((System.currentTimeMillis() - long_) + "ms");

View File

@@ -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<String> 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<String, ArrayList<String>> selectAll(String query) {
send.debug(Main.plugin, query);
HashMap<String, ArrayList<String>> Result = new HashMap<>();
try {
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
int columns = rs.getMetaData().getColumnCount();
while (rs.next()) {
ArrayList<String> 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<String> selectRow(String query) {
send.debug(Main.plugin, query);
ArrayList<String> 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();
}
}

View File

@@ -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);
}
}
}

View File

@@ -1,72 +0,0 @@
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 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) {
Events.useItemHashMap.replace(player, true);
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) {
Events.useItemHashMap.replace(player, false);
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);
}
}
}

View File

@@ -0,0 +1,7 @@
package de.jatitv.commandguiv2.Spigot.system.database;
public enum StorageType {
MYSQL,
SQLITE,
YML
}

View File

@@ -8,7 +8,8 @@ import de.jatitv.commandguiv2.Spigot.cmdManagement.Help;
import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI; import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; 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 net.t2code.lib.Spigot.Lib.messages.send;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@@ -52,12 +53,12 @@ public class CGuiAPI {
public static void setPlayerItemEnable(Player player, Boolean value) { public static void setPlayerItemEnable(Player player, Boolean value) {
if (value) { if (value) {
Select_Database.setItemStatusTrue(player); SelectDatabase.setItemStatusTrue(player);
} else Select_Database.setItemStatusFalse(player); } else SelectDatabase.setItemStatusFalse(player);
} }
public static void setPlayerItemSlot(Player player, Integer value) { public static void setPlayerItemSlot(Player player, Integer value) {
Select_Database.setSlot(player, value); SelectDatabase.setSlot(player, value);
} }
public static void openDefaultGUI(Player player) { public static void openDefaultGUI(Player player) {
@@ -73,26 +74,24 @@ public class CGuiAPI {
} }
public static void sendPluginInfo(CommandSender sender) { public static void sendPluginInfo(CommandSender sender) {
if (sender.hasPermission("commandgui.command.info")) { if (sender.hasPermission(Permissions.info)) {
Commands.info(sender); Commands.info(sender);
} else sender.sendMessage(SelectMessages.NoPermissionForCommand } 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) { public static void createDefaultGUI(CommandSender sender) {
if (sender.hasPermission("commandgui.admin")) { if (sender.hasPermission(Permissions.admin)) {
CreateGUI.configCreate(); CreateGUI.configCreate();
sender.sendMessage(SelectMessages.DefaultGUIcreate.replace("[directory]", Main.getPath() + "\\GUIs\\default.yml")); sender.sendMessage(SelectMessages.DefaultGUIcreate.replace("[directory]", Main.getPath() + "\\GUIs\\default.yml"));
} else sender.sendMessage(SelectMessages.NoPermissionForCommand } 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) { public static void reload(CommandSender sender) {
if (sender.hasPermission("commandgui.admin")) { if (sender.hasPermission(Permissions.admin)) {
Commands.reload(sender); Commands.reload(sender);
} else sender.sendMessage(SelectMessages.NoPermissionForCommand } else sender.sendMessage(SelectMessages.NoPermissionForCommand
.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin")); .replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin));
} }
} }

View File

@@ -19,56 +19,54 @@ commands:
commandguihelp: commandguihelp:
description: CommandGUI Help description: CommandGUI Help
aliases: [cguihelp, guihelp] aliases: [cguihelp, guihelp]
# commandguiadmin:
# aliases: [cguiadmin, cguia]
commandgui-item: commandgui-item:
aliases: [gui-item] aliases: [gui-item]
permissions: #permissions:
commandgui.admin: # commandgui.admin:
description: All permissions from CommandGUI # description: All permissions from CommandGUI
default: op # default: op
children: # children:
commandgui.updatemsg: true # commandgui.command: true
commandgui.command: true # commandgui.get.guiitem.at.login: true
commandgui.get.guiitem.at.login: true # commandgui.useitem: true
commandgui.useitem: true # commandgui.useitem.toggle: true
commandgui.useitem.toggle: true # commandgui.updatemsg: true
commandgui.bypass: true # commandgui.bypass: true
commandgui.command.info: true # commandgui.command.info: true
commandgui.command.give: true # commandgui.command.give: true
#
commandgui.player: # commandgui.player:
description: All permissions from CommandGUI # description: All permissions from CommandGUI
default: op # default: op
children: # children:
commandgui.command: true # commandgui.command: true
commandgui.get.guiitem.at.login: true # commandgui.get.guiitem.at.login: true
commandgui.useitem: true # commandgui.useitem: true
commandgui.useitem.toggle: true # commandgui.useitem.toggle: true
#
commandgui.updatemsg: # commandgui.updatemsg:
description: Players with this permission get the update message when joining if an update is available # description: Players with this permission get the update message when joining if an update is available
default: op # default: op
commandgui.command: # commandgui.command:
description: Required permission to open GUIs via command # description: Required permission to open GUIs via command
default: op # default: op
commandgui.get.guiitem.at.login: # commandgui.get.guiitem.at.login:
description: Only players with this permission will receive the GUI item # description: Only players with this permission will receive the GUI item
default: op # default: op
commandgui.useitem: # commandgui.useitem:
description: Required permission to use the GUI Item # description: Required permission to use the GUI Item
default: op # default: op
commandgui.useitem.toggle: # commandgui.useitem.toggle:
description: Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true) # description: Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true)
default: op # default: op
commandgui.bypass: # commandgui.bypass:
description: Bypass to open disabled GUIs # description: Bypass to open disabled GUIs
default: op # default: op
commandgui.command.info: # commandgui.command.info:
description: Permission to view CommandGUI info # description: Permission to view CommandGUI info
default: not op # default: not op
commandgui.command.give: # commandgui.command.give:
description: Kommend in V2.1.0 # description: Kommend in V2.1.0
default: op # default: op

View File

@@ -1,19 +1,8 @@
GUI:
Enable: true
Lines: 1
Name: '&5default &9GUI'
FillItem:
Enable: true
Item: BLACK_STAINED_GLASS_PANE
Command:
Alias: true
Permission:
Required: true
Slots: Slots:
Example: Function:
Slot: 5
Enable: true
Item: Item:
Empty: false
Amount: 1
PlayerHead: PlayerHead:
Enable: true Enable: true
Base64: Base64:
@@ -31,9 +20,10 @@ Slots:
- '&eIf you find any errors or bugs,' - '&eIf you find any errors or bugs,'
- '&eplease contact me so I can fix them.' - '&eplease contact me so I can fix them.'
- '&8-----------------' - '&8-----------------'
- '&5Discord: §7https://discord.gg/vRyXFFterJ' - '&5Discord: §7http://dc.t2code.net'
CustomSound: CustomSound:
Enable: false Enable: false
NoSound: false
Sound: '' Sound: ''
Cost: Cost:
Enable: false Enable: false
@@ -42,17 +32,43 @@ Slots:
Enable: false Enable: false
BungeeCommand: false BungeeCommand: false
CommandAsConsole: false CommandAsConsole: false
Command: Command: []
- ''
ServerChange: ServerChange:
Enable: false Enable: false
Server: '' Server: ''
OpenGUI: OpenGUI:
Enable: false Enable: false
GUI: '' GUI: ''
Toggle:
Permission:
Enable: false
Permission: ''
UseItem:
Enable: false
Message: Message:
Enable: true Enable: true
Message: Message:
- '&6You can find more information on Discord: &ehttps://discord.gg/vRyXFFterJ' - '&6You can find more information on Discord: &ehttp://dc.t2code.net'
Permission: SetConfig:
Required: false 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: ''

View File

@@ -0,0 +1,67 @@
Slots:
Function:
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.'
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: ''

View File

@@ -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: commandgui.gui.[guiname].slot.[slot].see
Use: commandgui.gui.[guiname].slot.[slot].use
UseItem:
Slot: 6
Enable: true
Function: UseItem
Permission:
Required: false
See: commandgui.gui.[guiname].slot.[slot].see
Use: commandgui.gui.[guiname].slot.[slot].use

View File

@@ -1,3 +1,4 @@
ConfigVersion: 5
Plugin: Plugin:
UpdateCheckOnJoin: true UpdateCheckOnJoin: true
Debug: false Debug: false
@@ -25,6 +26,7 @@ UseItem:
OpenGUI: default OpenGUI: default
Permission: Permission:
NeededToUse: true NeededToUse: true
KeepAtCommandClear: true
InventorySlot: InventorySlot:
Slot: 1 Slot: 1
SlotEnforce: false SlotEnforce: false
@@ -46,9 +48,57 @@ UseItem:
GiveOnlyOnFirstJoin: false GiveOnlyOnFirstJoin: false
Cursor: Cursor:
ToGUIItem: ToGUIItem:
OnEveryLogin: true OnLogin:
OnOnlyFirstLogin: true Enable: true
EXPERIMENTELL_ServerChhange: false 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: Sound:
Enable: true Enable: true
OpenInventory: OpenInventory:

View File

@@ -4,13 +4,11 @@ Plugin:
settings.' settings.'
OnlyForPlayer: '[prefix] &cThis command is for players only!' OnlyForPlayer: '[prefix] &cThis command is for players only!'
DefaultGUI: DefaultGUI:
create: '[prefix] &2DefaultGUI was created. You can find it in the directory:: create: '[prefix] &2DefaultGUI was created. You can find it in the directory:
&e[directory]&2!' &e[directory]&2!'
Reload: Reload:
Start: '[prefix] &6Plugin is reloaded...' Start: '[prefix] &6Plugin is reloaded...'
End: '[prefix] &2Plugin was successfully reloaded.' End: '[prefix] &2Plugin was successfully reloaded.'
Warning: '[prefix] &6To enable / disable alias commands, reload / restart the
server!'
NoPermission: NoPermission:
ForCommandGUI: '[prefix] &cYou do not have permission for &4Command&9GUI&c!' ForCommandGUI: '[prefix] &cYou do not have permission for &4Command&9GUI&c!'
ForCommand: '[prefix] &cFor &b[cmd] &cyou lack the permission &6[perm]&c!' ForCommand: '[prefix] &cFor &b[cmd] &cyou lack the permission &6[perm]&c!'
@@ -24,6 +22,8 @@ UseItem:
SlotNotEmpty: '[prefix] &6The slot &e[slot] &6is currently occupied!' SlotNotEmpty: '[prefix] &6The slot &e[slot] &6is currently occupied!'
SlotAlreadySet: '[prefix] &6The slot §e[slot] §6is already set!' SlotAlreadySet: '[prefix] &6The slot §e[slot] §6is already set!'
ItemSlot_wrongValue: '[prefix] &cThe specified slot must be between 1 and 9!' 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: Cost:
Buy_msg: '[prefix] &2You bought [itemname] &2for &6[price]&2.' Buy_msg: '[prefix] &2You bought [itemname] &2for &6[price]&2.'
No_money: '[prefix] &cYou don''t have enough money!' No_money: '[prefix] &cYou don''t have enough money!'
@@ -42,12 +42,13 @@ Player:
Help: Help:
CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eOpen the default GUI &7(&r[gui]&7)&e.' 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.' Help: '&8''''&b/commandguihelp&8'''' &eOpen this help.'
Info: '&8''''&b/commandguiadmin info&8'''' &eCall the info from &4Command&9GUI &e.' 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.' Open: '&8''''&b/commandgui [gui]&8'''' &eOpen the GUI: &6[guiname]&e.'
Give: '&8''''&b/commandguiadmin give &7<player>&8'''' &eGive a player the GUI item.' Give: '&8''''&b/commandgui admin give &7<player>&8'''' &eGive a player the GUI item.'
CreateDefaultGUI: '&8''''&b/commandguiadmin createdefaultgui&8'''' &eCreate a default CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eCreate a default
GUI &7([directory])&e.' GUI &7([directory])&e.'
Reload: '&8''''&b/commandguiadmin reload&8'''' &eReload the plugin.' Reload: '&8''''&b/commandgui admin reload&8'''' &eReload the plugin.'
UseItem_On: '&8''''&b/gui-item on&8'''' &eActivate the GUIItem for you.' 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_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 UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSet the slot for GUIItem for

View File

@@ -8,8 +8,6 @@ Plugin:
Reload: Reload:
Start: '[prefix] &6Plugin wird neu geladen...' Start: '[prefix] &6Plugin wird neu geladen...'
End: '[prefix] &2Plugin wurde erfolgreich neu geladen.' End: '[prefix] &2Plugin wurde erfolgreich neu geladen.'
Warning: '[prefix] &6Um Alias-Befehle zu aktivieren / deaktivieren, lade / starte
den Server neu!!'
NoPermission: NoPermission:
ForCommandGUI: '[prefix] &cDu hast keine Permission f[ue]r &4Command&9GUI&c!' 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!' ForCommand: '[prefix] &cF[ue]r &b[cmd] &cfehlt dir die Permission &6[perm]&c!'
@@ -24,6 +22,8 @@ UseItem:
SlotAlreadySet: '[prefix] &6Der Slot §e[slot] §6ist bereits eingestellt!' SlotAlreadySet: '[prefix] &6Der Slot §e[slot] §6ist bereits eingestellt!'
ItemSlot_wrongValue: '[prefix] &cDer angegebene Slot muss sich zwischen 1 und 9 ItemSlot_wrongValue: '[prefix] &cDer angegebene Slot muss sich zwischen 1 und 9
befinden!' befinden!'
DisabledInGameMode: '[prefix] &cDas UseItem ist in diesem GameMode deaktiviert!'
DisabledInWorld: '[prefix] &cDas UseItem ist in dieser Welt deaktiviert!'
Cost: Cost:
Buy_msg: '[prefix] &2Du hast dir [itemname] &2f[ue]r &6[price] &2gekauft.' Buy_msg: '[prefix] &2Du hast dir [itemname] &2f[ue]r &6[price] &2gekauft.'
No_money: '[prefix] &cDu hast nicht gen[ue]gend Geld!' No_money: '[prefix] &cDu hast nicht gen[ue]gend Geld!'
@@ -44,12 +44,14 @@ Player:
Help: Help:
CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &e[OE]ffne die default GUI &7(&r[gui]&7)&e.' 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.' Help: '&8''''&b/commandguihelp&8'''' &e[OE]ffne diese help.'
Info: '&8''''&b/commandguiadmin info&8'''' &eRufe die Infos von &4Command&9GUI &eauf.' 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.' Open: '&8''''&b/commandgui [gui]&8'''' &e[OE]ffne die GUI: &6[guiname]&e.'
Give: '&8''''&b/commandguiadmin give &7<player>&8'''' &eGebe einem Spieler das GUI-Item.' Give: '&8''''&b/commandgui admin give &7<player>&8'''' &eGebe einem Spieler das
CreateDefaultGUI: '&8''''&b/commandguiadmin createdefaultgui&8'''' &eLasse eine GUI-Item.'
CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eLasse eine
default GUI erstellen &7([directory])&e.' default GUI erstellen &7([directory])&e.'
Reload: '&8''''&b/commandguiadmin reload&8'''' &eLade das Plugin neu.' 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_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_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 UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSetze den Slot für GUIItem

View File

@@ -8,8 +8,6 @@ Plugin:
Reload: Reload:
Start: '[prefix] &6Pluginet blir relastet...' Start: '[prefix] &6Pluginet blir relastet...'
End: '[prefix] &2Pluginet har blitt lastet inn på nytt.' End: '[prefix] &2Pluginet har blitt lastet inn på nytt.'
Warning: '[prefix] &6For å skru på / skru av alias kommandoer, relast / restart
serveren!'
NoPermission: NoPermission:
ForCommandGUI: '[prefix] &cDu har ikke tilgang til &4Command&9GUI&c!' ForCommandGUI: '[prefix] &cDu har ikke tilgang til &4Command&9GUI&c!'
ForCommand: '[prefix] &cFor &b[cmd] &cmangler du tillatelsen &6[perm]&c!' ForCommand: '[prefix] &cFor &b[cmd] &cmangler du tillatelsen &6[perm]&c!'
@@ -23,6 +21,8 @@ UseItem:
SlotNotEmpty: '[prefix] &6Plassen &e[slot] &6er opptatt for øyeblikket!' SlotNotEmpty: '[prefix] &6Plassen &e[slot] &6er opptatt for øyeblikket!'
SlotAlreadySet: '[prefix] &6Plassen §e[slot] §6er allerede satt!' SlotAlreadySet: '[prefix] &6Plassen §e[slot] §6er allerede satt!'
ItemSlot_wrongValue: '[prefix] &cDen spesifiserte plassen må være mellom 1 og 9!' 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: Cost:
Buy_msg: '[prefix] &2Du kjøpte [itemname] &2for &6[price]&2.' Buy_msg: '[prefix] &2Du kjøpte [itemname] &2for &6[price]&2.'
No_money: '[prefix] &cDu har ikke nok penger!' No_money: '[prefix] &cDu har ikke nok penger!'
@@ -42,12 +42,12 @@ Player:
Help: Help:
CGUI: '&8''''&b/commandgui &8| &b/cgui&8'''' &eÅpne default GUIen &7(&r[gui]&7)&e.' 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.' Help: '&8''''&b/commandguihelp&8'''' &eSender denne hjelpe meldingen.'
Info: '&8''''&b/commandguiadmin info&8'''' &eKall informasjon fra &4Command&9GUI&e.' 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.' Open: '&8''''&b/commandgui [gui]&8'''' &eÅpne GUIen: &6[guiname]&e.'
Give: '&8''''&b/commandguiadmin give &7<player>&8'''' &eGi en spiller GUI gjenstanden.' Give: '&8''''&b/commandgui admin give &7<player>&8'''' &eGi en spiller GUI gjenstanden.'
CreateDefaultGUI: '&8''''&b/commandguiadmin createdefaultgui&8'''' &eLag en normalverdi CreateDefaultGUI: '&8''''&b/commandgui admin createdefaultgui&8'''' &eLag en normalverdi
GUI &7([directory])&e.' GUI &7([directory])&e.'
Reload: '&8''''&b/commandguiadmin reload&8'''' &eLast inn pluginet på nytt.' 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_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_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 UseItem_Slot: '&8''''&b/gui-item slot [slot]&8'''' &eSett sporet for GUIItem for