15 Commits

Author SHA1 Message Date
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
7808a3bf6e Update pom.xml 2022-01-13 03:30:08 +01:00
f1e1c0de57 LuckyBox was added to OpenGui 2022-01-13 03:28:06 +01:00
c4525a0055 add debugmessages 2022-01-11 02:44:36 +01:00
7e81c3403d 2.5.20 | bugfix 2022-01-08 07:47:49 +01:00
19 changed files with 515 additions and 507 deletions

View File

@@ -6,7 +6,7 @@
<groupId>net.t2code</groupId> <groupId>net.t2code</groupId>
<artifactId>CommandGUI_V2</artifactId> <artifactId>CommandGUI_V2</artifactId>
<version>2.5.19</version> <version>2.6.2_Snapshop-1</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>CommandGUI</name> <name>CommandGUI</name>
@@ -53,6 +53,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 +65,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,7 +82,17 @@
<dependency> <dependency>
<groupId>net.t2code</groupId> <groupId>net.t2code</groupId>
<artifactId>T2CodeLib</artifactId> <artifactId>T2CodeLib</artifactId>
<version>8</version> <version>11.2</version>
</dependency>
<dependency>
<groupId>net.t2code</groupId>
<artifactId>LuckyBox-API</artifactId>
<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>
@@ -168,5 +179,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();
@@ -34,20 +42,24 @@ public class BListener implements Listener {
public void onJoin(PostLoginEvent e) { public void onJoin(PostLoginEvent e) {
ProxiedPlayer player = e.getPlayer(); ProxiedPlayer player = e.getPlayer();
sendToSpigotPlayer(player.getName(), true); sendToSpigotPlayer(player.getName(), true);
/*
if (BMySQL.Enable) { if (BMySQL.Enable) {
BMySQL.query("INSERT INTO `gui-bungeeplayer` (`UUID`, `Name`, `Online`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() BMySQL.query("INSERT INTO `gui-bungeeplayer` (`UUID`, `Name`, `Online`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
+ "', 'true') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Online` = 'true';"); + "', 'true') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Online` = 'true';");
} }
*/
} }
@EventHandler @EventHandler
public void onDisconnect(PlayerDisconnectEvent e) { public void onDisconnect(PlayerDisconnectEvent e) {
ProxiedPlayer player = e.getPlayer(); ProxiedPlayer player = e.getPlayer();
sendToSpigotPlayer(e.getPlayer().getName(), false); sendToSpigotPlayer(e.getPlayer().getName(), false);
/*
if (BMySQL.Enable) { if (BMySQL.Enable) {
BMySQL.query("INSERT INTO `gui-bungeeplayer` (`UUID`, `Name`, `Online`) VALUES ('" + player.getUniqueId() + "', '" + player.getName() BMySQL.query("INSERT INTO `gui-bungeeplayer` (`UUID`, `Name`, `Online`) VALUES ('" + player.getUniqueId() + "', '" + player.getName()
+ "', 'true') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Online` = 'false';"); + "', 'true') ON DUPLICATE KEY UPDATE `Name` = '" + player.getName() + "', `Online` = 'false';");
} }
*/
} }
@@ -65,7 +77,8 @@ public class BListener implements Listener {
Logger.getLogger(e.getMessage()); Logger.getLogger(e.getMessage());
} }
BungeeCord.getInstance().getServers().values().stream().forEach((server) -> { BungeeCord.getInstance().getServers().values().stream().forEach((server) -> {
server.sendData("cgui:onlineplayers", stream.toByteArray());
server.sendData("cgui:onlinepl", stream.toByteArray());
}); });
} }
@@ -79,7 +92,7 @@ public class BListener implements Listener {
Logger.getLogger(e.getMessage()); Logger.getLogger(e.getMessage());
} }
BungeeCord.getInstance().getServers().values().stream().forEach((server) -> { BungeeCord.getInstance().getServers().values().stream().forEach((server) -> {
server.sendData("cgui:onlineplayers", stream.toByteArray()); server.sendData("cgui:onlinepl", stream.toByteArray());
}); });
} }
} }

View File

@@ -42,17 +42,18 @@ public final class BMain extends Plugin {
Bsend.console(prefix + " §2Version: §6" + version); Bsend.console(prefix + " §2Version: §6" + version);
Bsend.console(prefix + " §2Spigot: §6" + spigot); Bsend.console(prefix + " §2Spigot: §6" + spigot);
Bsend.console(prefix + " §2Discord: §6" + discord); Bsend.console(prefix + " §2Discord: §6" + discord);
try { /* try {
BConfig.create(); BConfig.create();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
*/
plugin.getProxy().registerChannel("cgui:bungee"); plugin.getProxy().registerChannel("cgui:bungee");
plugin.getProxy().getPluginManager().registerListener(plugin, new BListener()); plugin.getProxy().getPluginManager().registerListener(plugin, new BListener());
BListener.sendToSpigotDeleteAll(); BListener.sendToSpigotDeleteAll();
BMetrics metrics = new BMetrics(this, bstatsID); BMetrics metrics = new BMetrics(this, bstatsID);
/*
if (BMySQL.Enable){ if (BMySQL.Enable){
BMySQL.main(); BMySQL.main();
BMySQL.query("CREATE TABLE IF NOT EXISTS `gui-bungeeplayer` (" + BMySQL.query("CREATE TABLE IF NOT EXISTS `gui-bungeeplayer` (" +
@@ -64,8 +65,8 @@ public final class BMain extends Plugin {
"COLLATE='utf8mb4_general_ci'" + "COLLATE='utf8mb4_general_ci'" +
"ENGINE=InnoDB" + "ENGINE=InnoDB" +
";"); ";");
} }
*/
Bsend.console(prefix + " §2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms"); Bsend.console(prefix + " §2Plugin loaded successfully." + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
Bsend.console(prefix + "§4=============================================================================="); Bsend.console(prefix + "§4==============================================================================");

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,92 @@ 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 (!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")
if (e.getSlot() == slot.Slot) {
if (!slot.Perm || player.hasPermission("commandgui.gui." + gui.Command_Command + ".slot." + (slot.Slot + 1))
|| player.hasPermission("commandgui.admin")) { || player.hasPermission("commandgui.admin")) {
if (!slot.Enable) continue;
if (slot.Enable) { if (!e.getCurrentItem().getItemMeta().getDisplayName().equals(Replace.replace(prefix, slot.Name))) continue;
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.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 +132,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 +168,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 +225,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 +237,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

@@ -5,6 +5,7 @@ import de.jatitv.commandguiv2.Spigot.system.Give_UseItem;
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig; import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
import de.jatitv.commandguiv2.Spigot.system.database.Select_Database; import de.jatitv.commandguiv2.Spigot.system.database.Select_Database;
import net.t2code.lib.Spigot.Lib.items.ItemVersion; import net.t2code.lib.Spigot.Lib.items.ItemVersion;
import net.t2code.lib.Spigot.Lib.messages.send;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@@ -22,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;
} }
} }
@@ -53,6 +57,9 @@ public class ItemChange {
@Override @Override
public void run() { public void run() {
Give_UseItem.onGive(player); Give_UseItem.onGive(player);
if (setCursor) {
setCursor(player, slot);
}
} }
}.runTaskLater(Main.plugin, 1L * 1); }.runTaskLater(Main.plugin, 1L * 1);
if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin || SelectConfig.Cursor_ToGUIItem_OnLogin) { if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin || SelectConfig.Cursor_ToGUIItem_OnLogin) {
@@ -60,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() {
@@ -71,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);
@@ -90,29 +100,40 @@ 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) {
send.debug(Main.plugin,"setCursor 1 Player: "+player.getName());
if (!SelectConfig.Cursor_ToGUIItem_OnLogin) { if (!SelectConfig.Cursor_ToGUIItem_OnLogin) {
return; return;
} }
send.debug(Main.plugin,"setCursor 2 Player: "+player.getName());
if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin) { if (SelectConfig.Cursor_ToGUIItem_OnlyOnFirstLogin) {
if (!player.hasPlayedBefore()) { if (!player.hasPlayedBefore()) {
player.getInventory().setHeldItemSlot(slot - 1); player.getInventory().setHeldItemSlot(slot - 1);
send.debug(Main.plugin,"setCursor 3 Player: "+player.getName());
} }
return; return;
} }
send.debug(Main.plugin,"setCursor 4 Player: "+player.getName());
if (!SelectConfig.Bungee) { if (!SelectConfig.Bungee) {
player.getInventory().setHeldItemSlot(slot - 1); player.getInventory().setHeldItemSlot(slot - 1);
send.debug(Main.plugin,"setCursor 5 Player: "+player.getName());
return; return;
} }
send.debug(Main.plugin,"setCursor 6 Player: "+player.getName());
if (SelectConfig.UseItem_ServerChange) { if (SelectConfig.UseItem_ServerChange) {
player.getInventory().setHeldItemSlot(slot - 1); player.getInventory().setHeldItemSlot(slot - 1);
send.debug(Main.plugin,"setCursor 7 Player: "+player.getName());
return; return;
} }
send.debug(Main.plugin,"setCursor 8 Player: "+player.getName());
send.debug(Main.plugin,"setCursor bungeejoinplayers: " +Main.bungeejoinplayers);
send.debug(Main.plugin,"setCursor Player: " +player.getName());
if (Main.bungeejoinplayers.contains(player.getName())) { if (Main.bungeejoinplayers.contains(player.getName())) {
player.getInventory().setHeldItemSlot(slot - 1); player.getInventory().setHeldItemSlot(slot - 1);
send.debug(Main.plugin,"setCursor 9 Player: "+player.getName());
Main.bungeejoinplayers.remove(player.getName()); Main.bungeejoinplayers.remove(player.getName());
} }
} }
@@ -130,6 +151,5 @@ public class ItemChange {
} }
} }
} }
} }
} }

View File

@@ -23,10 +23,9 @@ public class PluginEvent implements Listener {
public void onJoinEvent(PlayerLoginEvent event) { public void onJoinEvent(PlayerLoginEvent event) {
Player player = event.getPlayer(); Player player = event.getPlayer();
Select_Database.nameCheck(player); Select_Database.nameCheck(player);
UpdateAPI.join(Main.plugin,prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord()); UpdateAPI.join(Main.plugin, prefix, "commandgui.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord());
} }
@EventHandler @EventHandler
public void onClearServer(ServerCommandEvent event) { public void onClearServer(ServerCommandEvent event) {
if (SelectConfig.UseItem_KeepAtCommandClear) { if (SelectConfig.UseItem_KeepAtCommandClear) {
@@ -36,11 +35,11 @@ public class PluginEvent implements Listener {
public void run() { public void run() {
try { try {
Player player = Bukkit.getPlayer(event.getCommand().replace("/", "").replace("clear ", "")); Player player = Bukkit.getPlayer(event.getCommand().replace("/", "").replace("clear ", ""));
if (player == null){ if (player == null) {
return; return;
} }
clearGive(player); clearGive(player);
} catch (Exception ex){ } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
return; return;
} }
@@ -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

@@ -33,11 +33,15 @@ public class Events implements Listener {
@EventHandler @EventHandler
public void onJoin(PlayerJoinEvent e) { public void onJoin(PlayerJoinEvent e) {
if (CGuiAPI.JoinDisable) return; if (CGuiAPI.JoinDisable) {
send.debug(Main.plugin,"JoinDisable");
return;
}
if (e.getPlayer().hasPermission("commandgui.get.guiitem.at.login")) { if (e.getPlayer().hasPermission("commandgui.get.guiitem.at.login")) {
new BukkitRunnable() { new BukkitRunnable() {
@Override @Override
public void run() { public void run() {
send.debug(Main.plugin,"itemChange: " + e.getPlayer().getName());
ItemChange.itemChange(e.getPlayer(), true); ItemChange.itemChange(e.getPlayer(), true);
} }
}.runTaskLater(Main.plugin, 20L * 1); }.runTaskLater(Main.plugin, 20L * 1);
@@ -76,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);
// }
//}
} }
} }
@@ -126,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();
@@ -202,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;
@@ -18,7 +20,6 @@ import java.util.logging.Logger;
public final class Main extends JavaPlugin { public final class Main extends JavaPlugin {
public static ArrayList<String> bungeeplayers = new ArrayList<>();
public static ArrayList<String> bungeejoinplayers = new ArrayList<>(); public static ArrayList<String> bungeejoinplayers = new ArrayList<>();
public static File getPath() { public static File getPath() {
@@ -39,6 +40,7 @@ public final class Main extends JavaPlugin {
public static String update_version = null; public static String update_version = null;
public static Boolean PaPi = false; public static Boolean PaPi = false;
public static Boolean PlotSquaredGUI = false; public static Boolean PlotSquaredGUI = false;
public static Boolean LuckyBox = false;
public static Boolean PlugManGUI = false; public static Boolean PlugManGUI = false;
public static HashMap<String, Object> guiHashMap = new HashMap<>(); public static HashMap<String, Object> guiHashMap = new HashMap<>();
@@ -64,11 +66,14 @@ public final class Main extends JavaPlugin {
} }
public static void addonLoad() { public static void addonLoad() {
if (Bukkit.getPluginManager().getPlugin("PlotSquaredGUI") != null) { if (PluginCheck.plotSquaredGUI()) {
PlotSquaredGUI = true; PlotSquaredGUI = true;
addonEnable(Bukkit.getPluginManager().getPlugin("PlotSquaredGUI")); addonEnable(Bukkit.getPluginManager().getPlugin("PlotSquaredGUI"));
}if (PluginCheck.luckyBox()) {
LuckyBox = true;
addonEnable(Bukkit.getPluginManager().getPlugin("T2C-LuckyBox"));
} }
if (Bukkit.getPluginManager().getPlugin("PlugManGUI") != null) { if (PluginCheck.plugManGUI()) {
PlugManGUI = true; PlugManGUI = true;
addonEnable(Bukkit.getPluginManager().getPlugin("PlugManGUI")); addonEnable(Bukkit.getPluginManager().getPlugin("PlugManGUI"));
} }
@@ -110,5 +115,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,6 +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 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;
@@ -54,6 +55,16 @@ public class OpenGUI {
} }
} }
return; return;
case "plugin.T2C-LuckyBox":
if (Main.LuckyBox) {
LuckyBoxAPI.openShop(player);
} else {
if (player.hasPermission("commandgui.admin")) {
send.player(player, prefix + " §4T2C-LuckyBox could not be found! §9Please download it here: " +
"§6https://www.spigotmc.org/resources/luckybox.98154/");
}
}
return;
} }
if (MCVersion.minecraft1_13) { if (MCVersion.minecraft1_13) {
@@ -79,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);
@@ -175,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,35 +11,51 @@ 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
public void onPluginMessageReceived(String channel, Player player, byte[] message) { public void onPluginMessageReceived(String channel, Player player, byte[] message) {
DataInputStream stream = new DataInputStream(new ByteArrayInputStream(message)); DataInputStream stream = new DataInputStream(new ByteArrayInputStream(message));
send.debug(Main.plugin,"stream: "+stream.toString());
try { try {
String subChannel = stream.readUTF(); String subChannel = stream.readUTF();
String input = stream.readUTF(); String input = stream.readUTF();
send.debug(Main.plugin,"subChannel: " +subChannel);
send.debug(Main.plugin,"input: " +input);
switch (subChannel) { switch (subChannel) {
case "join": case "join":
Main.bungeeplayers.add(input);
Main.bungeejoinplayers.add(input); Main.bungeejoinplayers.add(input);
break; break;
case "left": case "left":
Main.bungeeplayers.remove(input);
Main.bungeejoinplayers.remove(input); Main.bungeejoinplayers.remove(input);
break; break;
case "clear": case "clear":
Main.bungeeplayers.clear();
Main.bungeejoinplayers.clear(); Main.bungeejoinplayers.clear();
break; break;
} }

View File

@@ -35,7 +35,10 @@ public class Give_UseItem {
} }
if (SelectConfig.UseItem_InventorySlot_FreeSlot) { if (SelectConfig.UseItem_InventorySlot_FreeSlot) {
player.getInventory().addItem(itemStack(player)); player.getInventory().addItem(itemStack(player));
} else player.getInventory().setItem(slot - 1, itemStack(player)); } else {
send.debug(Main.plugin,"setUseItem: " + player.getName() + " Slot: "+ Integer.parseInt(String.valueOf(slot-1)));
player.getInventory().setItem(slot - 1, itemStack(player));
}
} }
public static void onGiveADD(Player player) { public static void onGiveADD(Player player) {

View File

@@ -61,9 +61,13 @@ public class Load {
if (SelectConfig.Bungee) { if (SelectConfig.Bungee) {
if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin,"cgui:bungee")){ if (!Bukkit.getMessenger().isOutgoingChannelRegistered(plugin,"cgui:bungee")){
send.debug(plugin, "registerIncomingPluginChannel §ecgui:bungee"); send.debug(plugin, "registerOutgoingPluginChannel §ecgui:bungee");
Bukkit.getMessenger().registerOutgoingPluginChannel(plugin,"cgui:bungee"); Bukkit.getMessenger().registerOutgoingPluginChannel(plugin,"cgui:bungee");
} }
if (!Bukkit.getMessenger().isIncomingChannelRegistered(plugin,"cgui:onlinepl")){
send.debug(plugin, "registerIncomingPluginChannel §ecgui:onlinepl");
Bukkit.getMessenger().registerIncomingPluginChannel(plugin,"cgui:onlinepl", new Bungee_Sender_Reciver());
}
} }
try { try {

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

@@ -1,7 +1,7 @@
package de.jatitv.commandguiv2; package de.jatitv.commandguiv2;
public class Util { public class Util {
private static double requiredT2CodeLibVersion = 8; private static double requiredT2CodeLibVersion = 10.3;
private static String Prefix = "§8[§4C§9GUI§8]"; private static String Prefix = "§8[§4C§9GUI§8]";
private static Integer SpigotID = 90671; private static Integer SpigotID = 90671;
private static Integer BstatsID = 10840; private static Integer BstatsID = 10840;

View File

@@ -5,10 +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 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;
@@ -16,11 +19,25 @@ 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);
} }
public static void disableItemGiveOnJoin(Boolean disableItemGiveOnJoin) { public static void disableItemGiveOnJoin(Boolean disableItemGiveOnJoin) {
send.debug(Main.plugin, "CGuiAPI: " + disableItemGiveOnJoin);
JoinDisable = disableItemGiveOnJoin; JoinDisable = disableItemGiveOnJoin;
} }

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