21 Commits

Author SHA1 Message Date
7fda797cae remove config poll 2022-04-19 07:15:09 +02:00
007d8776b9 update default config to V5 2022-04-19 07:14:35 +02:00
JaTiTV
dcd524ab3c „Config poll/new/GUIs/default.yml“ ändern 2022-04-19 00:45:40 +02:00
JaTiTV
c3d0990853 „Config poll/new/Functions/SupportDiscord.yml“ ändern 2022-04-19 00:13:25 +02:00
JaTiTV
04a7d4952e „Config poll/new/Functions/SupportDiscord.yml“ ändern 2022-04-19 00:13:11 +02:00
d96205887c Config poll 2022-04-16 15:46:26 +02:00
5e4998734d Update pom.xml 2022-04-16 14:26:08 +02:00
JaTiTV
c2782bbb97 Merge pull request 'open-gui-test' (#7) from open-gui-test into main
Reviewed-on: JaTiTV/CommandGUI#7
2022-04-16 14:09:16 +02:00
58409dc523 Update pom.xml 2022-04-15 20:30:20 +02:00
17b1a0568e bugfix
If you didn't have the permission to see an item, you could still click on it and get the message that you don't have the permission. This has now been changed so that you only get the message if you can see the item.
2022-04-06 20:21:19 +02:00
1c6e6d6660 2.6.2_Snapshop-1
The GUI listener has been redesigned in terms of code and improved in terms of performance.
2022-03-28 21:56:57 +02:00
JaTiTV
ff2cb3ce96 Merge pull request '2.6.1' (#6) from perm-change into main
Reviewed-on: JaTiTV/CommandGUI#6
2022-03-21 22:23:25 +01:00
92d4c86aa0 2.6.1 2022-03-21 22:21:54 +01:00
e98c047ff0 Update pom.xml 2022-03-10 22:54:24 +01:00
4cbe8ed802 2.6.0
Add:
- 1.18.2 Support

Bugfix:
- Fixed a bug where bungee commands were executed multiple times when multiple players were on the server.

New features:
- Bungee commands can now also be executed from the server
2022-03-08 20:12:02 +01:00
JaTiTV
e8b5d49822 Merge pull request 'Bugfix' (#5) from 2.5.23 into main
Reviewed-on: JaTiTV/CommandGUI#5
2022-02-09 22:54:29 +01:00
ce07fd2f37 Bugfix 2022-02-09 22:53:18 +01:00
c7fe0603fe Update pom.xml 2022-01-19 11:15:53 +01:00
4849ca06e7 Update ItemChange.java 2022-01-19 11:15:47 +01:00
fe7ae61242 Update database to Hikari 2022-01-16 03:03:04 +01:00
b3934e22cc Update T2C-LuckyBox API 2022-01-13 03:46:08 +01:00
22 changed files with 659 additions and 538 deletions

View File

@@ -6,9 +6,10 @@
<groupId>net.t2code</groupId> <groupId>net.t2code</groupId>
<artifactId>CommandGUI_V2</artifactId> <artifactId>CommandGUI_V2</artifactId>
<version>2.5.21</version> <version>2.6.2_Snapshot-2</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>CommandGUI</name> <name>CommandGUI</name>
<properties> <properties>
@@ -53,6 +54,10 @@
</build> </build>
<repositories> <repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
<repository> <repository>
<id>Builders-Paradise</id> <id>Builders-Paradise</id>
<url>https://repo.t2code.net/repository/Builders-Paradise/</url> <url>https://repo.t2code.net/repository/Builders-Paradise/</url>
@@ -61,10 +66,7 @@
<id>T2Code</id> <id>T2Code</id>
<url>https://repo.t2code.net/repository/T2Code/</url> <url>https://repo.t2code.net/repository/T2Code/</url>
</repository> </repository>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
</repositories> </repositories>
<dependencies> <dependencies>
@@ -81,12 +83,17 @@
<dependency> <dependency>
<groupId>net.t2code</groupId> <groupId>net.t2code</groupId>
<artifactId>T2CodeLib</artifactId> <artifactId>T2CodeLib</artifactId>
<version>10.3</version> <version>11.4</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.t2code</groupId> <groupId>net.t2code</groupId>
<artifactId>LuckyBox-API</artifactId> <artifactId>LuckyBox-API</artifactId>
<version>4.2.0</version> <version>4.2.2</version>
</dependency>
<dependency>
<groupId>net.t2code.minecraft.1_18.r2</groupId>
<artifactId>spigot</artifactId>
<version>1.18r2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.t2code.minecraft.1_18.r1</groupId> <groupId>net.t2code.minecraft.1_18.r1</groupId>
@@ -173,5 +180,10 @@
<artifactId>spigot</artifactId> <artifactId>spigot</artifactId>
<version>1.8r1</version> <version>1.8r1</version>
</dependency> </dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.4.5</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -1,6 +1,7 @@
package de.jatitv.commandguiv2.Bungee; package de.jatitv.commandguiv2.Bungee;
import net.md_5.bungee.BungeeCord; import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.PlayerDisconnectEvent; import net.md_5.bungee.api.event.PlayerDisconnectEvent;
import net.md_5.bungee.api.event.PluginMessageEvent; import net.md_5.bungee.api.event.PluginMessageEvent;
@@ -16,13 +17,20 @@ public class BListener implements Listener {
@EventHandler @EventHandler
public void onPluginmessage(PluginMessageEvent event) { public void onPluginmessage(PluginMessageEvent event) {
if (event.getTag().equalsIgnoreCase("cgui:bungee")) { if (event.getTag().equalsIgnoreCase("cgui:bungee")) {
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(event.getData())); DataInputStream stream = new DataInputStream(new ByteArrayInputStream(event.getData()));
try { try {
String channel = stream.readUTF(); String channel = stream.readUTF();
String input = stream.readUTF(); String input = stream.readUTF();
ProxiedPlayer player = BungeeCord.getInstance().getPlayer(channel); if (channel.equals("cgui-Console")) {
ProxyServer.getInstance().getConsole().sendMessage("Command Console: "+ input);
ProxyServer.getInstance().getPluginManager().dispatchCommand(ProxyServer.getInstance().getConsole(), input);
} else {
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(channel);
if (player != null) { if (player != null) {
BungeeCord.getInstance().getPluginManager().dispatchCommand(player, input); ProxyServer.getInstance().getConsole().sendMessage("Command " + player +": "+ input);
ProxyServer.getInstance().getPluginManager().dispatchCommand(player, input);
}
} }
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();

View File

@@ -22,6 +22,7 @@ import org.bukkit.event.Listener;
import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitRunnable;
import java.io.File; import java.io.File;
@@ -36,66 +37,93 @@ public class GUI_Listener implements Listener {
@EventHandler @EventHandler
public void onInventoryClick(InventoryClickEvent e) { public void onInventoryClick(InventoryClickEvent e) {
Player player = (Player) e.getWhoClicked(); Player player = (Player) e.getWhoClicked();
if (e.getInventory() != null && e.getCurrentItem() != null) { JavaPlugin plugin = Main.plugin;
if (e.getInventory() == null) return;
if (e.getCurrentItem() == null) return;
for (Object gui : Main.guiHashMap.values()) { for (Object gui : Main.guiHashMap.values()) {
if (player.getOpenInventory().getTitle().equals(Replace.replace(prefix, GUICode + gui.GUI_Name)) if (player.getOpenInventory().getTitle().equals(Replace.replace(prefix, GUICode + gui.GUI_Name))
|| (Main.PaPi && player.getOpenInventory().getTitle().equals(Replace.replace(prefix, player, GUICode + gui.GUI_Name)))) { || (Main.PaPi && player.getOpenInventory().getTitle().equals(Replace.replace(prefix, player, GUICode + gui.GUI_Name)))) {
e.setCancelled(true); e.setCancelled(true);
for (Slot slot : gui.GUI_Slots) { for (Slot slot : gui.GUI_Slots) {
/* if (!slot.ItemsRemovable) { if (e.getSlot() != slot.Slot) continue;
e.setCancelled(true);
}
*/
if (e.getSlot() == slot.Slot) {
if (!slot.Perm || player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1))
|| player.hasPermission("commandgui.admin")) {
if (slot.Enable) {
if (e.getCurrentItem().getItemMeta().getDisplayName().equals(Replace.replace(prefix, slot.Name))) {
if (e.getCurrentItem().getType() == ItemVersion.getHead() || e.getCurrentItem().getType() == Material.valueOf(slot.Item.toUpperCase().replace(".", "_"))) { if (e.getCurrentItem().getType() == ItemVersion.getHead() || e.getCurrentItem().getType() == Material.valueOf(slot.Item.toUpperCase().replace(".", "_"))) {
if (!slot.Perm
|| player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1))
|| player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1) + ".use")
|| player.hasPermission("commandgui.admin")) {
if (!slot.Enable) continue;
if (!e.getCurrentItem().getItemMeta().getDisplayName().equals(Replace.replace(prefix, slot.Name))) continue;
if (slot.Cost_Enable) { if (slot.Cost_Enable) {
if (slot.Command_Enable || slot.Message_Enable || slot.OpenGUI_Enable || slot.ServerChange) { if (slot.Command_Enable || slot.Message_Enable || slot.OpenGUI_Enable || slot.ServerChange) {
if (Vault.buy(prefix, player, slot.Price)) { if (!Vault.buy(prefix, player, slot.Price)) {
player.sendMessage(SelectMessages.Buy_msg.replace("[itemname]", Replace.replace(prefix, slot.Name))
.replace("[price]", slot.Price + " " + SelectConfig.Currency));
if (slot.Command_Enable) {
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
public void run() { public void run() {
player.closeInventory(); player.closeInventory();
} }
}.runTaskLater(plugin, 1L); }.runTaskLater(plugin, 1L);
player.sendMessage(SelectMessages.No_money);
if (SelectConfig.Sound_NoMoney_Enable && SelectConfig.Sound_Enable)
player.playSound(player.getLocation(), SelectConfig.Sound_NoMoney, 3, 1);
} else {
player.sendMessage(SelectMessages.Buy_msg.replace("[itemname]", Replace.replace(prefix, slot.Name))
.replace("[price]", slot.Price + " " + SelectConfig.Currency));
execute(slot, player, e, gui);
}
}
} else execute(slot, player, e, gui);
} else player.sendMessage(SelectMessages.NoPermissionForItem.replace("[item]", Replace.replace(prefix, slot.Name))
.replace("[perm]", "commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1)));
}
}
}
}
}
private static void execute(Slot slot, Player player, InventoryClickEvent e, Object gui) {
if (slot.Command_Enable) command(slot, player);
if (slot.OpenGUI_Enable) openGUI(slot, player);
if (slot.Message_Enable) message(slot, player);
if (slot.ServerChange) serverChange(slot, player);
if (slot.SetConfigEnable) setConfig(slot, player, e);
if (SelectConfig.Sound_Enable && SelectConfig.Sound_Click_Enable) sound(slot, player, gui);
}
private static void command(Slot slot, Player player) {
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
public void run() { public void run() {
if (slot.Command_BungeeCommand && SelectConfig.Bungee) { player.closeInventory();
}
}.runTaskLater(plugin, 1L);
new BukkitRunnable() {
@Override
public void run() {
if (slot.Command_BungeeCommand) {
if (SelectConfig.Bungee) {
for (String cmd : slot.Command) { for (String cmd : slot.Command) {
Bungee_Sender_Reciver.sendToBungee(player, player.getName(), cmd.replace("[player]", player.getName())); Bungee_Sender_Reciver.sendToBungee(player, cmd.replace("[player]", player.getName()), slot.CommandAsConsole);
} }
} else { } else {
send.console(prefix + " §4To use bungee commands, enable the Bungee option in the config.");
send.player(player, prefix + " §4To use bungee commands, enable the Bungee option in the config.");
}
} else {
for (String cmd : slot.Command) {
if (slot.CommandAsConsole) { if (slot.CommandAsConsole) {
for (String cmd : slot.Command) {
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd.replace("[player]", player.getName())); Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd.replace("[player]", player.getName()));
} } else player.chat("/" + cmd.replace("[player]", player.getName()));
} else {
for (String cmd : slot.Command) {
player.chat("/" + cmd.replace("[player]", player.getName()));
}
} }
} }
} }
}.runTaskLater(plugin, 2L); }.runTaskLater(plugin, 2L);
} }
if (slot.OpenGUI_Enable) {
private static void openGUI(Slot slot, Player player) {
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
public void run() { public void run() {
player.closeInventory(); player.closeInventory();
} }
}.runTaskLater(plugin, 1L); }.runTaskLater(plugin, 1L);
new BukkitRunnable() { new BukkitRunnable() {
@@ -105,29 +133,34 @@ public class GUI_Listener implements Listener {
} }
}.runTaskLater(plugin, 2L); }.runTaskLater(plugin, 2L);
} }
if (slot.Message_Enable) {
private static void message(Slot slot, Player player) {
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
public void run() { public void run() {
player.closeInventory(); player.closeInventory();
} }
}.runTaskLater(plugin, 1L); }.runTaskLater(plugin, 1L);
for (String msg : slot.Message) { for (String msg : slot.Message) {
if (Main.PaPi) { if (Main.PaPi) {
if (slot.Cost_Enable) {
player.sendMessage(Replace.replacePrice(prefix, player, msg, slot.Price + " " + SelectConfig.Currency)); player.sendMessage(Replace.replacePrice(prefix, player, msg, slot.Price + " " + SelectConfig.Currency));
} else } else player.sendMessage(Replace.replace(prefix, player, msg.replace("[prefix]", prefix)));
} else {
if (slot.Cost_Enable) {
player.sendMessage(Replace.replacePrice(prefix, msg, slot.Price + " " + SelectConfig.Currency)); player.sendMessage(Replace.replacePrice(prefix, msg, slot.Price + " " + SelectConfig.Currency));
} else player.sendMessage(Replace.replace(prefix, msg.replace("[prefix]", prefix)));
} }
} }
if (slot.ServerChange) { }
private static void serverChange(Slot slot, Player player) {
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
public void run() { public void run() {
player.closeInventory(); player.closeInventory();
} }
}.runTaskLater(plugin, 1L); }.runTaskLater(plugin, 1L);
send.player(player, SelectMessages.onServerChange.replace("[server]", slot.ServerChangeServer)); send.player(player, SelectMessages.onServerChange.replace("[server]", slot.ServerChangeServer));
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
@@ -136,7 +169,8 @@ public class GUI_Listener implements Listener {
} }
}.runTaskLater(Main.plugin, 20L); }.runTaskLater(Main.plugin, 20L);
} }
if (slot.SetConfigEnable) {
private static void setConfig(Slot slot, Player player, InventoryClickEvent e) {
File config = new File(slot.ConfigFilePath); File config = new File(slot.ConfigFilePath);
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
/*if (slot.ConfigChatInput){ /*if (slot.ConfigChatInput){
@@ -192,7 +226,7 @@ public class GUI_Listener implements Listener {
}.runTaskLater(plugin, 1L); }.runTaskLater(plugin, 1L);
} }
if (SelectConfig.Sound_Enable && SelectConfig.Sound_Click_Enable) { private static void sound(Slot slot, Player player, Object gui) {
if (slot.CustomSound_Enable) { if (slot.CustomSound_Enable) {
if (!slot.CustomSound_NoSound) { if (!slot.CustomSound_NoSound) {
try { try {
@@ -204,193 +238,7 @@ public class GUI_Listener implements Listener {
player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1); player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
} }
} }
} else } else player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
}
} else {
new BukkitRunnable() {
@Override
public void run() {
player.closeInventory();
}
}.runTaskLater(plugin, 1L);
player.sendMessage(SelectMessages.No_money);
if (SelectConfig.Sound_NoMoney_Enable && SelectConfig.Sound_Enable) {
player.playSound(player.getLocation(), SelectConfig.Sound_NoMoney, 3, 1);
}
}
}
} else {
if (slot.Command_Enable) {
new BukkitRunnable() {
@Override
public void run() {
player.closeInventory();
}
}.runTaskLater(plugin, 1L);
new BukkitRunnable() {
@Override
public void run() {
if (slot.Command_BungeeCommand) {
if (SelectConfig.Bungee) {
for (String cmd : slot.Command) {
Bungee_Sender_Reciver.sendToBungee(player, player.getName(), cmd.replace("[player]", player.getName()));
}
} else {
send.console(prefix + " §4To use bungee commands, enable the Bungee option in the config.");
send.player(player, prefix + " §4To use bungee commands, enable the Bungee option in the config.");
}
} else {
if (slot.CommandAsConsole) {
for (String cmd : slot.Command) {
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd.replace("[player]", player.getName()));
}
} else {
for (String cmd : slot.Command) {
player.chat("/" + cmd);
}
}
}
}
}.runTaskLater(plugin, 2L);
}
if (slot.OpenGUI_Enable) {
new BukkitRunnable() {
@Override
public void run() {
player.closeInventory();
}
}.runTaskLater(plugin, 1L);
new BukkitRunnable() {
@Override
public void run() {
OpenGUI.openGUI(player, Main.guiHashMap.get(slot.OpenGUI), slot.OpenGUI);
}
}.runTaskLater(plugin, 2L);
}
if (slot.Message_Enable) {
new BukkitRunnable() {
@Override
public void run() {
player.closeInventory();
}
}.runTaskLater(plugin, 1L);
for (String msg : slot.Message) {
if (Main.PaPi) {
player.sendMessage(Replace.replace(prefix, player, msg.replace("[prefix]", prefix)));
} else
player.sendMessage(Replace.replace(prefix, msg.replace("[prefix]", prefix)));
}
}
if (slot.ServerChange) {
new BukkitRunnable() {
@Override
public void run() {
player.closeInventory();
}
}.runTaskLater(plugin, 1L);
send.player(player, SelectMessages.onServerChange.replace("[server]", slot.ServerChangeServer));
new BukkitRunnable() {
@Override
public void run() {
ServerChange.send(player, slot.ServerChangeServer);
}
}.runTaskLater(Main.plugin, 20L);
}
if (slot.SetConfigEnable) {
File config = new File(slot.ConfigFilePath);
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
/*if (slot.ConfigChatInput){
ConfigChat.EditChat.put(player, slot.ConfigOptionPath);
player.sendMessage(DefaultValue.SettingsGUIchatSet.replace("[setting]", "Shop Name Chest small"));
player.sendMessage(DefaultValue.SettingsGUIchatCancel);
} else
{
*/
if (e.isLeftClick()) {
if (slot.ConfigOptionPremat.equals("String")) {
yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigStringValueLeft);
} else if (slot.ConfigOptionPremat.equals("Boolean")) {
yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigBooleanValueLeft);
} else if (slot.ConfigOptionPremat.equals("Integer")) {
yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigIntegerValueLeft);
} else if (slot.ConfigOptionPremat.equals("Double")) {
yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigDoubleValueLeft);
} else if (slot.ConfigOptionPremat.equals("List")) {
yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigListValueLeft);
} else {
player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo
}
}
if (e.isRightClick()) {
if (slot.ConfigOptionPremat.equals("String")) {
yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigStringValueRight);
} else if (slot.ConfigOptionPremat.equals("Boolean")) {
yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigBooleanValueRight);
} else if (slot.ConfigOptionPremat.equals("Integer")) {
yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigIntegerValueRight);
} else if (slot.ConfigOptionPremat.equals("Double")) {
yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigDoubleValueRight);
} else if (slot.ConfigOptionPremat.equals("List")) {
yamlConfiguration.set(slot.ConfigOptionPath.replace("/", "."), slot.ConfigListValueRight);
} else {
player.sendMessage("§cCheck the Option §6SetConfig/Option/Premat"); //todo
}
}
try {
yamlConfiguration.save(config);
} catch (IOException tac) {
tac.printStackTrace();
}
if (slot.PluginReloadEnable) {
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), slot.PluginReloadCommand);
}
new BukkitRunnable() {
@Override
public void run() {
player.closeInventory();
}
}.runTaskLater(plugin, 1L);
}
if (SelectConfig.Sound_Enable && SelectConfig.Sound_Click_Enable) {
if (slot.CustomSound_Enable) {
if (!slot.CustomSound_NoSound) {
try {
player.playSound(player.getLocation(), Sound.valueOf(slot.CustomSound_Sound.toUpperCase().replace(".", "_")), 3, 1);
} catch (Exception e1) {
send.console("§4\n§4\n§4\n" + SelectMessages.SoundNotFound.replace("[prefix]", prefix)
.replace("[sound]", "§6GUI: §e" + Replace.replace(prefix, gui.GUI_Name) + "§r §6Slot: §e" + slot.Slot + " §6CustomSound: §9" + slot.CustomSound_Sound));
player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
}
}
} else
player.playSound(player.getLocation(), SelectConfig.Sound_Click, 3, 1);
}
}
}
}
}
} else {
player.sendMessage(SelectMessages.NoPermissionForItem.replace("[item]", Replace.replace(prefix, slot.Name))
.replace("[perm]", "commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1)));
}
}
}
}
}
}
} }
} }

View File

@@ -23,27 +23,30 @@ public class ItemChange {
slot = Select_Database.selectSlot(player); slot = Select_Database.selectSlot(player);
} }
} }
if (!SelectConfig.UseItem_Enable) { if (!SelectConfig.UseItem_Enable) {
return; return;
} }
if (SelectConfig.UseItemGameModeProtection) { if (SelectConfig.UseItemGameModeProtection) {
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) { if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
if (SelectConfig.UseItemGameModeRemoveItemWhenItIsDisabled) removeItem(player); if (SelectConfig.UseItemGameModeRemoveItemWhenItIsDisabled) removeItem(player);
send.debug(Main.plugin,"GameMode disabled: " +player.getName() +" " +player.getGameMode().toString());
return; return;
} }
if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) { if (SelectConfig.UseItemGameModeMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemGameModeList.contains(player.getGameMode().toString())) {
if (SelectConfig.UseItemGameModeRemoveItemWhenItIsDisabled) removeItem(player); if (SelectConfig.UseItemGameModeRemoveItemWhenItIsDisabled) removeItem(player);
send.debug(Main.plugin,"GameMode disabled: " +player.getName() +" " +player.getGameMode().toString());
return; return;
} }
} }
if (SelectConfig.UseItemWorldProtection) { if (SelectConfig.UseItemWorldProtection) {
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) { if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("blacklist") && SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
if (SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled)removeItem(player); if (SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled)removeItem(player);
send.debug(Main.plugin,"World disabled: " +player.getName() +" " +player.getWorld().toString());
return; return;
} }
if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) { if (SelectConfig.UseItemWorldMode.equalsIgnoreCase("whitelist") && !SelectConfig.UseItemWorldList.contains(player.getWorld().getName())) {
if (SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled)removeItem(player); if (SelectConfig.UseItemWorldRemoveItemWhenItIsDisabled)removeItem(player);
send.debug(Main.plugin,"World disabled: " +player.getName() +" " +player.getWorld().toString());
return; return;
} }
} }
@@ -64,9 +67,11 @@ public class ItemChange {
} }
} }
} }
send.debug(Main.plugin,"GiveOnlyOnFirstJoin: " +player.getName());
return; return;
} }
if (!SelectConfig.UseItem_GiveOnEveryJoin) { if (!SelectConfig.UseItem_GiveOnEveryJoin) {
send.debug(Main.plugin,"!GiveOnEveryJoin: " +player.getName());
return; return;
} }
new BukkitRunnable() { new BukkitRunnable() {
@@ -75,6 +80,7 @@ public class ItemChange {
removeItem(player); removeItem(player);
if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) { if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) {
if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(slot - 1) == null) { if (SelectConfig.UseItem_InventorySlotEnforce || player.getInventory().getItem(slot - 1) == null) {
send.debug(Main.plugin,"Give: " +player.getName());
Give_UseItem.onGive(player); Give_UseItem.onGive(player);
if (setCursor) { if (setCursor) {
setCursor(player, slot); setCursor(player, slot);
@@ -94,7 +100,6 @@ public class ItemChange {
} }
} }
}.runTaskLater(Main.plugin, 1L * 1); }.runTaskLater(Main.plugin, 1L * 1);
} }
private static void setCursor(Player player, int slot) { private static void setCursor(Player player, int slot) {
@@ -146,6 +151,5 @@ public class ItemChange {
} }
} }
} }
} }
} }

View File

@@ -26,7 +26,6 @@ public class PluginEvent implements Listener {
UpdateAPI.join(Main.plugin, prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord()); UpdateAPI.join(Main.plugin, prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord());
} }
@EventHandler @EventHandler
public void onClearServer(ServerCommandEvent event) { public void onClearServer(ServerCommandEvent event) {
if (SelectConfig.UseItem_KeepAtCommandClear) { if (SelectConfig.UseItem_KeepAtCommandClear) {
@@ -50,7 +49,6 @@ public class PluginEvent implements Listener {
} }
} }
@EventHandler @EventHandler
public void onClearPlayer(PlayerCommandPreprocessEvent event) { public void onClearPlayer(PlayerCommandPreprocessEvent event) {
if (SelectConfig.UseItem_KeepAtCommandClear) { if (SelectConfig.UseItem_KeepAtCommandClear) {

View File

@@ -80,25 +80,6 @@ public class Events implements Listener {
Player player = e.getPlayer(); Player player = e.getPlayer();
if (SelectConfig.UseItem_Enable) { if (SelectConfig.UseItem_Enable) {
ItemChange.itemChange(player, false); ItemChange.itemChange(player, false);
//if (!SelectConfig.UseItem_AllowToggle || Select_Database.selectItemStatus(player)) {
// if (SelectConfig.UseItem_GiveOnlyOnFirstJoin) {
// if (!player.hasPlayedBefore()) {
// new BukkitRunnable() {
// @Override
// public void run() {
// Give_UseItem.onGive(player);
// }
// }.runTaskLater(Main.plugin, 20L * 1);
// }
// } else {
// new BukkitRunnable() {
// @Override
// public void run() {
// Give_UseItem.onGive(player);
// }
// }.runTaskLater(Main.plugin, 20L * 1);
// }
//}
} }
} }
@@ -130,7 +111,6 @@ public class Events implements Listener {
}.runTaskLater(Main.plugin, SelectConfig.UseItemWorldChangeDelayInTicks * 1L); }.runTaskLater(Main.plugin, SelectConfig.UseItemWorldChangeDelayInTicks * 1L);
} }
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void onInteract(PlayerInteractEvent e) { public void onInteract(PlayerInteractEvent e) {
Player p = e.getPlayer(); Player p = e.getPlayer();
@@ -206,7 +186,6 @@ public class Events implements Listener {
} }
} }
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void onItemMove(InventoryDragEvent e) { public void onItemMove(InventoryDragEvent e) {
if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return; if (!SelectConfig.UseItem_BlockMoveAndDrop || !SelectConfig.UseItem_Enable) return;

View File

@@ -1,8 +1,10 @@
package de.jatitv.commandguiv2.Spigot; package de.jatitv.commandguiv2.Spigot;
//s<ds //s<ds
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.system.Load; import de.jatitv.commandguiv2.Spigot.system.Load;
import de.jatitv.commandguiv2.Spigot.Objekte.Object; import de.jatitv.commandguiv2.Spigot.Objekte.Object;
import de.jatitv.commandguiv2.Spigot.system.database.MySQL;
import de.jatitv.commandguiv2.Util; import de.jatitv.commandguiv2.Util;
import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate; import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate;
import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.messages.send;
@@ -67,7 +69,8 @@ public final class Main extends JavaPlugin {
if (PluginCheck.plotSquaredGUI()) { if (PluginCheck.plotSquaredGUI()) {
PlotSquaredGUI = true; PlotSquaredGUI = true;
addonEnable(Bukkit.getPluginManager().getPlugin("PlotSquaredGUI")); addonEnable(Bukkit.getPluginManager().getPlugin("PlotSquaredGUI"));
}if (PluginCheck.luckyBox()) { }
if (PluginCheck.luckyBox()) {
LuckyBox = true; LuckyBox = true;
addonEnable(Bukkit.getPluginManager().getPlugin("T2C-LuckyBox")); addonEnable(Bukkit.getPluginManager().getPlugin("T2C-LuckyBox"));
} }
@@ -113,5 +116,6 @@ public final class Main extends JavaPlugin {
public void onDisable() { public void onDisable() {
// Plugin shutdown logic // Plugin shutdown logic
if (enable) T2CodeTemplate.onDisable(prefix, autor, version, Util.getSpigot(), Util.getDiscord()); if (enable) T2CodeTemplate.onDisable(prefix, autor, version, Util.getSpigot(), Util.getDiscord());
MySQL.close();
} }
} }

View File

@@ -93,7 +93,6 @@ public class Obj_Select {
yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.PluginReload.Enable"), yamlConfiguration_gui.getBoolean("Slots." + key + ".SetConfig.PluginReload.Enable"),
yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.PluginReload.Command")); yamlConfiguration_gui.getString("Slots." + key + ".SetConfig.PluginReload.Command"));
slots.add(slot); slots.add(slot);
} }
Object objekt = new Object(GUI_Enable, GUI_Lines, GUI_Name, GUI_FillItem_Enable, GUI_FillItem_Item, Object objekt = new Object(GUI_Enable, GUI_Lines, GUI_Name, GUI_FillItem_Enable, GUI_FillItem_Item,
config_gui.getName().replace(".yml", ""), Command_Alias_Enable, Command_Permission, slots); config_gui.getName().replace(".yml", ""), Command_Alias_Enable, Command_Permission, slots);
@@ -107,7 +106,6 @@ public class Obj_Select {
e.printStackTrace(); e.printStackTrace();
} }
} }
} }
} }
} }

View File

@@ -26,7 +26,7 @@ public class Commands {
if (sender instanceof Player) { if (sender instanceof Player) {
Player player = (Player) sender; Player player = (Player) sender;
send.player(player, Util.getPrefix() + "§4======= §8[§4Command§9GUI§8] §4======="); send.player(player, Util.getPrefix() + "§4======= §8[§4Command§9GUI§8] §4=======");
send.player(player, Util.getPrefix() + " §2String.valueOf(Main.autor): §6" + String.valueOf(String.valueOf(Main.autor)).replace("[", "").replace("]", "")); send.player(player, Util.getPrefix() + " §2Autor: §6" + String.valueOf(Main.autor).replace("[", "").replace("]", ""));
if (UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion.equalsIgnoreCase(Main.version)) { if (UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion.equalsIgnoreCase(Main.version)) {
send.player(player, Util.getPrefix() + " §2Version: §6" + Main.version); send.player(player, Util.getPrefix() + " §2Version: §6" + Main.version);

View File

@@ -7,6 +7,7 @@ import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.NMSVersion; import net.t2code.lib.Spigot.Lib.minecraftVersion.NMSVersion;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import org.eclipse.sisu.space.ClassFinder;
import java.io.File; import java.io.File;
@@ -110,6 +111,11 @@ public class AliasRegister {
org.bukkit.craftbukkit.v1_18_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_18_R1.CraftServer) plugin.getServer(); org.bukkit.craftbukkit.v1_18_R1.CraftServer craftServer = (org.bukkit.craftbukkit.v1_18_R1.CraftServer) plugin.getServer();
craftServer.getCommandMap().register(alias, new RegisterCommand(alias)); craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
} }
if (NMSVersion.v1_18_R2) {
send.debug(plugin, "Alias register 1.18_R2");
org.bukkit.craftbukkit.v1_18_R2.CraftServer craftServer = (org.bukkit.craftbukkit.v1_18_R2.CraftServer) plugin.getServer();
craftServer.getCommandMap().register(alias, new RegisterCommand(alias));
}
} }
} }
} }

View File

@@ -14,7 +14,7 @@ import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion; import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
import net.t2code.lib.Spigot.Lib.replace.Replace; import net.t2code.lib.Spigot.Lib.replace.Replace;
import net.t2code.luckybox.api.LuckyBoxAPI; import net.t2code.luckyBox.api.LuckyBoxAPI;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@@ -90,6 +90,10 @@ public class OpenGUI {
} }
} }
for (Slot slot : gui.GUI_Slots) { for (Slot slot : gui.GUI_Slots) {
if (!slot.Perm
|| player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1))
|| player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1)+".see")
|| player.hasPermission("commandgui.admin")) {
if (slot.Enable) { if (slot.Enable) {
if (slot.Empty) { if (slot.Empty) {
ItemStack air = new ItemStack(Material.AIR); ItemStack air = new ItemStack(Material.AIR);
@@ -186,7 +190,7 @@ public class OpenGUI {
} }
} }
} }
}
player.openInventory(inventory); player.openInventory(inventory);
send.debug(plugin, "§6" + player.getName() + " §5Open §6" + Replace.replace(prefix, gui.GUI_Name) + " §5" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms"); send.debug(plugin, "§6" + player.getName() + " §5Open §6" + Replace.replace(prefix, gui.GUI_Name) + " §5" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", Replace.replace(prefix, gui.GUI_Name))); } else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", Replace.replace(prefix, gui.GUI_Name)));

View File

@@ -2,6 +2,8 @@ package de.jatitv.commandguiv2.Spigot.system;
import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.Main;
import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.messages.send;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.messaging.PluginMessageListener; import org.bukkit.plugin.messaging.PluginMessageListener;
@@ -9,16 +11,32 @@ import java.io.*;
public class Bungee_Sender_Reciver implements PluginMessageListener { public class Bungee_Sender_Reciver implements PluginMessageListener {
public static void sendToBungee(Player player,String channel, String information) { public static void sendToBungee(CommandSender sender, String information, Boolean console) {
ByteArrayOutputStream stream = new ByteArrayOutputStream(); ByteArrayOutputStream stream = new ByteArrayOutputStream();
DataOutputStream output = new DataOutputStream(stream); DataOutputStream output = new DataOutputStream(stream);
try { try {
output.writeUTF(channel); if (console) {
output.writeUTF("cgui-Console");
} else {
if (sender instanceof Player) {
output.writeUTF(sender.getName());
} else {
output.writeUTF("cgui-Console");
}
}
output.writeUTF(information); output.writeUTF(information);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
if (sender instanceof Player) {
Player player = (Player) sender;
player.sendPluginMessage(Main.plugin, "cgui:bungee", stream.toByteArray()); player.sendPluginMessage(Main.plugin, "cgui:bungee", stream.toByteArray());
}else {
for(Player player : Bukkit.getOnlinePlayers()){
player.sendPluginMessage(Main.plugin, "cgui:bungee", stream.toByteArray());
return;
}
}
} }
@Override @Override

View File

@@ -1,5 +1,7 @@
package de.jatitv.commandguiv2.Spigot.system.database; package de.jatitv.commandguiv2.Spigot.system.database;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import de.jatitv.commandguiv2.Spigot.Main; import de.jatitv.commandguiv2.Spigot.Main;
import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.messages.send;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
@@ -8,57 +10,84 @@ import java.sql.*;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.HashMap;
public class MySQL { public class MySQL {
private static Plugin plugin = Main.plugin;
public static String ip = "localhost"; public static String ip = "localhost";
public static Integer port = 3306; public static Integer port = 3306;
public static String database; public static String database;
public static String user = "root"; public static String user = "root";
public static String password = ""; public static String password = "";
public static String url; protected static String url;
public static Boolean SSL; public static Boolean SSL;
private static final HikariConfig config = new HikariConfig();
private static HikariDataSource ds;
public static void main() { public static void main() {
Long long_ = Long.valueOf(System.currentTimeMillis()); long long_ = System.currentTimeMillis();
Calendar now = Calendar.getInstance(); Calendar now = Calendar.getInstance();
ZoneId timeZone = now.getTimeZone().toZoneId(); ZoneId timeZone = now.getTimeZone().toZoneId();
send.debug(plugin, "Server TimeZone is : " + timeZone); send.debug(Main.plugin, "Server TimeZone is : " + timeZone);
url = "jdbc:mysql://" + ip + ":" + port + "/" + database + "?useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=" + timeZone; try {
// Europe/Berlin config.setJdbcUrl("jdbc:mysql://" + ip + ":" + port + "/" + database + "?useJDBCCompliantTimezoneShift=true&allowMultiQueries=true&useLegacyDatetimeCode=false&autoReconnect=true&serverTimezone=" + timeZone + "&useSSL=" + SSL);
if (SSL) { config.setUsername(user);
url = url + "&useSSL=true"; config.setPassword(password);
} else url = url + "&useSSL=false"; config.addDataSourceProperty("cachePrepStmts", "true");
send.debug(plugin, url); config.addDataSourceProperty("prepStmtCacheSize", "250");
try (Connection con = DriverManager.getConnection(url, user, password)) { config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
Statement stmt = con.createStatement(); ds = new HikariDataSource(config);
stmt.close(); 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_.longValue()) + "ms"); } catch (Exception ex) {
} catch (SQLException 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_.longValue()) + "ms"); send.error(Main.plugin, ex.getMessage() + " --- " + (System.currentTimeMillis() - long_) + "ms");
send.error(plugin, ex.getMessage() + " --- " + (System.currentTimeMillis() - long_.longValue()) + "ms");
} }
//Bukkit.getConsoleSender().sendMessage((System.currentTimeMillis() - long_) + "ms");
} }
public static void query(String query) { public static void query(String query) {
try (Connection con = DriverManager.getConnection(url, user, password)) {
if (ds == null){
return;
}
send.debug(Main.plugin, query);
try (Connection con = ds.getConnection()) {
Statement stmt = con.createStatement(); Statement stmt = con.createStatement();
stmt.execute(query); stmt.execute(query);
stmt.close(); stmt.close();
} catch (SQLException ex) { } catch (SQLException e) {
System.err.println(ex.getMessage()); System.err.println(e.getMessage());
}
}
public static void query(ArrayList<String> queryList) {
try (Connection con = ds.getConnection()) {
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 ArrayList<String> selectAll(String query) { public static HashMap<String, ArrayList<String>> selectAll(String query) {
ArrayList<String> Result = new ArrayList<>(); send.debug(Main.plugin, query);
try (Connection con = DriverManager.getConnection(url, user, password)) { HashMap<String, ArrayList<String>> Result = new HashMap<>();
try (Connection con = ds.getConnection()) {
Statement stmt = con.createStatement(); Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query); ResultSet rs = stmt.executeQuery(query);
int columns = rs.getMetaData().getColumnCount(); int columns = rs.getMetaData().getColumnCount();
while (rs.next()) { while (rs.next()) {
Result.add(rs.getString(1)); 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(); rs.close();
stmt.close(); stmt.close();
@@ -69,11 +98,11 @@ public class MySQL {
} }
public static String select(String query) { public static String select(String query) {
send.debug(Main.plugin, query);
String Ausgabe = ""; String Ausgabe = "";
try (Connection con = DriverManager.getConnection(url, user, password)) { try (Connection con = ds.getConnection()) {
Statement stmt = con.createStatement(); Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query); ResultSet rs = stmt.executeQuery(query);
int columns = rs.getMetaData().getColumnCount();
while (rs.next()) { while (rs.next()) {
Ausgabe = String.valueOf(rs.getString(1)); Ausgabe = String.valueOf(rs.getString(1));
} }
@@ -86,11 +115,11 @@ public class MySQL {
} }
public static int count(String query) { public static int count(String query) {
Integer count = 0; send.debug(Main.plugin, query);
try (Connection con = DriverManager.getConnection(url, user, password)) { int count = 0;
try (Connection con = ds.getConnection()) {
Statement stmt = con.createStatement(); Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query); ResultSet rs = stmt.executeQuery(query);
int columns = rs.getMetaData().getColumnCount();
while (rs.next()) { while (rs.next()) {
count++; count++;
} }
@@ -101,4 +130,28 @@ public class MySQL {
} }
return count; return count;
} }
public static ArrayList<String> selectRow(String query) {
send.debug(Main.plugin, query);
ArrayList<String> Result = new ArrayList<>();
try (Connection con = ds.getConnection()) {
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() {
ds.close();
}
} }

View File

@@ -5,11 +5,13 @@ import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands; import de.jatitv.commandguiv2.Spigot.cmdManagement.Commands;
import de.jatitv.commandguiv2.Spigot.cmdManagement.Help; import de.jatitv.commandguiv2.Spigot.cmdManagement.Help;
import de.jatitv.commandguiv2.Spigot.config.DefaultGUICreate; import de.jatitv.commandguiv2.Spigot.config.DefaultGUICreate;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages; import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
import de.jatitv.commandguiv2.Spigot.system.database.Select_Database; import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.messages.send;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
public class CGuiAPI { public class CGuiAPI {
public static Boolean JoinDisable = false; public static Boolean JoinDisable = false;
@@ -17,6 +19,19 @@ public class CGuiAPI {
public static void onItemChange(Player player) { public static void onItemChange(Player player) {
ItemChange.itemChange(player, false); ItemChange.itemChange(player, false);
} }
public static boolean hasUseItemInMainHand(Player player) {
ItemStack item = player.getInventory().getItemInMainHand();
return item.hasItemMeta() && item.getItemMeta().hasDisplayName()
&& item.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name);
}
public static boolean hasUseItemInOffHand(Player player) {
ItemStack item = player.getInventory().getItemInOffHand();
return item.hasItemMeta() && item.getItemMeta().hasDisplayName()
&& item.getItemMeta().getDisplayName().equals(SelectConfig.UseItem_Name);
}
public static void onItemChange(Player player, Boolean setCursor) { public static void onItemChange(Player player, Boolean setCursor) {
ItemChange.itemChange(player, setCursor); ItemChange.itemChange(player, setCursor);
} }

View File

@@ -0,0 +1,10 @@
Manifest-Version: 1.0
Main-Class:
Class-Path: PlugmanGUI-3.0.jar spigot-1.8r3.jar spigot-1.9r1.jar spigot-
1.15r1.jar T2CodeLib-10.3.jar spigot-1.18r1.jar bungee-1615.jar spigot-
1.9r2.jar spigot-1.16r3.jar spigot-1.14r1.jar slf4j-api-1.7.25.jar Luck
yBox-API-4.2.2.jar spigot-1.10r1.jar spigot-1.16r1.jar spigot-1.13r2.ja
r HikariCP-3.4.5.jar spigot-1.11r1.jar spigot-1.13r1.jar spigot-1.8r2.j
ar spigot-1.17r1.jar spigot-1.12r1.jar spigot-1.16r2.jar spigot-1.8r1.j
ar

View File

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

View File

@@ -0,0 +1,67 @@
Slots:
Function:
Item:
Empty: false
Amount: 1
PlayerHead:
Enable: false
Base64:
Enable: false
Base64Value: ''
PlayerWhoHasOpenedTheGUI: false
PlayerName: ''
Material: ''
Name: '&6Toggle UseItem'
Lore:
- '&bYou currently have the UseItem set to: %commandgui_useitem%'
CustomSound:
Enable: false
NoSound: false
Sound: ''
Cost:
Enable: false
Price: 0.0
Command:
Enable: false
BungeeCommand: false
CommandAsConsole: false
Command: []
ServerChange:
Enable: false
Server: ''
OpenGUI:
Enable: false
GUI: ''
Toggle:
Permission:
Enable: false
Permission: ''
UseItem:
Enable: true
Message:
Enable: true
Message:
- '&bYour UseItem was set to: %commandgui_useitem%&b.'
SetConfig:
Enable: false
File:
Path: ''
Option:
Path: ''
Premat: String
Value:
LeftClick:
String: ''
Boolean: false
Integer: 0
Double: 0.0
List: []
RightClick:
String: ''
Boolean: false
Integer: 0
Double: 0.0
List: []
PluginReload:
Enable: false
Command: ''

View File

@@ -0,0 +1,28 @@
GUI:
Enable: true
Lines: 1
Name: '&5default &9GUI'
FillItem:
Enable: true
Item: BLACK_STAINED_GLASS_PANE
Command:
Alias: true
Permission:
Required: true
Slots:
SupportDiscord:
Slot: 4
Enable: true
Function: SupportDiscord
Permission:
Required: false
See: commandgui.gui.[guiname].slot.[slot].see
Use: commandgui.gui.[guiname].slot.[slot].use
UseItem:
Slot: 6
Enable: true
Function: UseItem
Permission:
Required: false
See: commandgui.gui.[guiname].slot.[slot].see
Use: commandgui.gui.[guiname].slot.[slot].use

View File

@@ -1,3 +1,4 @@
ConfigVersion: 5
Plugin: Plugin:
UpdateCheckOnJoin: true UpdateCheckOnJoin: true
Debug: false Debug: false
@@ -25,6 +26,7 @@ UseItem:
OpenGUI: default OpenGUI: default
Permission: Permission:
NeededToUse: true NeededToUse: true
KeepAtCommandClear: true
InventorySlot: InventorySlot:
Slot: 1 Slot: 1
SlotEnforce: false SlotEnforce: false
@@ -46,9 +48,57 @@ UseItem:
GiveOnlyOnFirstJoin: false GiveOnlyOnFirstJoin: false
Cursor: Cursor:
ToGUIItem: ToGUIItem:
OnEveryLogin: true OnLogin:
Enable: true
Spigot:
OnOnlyFirstLogin: true OnOnlyFirstLogin: true
EXPERIMENTELL_ServerChhange: false Bungee:
OnServerChange: false
Advanced:
UseItem:
GameMode:
Change:
Enable: true
DelayInTicks: 1
Protection:
Enable: false
RemoveItemWhenItIsDisabled: false
Mode: blacklist
List:
- CREATIVE
- Spectator
World:
Change:
Enable: true
DelayInTicks: 1
Protection:
Enable: false
RemoveItemWhenItIsDisabled: false
Mode: blacklist
List:
- World1
- World2
Toggle:
Items:
OnOrYes:
Item:
Base64:
Enable: false
Base64Value: ''
Material: GREEN_WOOL
OffOrNo:
Item:
Base64:
Enable: false
Base64Value: ''
Material: RED_WOOL
Permission:
Commands:
'True': luckperms user [player] permission set [perm] true
'False': luckperms user [player] permission set [perm] false
Placeholder:
'True': '&2true'
'False': '&4false'
Sound: Sound:
Enable: true Enable: true
OpenInventory: OpenInventory:

View File

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

View File

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

View File

@@ -8,8 +8,6 @@ Plugin:
Reload: Reload:
Start: '[prefix] &6Pluginet blir relastet...' Start: '[prefix] &6Pluginet blir relastet...'
End: '[prefix] &2Pluginet har blitt lastet inn på nytt.' End: '[prefix] &2Pluginet har blitt lastet inn på nytt.'
Warning: '[prefix] &6For å skru på / skru av alias kommandoer, relast / restart
serveren!'
NoPermission: NoPermission:
ForCommandGUI: '[prefix] &cDu har ikke tilgang til &4Command&9GUI&c!' ForCommandGUI: '[prefix] &cDu har ikke tilgang til &4Command&9GUI&c!'
ForCommand: '[prefix] &cFor &b[cmd] &cmangler du tillatelsen &6[perm]&c!' ForCommand: '[prefix] &cFor &b[cmd] &cmangler du tillatelsen &6[perm]&c!'
@@ -23,6 +21,8 @@ UseItem:
SlotNotEmpty: '[prefix] &6Plassen &e[slot] &6er opptatt for øyeblikket!' SlotNotEmpty: '[prefix] &6Plassen &e[slot] &6er opptatt for øyeblikket!'
SlotAlreadySet: '[prefix] &6Plassen §e[slot] §6er allerede satt!' SlotAlreadySet: '[prefix] &6Plassen §e[slot] §6er allerede satt!'
ItemSlot_wrongValue: '[prefix] &cDen spesifiserte plassen må være mellom 1 og 9!' ItemSlot_wrongValue: '[prefix] &cDen spesifiserte plassen må være mellom 1 og 9!'
DisabledInGameMode: '[prefix] &cBrukselementet er deaktivert i denne spillmodusen!!'
DisabledInWorld: '[prefix] &cUseItem er deaktivert i denne verden!'
Cost: Cost:
Buy_msg: '[prefix] &2Du kjøpte [itemname] &2for &6[price]&2.' Buy_msg: '[prefix] &2Du kjøpte [itemname] &2for &6[price]&2.'
No_money: '[prefix] &cDu har ikke nok penger!' No_money: '[prefix] &cDu har ikke nok penger!'