Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.broken.cheststorage.menus;
- import org.broken.cheststorage.ChestStorage;
- import org.broken.cheststorage.NMS.UpdateTittleContainers;
- import org.broken.cheststorage.Settings.MainConfig;
- import org.broken.cheststorage.Settings.MainSettings;
- import org.broken.cheststorage.api.ContainerRegistryAPI;
- import org.broken.cheststorage.cache.PreferenceSettingsRegistery;
- import org.broken.cheststorage.util.GuiTempletsYaml;
- import org.broken.cheststorage.util.ItemUtily;
- import org.broken.cheststorage.util.MetadataEnumsForGui;
- import org.broken.cheststorage.util.hologram.Holograms;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.entity.Player;
- import org.bukkit.event.inventory.ClickType;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.inventory.InventoryCloseEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.metadata.FixedMetadataValue;
- import org.mineacademy.fo.Common;
- import org.mineacademy.fo.PlayerUtil;
- import org.mineacademy.fo.remain.CompMetadata;
- import java.lang.reflect.Field;
- import java.util.*;
- public class SettingsForMainGuiMenu extends MenuHolder {
- private Inventory[] inventories;
- private Inventory inventory;
- PreferenceSettingsRegistery preferenceRegistery = PreferenceSettingsRegistery.getInstance();
- //@Getter
- //private static final SettingsForMainGuiMenu instance = new SettingsForMainGuiMenu();
- private final Map<Integer, ItemStack> addedButtons = new HashMap<>();
- private int pageNumber = 0;
- private List<Integer> fillSpace;
- private int itemsPerPage;
- private Player player;
- private final List<helpclass> buttons = new ArrayList<>();
- private final helpclass placeholder;
- private final helpclass placeholder1;
- private final helpclass removeArmorstands;
- private final helpclass suctionBorderPlaceContainer;
- private final helpclass timerWhenLinkingModeOnOff;
- private final helpclass effectsOnContainers;
- private final helpclass showEffectsWhenCrafItems;
- private final helpclass showEffectsWhenSellItems;
- private final helpclass soundEffectsWhenCrafItems;
- private final helpclass soundEffectsWhenSellItems;
- private final helpclass soundEffectsWhenOpenClose;
- private final helpclass soundEffectsWhenContainerPickUpItems;
- private final helpclass displayPlayerNameOnHolo;
- private final helpclass effectsOnContainersWhenPlace;
- private final helpclass soundEffectsWhenPlaceContainer;
- private final helpclass backButtom;
- private final helpclass previousArrow;
- private final helpclass forwardArrow;
- public SettingsForMainGuiMenu(Location location, Player player) {
- super(location, player);
- String pluginName = ChestStorage.getInstance().getName().toLowerCase();
- placeholder = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- System.out.println("testings " + player);
- }
- @Override
- public ItemStack getItem() {
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Placeholders", null), GuiTempletsYaml.getDisplayName("Settings_Menu", "Placeholders"), null);
- }
- };
- placeholder1 = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- }
- @Override
- public ItemStack getItem() {
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Placeholders", null), GuiTempletsYaml.getDisplayName("Settings_Menu", "Placeholders"), null);
- }
- };
- removeArmorstands = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.hologram")) {
- preferenceRegistery.setshowHologramsWhenPlaceBlock(player, true);
- } else if (player.hasPermission(pluginName + ".settings.hologram")) {
- preferenceRegistery.setshowHologramsWhenPlaceBlock(player, false);
- ContainerRegistryAPI registry = ContainerRegistryAPI.getInstance();
- for (Location location : registry.getContainerlocations())
- if (Objects.equals(registry.getPlayer(location), player))
- Holograms.removeHolograms(location.clone());
- }
- if (!player.hasPermission(pluginName + ".settings.hologram") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.hologram");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- PreferenceSettingsRegistery preferenceRegistery = PreferenceSettingsRegistery.getInstance();
- if (getViewer().hasPermission(pluginName + ".settings.hologram"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Armorstands_button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Armorstands_button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Armorstands_button", String.valueOf(preferenceRegistery.isShowHologramsWhenPlaceBlock(player))));
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Armorstands_button_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Armorstands_button_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Armorstands_button_No_Perms"));
- }
- };
- suctionBorderPlaceContainer = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.suction_border"))
- preferenceRegistery.setShowSuctionBorderWhenPlaceContainer(player, true);
- else if (player.hasPermission(pluginName + ".settings.suction_border"))
- preferenceRegistery.setShowSuctionBorderWhenPlaceContainer(player, false);
- if (!player.hasPermission(pluginName + ".settings.suction_border") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.suction_border");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- PreferenceSettingsRegistery preferenceSettings = PreferenceSettingsRegistery.getInstance();
- if (getViewer().hasPermission(pluginName + ".settings.suction_border"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Suction_Border", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Suction_Border"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Suction_Border", String.valueOf(preferenceSettings.isShowSuctionBorderWhenPlaceContainer(getViewer()))));
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Suction_Border_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Suction_Border_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Suction_Border_No_Perms", String.valueOf(preferenceSettings.isShowSuctionBorderWhenPlaceContainer(getViewer()))));
- }
- };
- timerWhenLinkingModeOnOff = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.timer_setting"))
- preferenceRegistery.setTimerSettingWhenLinkHopper(player, true);
- else if (player.hasPermission(pluginName + ".settings.timer_setting"))
- preferenceRegistery.setTimerSettingWhenLinkHopper(player, false);
- if (!player.hasPermission(pluginName + ".settings.timer_setting") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.timer_setting");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- if (getViewer().hasPermission(pluginName + ".settings.timer_setting"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Timer_Setting_button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Timer_Setting_button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Timer_Setting_button", String.valueOf(preferenceRegistery.isTimerSettingWhenLinkHopper(getViewer())), (MainSettings.getInstance().getSettingsData().getTimeBeforeItTurnOff())));
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Timer_Setting_button_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Timer_Setting_button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Timer_Setting_button_No_Perms", String.valueOf(preferenceRegistery.isTimerSettingWhenLinkHopper(getViewer())), (MainSettings.getInstance().getSettingsData().getTimeBeforeItTurnOff())));
- }
- };
- showEffectsWhenCrafItems = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.show_effects_crafitems"))
- preferenceRegistery.setShowEffectsWhenCrafItems(player, true);
- else if (click.isRightClick() && player.hasPermission(pluginName + ".settings.show_effects_crafitems"))
- preferenceRegistery.setShowEffectsWhenCrafItems(player, false);
- if (!player.hasPermission(pluginName + ".settings.show_effects_crafitems") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.show_effects_crafitems");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- if (getViewer().hasPermission(pluginName + ".settings.show_effects_crafitems"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "ShowEffectsWhen_CrafItems_Button", null),
- GuiTempletsYaml.getDisplayName("Settings_Menu", "ShowEffectsWhen_CrafItems_Button"),
- GuiTempletsYaml.getLore("Settings_Menu", "ShowEffectsWhen_CrafItems_Button", String.valueOf(preferenceRegistery.isShowEffectsWhenCrafItems(getViewer()))));
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "ShowEffectsWhen_CrafItems_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "ShowEffectsWhen_CrafItems_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "ShowEffectsWhen_CrafItems_No_Perms", String.valueOf(preferenceRegistery.isShowEffectsWhenCrafItems(getViewer()))));
- }
- };
- showEffectsWhenSellItems = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.show_effects_selltems"))
- preferenceRegistery.setShowEffectsWhenSellItems(player, true);
- else if (click.isRightClick() && player.hasPermission(pluginName + ".settings.show_effects_selltems"))
- preferenceRegistery.setShowEffectsWhenSellItems(player, false);
- if (!player.hasPermission(pluginName + ".settings.timer_setting") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.show_effects_selltems");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- if (getViewer().hasPermission(pluginName + ".settings.show_effects_selltems"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "ShowEffectsWhen_SellItems_Button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "ShowEffectsWhen_SellItems_Button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "ShowEffectsWhen_SellItems_Button", String.valueOf(preferenceRegistery.isShowEffectsWhenSellItems(getViewer()))));
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "ShowEffectsWhen_SellItems_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "ShowEffectsWhen_SellItems_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "ShowEffectsWhen_SellItems_No_Perms", String.valueOf(preferenceRegistery.isShowEffectsWhenSellItems(getViewer()))));
- }
- };
- effectsOnContainers = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.effects_container"))
- preferenceRegistery.setEffectsOnContainer(player, true);
- else if (player.hasPermission(pluginName + ".settings.effects_container"))
- preferenceRegistery.setEffectsOnContainer(player, false);
- if (!player.hasPermission(pluginName + ".settings.effects_container") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.effects_container");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- if (getViewer().hasPermission(pluginName + ".settings.effects_container"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "EffectsContainer_button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "EffectsContainer_button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "EffectsContainer_button", String.valueOf(preferenceRegistery.isEffectsOnContainer(getViewer().getUniqueId()))));
- /*
- else if (!preferenceRegistery.isShowEffectsWhenPlaceContainer(getViewer()) && getViewer().hasPermission(pluginName + ".settings.effects_container"))
- if (getViewer().hasPermission(pluginName + ".settings.effects_container"))
- return ItemCreator.of(CompMaterial.fromItem(GuiTempletsYaml.getIcon("Settings_Menu", "Settings_Menu_EffectsContainer_button", null)),
- GuiTempletsYaml.getDisplayName("Settings_Menu", "Settings_Menu_EffectsContainer_button"),
- GuiTempletsYaml.getLore("Settings_Menu", "Settings_Menu_EffectsContainer_button", String.valueOf(preferenceRegistery.isShowEffectsWhenPlaceContainer(getViewer())))).enchant(new SimpleEnchant(Enchantment.ARROW_DAMAGE, 1)).flag(CompItemFlag.HIDE_ENCHANTS).build().make();*/
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "EffectsContainer_button_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "EffectsContainer_button_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "EffectsContainer_button_No_Perms"));
- }
- };
- displayPlayerNameOnHolo = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- System.out.println("holo ");
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.display_player_nameonholo"))
- preferenceRegistery.setDisplayPlayerNameOnHolo(player, true);
- else if (click.isRightClick() && player.hasPermission(pluginName + ".settings.display_player_nameonholo"))
- preferenceRegistery.setDisplayPlayerNameOnHolo(player, false);
- if (!player.hasPermission(pluginName + ".settings.display_player_nameonholo") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.display_player_nameonholo");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- if (getViewer().hasPermission(pluginName + ".settings.display_player_nameonholo"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "DisplayPlayer_NameOnHolo_Button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "DisplayPlayer_NameOnHolo_Button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "DisplayPlayer_NameOnHolo_Button", String.valueOf(preferenceRegistery.isDisplayPlayerNameOnHolo(getViewer().getUniqueId()))));
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "DisplayPlayer_NameOnHolo_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "DisplayPlayer_NameOnHolo_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "DisplayPlayer_NameOnHolo_No_Perms", String.valueOf(preferenceRegistery.isDisplayPlayerNameOnHolo(getViewer().getUniqueId()))));
- }
- };
- soundEffectsWhenContainerPickUpItems = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.sound_effects_container_pickupitems"))
- preferenceRegistery.setSoundEffectsWhenContainerPickUpItems(player, true);
- else if (click.isRightClick() && player.hasPermission(pluginName + ".settings.sound_effects_container_pickupitems"))
- preferenceRegistery.setSoundEffectsWhenContainerPickUpItems(player, false);
- if (!player.hasPermission(pluginName + ".settings.sound_effects_container_pickupitems") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.sound_effects_container_pickupitems");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- if (getViewer().hasPermission(pluginName + ".settings.sound_effects_container_pickupitems"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "WhenContainerPickUpItems_button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "WhenContainerPickUpItems_button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "WhenContainerPickUpItems_button", String.valueOf(preferenceRegistery.isSoundEffectsWhenContainerPickUpItems(getViewer().getUniqueId()))));
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "WhenContainerPickUpItems_button_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "WhenContainerPickUpItems_button_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "WhenContainerPickUpItems_button_No_Perms", String.valueOf(preferenceRegistery.isSoundEffectsWhenContainerPickUpItems(getViewer().getUniqueId()))));
- }
- };
- soundEffectsWhenOpenClose = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.sound_effects_openclose"))
- preferenceRegistery.setSoundEffectsWhenOpenClose(player, true);
- else if (click.isRightClick() && player.hasPermission(pluginName + ".settings.sound_effects_openclose"))
- preferenceRegistery.setSoundEffectsWhenOpenClose(player, false);
- if (!player.hasPermission(pluginName + ".settings.sound_effects_openclose") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.sound_effects_openclose");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- if (getViewer().hasPermission(pluginName + ".settings.sound_effects_openclose"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "SoundEffectsWhen_OpenClose_Button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "SoundEffectsWhen_OpenClose_Button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "SoundEffectsWhen_OpenClose_Button", String.valueOf(preferenceRegistery.isSoundEffectsWhenOpenClose(getViewer()))));
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "SoundEffectsWhen_OpenClose_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "SoundEffectsWhen_OpenClose_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "SoundEffectsWhen_OpenClose_No_Perms", String.valueOf(preferenceRegistery.isSoundEffectsWhenOpenClose(getViewer()))));
- }
- };
- soundEffectsWhenSellItems = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.sound_effects_selltems"))
- preferenceRegistery.setSoundEffectsWhenSellItems(player, true);
- else if (click.isRightClick() && player.hasPermission(pluginName + ".settings.sound_effects_selltems"))
- preferenceRegistery.setSoundEffectsWhenSellItems(player, false);
- if (!player.hasPermission(pluginName + ".settings.sound_effects_selltems") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.sound_effects_selltems");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- if (getViewer().hasPermission(pluginName + ".settings.sound_effects_selltems"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "SoundEffectsWhen_SellItems_Button", null),
- GuiTempletsYaml.getDisplayName("Settings_Menu", "SoundEffectsWhen_SellItems_Button"),
- GuiTempletsYaml.getLore("Settings_Menu", "SoundEffectsWhen_SellItems_Button", String.valueOf(preferenceRegistery.isSoundEffectsWhenSellItems(getViewer()))));
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "SoundEffectsWhen_SellItems_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "SoundEffectsWhen_SellItems_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "SoundEffectsWhen_SellItems_No_Perms", String.valueOf(preferenceRegistery.isSoundEffectsWhenSellItems(getViewer()))));
- }
- };
- soundEffectsWhenCrafItems = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.sound_effects_craftems"))
- preferenceRegistery.setSoundEffectsWhenCrafItems(player, true);
- else if (click.isRightClick() && player.hasPermission(pluginName + ".settings.sound_effects_craftems"))
- preferenceRegistery.setSoundEffectsWhenCrafItems(player, false);
- if (!player.hasPermission(pluginName + ".settings.sound_effects_craftems") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.sound_effects_craftems");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- if (getViewer().hasPermission(pluginName + ".settings.sound_effects_craftems"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "SoundEffectsWhen_CrafItems_Button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "SoundEffectsWhen_CrafItems_Button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "SoundEffectsWhen_CrafItems_Button", String.valueOf(preferenceRegistery.isSoundEffectsWhenCrafItems(getViewer()))));
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "SoundEffectsWhen_CrafItems_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "SoundEffectsWhen_CrafItems_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "SoundEffectsWhen_CrafItems_No_Perms", String.valueOf(preferenceRegistery.isSoundEffectsWhenCrafItems(getViewer()))));
- }
- };
- effectsOnContainersWhenPlace = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.effects_container_place"))
- preferenceRegistery.setEffectsOnContainerWhenPlace(player, true);
- else if (player.hasPermission(pluginName + ".settings.effects_container"))
- preferenceRegistery.setEffectsOnContainerWhenPlace(player, false);
- if (!player.hasPermission(pluginName + ".settings.effects_container_place") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.effects_container_place");
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- if (getViewer().hasPermission(pluginName + ".settings.effects_container_place"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Effect_When_Place_button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Effect_When_Place_button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "EffectsContainer_button", String.valueOf(preferenceRegistery.isEffectsOnContainerWhenPlace(getViewer()))));
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Effect_When_Place_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Effect_When_Place_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Effect_When_Place_No_Perms"));
- }
- };
- soundEffectsWhenPlaceContainer = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick() && player.hasPermission(pluginName + ".settings.sound.effects_container_place"))
- preferenceRegistery.setEffectsOnContainerWhenPlace(player, true);
- else if (player.hasPermission(pluginName + ".settings.effects_container"))
- preferenceRegistery.setEffectsOnContainerWhenPlace(player, false);
- if (!player.hasPermission(pluginName + ".settings.sound.effects_container_place") && MainConfig.Settings.SENDPERMISSIONMSGCONSOLE)
- Common.log("You has not " + pluginName + ".settings.sound.effects_container_place");
- Common.runLater(() -> UpdateTittleContainers.update(player, "test", Material.CHEST, getMenuForPlayers().getSize()));
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- if (getViewer().hasPermission(pluginName + ".settings.sound.effects_container_place"))
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "SoundEffectsWhen_PlaceContainer_Button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "SoundEffectsWhen_PlaceContainer_Button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "SoundEffectsWhen_PlaceContainer_Button", String.valueOf(preferenceRegistery.isEffectsOnContainerWhenPlace(getViewer()))), null, null, true);
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "SoundEffectsWhen_PlaceContainer_No_Perms", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "SoundEffectsWhen_PlaceContainer_No_Perms"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "SoundEffectsWhen_PlaceContainer_No_Perms"));
- }
- };
- backButtom = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- new MainGuiMenu().displayTo(player);
- }
- @Override
- public ItemStack getItem() {
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Back_button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Back_button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Back_button"), "Settings_Menu_Items", "back_BUTTOMMMM");
- }
- };
- previousArrow = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick()) {
- pageNumber -= 1;
- if (pageNumber < 0) {
- pageNumber = inventories.length - 1;
- } else if (pageNumber >= inventories.length) {
- pageNumber = 0;
- }
- onMenuOpen(player, null);
- }
- }
- @Override
- public ItemStack getItem() {
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Previous_button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Previous_button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Previous_button"), "Settings_Menu_Items", "previous_BUTTOMMMM");
- }
- };
- forwardArrow = new helpclass() {
- @Override
- public void onClickedInMenu(Player player, Inventory menu, ClickType click) {
- if (click.isLeftClick()) {
- pageNumber += 1;
- if (pageNumber < 0) {
- pageNumber = inventories.length - 1;
- } else if (pageNumber >= inventories.length) {
- pageNumber = 0;
- }
- onMenuOpen(player, null);
- }
- updateInventory();
- }
- @Override
- public ItemStack getItem() {
- return ItemUtily.createItemStack(GuiTempletsYaml.getIcon("Settings_Menu", "Forward_button", null),
- GuiTempletsYaml.getDisplayName(getViewer(), "Settings_Menu", "Forward_button"),
- GuiTempletsYaml.getLore(getViewer(), "Settings_Menu", "Forward_button"), "Settings_Menu_Items", "fowrward_BUTTOMMMM");
- }
- };
- for (Field field : SettingsForMainGuiMenu.class.getDeclaredFields()) {
- field.setAccessible(true);
- if (SettingsForMainGuiMenu.helpclass.class.isAssignableFrom(field.getType())) {
- try {
- helpclass fielddata = (helpclass) field.get(this);
- buttons.add(fielddata);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- }
- }
- }
- }
- private void updateInventory() {
- int requiredPages = 2;
- int slotIndex = 0;
- for (int i = 0; i < requiredPages; i++) {
- for (int itemPos : this.fillSpace) {
- ItemStack result = setItemsAt(slotIndex);
- slotIndex++;
- if (result == null) continue;
- this.inventories[i].setItem(itemPos, result);
- this.addedButtons.put(i * inventories[i].getSize() + itemPos, result);
- }
- }
- }
- private int getpageNumber() {
- return this.pageNumber;
- }
- public void setPageNumber(int pageNumber) {
- this.pageNumber = pageNumber;
- }
- private void setData() {
- this.itemsPerPage = GuiTempletsYaml.getFillSpace("Settings_Menu").size();
- this.fillSpace = GuiTempletsYaml.getFillSpace("Settings_Menu");
- }
- @Override
- public void generateInventories(List<UUID> ListOfObjectToAdd, String menuName) {
- int requiredPages = Math.max((int) Math.ceil((double) (!buttons.isEmpty() ? ((buttons.size() - 5) + GuiTempletsYaml.getMaxAmountOfItems(menuName)) : GuiTempletsYaml.getGuiSize(menuName)) / this.itemsPerPage), 1);
- //We need more pages if statically positioned players you add are placed at a higher page index an one page can hold.
- this.inventories = new Inventory[requiredPages];
- int slotIndex = 0;
- for (int i = 0; i < requiredPages; i++) {
- this.inventories[i] = createInventory(menuName);
- for (int itemPos : this.fillSpace) {
- ItemStack result = setItemsAt(slotIndex);
- slotIndex++;
- if (result == null) continue;
- this.inventories[i].setItem(itemPos, result);
- this.addedButtons.put(i * inventories[i].getSize() + itemPos, result);
- }
- }
- if (pageNumber >= this.inventories.length) {
- pageNumber = this.inventories.length - 1;
- }
- }
- @Override
- protected void setItemsInSlot(int slot) {
- if (GuiTempletsYaml.getSlot("Settings_Menu", "Placeholders").contains(slot))
- inventory.setItem(slot, placeholder.getItem());
- if (GuiTempletsYaml.getSlot("Settings_Menu", "Placeholders1").contains(slot))
- inventory.setItem(slot, placeholder1.getItem());
- if (GuiTempletsYaml.getSlot("Settings_Menu", "Back_button").contains(slot))
- inventory.setItem(slot, backButtom.getItem());
- if (GuiTempletsYaml.getSlot("Settings_Menu", "Previous_button").contains(slot))
- inventory.setItem(slot, previousArrow.getItem());
- if (GuiTempletsYaml.getSlot("Settings_Menu", "Forward_button").contains(slot)) {
- inventory.setItem(slot, forwardArrow.getItem());
- }
- }
- protected ItemStack setItemsAt(int slot) {
- /*if (GuiTempletsYaml.getSlot("Settings_Menu", "Placeholders").contains(slot))
- return placeholder.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "Placeholders1").contains(slot))
- return placeholder1.getItem();*/
- if (GuiTempletsYaml.getSlot("Settings_Menu", "ShowEffectsWhen_CrafItems_Button").contains(slot))
- return showEffectsWhenCrafItems.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "ShowEffectsWhen_SellItems_Button").contains(slot))
- return showEffectsWhenSellItems.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "SoundEffectsWhen_CrafItems_Button").contains(slot))
- return soundEffectsWhenCrafItems.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "SoundEffectsWhen_SellItems_Button").contains(slot))
- return soundEffectsWhenSellItems.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "SoundEffectsWhen_OpenClose_Button").contains(slot))
- return soundEffectsWhenOpenClose.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "WhenContainerPickUpItems_button").contains(slot))
- return soundEffectsWhenContainerPickUpItems.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "DisplayPlayer_NameOnHolo_Button").contains(slot))
- return displayPlayerNameOnHolo.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "Suction_Border").contains(slot))
- return suctionBorderPlaceContainer.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "Armorstands_button").contains(slot))
- return removeArmorstands.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "EffectsContainer_button").contains(slot))
- return effectsOnContainers.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "Timer_Setting_button").contains(slot))
- return timerWhenLinkingModeOnOff.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "Effect_When_Place_button").contains(slot))
- return effectsOnContainersWhenPlace.getItem();
- if (GuiTempletsYaml.getSlot("Settings_Menu", "SoundEffectsWhen_PlaceContainer_Button").contains(slot))
- return soundEffectsWhenPlaceContainer.getItem();
- return null;
- }
- @Override
- public void clickedMenu(InventoryClickEvent event, ItemStack clicked) {
- if (!buttons.isEmpty()) {
- int clickedSlot = event.getSlot();
- int clickedPos = this.pageNumber * getMenuForPlayers().getSize() + clickedSlot;
- for (helpclass entitys : buttons)
- if (clicked != null && clicked.getType() != Material.AIR && entitys.getItem().isSimilar(clicked)) {
- if (addedButtons.containsKey(clickedPos) && addedButtons.get(clickedPos).isSimilar(clicked) || (clicked.hasItemMeta() && CompMetadata.hasMetadata(clicked, "Settings_Menu_Items")))
- entitys.onClickedInMenu((Player) event.getWhoClicked(), inventory, event.getClick());
- }
- event.setCancelled(true);
- }
- event.setCancelled(true);
- }
- public Inventory createInventory(String menuName) {
- inventory = Bukkit.createInventory(null, GuiTempletsYaml.getGuiSize(menuName));
- setItems();
- return inventory;
- }
- @Override
- public Inventory getMenuForPlayers() {
- if (this.inventories != null)
- return this.inventories[this.pageNumber];
- return null;
- }
- @Override
- public void onMenuClose(InventoryCloseEvent event) {
- player.removeMetadata(MetadataEnumsForGui.INVENTORY_SETTINGS_FOR_GUIMENU.toString(), MetadataEnumsForGui.INVENTORY_SETTINGS_FOR_GUIMENU.getPlugin());
- //inventories = null;
- }
- @Override
- public void onMenuOpen(Player player, Location location) {
- setItems();
- setData();
- this.player = player;
- generateInventories(new ArrayList<>(), "Settings_Menu");
- player.openInventory(getMenuForPlayers());
- PlayerUtil.updateInventoryTitle(player, "testings ");
- }
- @Override
- protected void setMenuInCache(Player player) {
- if (inventory == null)
- this.inventory = Bukkit.createInventory(null, GuiTempletsYaml.getGuiSize("WhiteBlacklist_Filtergui"));
- Common.runLater(10, () -> player.setMetadata(MetadataEnumsForGui.INVENTORY_SETTINGS_FOR_GUIMENU.toString(), new FixedMetadataValue(MetadataEnumsForGui.INVENTORY_SETTINGS_FOR_GUIMENU.getPlugin(), MetadataEnumsForGui.INVENTORY_SETTINGS_FOR_GUIMENU.getMetadataKey())));
- //whiteBlacklistFilterGui.override(player.getUniqueId(), inventory);
- }
- @Override
- protected void setItems() {
- for (int i = 0; i < this.inventory.getSize(); i++) {
- setItemsInSlot(i);
- }
- }
- public Player getViewer() {
- return this.player;
- }
- @Override
- public void whenBlockBreak() {
- }
- public static abstract class helpclass {
- public abstract void onClickedInMenu(Player player, Inventory menu, ClickType click);
- public abstract ItemStack getItem();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement