broken-arrow

Untitled

Jun 24th, 2021 (edited)
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.74 KB | None | 0 0
  1. import org.broken.cheststorage.Settings.MainGuimenuSettings;
  2. import org.broken.cheststorage.data.ChestRegistry;
  3. import org.broken.cheststorage.data.LoadSettingsContainers;
  4. import org.broken.cheststorage.util.MetadataEnumsForGui;
  5. import org.bukkit.ChatColor;
  6. import org.bukkit.Location;
  7. import org.bukkit.Material;
  8. import org.bukkit.block.Block;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.inventory.ClickType;
  11. import org.bukkit.inventory.ItemStack;
  12. import org.bukkit.inventory.meta.ItemMeta;
  13. import org.bukkit.metadata.FixedMetadataValue;
  14. import org.mineacademy.fo.Common;
  15. import org.mineacademy.fo.SerializeUtil;
  16. import org.mineacademy.fo.menu.Menu;
  17. import org.mineacademy.fo.menu.button.Button;
  18. import org.mineacademy.fo.menu.model.ItemCreator;
  19. import org.mineacademy.fo.remain.CompMaterial;
  20. import org.mineacademy.fo.remain.CompMetadata;
  21. import org.mineacademy.fo.visual.BlockVisualizer;
  22.  
  23. import java.util.ArrayList;
  24. import java.util.List;
  25.  
  26. public class HopperGuiUpgradeings extends Menu {
  27.  
  28.  
  29.     private static HopperGuiUpgradeings instance = new HopperGuiUpgradeings();
  30.     public boolean linkedAction = false;
  31.     private boolean visualize;
  32.     private final Button LinkButton;
  33.     private final Button UpgradeButton;
  34.     private final Button WhiteBlackListButton;
  35.     //private final Button levelButton;
  36.     //private final Button toolButton;
  37.     //private final Button classesButton;
  38.  
  39.  
  40.     public HopperGuiUpgradeings() {
  41.  
  42.         setTitle(MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_MENU_TITLE);
  43.         //setSlotNumbersVisible();
  44.         setSize(MainGuimenuSettings.HopperGuiLinkedContainer.MENU_SIZE);
  45.         //setSound(null);
  46.         /*setInfoButtonTitle("&6Cheststorage");
  47.         setInfoButtonMaterial(CompMaterial.POLISHED_BLACKSTONE);
  48.         getInfoButtonPosition();*/
  49.  
  50.  
  51.         LinkButton = new Button() {
  52.  
  53.  
  54.             @Override
  55.             public void onClickedInMenu(Player player, Menu menu, ClickType clickType) {
  56.                 MetadataEnumsForGui metadataGui = MetadataEnumsForGui.CLICKED_BLOCK;
  57.                 MetadataEnumsForGui metadataplayer = MetadataEnumsForGui.CHEST_METADATA;
  58.                 ChestRegistry registry = ChestRegistry.getInstance();
  59.                 restartMenu();
  60.                 Location location = SerializeUtil.deserializeLocation(CompMetadata.getMetadata(player, metadataplayer.getMetadataKey()));
  61.                 List<Location> locationss = registry.getLocations(location);
  62.                 String hasMetadata = CompMetadata.getMetadata(player, metadataGui.getMetadataKey());
  63.  
  64.                 linkedAction = clickType.isLeftClick();
  65.                 if (linkedAction && hasMetadata == null) {
  66.                     player.setMetadata(metadataGui.getMetadataKey(), new FixedMetadataValue(metadataGui.getPlugin(), linkedAction));
  67.                     if (locationss != null)
  68.                         for (Location loc : locationss) {
  69.                             Block blocks = loc.getBlock();
  70.                             Common.runLater(() -> BlockVisualizer.visualize(blocks,
  71.                                     CompMaterial.fromMaterial(Material.BONE_BLOCK), "You has now linked " + blocks.getType().name() + " on cords " +
  72.                                             SerializeUtil.serializeLoc(loc)));
  73.                         }
  74.                     visualize = true;
  75.                     restartMenu();
  76.  
  77.                     Common.runLater(30, player::closeInventory);
  78.  
  79.                 } else if (!linkedAction) {
  80.                     player.removeMetadata(metadataGui.getMetadataKey(), metadataGui.getPlugin());
  81.                     if (locationss != null)
  82.                         for (Location loc : locationss) {
  83.                             Block blocks = loc.getBlock();
  84.                             BlockVisualizer.stopVisualizing(blocks);
  85.                         }
  86.                     restartMenu();
  87.                 }
  88.             }
  89.  
  90.             @Override
  91.             public ItemStack getItem() {
  92.                 MetadataEnumsForGui metadataGui = MetadataEnumsForGui.CLICKED_BLOCK;
  93.                 Player player = getViewer();
  94.                 String hasMetadata = CompMetadata.getMetadata(player, metadataGui.getMetadataKey());
  95.                 if (hasMetadata == null)
  96.                     return ItemCreator.of(MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_ICON,
  97.                             MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_MENU_TITLE,
  98.                             MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_LORE).build().make();
  99.  
  100.                 else
  101.                     return ItemCreator.of(MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_ICON,
  102.                             "Linking is now on",
  103.                             "",
  104.                             "&6Right click for turn of",
  105.                             "",
  106.                             "&6use your main hand to set link to",
  107.                             "&6chest offhand to remove.").build().make();
  108.  
  109.  
  110.             }
  111.  
  112.         };
  113.  
  114.         UpgradeButton = new
  115.  
  116.                 Button() {
  117.                     @Override
  118.                     public void onClickedInMenu(Player player, Menu menu, ClickType clickType) {
  119.                         restartMenu();
  120.                     }
  121.  
  122.                     @Override
  123.                     public ItemStack getItem() {
  124.                         ChestRegistry registry = ChestRegistry.getInstance();
  125.                         LoadSettingsContainers containers = LoadSettingsContainers.getInstance();
  126.                         Player player = getViewer().getPlayer();
  127.                         MetadataEnumsForGui metadataplayer = MetadataEnumsForGui.CHEST_METADATA;
  128.  
  129.                         Location location = SerializeUtil.deserializeLocation(CompMetadata.getMetadata(player, metadataplayer.toString()));
  130.                         String container = registry.getContainerSettingsName(location);
  131.  
  132.                         double cost = containers.getContainerType(container).getCostUpgrade();
  133.                         int linkedRange = containers.getContainerType(container).getLinkedRange();
  134.                         int suctionRange = containers.getContainerType(container).getSuctionRange();
  135.                         int linkAmont = containers.getContainerType(container).getLinkAmont();
  136.                         List<String> colected = new ArrayList<>();
  137.                         for (String lores : MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_LORE) {
  138.  
  139.                             String lore = lores
  140.                                     .replace("{0}", String.valueOf(cost))
  141.                                     .replace("{1}", String.valueOf(linkedRange))
  142.                                     .replace("{2}", String.valueOf(suctionRange))
  143.                                     .replace("{3}", String.valueOf(linkAmont));
  144.                             colected.add(ChatColor.translateAlternateColorCodes('&', lore));
  145.                         }
  146.                         ItemStack stacked = new ItemStack(MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_ICON.toItem());
  147.                         ItemMeta metadata = stacked.getItemMeta();
  148.                         metadata.setDisplayName(ChatColor.translateAlternateColorCodes('&', MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_DISPLAY_NAME));
  149.                         metadata.setLore(colected);
  150.                         stacked.setItemMeta(metadata);
  151.  
  152.                         return ItemCreator.of(MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_ICON,
  153.                                 MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_DISPLAY_NAME,
  154.                                 colected).build().make();
  155.                     }
  156.                 };
  157.  
  158.         WhiteBlackListButton = new
  159.                 Button() {
  160.                     @Override
  161.                     public void onClickedInMenu(Player player, Menu menu, ClickType click) {
  162.                         MetadataEnumsForGui metadataplayer = MetadataEnumsForGui.CHEST_METADATA;
  163.  
  164.                         Location location = SerializeUtil.deserializeLocation(CompMetadata.getMetadata(player, metadataplayer.toString()));
  165.                         boolean action = click.isLeftClick();
  166.                         if (action)
  167.                             new WhiteBlacklistFilterGui().createGuiFiterCrafting(player, location);
  168.                     }
  169.  
  170.                     @Override
  171.                     public ItemStack getItem() {
  172.                         return ItemCreator.of(MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_ICON,
  173.                                 MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_DISPLAY_NAME,
  174.                                 MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_LORE).build().make();
  175.                     }
  176.                 };
  177.  
  178. /*
  179.                 ButtonMenu(new HopperWhiteBlackListButton(), MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_ICON,
  180.                 MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_DISPLAY_NAME,
  181.                 MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_LORE);*/
  182.  
  183.     }
  184.  
  185.     @Override
  186.     public ItemStack getItemAt(int slot) {
  187.  
  188.         if (slot == MainGuimenuSettings.HopperGuiLinkedContainer.HOPPER_GUI_SLOT)
  189.             return LinkButton.getItem();
  190.  
  191.         if (slot == MainGuimenuSettings.HopperGuiUpgrade.HOPPER_GUI_SLOT)
  192.             return UpgradeButton.getItem();
  193.  
  194.         if (slot == MainGuimenuSettings.HopperGuiWhiteAndBlackList.HOPPER_GUI_SLOT)
  195.             return WhiteBlackListButton.getItem();
  196.  
  197.         return null;
  198.     }
  199.  
  200.  
  201.     public static HopperGuiUpgradeings getInstance() {
  202.         return instance;
  203.     }
  204.  
  205. }
  206.  
  207.  
Add Comment
Please, Sign In to add comment