Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.broken.cheststorage.Settings.MainGuimenuSettings;
- import org.broken.cheststorage.data.ChestRegistry;
- import org.broken.cheststorage.data.LoadSettingsContainers;
- import org.broken.cheststorage.util.MetadataEnumsForGui;
- import org.bukkit.ChatColor;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.block.Block;
- import org.bukkit.entity.Player;
- import org.bukkit.event.inventory.ClickType;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.metadata.FixedMetadataValue;
- import org.mineacademy.fo.Common;
- import org.mineacademy.fo.SerializeUtil;
- import org.mineacademy.fo.menu.Menu;
- import org.mineacademy.fo.menu.button.Button;
- import org.mineacademy.fo.menu.model.ItemCreator;
- import org.mineacademy.fo.remain.CompMaterial;
- import org.mineacademy.fo.remain.CompMetadata;
- import org.mineacademy.fo.visual.BlockVisualizer;
- import java.util.ArrayList;
- import java.util.List;
- public class HopperGuiUpgradeings extends Menu {
- private static HopperGuiUpgradeings instance = new HopperGuiUpgradeings();
- public boolean linkedAction = false;
- private boolean visualize;
- private final Button LinkButton;
- private final Button UpgradeButton;
- private final Button WhiteBlackListButton;
- //private final Button levelButton;
- //private final Button toolButton;
- //private final Button classesButton;
- public HopperGuiUpgradeings() {
- setTitle(MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_MENU_TITLE);
- //setSlotNumbersVisible();
- setSize(MainGuimenuSettings.HopperGuiLinkedContainer.MENU_SIZE);
- //setSound(null);
- /*setInfoButtonTitle("&6Cheststorage");
- setInfoButtonMaterial(CompMaterial.POLISHED_BLACKSTONE);
- getInfoButtonPosition();*/
- LinkButton = new Button() {
- @Override
- public void onClickedInMenu(Player player, Menu menu, ClickType clickType) {
- MetadataEnumsForGui metadataGui = MetadataEnumsForGui.CLICKED_BLOCK;
- MetadataEnumsForGui metadataplayer = MetadataEnumsForGui.CHEST_METADATA;
- ChestRegistry registry = ChestRegistry.getInstance();
- restartMenu();
- Location location = SerializeUtil.deserializeLocation(CompMetadata.getMetadata(player, metadataplayer.getMetadataKey()));
- List<Location> locationss = registry.getLocations(location);
- String hasMetadata = CompMetadata.getMetadata(player, metadataGui.getMetadataKey());
- linkedAction = clickType.isLeftClick();
- if (linkedAction && hasMetadata == null) {
- player.setMetadata(metadataGui.getMetadataKey(), new FixedMetadataValue(metadataGui.getPlugin(), linkedAction));
- if (locationss != null)
- for (Location loc : locationss) {
- Block blocks = loc.getBlock();
- Common.runLater(() -> BlockVisualizer.visualize(blocks,
- CompMaterial.fromMaterial(Material.BONE_BLOCK), "You has now linked " + blocks.getType().name() + " on cords " +
- SerializeUtil.serializeLoc(loc)));
- }
- visualize = true;
- restartMenu();
- Common.runLater(30, player::closeInventory);
- } else if (!linkedAction) {
- player.removeMetadata(metadataGui.getMetadataKey(), metadataGui.getPlugin());
- if (locationss != null)
- for (Location loc : locationss) {
- Block blocks = loc.getBlock();
- BlockVisualizer.stopVisualizing(blocks);
- }
- restartMenu();
- }
- }
- @Override
- public ItemStack getItem() {
- MetadataEnumsForGui metadataGui = MetadataEnumsForGui.CLICKED_BLOCK;
- Player player = getViewer();
- String hasMetadata = CompMetadata.getMetadata(player, metadataGui.getMetadataKey());
- if (hasMetadata == null)
- return ItemCreator.of(MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_ICON,
- MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_MENU_TITLE,
- MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_LORE).build().make();
- else
- return ItemCreator.of(MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_ICON,
- "Linking is now on",
- "",
- "&6Right click for turn of",
- "",
- "&6use your main hand to set link to",
- "&6chest offhand to remove.").build().make();
- }
- };
- UpgradeButton = new
- Button() {
- @Override
- public void onClickedInMenu(Player player, Menu menu, ClickType clickType) {
- restartMenu();
- }
- @Override
- public ItemStack getItem() {
- ChestRegistry registry = ChestRegistry.getInstance();
- LoadSettingsContainers containers = LoadSettingsContainers.getInstance();
- Player player = getViewer().getPlayer();
- MetadataEnumsForGui metadataplayer = MetadataEnumsForGui.CHEST_METADATA;
- Location location = SerializeUtil.deserializeLocation(CompMetadata.getMetadata(player, metadataplayer.toString()));
- String container = registry.getContainerSettingsName(location);
- double cost = containers.getContainerType(container).getCostUpgrade();
- int linkedRange = containers.getContainerType(container).getLinkedRange();
- int suctionRange = containers.getContainerType(container).getSuctionRange();
- int linkAmont = containers.getContainerType(container).getLinkAmont();
- List<String> colected = new ArrayList<>();
- for (String lores : MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_LORE) {
- String lore = lores
- .replace("{0}", String.valueOf(cost))
- .replace("{1}", String.valueOf(linkedRange))
- .replace("{2}", String.valueOf(suctionRange))
- .replace("{3}", String.valueOf(linkAmont));
- colected.add(ChatColor.translateAlternateColorCodes('&', lore));
- }
- ItemStack stacked = new ItemStack(MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_ICON.toItem());
- ItemMeta metadata = stacked.getItemMeta();
- metadata.setDisplayName(ChatColor.translateAlternateColorCodes('&', MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_DISPLAY_NAME));
- metadata.setLore(colected);
- stacked.setItemMeta(metadata);
- return ItemCreator.of(MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_ICON,
- MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_DISPLAY_NAME,
- colected).build().make();
- }
- };
- WhiteBlackListButton = new
- Button() {
- @Override
- public void onClickedInMenu(Player player, Menu menu, ClickType click) {
- MetadataEnumsForGui metadataplayer = MetadataEnumsForGui.CHEST_METADATA;
- Location location = SerializeUtil.deserializeLocation(CompMetadata.getMetadata(player, metadataplayer.toString()));
- boolean action = click.isLeftClick();
- if (action)
- new WhiteBlacklistFilterGui().createGuiFiterCrafting(player, location);
- }
- @Override
- public ItemStack getItem() {
- return ItemCreator.of(MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_ICON,
- MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_DISPLAY_NAME,
- MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_LORE).build().make();
- }
- };
- /*
- ButtonMenu(new HopperWhiteBlackListButton(), MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_ICON,
- MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_DISPLAY_NAME,
- MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_LORE);*/
- }
- @Override
- public ItemStack getItemAt(int slot) {
- if (slot == MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_SLOT)
- return LinkButton.getItem();
- if (slot == MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_SLOT)
- return UpgradeButton.getItem();
- if (slot == MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_SLOT)
- return WhiteBlackListButton.getItem();
- return null;
- }
- public static HopperGuiUpgradeings getInstance() {
- return instance;
- }
- }
Add Comment
Please, Sign In to add comment