Compare commits
No commits in common. "2.7.0" and "2.7.0_Snapshot-2" have entirely different histories.
2.7.0
...
2.7.0_Snap
|
@ -6,7 +6,7 @@
|
|||
|
||||
<groupId>net.t2code</groupId>
|
||||
<artifactId>CommandGUI_V2</artifactId>
|
||||
<version>2.7.0</version>
|
||||
<version>2.7.0_Snapshot-1</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>CommandGUI</name>
|
||||
|
@ -67,8 +67,9 @@
|
|||
</repository>
|
||||
<repository>
|
||||
<id>placeholderapi</id>
|
||||
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
|
||||
<url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
|
||||
</repository>
|
||||
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
|
@ -85,7 +86,7 @@
|
|||
<dependency>
|
||||
<groupId>net.t2code</groupId>
|
||||
<artifactId>T2CodeLib</artifactId>
|
||||
<version>11.6</version>
|
||||
<version>11.4</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.t2code</groupId>
|
||||
|
@ -112,6 +113,12 @@
|
|||
<artifactId>HikariCP</artifactId>
|
||||
<version>4.0.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>me.clip</groupId>
|
||||
<artifactId>placeholderapi</artifactId>
|
||||
<version>2.11.1</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-jdk14</artifactId>
|
||||
|
@ -122,11 +129,5 @@
|
|||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.22</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>me.clip</groupId>
|
||||
<artifactId>placeholderapi</artifactId>
|
||||
<version>2.11.1</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
|
@ -31,7 +31,7 @@ import org.bukkit.scheduler.BukkitRunnable;
|
|||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
public class GUIListener implements Listener {
|
||||
public class GUI_Listener implements Listener {
|
||||
|
||||
private static String prefix = Util.getPrefix();
|
||||
public static String GUICode;
|
||||
|
@ -44,25 +44,24 @@ public class GUIListener implements Listener {
|
|||
if (e.getInventory() == null) return;
|
||||
if (e.getCurrentItem() == null) return;
|
||||
for (Gui gui : Main.guiHashMap.values()) {
|
||||
if (player.getOpenInventory().getTitle().equals(Replace.replace(prefix, GUICode + gui.guiName))
|
||||
|| (Main.PaPi && player.getOpenInventory().getTitle().equals(Replace.replace(prefix, player, GUICode + gui.guiName)))) {
|
||||
if (player.getOpenInventory().getTitle().equals(Replace.replace(prefix, GUICode + gui.GUI_Name))
|
||||
|| (Main.PaPi && player.getOpenInventory().getTitle().equals(Replace.replace(prefix, player, GUICode + gui.GUI_Name)))) {
|
||||
e.setCancelled(true);
|
||||
for (Slot slot : gui.slots) {
|
||||
Function function = Main.functionHashMap.get(slot.function);
|
||||
if (e.getSlot() != slot.slot) continue;
|
||||
if (slot.permission && !player.hasPermission(slot.permissionToSee)) continue;
|
||||
if (slot.permission && !player.hasPermission(slot.permissionToUse)) {
|
||||
player.sendMessage(SelectMessages.NoPermissionForItem.replace("[item]", Replace.replace(prefix, function.name))
|
||||
.replace("[perm]", slot.permissionToUse));
|
||||
continue;
|
||||
}
|
||||
if (e.getCurrentItem().getType() == ItemVersion.getHead() || e.getCurrentItem().getType() == ItemVersion.getGreenWool().getType() ||
|
||||
e.getCurrentItem().getType() == ItemVersion.getRedWool().getType() ||
|
||||
e.getCurrentItem().getType() == Material.valueOf(function.item.toUpperCase().replace(".", "_"))) {
|
||||
if (slot.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 (!e.getCurrentItem().getItemMeta().getDisplayName().equals(Replace.replace(prefix, function.name))) continue;
|
||||
if (function.cost_Enable) {
|
||||
if (function.command_Enable || function.message_Enable || function.openGUI_Enable || function.serverChange) {
|
||||
|
||||
if (!Vault.buy(prefix, player, function.price)) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
|
@ -79,9 +78,7 @@ public class GUIListener implements Listener {
|
|||
execute(function, slot, player, e, gui);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
execute(function, slot, player, e, gui);
|
||||
}
|
||||
} else execute(function, slot, player, e, gui);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -89,8 +86,8 @@ public class GUIListener implements Listener {
|
|||
}
|
||||
|
||||
private static void execute(Function function, Slot slot, Player player, InventoryClickEvent e, Gui gui) {
|
||||
if (function.togglePermission) togglePerm(function, gui, player);
|
||||
if (function.toggleUseItem) toggleUseItem(player, gui);
|
||||
if (function.togglePermission) togglePerm(function, player);
|
||||
if (function.toggleUseItem) toggleUseItem(player);
|
||||
if (function.command_Enable) command(function, player);
|
||||
if (function.openGUI_Enable) openGUI(function, player);
|
||||
if (function.message_Enable) message(function, player);
|
||||
|
@ -134,7 +131,7 @@ public class GUIListener implements Listener {
|
|||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
OpenGUI.openGUI(player, slot.openGUI, true);
|
||||
OpenGUI.openGUI(player, slot.openGUI);
|
||||
}
|
||||
}.runTaskLater(plugin, 1L);
|
||||
}
|
||||
|
@ -230,48 +227,26 @@ public class GUIListener implements Listener {
|
|||
if (!function.customSound_NoSound) {
|
||||
try {
|
||||
player.playSound(player.getLocation(), Sound.valueOf(function.customSound_Sound.toUpperCase().replace(".", "_")), 3, 1);
|
||||
|
||||
} catch (Exception e1) {
|
||||
send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", prefix)
|
||||
.replace("[sound]", "§6GUI: §e" + Replace.replace(prefix, gui.guiName) + "§r §6Slot: §e" + slot.slot + " §6CustomSound: §9" + function.customSound_Sound));
|
||||
.replace("[sound]", "§6GUI: §e" + Replace.replace(prefix, gui.GUI_Name) + "§r §6Slot: §e" + slot.slot + " §6CustomSound: §9" + function.customSound_Sound));
|
||||
player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
|
||||
}
|
||||
}
|
||||
} else player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
|
||||
}
|
||||
}
|
||||
|
||||
private static void togglePerm(Function function, Gui gui, Player player) {
|
||||
if (player.hasPermission(function.togglePermissionPerm)) {
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermFalse.replace("[player]", player.getName()).replace("[perm]", function.togglePermissionPerm));
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
player.closeInventory();
|
||||
OpenGUI.openGUI(player, gui.key, false);
|
||||
}
|
||||
}.runTaskLater(plugin, 4L);
|
||||
private static void togglePerm(Function slot, Player player) {
|
||||
if (player.hasPermission(slot.togglePermissionPerm)) {
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermFalse.replace("[player]", player.getName()).replace("[perm]", slot.togglePermissionPerm));
|
||||
} else
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermTrue.replace("[player]", player.getName()).replace("[perm]", function.togglePermissionPerm));
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
player.closeInventory();
|
||||
OpenGUI.openGUI(player, gui.key, false);
|
||||
}
|
||||
}.runTaskLater(plugin, 4L);
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), SelectConfig.togglePermTrue.replace("[player]", player.getName()).replace("[perm]", slot.togglePermissionPerm));
|
||||
}
|
||||
|
||||
private static void toggleUseItem(Player player, Gui gui) {
|
||||
private static void toggleUseItem(Player player) {
|
||||
if (Events.useItemHashMap.get(player)) {
|
||||
Commands.itemOff(player);
|
||||
} else {
|
||||
Commands.itemOn(player);
|
||||
}
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
player.closeInventory();
|
||||
OpenGUI.openGUI(player, gui.key, false);
|
||||
}
|
||||
}.runTaskLater(plugin, 2L);
|
||||
} else Commands.itemOn(player);
|
||||
}
|
||||
}
|
|
@ -2,10 +2,14 @@ package de.jatitv.commandguiv2.Spigot.Listener;
|
|||
|
||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
||||
import de.jatitv.commandguiv2.Spigot.Main;
|
||||
import de.jatitv.commandguiv2.Spigot.system.UseItem;
|
||||
import de.jatitv.commandguiv2.Spigot.system.Give_UseItem;
|
||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
|
||||
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
|
||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
public class ItemChange {
|
||||
|
@ -24,15 +28,37 @@ public class ItemChange {
|
|||
if (!SelectConfig.UseItem_Enable) {
|
||||
return;
|
||||
}
|
||||
UseItem.removeItem(player);
|
||||
if (UseItem.protection(player, false)) return;
|
||||
if (SelectConfig.UseItemGameModeProtection) {
|
||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
|
||||
if (SelectConfig.UseItemGameModeRemoveItemWhenItIsDisabled) removeItem(player);
|
||||
send.debug(Main.plugin,"GameMode disabled: " +player.getName() +" " +player.getGameMode().toString());
|
||||
return;
|
||||
}
|
||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
|
||||
if (SelectConfig.UseItemGameModeRemoveItemWhenItIsDisabled) removeItem(player);
|
||||
send.debug(Main.plugin,"GameMode disabled: " +player.getName() +" " +player.getGameMode().toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (SelectConfig.UseItemWorldProtection) {
|
||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
|
||||
if (SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled)removeItem(player);
|
||||
send.debug(Main.plugin,"World disabled: " +player.getName() +" " +player.getWorld().toString());
|
||||
return;
|
||||
}
|
||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
|
||||
if (SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled)removeItem(player);
|
||||
send.debug(Main.plugin,"World disabled: " +player.getName() +" " +player.getWorld().toString());
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) {
|
||||
if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) {
|
||||
if (!player.hasPlayedBefore()) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
UseItem.giveUseItem(player);
|
||||
Give_UseItem.onGive(player);
|
||||
if (setCursor) {
|
||||
setCursor(player, slot);
|
||||
}
|
||||
|
@ -53,10 +79,11 @@ public class ItemChange {
|
|||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
removeItem(player);
|
||||
if (!SelectConfig.UseItem_AllowToggle || Events.useItemHashMap.get(player)) {
|
||||
if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(slot - 1) == null) {
|
||||
send.debug(Main.plugin,"Give: " +player.getName());
|
||||
UseItem.giveUseItem(player);
|
||||
Give_UseItem.onGive(player);
|
||||
if (setCursor) {
|
||||
setCursor(player, slot);
|
||||
}
|
||||
|
@ -69,7 +96,7 @@ public class ItemChange {
|
|||
}
|
||||
}
|
||||
if (empty) {
|
||||
UseItem.addUseItem(player);
|
||||
Give_UseItem.onGiveADD(player);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -113,4 +140,20 @@ public class ItemChange {
|
|||
Main.bungeejoinplayers.remove(player.getName());
|
||||
}
|
||||
}
|
||||
|
||||
private static void removeItem(Player player) {
|
||||
for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) {
|
||||
ItemStack itm = player.getInventory().getItem(iam);
|
||||
if (itm != null) {
|
||||
if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) {
|
||||
if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
||||
player.getInventory().remove(itm);
|
||||
player.updateInventory();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ package de.jatitv.commandguiv2.Spigot.Listener;
|
|||
|
||||
import de.jatitv.commandguiv2.Spigot.Main;
|
||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
|
||||
import de.jatitv.commandguiv2.Util;
|
||||
import net.t2code.lib.Spigot.Lib.update.UpdateAPI;
|
||||
import org.bukkit.Bukkit;
|
||||
|
@ -22,7 +22,7 @@ public class PluginEvent implements Listener {
|
|||
@EventHandler
|
||||
public void onJoinEvent(PlayerLoginEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
SelectDatabase.nameCheck(player);
|
||||
Select_Database.nameCheck(player);
|
||||
UpdateAPI.join(Main.plugin,prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord());
|
||||
}
|
||||
|
||||
|
|
|
@ -6,8 +6,7 @@ import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands;
|
|||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
||||
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
|
||||
import de.jatitv.commandguiv2.Spigot.system.UseItem;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
|
||||
import de.jatitv.commandguiv2.api.CGuiAPI;
|
||||
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
|
||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
||||
|
@ -36,24 +35,23 @@ public class Events implements Listener {
|
|||
|
||||
public static HashMap<Player, Boolean> useItemHashMap = new HashMap<>();
|
||||
public static HashMap<Player, Integer> useItemSlotHashMap = new HashMap<>();
|
||||
|
||||
@EventHandler
|
||||
public void onJoin(PlayerJoinEvent e) {
|
||||
if (SelectDatabase.selectItemStatus(e.getPlayer())) {
|
||||
if (Select_Database.selectItemStatus(e.getPlayer())){
|
||||
useItemHashMap.put(e.getPlayer(), true);
|
||||
} else useItemHashMap.put(e.getPlayer(), false);
|
||||
|
||||
useItemSlotHashMap.put(e.getPlayer(), SelectDatabase.selectSlot(e.getPlayer()));
|
||||
useItemSlotHashMap.put(e.getPlayer(),Select_Database.selectSlot(e.getPlayer()));
|
||||
|
||||
if (CGuiAPI.JoinDisable) {
|
||||
send.debug(Main.plugin, "JoinDisable");
|
||||
send.debug(Main.plugin,"JoinDisable");
|
||||
return;
|
||||
}
|
||||
if (e.getPlayer().hasPermission("commandgui.get.guiitem.at.login")) {
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
send.debug(Main.plugin, "itemChange: " + e.getPlayer().getName());
|
||||
send.debug(Main.plugin,"itemChange: " + e.getPlayer().getName());
|
||||
ItemChange.itemChange(e.getPlayer(), true);
|
||||
}
|
||||
}.runTaskLater(Main.plugin, 20L * 1);
|
||||
|
@ -68,7 +66,18 @@ public class Events implements Listener {
|
|||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onDeathDrop(PlayerDeathEvent e) {
|
||||
Player player = e.getEntity().getPlayer();
|
||||
UseItem.removeItem(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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!e.getDrops().isEmpty()) {
|
||||
Iterator var3 = (new ArrayList(e.getDrops())).iterator();
|
||||
while (var3.hasNext()) {
|
||||
|
@ -157,50 +166,47 @@ public class Events implements Listener {
|
|||
}
|
||||
}
|
||||
|
||||
private static void openGUI(PlayerInteractEvent e, Player player) {
|
||||
private static void openGUI(PlayerInteractEvent e, Player p) {
|
||||
e.setCancelled(true);
|
||||
|
||||
if (SelectConfig.disableInfoBySneak && player.isSneaking()) {
|
||||
Commands.info(player);
|
||||
if (p.isSneaking()) {
|
||||
Commands.info(p);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!legacy()) {
|
||||
if (!topInventoryIsEmpty(player)) return;
|
||||
if (!topInventoryIsEmpty(p)) return;
|
||||
}
|
||||
|
||||
if (UseItem.protection(player, true)) return;
|
||||
|
||||
if (SelectConfig.UseItemGameModeProtection) {
|
||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
|
||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(p.getGameMode().toString())) {
|
||||
e.setCancelled(true);
|
||||
send.player(player, SelectMessages.UseItemDisabledInGameMode);
|
||||
send.player(p, SelectMessages.UseItemDisabledInGameMode);
|
||||
return;
|
||||
}
|
||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
|
||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(p.getGameMode().toString())) {
|
||||
e.setCancelled(true);
|
||||
send.player(player, SelectMessages.UseItemDisabledInGameMode);
|
||||
send.player(p, SelectMessages.UseItemDisabledInGameMode);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (SelectConfig.UseItemWorldProtection) {
|
||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
|
||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(p.getWorld().getName())) {
|
||||
e.setCancelled(true);
|
||||
send.player(player, SelectMessages.UseItemDisabledInWorld);
|
||||
send.player(p, SelectMessages.UseItemDisabledInWorld);
|
||||
return;
|
||||
}
|
||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
|
||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(p.getWorld().getName())) {
|
||||
e.setCancelled(true);
|
||||
send.player(player, SelectMessages.UseItemDisabledInWorld);
|
||||
send.player(p, SelectMessages.UseItemDisabledInWorld);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!SelectConfig.UseItem_Permission || player.hasPermission("commandgui.useitem")) {
|
||||
OpenGUI.openGUI(player, SelectConfig.UseItem_OpenGUI, true);
|
||||
if (!SelectConfig.UseItem_Permission || p.hasPermission("commandgui.useitem")) {
|
||||
OpenGUI.openGUI(p, SelectConfig.UseItem_OpenGUI);
|
||||
if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) {
|
||||
p.playSound(p.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1);
|
||||
}
|
||||
} else {
|
||||
player.sendMessage(SelectMessages.NoPermissionForUseItem.replace("[perm]", "commandgui.useitem")
|
||||
p.sendMessage(SelectMessages.NoPermissionForUseItem.replace("[perm]", "commandgui.useitem")
|
||||
.replace("[gui]", SelectConfig.UseItem_OpenGUI));
|
||||
}
|
||||
}
|
||||
|
@ -219,7 +225,6 @@ public class Events implements Listener {
|
|||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onItemMove(InventoryDragEvent e) {
|
||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
||||
|
||||
if (e.getWhoClicked() instanceof Player) {
|
||||
Player p = (Player) e.getWhoClicked();
|
||||
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
|
||||
|
@ -241,6 +246,7 @@ public class Events implements Listener {
|
|||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
public void onItemMove(InventoryClickEvent e) {
|
||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
||||
Player player = (Player) e.getWhoClicked();
|
||||
|
||||
if (e.getCursor() != null && e.getCursor().hasItemMeta() && e.getCursor().getItemMeta().hasDisplayName()
|
||||
&& e.getCursor().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
||||
|
@ -250,13 +256,13 @@ public class Events implements Listener {
|
|||
&& e.getCurrentItem().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
||||
|
||||
e.setCancelled(true);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onItemMove(InventoryPickupItemEvent e) {
|
||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
||||
|
||||
if (e.getItem() != null && e.getItem().getItemStack() != null) {
|
||||
ItemStack item = e.getItem().getItemStack();
|
||||
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
|
||||
|
@ -269,7 +275,6 @@ public class Events implements Listener {
|
|||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onPlace(BlockPlaceEvent e) {
|
||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
||||
|
||||
if (e.getItemInHand() != null && e.getItemInHand().hasItemMeta() && e.getItemInHand().getItemMeta().hasDisplayName()
|
||||
&& e.getItemInHand().getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
||||
e.setCancelled(true);
|
||||
|
@ -279,7 +284,6 @@ public class Events implements Listener {
|
|||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onDrop(PlayerDropItemEvent e) {
|
||||
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;
|
||||
|
||||
if (e.getItemDrop() != null && e.getItemDrop().getItemStack() != null) {
|
||||
ItemStack item = e.getItemDrop().getItemStack();
|
||||
if (item.hasItemMeta() && item.getItemMeta().hasDisplayName()
|
||||
|
@ -290,7 +294,7 @@ public class Events implements Listener {
|
|||
}
|
||||
|
||||
private static boolean legacy() {
|
||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12 || MCVersion.minecraft1_13 || MCVersion.minecraft1_14 || MCVersion.minecraft1_15 || 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;
|
||||
} else return false;
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ import org.bukkit.event.EventPriority;
|
|||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.*;
|
||||
|
||||
public class EventsFrom110 implements Listener {
|
||||
public class Events_from1_10 implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.HIGHEST)
|
||||
public void onHandSwap(PlayerSwapHandItemsEvent e) {
|
|
@ -6,13 +6,12 @@ import de.jatitv.commandguiv2.Spigot.objects.Obj_Select;
|
|||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.register.AliasRegister;
|
||||
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
|
||||
import de.jatitv.commandguiv2.Spigot.system.UseItem;
|
||||
import de.jatitv.commandguiv2.Spigot.system.Give_UseItem;
|
||||
import de.jatitv.commandguiv2.Spigot.config.config.ConfigCreate;
|
||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
||||
import de.jatitv.commandguiv2.Spigot.config.languages.LanguagesCreate;
|
||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
||||
import de.jatitv.commandguiv2.Spigot.system.Permissions;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
|
||||
import de.jatitv.commandguiv2.Util;
|
||||
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
|
||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
||||
|
@ -23,8 +22,6 @@ import org.bukkit.command.CommandSender;
|
|||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class Commands {
|
||||
public static void info(CommandSender sender) {
|
||||
if (sender instanceof Player) {
|
||||
|
@ -67,12 +64,8 @@ public class Commands {
|
|||
CmdExecuter_GUITab.arg1.put("admin", "commandgui.admin;commandgui.giveitem.other;commandgui.command.info");
|
||||
ConfigCreate.configCreate();
|
||||
SelectConfig.onSelect();
|
||||
|
||||
Main.plugin.reloadConfig();
|
||||
if (!Objects.equals(SelectDatabase.getStorage().toString(), SelectConfig.storage)) {
|
||||
if (sender instanceof Player) send.sender(sender, "You have changed the storage medium! To apply this change, you must restart the server!");
|
||||
send.console("You have changed the storage medium! To apply this change, you must restart the server!");
|
||||
}
|
||||
|
||||
LanguagesCreate.langCreate();
|
||||
|
||||
Obj_Select.onSelect();
|
||||
|
@ -84,11 +77,6 @@ public class Commands {
|
|||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
Permissions.onPermRegister();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if (SelectConfig.Bungee) {
|
||||
Bukkit.getMessenger().registerOutgoingPluginChannel(Main.plugin, "commandgui:bungee");
|
||||
|
@ -103,7 +91,7 @@ public class Commands {
|
|||
|
||||
public static void give(CommandSender sender, Player target) {
|
||||
if (Bukkit.getPlayer(target.getName()) != null) {
|
||||
UseItem.giveUseItem(target);
|
||||
Give_UseItem.onGive(target);
|
||||
send.sender(sender, SelectMessages.Give_Sender.replace("[player]", target.getName()).replace("[item]", SelectConfig.UseItem_Name));
|
||||
send.player(target, SelectMessages.Give_Receiver.replace("[sender]", sender.getName()).replace("[item]", SelectConfig.UseItem_Name));
|
||||
if (SelectConfig.Sound_Give_Enable && SelectConfig.Sound_Enable) {
|
||||
|
@ -119,7 +107,18 @@ public class Commands {
|
|||
}
|
||||
|
||||
public static void itemOn(Player player) {
|
||||
UseItem.removeItem(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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Integer slot = null;
|
||||
if (SelectConfig.UseItem_InventorySlotEnforce) {
|
||||
slot = SelectConfig.UseItem_InventorySlot;
|
||||
|
@ -132,8 +131,8 @@ public class Commands {
|
|||
}
|
||||
send.debug(Main.plugin, String.valueOf(slot));
|
||||
if (player.getInventory().getItem(slot - 1) == null) {
|
||||
SelectDatabase.setItemStatusTrue(player);
|
||||
UseItem.giveUseItem(player);
|
||||
Select_Database.setItemStatusTrue(player);
|
||||
Give_UseItem.onGive(player);
|
||||
} else {
|
||||
boolean empty = false;
|
||||
for (int i = 0; i < 9; i++) {
|
||||
|
@ -143,8 +142,8 @@ public class Commands {
|
|||
}
|
||||
}
|
||||
if (empty) {
|
||||
SelectDatabase.setItemStatusTrue(player);
|
||||
UseItem.addUseItem(player);
|
||||
Select_Database.setItemStatusTrue(player);
|
||||
Give_UseItem.onGiveADD(player);
|
||||
send.player(player, SelectMessages.ItemON);
|
||||
} else {
|
||||
player.sendMessage(SelectMessages.NoInventorySpace);
|
||||
|
@ -156,8 +155,19 @@ public class Commands {
|
|||
}
|
||||
|
||||
public static void itemOff(Player player) {
|
||||
SelectDatabase.setItemStatusFalse(player);
|
||||
UseItem.removeItem(player);
|
||||
Select_Database.setItemStatusFalse(player);
|
||||
for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) {
|
||||
ItemStack itm = player.getInventory().getItem(iam);
|
||||
if (itm != null) {
|
||||
if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) {
|
||||
if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
||||
player.getInventory().remove(itm);
|
||||
player.updateInventory();
|
||||
send.player(player, SelectMessages.ItemOFF);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void onSetSlot(Player player, Integer setSlot) {
|
||||
|
@ -170,7 +180,7 @@ public class Commands {
|
|||
send.player(player, SelectMessages.ItemSlot_wrongValue);
|
||||
return;
|
||||
}
|
||||
ItemStack itm1 = player.getInventory().getItem(setSlot + 1);
|
||||
ItemStack itm1 = player.getInventory().getItem(setSlot - 1);
|
||||
if (itm1 != null) {
|
||||
if (itm1.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm1.getType() == ItemVersion.getHead()) {
|
||||
if (itm1.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
||||
|
@ -183,11 +193,21 @@ public class Commands {
|
|||
send.player(player, SelectMessages.ItemSlotNotEmpty.replace("[slot]", setSlot.toString()));
|
||||
return;
|
||||
}
|
||||
UseItem.removeItem(player);
|
||||
SelectDatabase.setSlot(player, setSlot);
|
||||
Events.useItemSlotHashMap.replace(player, setSlot);
|
||||
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)) {
|
||||
UseItem.giveUseItem(player);
|
||||
Give_UseItem.onGive(player);
|
||||
}
|
||||
send.player(player, SelectMessages.ItemSlot.replace("[slot]", setSlot.toString()));
|
||||
} else player.sendMessage(Util.getPrefix() + " §4Function disabled");
|
||||
|
@ -196,24 +216,30 @@ public class Commands {
|
|||
public static void gui(Player player) {
|
||||
if (Main.guiHashMap.containsKey(SelectConfig.DefaultGUI)) {
|
||||
Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI);
|
||||
if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
|
||||
if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command") || player.hasPermission("commandgui.bypass")) {
|
||||
OpenGUI.openGUI(player, SelectConfig.DefaultGUI, true);
|
||||
if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) {
|
||||
if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command") || player.hasPermission("commandgui.bypass")) {
|
||||
OpenGUI.openGUI(player, SelectConfig.DefaultGUI);
|
||||
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")
|
||||
.replace("[perm]", "commandgui.command"));
|
||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.guiName));
|
||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.GUI_Name));
|
||||
}
|
||||
}
|
||||
|
||||
public static void gui(Player player, String arg) {
|
||||
if (Main.guiHashMap.containsKey(arg)) {
|
||||
Gui gui = Main.guiHashMap.get(arg);
|
||||
if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
|
||||
if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + gui.key) || player.hasPermission("commandgui.bypass")) {
|
||||
OpenGUI.openGUI(player, arg, true);
|
||||
} else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + gui.key)
|
||||
if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) {
|
||||
if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command." + gui.Command_Command) || player.hasPermission("commandgui.bypass")) {
|
||||
OpenGUI.openGUI(player, arg);
|
||||
if (SelectConfig.Sound_Enable && SelectConfig.Sound_OpenInventory_Enable) {
|
||||
player.playSound(player.getLocation(), SelectConfig.Sound_OpenInventory, 3, 1);
|
||||
}
|
||||
} else player.sendMessage(SelectMessages.NoPermissionForCommand.replace("[cmd]", "/commandgui " + gui.Command_Command)
|
||||
.replace("[perm]", "commandgui.command." + arg.toLowerCase()));
|
||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.key));
|
||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.Command_Command));
|
||||
} else player.sendMessage(SelectMessages.GUInotFound);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,10 +15,10 @@ public class Help {
|
|||
send.sender(sender, Prefix + " §8----- §4Command§9GUI §chelp §8-----");
|
||||
if (sender.hasPermission("commandgui.command")) {
|
||||
Gui gui = Main.guiHashMap.get(SelectConfig.DefaultGUI);
|
||||
send.sender(sender, Prefix + " " + SelectMessages.HelpCgui.replace("[gui]", Replace.replace(prefix,gui.guiName)));
|
||||
send.sender(sender, Prefix + " " + SelectMessages.HelpCgui.replace("[gui]", Replace.replace(prefix,gui.GUI_Name)));
|
||||
for (String alias : Main.allAliases) {
|
||||
if (Main.guiHashMap.get(alias).guiEnable || sender.hasPermission("commandgui.bypass")) {
|
||||
send.sender(sender, Prefix + " " + SelectMessages.HelpOpen.replace("[gui]", alias).replace("[guiname]", Replace.replace(prefix,Main.guiHashMap.get(alias).guiName)));
|
||||
if (Main.guiHashMap.get(alias).GUI_Enable || sender.hasPermission("commandgui.bypass")) {
|
||||
send.sender(sender, Prefix + " " + SelectMessages.HelpOpen.replace("[gui]", alias).replace("[guiname]", Replace.replace(prefix,Main.guiHashMap.get(alias).GUI_Name)));
|
||||
}
|
||||
}
|
||||
send.sender(sender, Prefix + " " + SelectMessages.HelpHelp);
|
||||
|
@ -31,6 +31,9 @@ public class Help {
|
|||
if (sender.hasPermission("commandgui.command.info")) {
|
||||
send.sender(sender, Prefix + " " + SelectMessages.HelpInfo);
|
||||
}
|
||||
// if (sender.hasPermission("commandgui.command.give")) {
|
||||
// send.sender(sender, Prefix + " " + Select_msg.HelpGive);
|
||||
// }
|
||||
if (sender.hasPermission("commandgui.admin")) {
|
||||
send.sender(sender, Prefix + " " + SelectMessages.HelpCreateDefaultGUI.replace("[directory]", Main.getPath()+ "\\GUIs\\default.yml"));
|
||||
send.sender(sender, Prefix + " " + SelectMessages.HelpReload);
|
||||
|
|
|
@ -23,7 +23,7 @@ public class AliasRegister {
|
|||
}
|
||||
for (String alias : Main.allAliases) {
|
||||
if (Main.guiHashMap.get(alias) != null) {
|
||||
if (Main.guiHashMap.get(alias).commandAliasEnable) {
|
||||
if (Main.guiHashMap.get(alias).Command_Alias_Enable) {
|
||||
try {
|
||||
final Field bukkitCommandMap = Bukkit.getServer().getClass().getDeclaredField("commandMap");
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ package de.jatitv.commandguiv2.Spigot.cmdManagement.register;
|
|||
import de.jatitv.commandguiv2.Spigot.Main;
|
||||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
||||
import de.jatitv.commandguiv2.Spigot.gui.OpenGUI;
|
||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
@ -23,12 +24,15 @@ public class RegisterCommand extends Command {
|
|||
if (sender instanceof Player) {
|
||||
Player player = (Player) sender;
|
||||
Gui gui = Main.guiHashMap.get(alias);
|
||||
if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
|
||||
if (!gui.commandPermissionEnable || player.hasPermission("commandgui.command." + alias) || player.hasPermission("commandgui.bypass")) {
|
||||
OpenGUI.openGUI(player, alias, true);
|
||||
if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) {
|
||||
if (!gui.Command_Permission_Enable || player.hasPermission("commandgui.command." + alias) || player.hasPermission("commandgui.bypass")) {
|
||||
OpenGUI.openGUI(player, alias);
|
||||
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)
|
||||
.replace("[perm]", "commandgui.command." + alias));
|
||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.guiName));
|
||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", gui.GUI_Name));
|
||||
} else sender.sendMessage("§8[§6Command§9GUI§8] §cThis command is only for players!");
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -26,13 +26,15 @@ public class ConfigCreate {
|
|||
|
||||
if (!config.exists()) Config.set("ConfigVersion", Util.getConfigVersion(), yamlConfiguration);
|
||||
|
||||
|
||||
Config.set("Plugin.UpdateCheckOnJoin", true, yamlConfiguration);
|
||||
Config.set("Plugin.Debug", false, yamlConfiguration);
|
||||
Config.set("Plugin.HelpAlias", true, yamlConfiguration);
|
||||
Config.set("Plugin.language", "english", yamlConfiguration);
|
||||
Config.set("Plugin.Currency", "$", yamlConfiguration);
|
||||
Config.set("Plugin.DefaultGUI", "default", yamlConfiguration);
|
||||
|
||||
Config.set("Storage.Type", "SQLITE", yamlConfiguration);
|
||||
Config.set("Storage.Type", "YML", yamlConfiguration);
|
||||
Config.set("Storage.MySQL.IP", "localhost", yamlConfiguration);
|
||||
Config.set("Storage.MySQL.Port", 3306, yamlConfiguration);
|
||||
Config.set("Storage.MySQL.Database", "database", yamlConfiguration);
|
||||
|
@ -100,6 +102,7 @@ public class ConfigCreate {
|
|||
Config.set("Advanced.UseItem.World.Protection.Mode", "blacklist", yamlConfiguration);
|
||||
Config.set("Advanced.UseItem.World.Protection.List", Arrays.asList("World1", "World2"), yamlConfiguration);
|
||||
|
||||
|
||||
Config.set("Toggle.Items.OnOrYes.Item.Base64.Enable", false, yamlConfiguration);
|
||||
Config.set("Toggle.Items.OnOrYes.Item.Base64.Base64Value", "", yamlConfiguration);
|
||||
Config.set("Toggle.Items.OnOrYes.Item.Material", ItemVersion.getGreenWool().getType().toString(), yamlConfiguration);
|
||||
|
|
|
@ -4,8 +4,6 @@ import de.jatitv.commandguiv2.Spigot.Main;
|
|||
import de.jatitv.commandguiv2.Spigot.config.configConverter.ConfigConverterUnderV5;
|
||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.MySQL;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.StorageType;
|
||||
import de.jatitv.commandguiv2.Util;
|
||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
||||
|
@ -22,12 +20,16 @@ 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 HelpAlias;
|
||||
public static String language;
|
||||
public static String Currency;
|
||||
public static List<String> mainCommands;
|
||||
|
||||
public static String storage;
|
||||
public static String Storage;
|
||||
|
||||
public static Boolean Bungee;
|
||||
public static String thisServer;
|
||||
|
@ -61,8 +63,6 @@ public class SelectConfig {
|
|||
public static String UseItemWorldMode;
|
||||
public static List<String> UseItemWorldList;
|
||||
|
||||
public static Boolean disableInfoBySneak;
|
||||
|
||||
public static Boolean UseItem_InventorySlot_FreeSlot;
|
||||
public static Integer UseItem_InventorySlot;
|
||||
public static Boolean UseItem_InventorySlotEnforce;
|
||||
|
@ -128,12 +128,18 @@ 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");
|
||||
HelpAlias = yamlConfiguration.getBoolean("Plugin.HelpAlias");
|
||||
language = yamlConfiguration.getString("Plugin.language");
|
||||
Currency = yamlConfiguration.getString("Plugin.Currency");
|
||||
DefaultGUI = yamlConfiguration.getString("Plugin.DefaultGUI");
|
||||
storage = yamlConfiguration.getString("Storage.Type").toUpperCase();
|
||||
|
||||
Storage = yamlConfiguration.getString("Storage.Type").toUpperCase();
|
||||
|
||||
MySQL.ip = yamlConfiguration.getString("Storage.MySQL.IP");
|
||||
MySQL.port = yamlConfiguration.getInt("Storage.MySQL.Port");
|
||||
|
@ -189,9 +195,6 @@ public class SelectConfig {
|
|||
UseItemWorldMode = yamlConfiguration.getString("Advanced.UseItem.World.Protection.Mode");
|
||||
UseItemWorldList = yamlConfiguration.getStringList("Advanced.UseItem.World.Protection.List");
|
||||
|
||||
if (yamlConfiguration.get("Advanced.UseItem.DisableInfoBySneak") != null){
|
||||
disableInfoBySneak = yamlConfiguration.getBoolean("Advanced.UseItem.DisableInfoBySneak");
|
||||
}
|
||||
|
||||
toggleItemOnOrYesBase64 = yamlConfiguration.getBoolean("Toggle.Items.OnOrYes.Item.Base64.Enable");
|
||||
toggleItemOnOrYesBase64Value = yamlConfiguration.getString("Toggle.Items.OnOrYes.Item.Base64.Base64Value");
|
||||
|
|
|
@ -152,8 +152,8 @@ public class ConfigConverterUnderV5 {
|
|||
set("Slots." + key + ".Enable", slotEnable, yamlConfiguration);
|
||||
set("Slots." + key + ".Function", function, yamlConfiguration);
|
||||
set("Slots." + key + ".Permission.Required", permRequired, yamlConfiguration);
|
||||
set("Slots." + key + ".Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
|
||||
set("Slots." + key + ".Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
|
||||
set("Slots." + key + ".Permission.See", "commandgui.gui.[guiname].slot.[slot].see", yamlConfiguration);
|
||||
set("Slots." + key + ".Permission.Use", "commandgui.gui.[guiname].slot.[slot].use", yamlConfiguration);
|
||||
}
|
||||
|
||||
private static void set(String path, String value, YamlConfiguration config) {
|
||||
|
|
|
@ -33,15 +33,15 @@ public class CreateGUI {
|
|||
set("Slots.SupportDiscord.Enable", true, yamlConfiguration);
|
||||
set("Slots.SupportDiscord.Function", "SupportDiscord", yamlConfiguration);
|
||||
set("Slots.SupportDiscord.Permission.Required", false, yamlConfiguration);
|
||||
set("Slots.SupportDiscord.Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
|
||||
set("Slots.SupportDiscord.Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
|
||||
set("Slots.SupportDiscord.Permission.See", "commandgui.gui.[guiname].slot.[slot].see", yamlConfiguration);
|
||||
set("Slots.SupportDiscord.Permission.Use", "commandgui.gui.[guiname].slot.[slot].use", yamlConfiguration);
|
||||
|
||||
set("Slots.UseItem.Slot", 6, yamlConfiguration);
|
||||
set("Slots.UseItem.Enable", true, yamlConfiguration);
|
||||
set("Slots.UseItem.Function", "UseItem", yamlConfiguration);
|
||||
set("Slots.UseItem.Permission.Required", false, yamlConfiguration);
|
||||
set("Slots.UseItem.Permission.See", "commandgui.gui.[function].slot.[slot].see", yamlConfiguration);
|
||||
set("Slots.UseItem.Permission.Use", "commandgui.gui.[function].slot.[slot].use", yamlConfiguration);
|
||||
set("Slots.UseItem.Permission.See", "commandgui.gui.[guiname].slot.[slot].see", yamlConfiguration);
|
||||
set("Slots.UseItem.Permission.Use", "commandgui.gui.[guiname].slot.[slot].use", yamlConfiguration);
|
||||
|
||||
|
||||
try {
|
||||
|
|
|
@ -109,13 +109,13 @@ public class GuiBuilder {
|
|||
public static void fillItem(Inventory inventory, Gui gui) {
|
||||
ItemStack glass;
|
||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
||||
glass = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, Short.valueOf(gui.guiFillItemItem));
|
||||
} else glass = new ItemStack(Material.valueOf(gui.guiFillItemItem.toUpperCase().replace(".", "_")));
|
||||
glass = new ItemStack(Material.valueOf("STAINED_GLASS_PANE"), 1, Short.valueOf(gui.GUI_FillItem_Item));
|
||||
} else glass = new ItemStack(Material.valueOf(gui.GUI_FillItem_Item.toUpperCase().replace(".", "_")));
|
||||
ItemMeta itemMetaglass = glass.getItemMeta();
|
||||
itemMetaglass.setDisplayName(" ");
|
||||
glass.setItemMeta(itemMetaglass);
|
||||
glass.setAmount(1);
|
||||
for (int i = 0; i < 9 * gui.guiLines; i++) {
|
||||
for (int i = 0; i < 9 * gui.GUI_Lines; i++) {
|
||||
inventory.setItem(i, glass);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package de.jatitv.commandguiv2.Spigot.gui;
|
||||
|
||||
import de.jatitv.commandguiv2.Spigot.Listener.GUIListener;
|
||||
import de.jatitv.commandguiv2.Spigot.Listener.GUI_Listener;
|
||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
||||
import de.jatitv.commandguiv2.Spigot.Main;
|
||||
import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
|
||||
|
@ -26,7 +26,7 @@ public class OpenGUI {
|
|||
private static Plugin plugin = Main.plugin;
|
||||
private static String prefix = Util.getPrefix();
|
||||
|
||||
public static void openGUI(Player player, String guiString, Boolean sound) {
|
||||
public static void openGUI(Player player, String guiString) {
|
||||
Gui gui = Main.guiHashMap.get(guiString);
|
||||
Long long_ = Long.valueOf(System.currentTimeMillis());
|
||||
switch (guiString) {
|
||||
|
@ -63,26 +63,20 @@ public class OpenGUI {
|
|||
}
|
||||
|
||||
if (MCVersion.minecraft1_13) {
|
||||
GUIListener.GUICode = "";
|
||||
} else GUIListener.GUICode = "§6§8§9§r";
|
||||
if (gui.guiEnable || player.hasPermission("commandgui.bypass")) {
|
||||
GUI_Listener.GUICode = "";
|
||||
} else GUI_Listener.GUICode = "§6§8§9§r";
|
||||
if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) {
|
||||
Inventory inventory;
|
||||
if (Main.PaPi) {
|
||||
inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.guiLines, (Replace.replace(prefix, player, GUIListener.GUICode + gui.guiName)));
|
||||
} else inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.guiLines, (Replace.replace(prefix, GUIListener.GUICode + gui.guiName)));
|
||||
inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.GUI_Lines, (Replace.replace(prefix, player, GUI_Listener.GUICode + gui.GUI_Name)));
|
||||
} else inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.GUI_Lines, (Replace.replace(prefix, GUI_Listener.GUICode + gui.GUI_Name)));
|
||||
|
||||
if (gui.guiFillItemEnable) {
|
||||
if (gui.GUI_FillItem_Enable) {
|
||||
GuiBuilder.fillItem(inventory, gui);
|
||||
}
|
||||
for (Slot slot : gui.slots) {
|
||||
Function function = Main.functionHashMap.get(slot.function);
|
||||
if (function == null) {
|
||||
send.error(Main.plugin, "The Function " + slot.function + " in the GUI " + gui.key + " does not exist!");
|
||||
continue;
|
||||
}
|
||||
if (slot.permission && !player.hasPermission(slot.permissionToSee)) continue;
|
||||
if (slot.slot < 0 || slot.slot > gui.guiLines * 9) continue;
|
||||
|
||||
if (slot.permission || !player.hasPermission(slot.permissionToSee)) continue;
|
||||
if (slot.enable) {
|
||||
if (function.empty) {
|
||||
ItemStack air = new ItemStack(Material.AIR);
|
||||
|
@ -104,9 +98,9 @@ public class OpenGUI {
|
|||
if (function.playerHead_Enable) {
|
||||
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
|
||||
send.player(player, prefix + "§c Playerheads are only available from version §61.13§c! §7- §bGUI: §6" +
|
||||
Replace.replace(prefix, gui.guiName).toString() + " §bSlot: §6" + (slot.slot + 1) + " §7- " + Replace.replace(prefix, function.name));
|
||||
Replace.replace(prefix, gui.GUI_Name).toString() + " §bSlot: §6" + (slot.slot + 1) + " §7- " + Replace.replace(prefix, function.name));
|
||||
send.error(plugin, "Playerheads are only available from version 1.13!");
|
||||
send.console(prefix + " §bGUI: §6" + Replace.replace(prefix, gui.guiName).toString() + " §bSlot: §6" +
|
||||
send.console(prefix + " §bGUI: §6" + Replace.replace(prefix, gui.GUI_Name).toString() + " §bSlot: §6" +
|
||||
(slot.slot + 1) + " §7- " + Replace.replace(prefix, function.name));
|
||||
} else {
|
||||
if (function.base64_Enable) {
|
||||
|
@ -127,14 +121,9 @@ 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);
|
||||
send.debug(plugin, "§6" + player.getName() + " §5Open §6" + Replace.replace(prefix, gui.guiName) + " §5" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
|
||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", Replace.replace(prefix, gui.guiName)));
|
||||
send.debug(plugin, "§6" + player.getName() + " §5Open §6" + Replace.replace(prefix, gui.GUI_Name) + " §5" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
|
||||
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", Replace.replace(prefix, gui.GUI_Name)));
|
||||
}
|
||||
|
||||
private static void toggleOn(Function function, Integer slot, Player player, Inventory inventory) {
|
||||
|
|
|
@ -5,7 +5,6 @@ import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab;
|
|||
import de.jatitv.commandguiv2.Spigot.objects.functions.Function;
|
||||
import de.jatitv.commandguiv2.Spigot.objects.guis.Gui;
|
||||
import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
|
||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
|
@ -17,8 +16,8 @@ import java.util.Objects;
|
|||
|
||||
public class Obj_Select {
|
||||
public static void onSelect() {
|
||||
onSelectFunction();
|
||||
onSelectGui();
|
||||
onSelectFunction();
|
||||
}
|
||||
|
||||
public static void onSelectGui() {
|
||||
|
@ -30,9 +29,9 @@ public class Obj_Select {
|
|||
for (File config_gui : fileArray) {
|
||||
String sub = config_gui.getName().substring(config_gui.getName().length() - 4);
|
||||
if (sub.equals(".yml")) {
|
||||
String key = config_gui.getName().replace(".yml", "");
|
||||
Main.allAliases.add(key);
|
||||
Main.allAliases.add(config_gui.getName().replace(".yml", ""));
|
||||
YamlConfiguration yamlConfiguration_gui = YamlConfiguration.loadConfiguration(config_gui);
|
||||
String guiFileName = config_gui.getName().replace(".yml", "");
|
||||
|
||||
Boolean guiEnable = yamlConfiguration_gui.getBoolean("GUI.Enable");
|
||||
Integer guiLines = yamlConfiguration_gui.getInt("GUI.Lines");
|
||||
|
@ -54,31 +53,25 @@ public class Obj_Select {
|
|||
Boolean commandPermission = yamlConfiguration_gui.getBoolean("Command.Permission.Required");
|
||||
|
||||
ArrayList<Slot> slots = new ArrayList<>();
|
||||
for (String slotKey : yamlConfiguration_gui.getConfigurationSection("Slots").getKeys(false)) {
|
||||
Integer slotNumber = yamlConfiguration_gui.getInt("Slots." + slotKey + ".Slot") - 1;
|
||||
Boolean enable = yamlConfiguration_gui.getBoolean("Slots." + slotKey + ".Enable");
|
||||
String function = yamlConfiguration_gui.getString("Slots." + slotKey + ".Function");
|
||||
Function functionCheck = Main.functionHashMap.get(function);
|
||||
if (functionCheck == null) {
|
||||
send.error(Main.plugin, "The Function " + function + " in the GUI " + key + " does not exist!");
|
||||
}
|
||||
Boolean permRequired = yamlConfiguration_gui.getBoolean("Slots." + slotKey + ".Permission.Required");
|
||||
String permSee = yamlConfiguration_gui.getString("Slots." + slotKey + ".Permission.See");
|
||||
String permUse = yamlConfiguration_gui.getString("Slots." + slotKey + ".Permission.Use");
|
||||
for (String key : yamlConfiguration_gui.getConfigurationSection("Slots").getKeys(false)) {
|
||||
Integer slotNumber = yamlConfiguration_gui.getInt("Slots." + key + ".Slot") - 1;
|
||||
Boolean enable = yamlConfiguration_gui.getBoolean("Slots." + key + ".Enable");
|
||||
String function = yamlConfiguration_gui.getString("Slots." + key + ".Function");
|
||||
Boolean permRequired = yamlConfiguration_gui.getBoolean("Slots." + key + ".Permission.Required");
|
||||
String permSee = yamlConfiguration_gui.getString("Slots." + key + ".Permission.See");
|
||||
String permUse = yamlConfiguration_gui.getString("Slots." + key + ".Permission.Use");
|
||||
|
||||
Slot slot = new Slot(slotNumber, enable, function, permRequired,
|
||||
Objects.requireNonNull(permSee).replace("[function]", key).replace("[slot]", String.valueOf(slotNumber + 1))
|
||||
.replace("[slotname]", slotKey.toLowerCase()),
|
||||
Objects.requireNonNull(permUse).replace("[function]", key).replace("[slot]", String.valueOf(slotNumber + 1))
|
||||
.replace("[slotname]", slotKey.toLowerCase()));
|
||||
Objects.requireNonNull(permSee).replace("[guiname]", guiFileName).replace("[slot]", String.valueOf(slotNumber))
|
||||
.replace("[slotname]", key), permUse);
|
||||
slots.add(slot);
|
||||
}
|
||||
Gui gui = new Gui(guiEnable, guiLines, guiName, guiFillItemEnable, guiFillItemItem,
|
||||
key, commandAliasEnable, commandPermission, slots);
|
||||
config_gui.getName().replace(".yml", ""), commandAliasEnable, commandPermission, slots);
|
||||
|
||||
Main.guiHashMap.put(key, gui);
|
||||
Main.guiHashMap.put(guiFileName, gui);
|
||||
CmdExecuter_GUITab.arg1.put(config_gui.getName()
|
||||
.replace(".yml", ""), "commandgui.gui." + key);
|
||||
.replace(".yml", ""), "commandgui.gui." + config_gui.getName().replace(".yml", ""));
|
||||
|
||||
try {
|
||||
yamlConfiguration_gui.save(config_gui);
|
||||
|
@ -99,7 +92,6 @@ public class Obj_Select {
|
|||
if (sub.equals(".yml")) {
|
||||
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
|
||||
|
||||
String key = config.getName().replace(".yml", "");
|
||||
Boolean empty = yamlConfiguration.getBoolean("Slots.Function.Item.Empty");
|
||||
Integer itemAmount = yamlConfiguration.getInt("Slots.Function.Item.Amount");
|
||||
Boolean playerHead_Enable = yamlConfiguration.getBoolean("Slots.Function.Item.PlayerHead.Enable");
|
||||
|
@ -151,13 +143,13 @@ public class Obj_Select {
|
|||
String pluginReloadCommand = yamlConfiguration.getString("Slots.Function.SetConfig.PluginReload.Command");
|
||||
|
||||
|
||||
Function function = new Function(key, empty, itemAmount, playerHead_Enable, base64_Enable, base64Value, playerWhoHasOpenedTheGUI, playerName, item, name, lore,
|
||||
Function function = new Function(empty, itemAmount, playerHead_Enable, base64_Enable, base64Value, playerWhoHasOpenedTheGUI, playerName, item, name, lore,
|
||||
customSound_Enable, customSound_NoSound, customSound_Sound, cost_Enable, price, command_Enable, command_BungeeCommand, commandAsConsole, command,
|
||||
serverChange, serverChangeServer, openGUI_Enable, openGUI, togglePermission, togglePermissionPerm, toggleUseItem, message_Enable, message,
|
||||
setConfigEnable, configFilePath, configOptionPath, configOptionPremat, configStringValueLeft, configBooleanValueLeft, configIntegerValueLeft,
|
||||
configDoubleValueLeft, configListValueLeft, configStringValueRight, configBooleanValueRight, configIntegerValueRight, configDoubleValueRight,
|
||||
configListValueRight, pluginReloadEnable, pluginReloadCommand);
|
||||
Main.functionHashMap.put(key, function);
|
||||
Main.functionHashMap.put(config.getName().replace(".yml", ""), function);
|
||||
|
||||
try {
|
||||
yamlConfiguration.save(config);
|
||||
|
|
|
@ -4,7 +4,6 @@ import java.util.List;
|
|||
|
||||
public class Function {
|
||||
|
||||
public String key;
|
||||
public Boolean empty;
|
||||
public Integer itemAmount;
|
||||
public Boolean playerHead_Enable;
|
||||
|
@ -55,8 +54,7 @@ public class Function {
|
|||
public Boolean pluginReloadEnable;
|
||||
public String pluginReloadCommand;
|
||||
|
||||
public Function(String key,
|
||||
Boolean empty,
|
||||
public Function(Boolean empty,
|
||||
Integer itemAmount,
|
||||
Boolean playerHead_Enable,
|
||||
Boolean base64Value_Enable,
|
||||
|
@ -103,7 +101,6 @@ public class Function {
|
|||
|
||||
Boolean pluginReloadEnable,
|
||||
String pluginReloadCommand) {
|
||||
this.key = key;
|
||||
this.empty = empty;
|
||||
this.itemAmount = itemAmount;
|
||||
this.playerHead_Enable = playerHead_Enable;
|
||||
|
@ -155,5 +152,6 @@ public class Function {
|
|||
this.pluginReloadCommand = pluginReloadCommand;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,28 +5,28 @@ import de.jatitv.commandguiv2.Spigot.objects.slots.Slot;
|
|||
import java.util.ArrayList;
|
||||
|
||||
public class Gui {
|
||||
public Boolean guiEnable;
|
||||
public Integer guiLines;
|
||||
public String guiName;
|
||||
public Boolean guiFillItemEnable;
|
||||
public String guiFillItemItem;
|
||||
public Boolean GUI_Enable;
|
||||
public Integer GUI_Lines;
|
||||
public String GUI_Name;
|
||||
public Boolean GUI_FillItem_Enable;
|
||||
public String GUI_FillItem_Item;
|
||||
|
||||
|
||||
public String key;
|
||||
public Boolean commandAliasEnable;
|
||||
public Boolean commandPermissionEnable;
|
||||
public String Command_Command;
|
||||
public Boolean Command_Alias_Enable;
|
||||
public Boolean Command_Permission_Enable;
|
||||
public ArrayList<Slot> slots;
|
||||
|
||||
public Gui(Boolean guiEnable, Integer guiLines, String guiName, Boolean guiFillitemEnable, String guiFillitemItem,
|
||||
String commandCommand, Boolean commandAliasEnable, Boolean commandPermissionEnable, ArrayList<Slot> slots){
|
||||
this.guiEnable = guiEnable;
|
||||
this.guiLines = guiLines;
|
||||
this.guiName = guiName;
|
||||
this.guiFillItemEnable = guiFillitemEnable;
|
||||
this.guiFillItemItem = guiFillitemItem;
|
||||
this.key = commandCommand;
|
||||
this.commandAliasEnable = commandAliasEnable;
|
||||
this.commandPermissionEnable = commandPermissionEnable;
|
||||
public Gui(Boolean GUI_Enable, Integer GUI_Lines, String GUI_Name, Boolean GUI_FillItem_Enable, String GUI_FillItem_Item,
|
||||
String Command_Command, Boolean Command_Alias_Enable, Boolean Command_Permission_Enable, ArrayList<Slot> slots){
|
||||
this.GUI_Enable = GUI_Enable;
|
||||
this.GUI_Lines = GUI_Lines;
|
||||
this.GUI_Name = GUI_Name;
|
||||
this.GUI_FillItem_Enable = GUI_FillItem_Enable;
|
||||
this.GUI_FillItem_Item = GUI_FillItem_Item;
|
||||
this.Command_Command = Command_Command;
|
||||
this.Command_Alias_Enable = Command_Alias_Enable;
|
||||
this.Command_Permission_Enable = Command_Permission_Enable;
|
||||
this.slots = slots;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.mojang.authlib.properties.Property;
|
|||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
|
||||
import de.jatitv.commandguiv2.Spigot.Main;
|
||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
|
||||
import de.jatitv.commandguiv2.Util;
|
||||
import net.t2code.lib.Spigot.Lib.items.ItemVersion;
|
||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
||||
|
@ -20,16 +20,15 @@ import org.bukkit.inventory.meta.SkullMeta;
|
|||
import java.lang.reflect.Field;
|
||||
import java.util.UUID;
|
||||
|
||||
public class UseItem {
|
||||
public class Give_UseItem {
|
||||
|
||||
|
||||
public static void giveUseItem(Player player) {
|
||||
public static void onGive(Player player) {
|
||||
Integer slot;
|
||||
if (protection(player, false)) return;
|
||||
if (SelectConfig.UseItem_InventorySlotEnforce) {
|
||||
if (SelectConfig.UseItem_InventorySlotEnforce){
|
||||
slot = SelectConfig.UseItem_InventorySlot;
|
||||
} else {
|
||||
if (Events.useItemSlotHashMap.get(player) == null) {
|
||||
if (Events.useItemSlotHashMap.get(player)== null) {
|
||||
slot = SelectConfig.UseItem_InventorySlot;
|
||||
} else {
|
||||
slot = Events.useItemSlotHashMap.get(player);
|
||||
|
@ -38,13 +37,12 @@ public class UseItem {
|
|||
if (SelectConfig.UseItem_InventorySlot_FreeSlot) {
|
||||
player.getInventory().addItem(itemStack(player));
|
||||
} else {
|
||||
send.debug(Main.plugin, "setUseItem: " + player.getName() + " Slot: " + Integer.parseInt(String.valueOf(slot - 1)));
|
||||
send.debug(Main.plugin,"setUseItem: " + player.getName() + " Slot: "+ Integer.parseInt(String.valueOf(slot-1)));
|
||||
player.getInventory().setItem(slot - 1, itemStack(player));
|
||||
}
|
||||
}
|
||||
|
||||
public static void addUseItem(Player player) {
|
||||
if (protection(player, false)) return;
|
||||
public static void onGiveADD(Player player) {
|
||||
if (SelectConfig.UseItem_InventorySlot_FreeSlot) {
|
||||
player.getInventory().addItem(itemStack(player));
|
||||
} else player.getInventory().addItem(itemStack(player));
|
||||
|
@ -98,52 +96,4 @@ public class UseItem {
|
|||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
public static boolean protection(Player player, Boolean interact) {
|
||||
if (SelectConfig.UseItemGameModeProtection) {
|
||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
|
||||
if (interact) {
|
||||
send.player(player, SelectMessages.UseItemDisabledInGameMode);
|
||||
} else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
|
||||
return true;
|
||||
}
|
||||
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
|
||||
if (interact) {
|
||||
send.player(player, SelectMessages.UseItemDisabledInGameMode);
|
||||
} else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (SelectConfig.UseItemWorldProtection) {
|
||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
|
||||
if (interact) {
|
||||
send.player(player, SelectMessages.UseItemDisabledInWorld);
|
||||
} else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
|
||||
return true;
|
||||
}
|
||||
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
|
||||
if (interact) {
|
||||
send.player(player, SelectMessages.UseItemDisabledInWorld);
|
||||
} else if (!SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled) removeItem(player);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void removeItem(Player player) {
|
||||
send.debug(Main.plugin, "World disabled: " + player.getName() + " " + player.getWorld().toString());
|
||||
for (int iam = 0; iam < player.getInventory().getSize() - 5; iam++) {
|
||||
ItemStack itm = player.getInventory().getItem(iam);
|
||||
if (itm != null) {
|
||||
if (itm.getType() == Material.valueOf(SelectConfig.UseItem_Material) || itm.getType() == ItemVersion.getHead()) {
|
||||
if (itm.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name)) {
|
||||
player.getInventory().remove(itm);
|
||||
player.updateInventory();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
package de.jatitv.commandguiv2.Spigot.system;
|
||||
|
||||
import de.jatitv.commandguiv2.Spigot.Listener.GUIListener;
|
||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.EventsFrom110;
|
||||
import de.jatitv.commandguiv2.Spigot.Listener.GUI_Listener;
|
||||
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events_from1_10;
|
||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUITab;
|
||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_GUIItem;
|
||||
import de.jatitv.commandguiv2.Spigot.cmdManagement.CmdExecuter_Help;
|
||||
|
@ -17,9 +17,6 @@ import de.jatitv.commandguiv2.Spigot.Main;
|
|||
import de.jatitv.commandguiv2.Spigot.objects.Obj_Select;
|
||||
import de.jatitv.commandguiv2.Spigot.config.config.ConfigCreate;
|
||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.SQLITE;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.StorageType;
|
||||
import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
|
||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
||||
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
|
||||
|
@ -29,7 +26,6 @@ import org.bukkit.Bukkit;
|
|||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.io.*;
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
|
||||
public class Load {
|
||||
|
@ -46,6 +42,7 @@ public class Load {
|
|||
|
||||
send.console(prefix + " §8-------------------------------");
|
||||
|
||||
|
||||
if (!new File(Main.getPath(), "config.yml").exists()) {
|
||||
try {
|
||||
CreateGUI.configCreate();
|
||||
|
@ -111,9 +108,28 @@ public class Load {
|
|||
}
|
||||
|
||||
send.console(prefix + " §8-------------------------------");
|
||||
loadStorage(prefix);
|
||||
send.console(prefix + " §8-------------------------------");
|
||||
if (SelectConfig.Storage.equals("MYSQL")) {
|
||||
MySQL.main();
|
||||
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) {
|
||||
send.console(prefix + " §2PlaceholderAPI successfully connected!");
|
||||
} else {
|
||||
|
@ -121,7 +137,7 @@ public class Load {
|
|||
}
|
||||
|
||||
try {
|
||||
Permissions.onPermRegister();
|
||||
RegisterPermissions.onPermRegister();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -141,13 +157,13 @@ public class Load {
|
|||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new GUIListener(), plugin);
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new GUI_Listener(), plugin);
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new PluginEvent(), plugin);
|
||||
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new Events(), Main.plugin);
|
||||
|
||||
if (!MCVersion.minecraft1_8 && !MCVersion.minecraft1_9) {
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new EventsFrom110(), plugin);
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new Events_from1_10(), plugin);
|
||||
}
|
||||
|
||||
UpdateAPI.onUpdateCheck(plugin, prefix, spigot, spigotID, discord);
|
||||
|
@ -155,55 +171,4 @@ public class Load {
|
|||
Main.addonLoad();
|
||||
T2CodeTemplate.onLoadFooter(prefix, long_);
|
||||
}
|
||||
|
||||
private static void loadStorage(String prefix) {
|
||||
try {
|
||||
SelectDatabase.setStorage(StorageType.valueOf(SelectConfig.storage));
|
||||
} catch (Exception ignored) {
|
||||
send.error(Main.plugin, "The storage medium " + SelectConfig.storage + " is not supported!");
|
||||
send.error(Main.plugin, "Storage medium " + StorageType.SQLITE + " is used.");
|
||||
SelectDatabase.setStorage(StorageType.SQLITE);
|
||||
}
|
||||
|
||||
switch (SelectDatabase.getStorage()) {
|
||||
case MYSQL:
|
||||
send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.");
|
||||
MySQL.main();
|
||||
try {
|
||||
MySQL.query("CREATE TABLE IF NOT EXISTS `gui-item` (" +
|
||||
" `UUID` VARCHAR(191) NOT NULL COLLATE 'utf8mb4_general_ci'," +
|
||||
" `Name` TINYTEXT NOT NULL COLLATE 'utf8mb4_general_ci'," +
|
||||
" `Status` INT(1) NOT NULL DEFAULT '1'," +
|
||||
" `Slot` INT(1) NULL DEFAULT NULL," +
|
||||
" UNIQUE INDEX `UUID` (`UUID`)" +
|
||||
")" +
|
||||
"COLLATE='utf8mb4_general_ci'" +
|
||||
"ENGINE=InnoDB" +
|
||||
";");
|
||||
MySQL.query("ALTER TABLE `gui-item` ADD COLUMN IF NOT EXISTS `Slot` INT(1) NULL DEFAULT NULL AFTER `Status`;");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
break;
|
||||
case YML:
|
||||
send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.");
|
||||
break;
|
||||
default:
|
||||
case SQLITE:
|
||||
send.console(prefix + " §2Storage medium §6" + SelectDatabase.getStorage() + " §2is used.");
|
||||
try {
|
||||
SQLITE.main();
|
||||
SQLITE.query("CREATE TABLE IF NOT EXISTS `gui-item` (" +
|
||||
"UUID TEXT NOT NULL," +
|
||||
"Name TEXT NOT NULL," +
|
||||
"Status INTEGER NOT NULL DEFAULT 1," +
|
||||
"Slot INTEGER," +
|
||||
"PRIMARY KEY(UUID)" +
|
||||
");");
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,8 +5,6 @@ package de.jatitv.commandguiv2.Spigot.system;
|
|||
|
||||
import de.jatitv.commandguiv2.Spigot.Main;
|
||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.StorageType;
|
||||
import de.jatitv.commandguiv2.Util;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
@ -36,13 +34,8 @@ public class Metrics {
|
|||
public static void Bstats() {
|
||||
int pluginId = Util.getBstatsID(); // <-- Replace with the id of your plugin!
|
||||
Metrics metrics = new Metrics(Main.plugin, pluginId);
|
||||
metrics.addCustomChart(new DrilldownPie("storage_type_mysql", () -> {
|
||||
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;
|
||||
}));
|
||||
metrics.addCustomChart(new Metrics.SimplePie("updatecheckonjoin", () -> String.valueOf(SelectConfig.UpdateCheckOnJoin)));
|
||||
metrics.addCustomChart(new Metrics.SimplePie("storage_type_mysql", () -> SelectConfig.Storage));
|
||||
}
|
||||
|
||||
private final Plugin plugin;
|
||||
|
|
|
@ -1,77 +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.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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -35,9 +35,9 @@ public class MySQL {
|
|||
config.addDataSourceProperty("prepStmtCacheSize", "250");
|
||||
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
|
||||
ds = new HikariDataSource(config);
|
||||
send.console(Main.prefix + " §2MYSQL successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
send.console(Main.prefix + " §2MySQL successfully connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
} catch (Exception ex) {
|
||||
send.console(Main.prefix + " §4MYSQL not connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
send.console(Main.prefix + " §4MySQL not connected." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
|
||||
send.error(Main.plugin, ex.getMessage() + " --- " + (System.currentTimeMillis() - long_) + "ms");
|
||||
}
|
||||
//Bukkit.getConsoleSender().sendMessage((System.currentTimeMillis() - long_) + "ms");
|
||||
|
|
|
@ -1,135 +0,0 @@
|
|||
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();
|
||||
}
|
||||
}
|
|
@ -1,127 +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 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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
package de.jatitv.commandguiv2.Spigot.system.database;
|
||||
|
||||
public enum StorageType {
|
||||
MYSQL,
|
||||
SQLITE,
|
||||
YML
|
||||
}
|
|
@ -8,8 +8,7 @@ import de.jatitv.commandguiv2.Spigot.cmdManagement.Help;
|
|||
import de.jatitv.commandguiv2.Spigot.config.gui.CreateGUI;
|
||||
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
|
||||
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
|
||||
import de.jatitv.commandguiv2.Spigot.system.Permissions;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.SelectDatabase;
|
||||
import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
|
||||
import net.t2code.lib.Spigot.Lib.messages.send;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
@ -53,12 +52,12 @@ public class CGuiAPI {
|
|||
|
||||
public static void setPlayerItemEnable(Player player, Boolean value) {
|
||||
if (value) {
|
||||
SelectDatabase.setItemStatusTrue(player);
|
||||
} else SelectDatabase.setItemStatusFalse(player);
|
||||
Select_Database.setItemStatusTrue(player);
|
||||
} else Select_Database.setItemStatusFalse(player);
|
||||
}
|
||||
|
||||
public static void setPlayerItemSlot(Player player, Integer value) {
|
||||
SelectDatabase.setSlot(player, value);
|
||||
Select_Database.setSlot(player, value);
|
||||
}
|
||||
|
||||
public static void openDefaultGUI(Player player) {
|
||||
|
@ -74,24 +73,26 @@ public class CGuiAPI {
|
|||
}
|
||||
|
||||
public static void sendPluginInfo(CommandSender sender) {
|
||||
if (sender.hasPermission(Permissions.info)) {
|
||||
if (sender.hasPermission("commandgui.command.info")) {
|
||||
Commands.info(sender);
|
||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
|
||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.info));
|
||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.command.info"));
|
||||
}
|
||||
|
||||
public static void createDefaultGUI(CommandSender sender) {
|
||||
if (sender.hasPermission(Permissions.admin)) {
|
||||
if (sender.hasPermission("commandgui.admin")) {
|
||||
CreateGUI.configCreate();
|
||||
sender.sendMessage(SelectMessages.DefaultGUIcreate.replace("[directory]", Main.getPath() + "\\GUIs\\default.yml"));
|
||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
|
||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin));
|
||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
|
||||
}
|
||||
|
||||
public static void reload(CommandSender sender) {
|
||||
if (sender.hasPermission(Permissions.admin)) {
|
||||
if (sender.hasPermission("commandgui.admin")) {
|
||||
Commands.reload(sender);
|
||||
} else sender.sendMessage(SelectMessages.NoPermissionForCommand
|
||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", Permissions.admin));
|
||||
.replace("[cmd]", "/commandgui admin").replace("[perm]", "commandgui.admin"));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -19,54 +19,56 @@ commands:
|
|||
commandguihelp:
|
||||
description: CommandGUI Help
|
||||
aliases: [cguihelp, guihelp]
|
||||
# commandguiadmin:
|
||||
# aliases: [cguiadmin, cguia]
|
||||
commandgui-item:
|
||||
aliases: [gui-item]
|
||||
|
||||
|
||||
#permissions:
|
||||
# commandgui.admin:
|
||||
# description: All permissions from CommandGUI
|
||||
# default: op
|
||||
# children:
|
||||
# commandgui.command: true
|
||||
# commandgui.get.guiitem.at.login: true
|
||||
# commandgui.useitem: true
|
||||
# commandgui.useitem.toggle: true
|
||||
# commandgui.updatemsg: true
|
||||
# commandgui.bypass: true
|
||||
# commandgui.command.info: true
|
||||
# commandgui.command.give: true
|
||||
#
|
||||
# commandgui.player:
|
||||
# description: All permissions from CommandGUI
|
||||
# default: op
|
||||
# children:
|
||||
# commandgui.command: true
|
||||
# commandgui.get.guiitem.at.login: true
|
||||
# commandgui.useitem: true
|
||||
# commandgui.useitem.toggle: true
|
||||
#
|
||||
# commandgui.updatemsg:
|
||||
# description: Players with this permission get the update message when joining if an update is available
|
||||
# default: op
|
||||
# commandgui.command:
|
||||
# description: Required permission to open GUIs via command
|
||||
# default: op
|
||||
# commandgui.get.guiitem.at.login:
|
||||
# description: Only players with this permission will receive the GUI item
|
||||
# default: op
|
||||
# commandgui.useitem:
|
||||
# description: Required permission to use the GUI Item
|
||||
# default: op
|
||||
# commandgui.useitem.toggle:
|
||||
# description: Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true)
|
||||
# default: op
|
||||
# commandgui.bypass:
|
||||
# description: Bypass to open disabled GUIs
|
||||
# default: op
|
||||
# commandgui.command.info:
|
||||
# description: Permission to view CommandGUI info
|
||||
# default: not op
|
||||
# commandgui.command.give:
|
||||
# description: Kommend in V2.1.0
|
||||
# default: op
|
||||
permissions:
|
||||
commandgui.admin:
|
||||
description: All permissions from CommandGUI
|
||||
default: op
|
||||
children:
|
||||
commandgui.updatemsg: true
|
||||
commandgui.command: true
|
||||
commandgui.get.guiitem.at.login: true
|
||||
commandgui.useitem: true
|
||||
commandgui.useitem.toggle: true
|
||||
commandgui.bypass: true
|
||||
commandgui.command.info: true
|
||||
commandgui.command.give: true
|
||||
|
||||
commandgui.player:
|
||||
description: All permissions from CommandGUI
|
||||
default: op
|
||||
children:
|
||||
commandgui.command: true
|
||||
commandgui.get.guiitem.at.login: true
|
||||
commandgui.useitem: true
|
||||
commandgui.useitem.toggle: true
|
||||
|
||||
commandgui.updatemsg:
|
||||
description: Players with this permission get the update message when joining if an update is available
|
||||
default: op
|
||||
commandgui.command:
|
||||
description: Required permission to open GUIs via command
|
||||
default: op
|
||||
commandgui.get.guiitem.at.login:
|
||||
description: Only players with this permission will receive the GUI item
|
||||
default: op
|
||||
commandgui.useitem:
|
||||
description: Required permission to use the GUI Item
|
||||
default: op
|
||||
commandgui.useitem.toggle:
|
||||
description: Required permission to enable/disable the GUI Item for itself (if the function UseItem/AllowToggle is set to true)
|
||||
default: op
|
||||
commandgui.bypass:
|
||||
description: Bypass to open disabled GUIs
|
||||
default: op
|
||||
commandgui.command.info:
|
||||
description: Permission to view CommandGUI info
|
||||
default: not op
|
||||
commandgui.command.give:
|
||||
description: Kommend in V2.1.0
|
||||
default: op
|
Loading…
Reference in New Issue