T2C-CommandGUI/CommandGUI V2/src/main/java/de/jatitv/commandguiv2/Spigot/gui/OpenGUI.java

141 lines
7.8 KiB
Java
Raw Normal View History

2021-12-21 04:57:29 +00:00
package de.jatitv.commandguiv2.Spigot.gui;
import de.jatitv.commandguiv2.Spigot.Listener.GUI_Listener;
2022-04-16 12:32:22 +00:00
import de.jatitv.commandguiv2.Spigot.Listener.UseItem_Listener.Events;
2021-12-21 04:57:29 +00:00
import de.jatitv.commandguiv2.Spigot.Main;
import de.jatitv.commandguiv2.Spigot.Objekte.Slot;
2022-01-06 01:21:27 +00:00
import de.jatitv.commandguiv2.Spigot.config.languages.SelectMessages;
2021-12-21 04:57:29 +00:00
import de.jatitv.commandguiv2.Spigot.Objekte.Object;
2022-01-06 01:21:27 +00:00
import de.jatitv.commandguiv2.Spigot.config.config.SelectConfig;
2021-12-21 04:57:29 +00:00
import de.jatitv.commandguiv2.Util;
import io.github.solyze.plugmangui.inventories.PluginListGUI;
import net.t2code.lib.Spigot.Lib.messages.send;
import net.t2code.lib.Spigot.Lib.minecraftVersion.MCVersion;
import net.t2code.lib.Spigot.Lib.replace.Replace;
2022-01-13 02:46:08 +00:00
import net.t2code.luckyBox.api.LuckyBoxAPI;
2021-12-21 04:57:29 +00:00
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.Plugin;
public class OpenGUI {
private static Plugin plugin = Main.plugin;
2022-01-01 02:40:54 +00:00
private static String prefix = Util.getPrefix();
2021-12-21 04:57:29 +00:00
2022-04-18 21:12:50 +00:00
public static void openGUI(Player player, String guiString) {
Object gui = Main.guiHashMap.get(guiString);
2021-12-21 04:57:29 +00:00
Long long_ = Long.valueOf(System.currentTimeMillis());
switch (guiString) {
//case "plugin.PlotSquaredGUI":
// if (Main.PlotSquaredGUI) {
// PlotSquaredGUIapi.openMainGUI(player);
// } else {
// if (player.hasPermission("commandgui.admin")) {
// send.player(player, prefix + " §4PlotSquaredGUI could not be found! §9Please download it here: " +
// "§6https://spigotmc.org/resources/plotsquaredgui.77506/");
// }
// }
// return; todo
case "plugin.PlugManGUI":
if (Main.PlugManGUI) {
player.openInventory((new PluginListGUI(54, 1)).getInventory());
} else {
if (player.hasPermission("commandgui.admin")) {
send.player(player, prefix + " §4PlugManGUI could not be found! §9Please download it here: " +
"§6https://spigotmc.org/resources/plugmangui.87599/");
}
}
return;
2022-01-13 02:28:06 +00:00
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;
2021-12-21 04:57:29 +00:00
}
if (MCVersion.minecraft1_13) {
GUI_Listener.GUICode = "";
} else GUI_Listener.GUICode = "§6§8§9§r";
if (gui.GUI_Enable || player.hasPermission("commandgui.bypass")) {
Inventory inventory;
if (Main.PaPi) {
2022-04-18 21:12:50 +00:00
inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.GUI_Lines, (Replace.replace(prefix, player, GUI_Listener.GUICode + gui.GUI_Name)));
2021-12-21 04:57:29 +00:00
} else inventory = Bukkit.createInventory((InventoryHolder) null, 9 * gui.GUI_Lines, (Replace.replace(prefix, GUI_Listener.GUICode + gui.GUI_Name)));
if (gui.GUI_FillItem_Enable) {
2022-04-18 21:12:50 +00:00
GuiBuilder.fillItem(inventory, gui);
2021-12-21 04:57:29 +00:00
}
for (Slot slot : gui.GUI_Slots) {
2022-04-16 12:32:22 +00:00
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")
2022-03-21 21:21:54 +00:00
|| player.hasPermission("commandgui.admin")) {
2022-04-16 12:32:22 +00:00
if (slot.enable) {
if (slot.empty) {
2022-03-21 21:21:54 +00:00
ItemStack air = new ItemStack(Material.AIR);
2022-04-16 12:32:22 +00:00
inventory.setItem(slot.slot, air);
2022-03-21 21:21:54 +00:00
} else {
2022-04-16 12:32:22 +00:00
if (slot.togglePermission) {
if (player.hasPermission(slot.togglePermissionPerm)) {
toggleOn(slot, player, inventory);
2021-12-21 04:57:29 +00:00
} else {
2022-04-16 12:32:22 +00:00
toggleOff(slot, player, inventory);
}
} else if (slot.toggleUseItem) {
if (Events.useItemHashMap.get(player)) {
toggleOn(slot, player, inventory);
} else {
toggleOff(slot, player, inventory);
}
} else {
if (slot.playerHead_Enable) {
if (MCVersion.minecraft1_8 || MCVersion.minecraft1_9 || MCVersion.minecraft1_10 || MCVersion.minecraft1_11 || MCVersion.minecraft1_12) {
send.player(player, prefix + "§c Playerheads are only available from version §61.13§c! §7- §bGUI: §6" + Replace.replace(prefix, gui.GUI_Name).toString() + " §bSlot: §6" + (slot.slot + 1) + " §7- " + Replace.replace(prefix, slot.name));
send.error(plugin, "Playerheads are only available from version 1.13!");
send.console(prefix + " §bGUI: §6" + Replace.replace(prefix, gui.GUI_Name).toString() + " §bSlot: §6" + (slot.slot + 1) + " §7- " + Replace.replace(prefix, slot.name));
2021-12-21 04:57:29 +00:00
} else {
2022-04-16 12:32:22 +00:00
if (slot.base64_Enable) {
GuiBuilder.base64(slot, player, inventory);
2021-12-21 04:57:29 +00:00
} else {
2022-04-16 12:32:22 +00:00
if (slot.playerWhoHasOpenedTheGUI) {
2022-04-18 21:12:50 +00:00
GuiBuilder.playerHead(slot, player, inventory, player.getName());
2022-03-21 21:21:54 +00:00
} else {
2022-04-18 21:12:50 +00:00
GuiBuilder.playerHead(slot, player, inventory,slot.playerName);
2022-03-21 21:21:54 +00:00
}
2021-12-21 04:57:29 +00:00
}
}
2022-03-21 21:21:54 +00:00
} else {
2022-04-16 12:32:22 +00:00
GuiBuilder.item(slot, player, inventory);
2022-03-21 21:21:54 +00:00
}
2021-12-21 04:57:29 +00:00
}
}
}
}
}
player.openInventory(inventory);
send.debug(plugin, "§6" + player.getName() + " §5Open §6" + Replace.replace(prefix, gui.GUI_Name) + " §5" + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms");
} else player.sendMessage(SelectMessages.GUIIsDisabled.replace("[gui]", Replace.replace(prefix, gui.GUI_Name)));
}
2022-04-16 12:32:22 +00:00
private static void toggleOn(Slot slot, Player player, Inventory inventory) {
if (SelectConfig.toggleItemOnOrYesBase64) {
GuiBuilder.base64(SelectConfig.toggleItemOnOrYesBase64Value, slot, player, inventory);
} else GuiBuilder.item(SelectConfig.toggleItemOnOrYesMaterial, slot, player, inventory);
}
private static void toggleOff(Slot slot, Player player, Inventory inventory) {
if (SelectConfig.toggleItemOffOrNoBase64) {
GuiBuilder.base64(SelectConfig.toggleItemOffOrNoBase64Value, slot, player, inventory);
} else GuiBuilder.item(SelectConfig.toggleItemOffOrNoMaterial, slot, player, inventory);
}
2021-12-21 04:57:29 +00:00
}