broken-arrow

Untitled

Oct 8th, 2021 (edited)
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.53 KB | None | 0 0
  1. package org.broken.cheststorage.util;
  2.  
  3. import me.jet315.jetshoppers.JetsHoppersPlugin;
  4. import me.jet315.jetshoppers.api.JetsHopper;
  5. import me.jet315.jetshoppers.utils.XMaterialObject;
  6. import org.broken.cheststorage.Settings.ChatMessages;
  7. import org.broken.cheststorage.Settings.LoadSettingsContainers;
  8. import org.broken.cheststorage.cache.ContainerRegistry;
  9. import org.broken.cheststorage.tempCache.TempStoreContainerRegistry;
  10. import org.bukkit.Location;
  11. import org.bukkit.Material;
  12. import org.bukkit.conversations.ConversationAbandonedEvent;
  13. import org.bukkit.conversations.ConversationContext;
  14. import org.bukkit.conversations.Prompt;
  15. import org.bukkit.entity.Player;
  16. import org.bukkit.inventory.ItemStack;
  17. import org.jetbrains.annotations.NotNull;
  18. import org.jetbrains.annotations.Nullable;
  19. import org.mineacademy.fo.conversation.SimpleConversation;
  20. import org.mineacademy.fo.conversation.SimplePrompt;
  21.  
  22. import java.math.BigInteger;
  23. import java.util.ArrayList;
  24. import java.util.List;
  25. import java.util.Map;
  26.  
  27. public class ImportdataFromJetshopperUtility extends SimpleConversation {
  28.  
  29.     private final TempStoreContainerRegistry tempStoreContainerRegistry = TempStoreContainerRegistry.getInstance();
  30.  
  31.     public ImportdataFromJetshopperUtility(String containerFiles) {
  32.         containerFile = containerFiles;
  33.         level = "";
  34.     }
  35.  
  36.     static private String containerFile = "";
  37.     static private String containerFileManual = "";
  38.     static private String newLevel = "";
  39.     static private String level = "";
  40.  
  41.     @Override
  42.     protected Prompt getFirstPrompt() {
  43.         if (!(containerFile == null) || (containerFile != null && !containerFile.equals(""))) {
  44.             return new startimportDataJetsHoppers();
  45.         }
  46.         return new startimportDataManualInputOfFileNames();
  47.     }
  48.  
  49.     @Override
  50.     protected void onConversationEnd(ConversationAbandonedEvent event, boolean canceledFromInactivity) {
  51.         super.onConversationEnd(event, canceledFromInactivity);
  52.     }
  53.  
  54.     private class startimportDataManualInputOfFileNames extends SimplePrompt {
  55.  
  56.         @Override
  57.         protected String getPrompt(ConversationContext conversationContext) {
  58.             return "&aType in the filename you want to use, you has this ones in the folder&6 " + LoadSettingsContainers.getInstance().getFoldersNameInCache() + ". &aand when you whant to change folder write new";
  59.         }
  60.  
  61.         @Override
  62.         protected @Nullable Prompt acceptValidatedInput(@NotNull ConversationContext conversationContext, @NotNull String s) {
  63.             if (s.equals("exit") || s.equals("quit"))
  64.                 return null;
  65.             conversationContext.getAllSessionData().remove("Asked_startimportDataJetsHoppers");
  66.             containerFileManual = s;
  67.             level = "";
  68.             return new startimportDataJetsHoppers();
  69.         }
  70.     }
  71.  
  72.     private class startimportDataJetsHoppers extends SimplePrompt {
  73.  
  74.         @Override
  75.         protected String getPrompt(ConversationContext conversationContext) {
  76.             Player player = (Player) conversationContext.getForWhom();
  77.             ChatMessages.START_IMPORT_JETSHOPPER.sendMessage(player);
  78.             conversationContext.getAllSessionData().remove("Asked_startimportDataManualInputOfFileNames");
  79.  
  80.             for (Map.Entry<Location, JetsHopper> entitys : JetsHoppersPlugin.getInstance().getJetsHopperManager().getRegisteredHoppers().entrySet()) {
  81.                 JetsHopper jetsHopper = entitys.getValue();
  82.  
  83.                 if (!jetsHopper.getLevel().equals(level)) {
  84.  
  85.                     level = jetsHopper.getLevel();
  86.                     return ChatMessages.TYPE_THE_NEW_LEVEL_YOU_WANTS.languageMessages(jetsHopper.getLevel());
  87.                 }
  88.             }
  89.             return null;
  90.         }
  91.  
  92.         @Override
  93.         protected @Nullable Prompt acceptValidatedInput(@NotNull ConversationContext conversationContext, @NotNull String s) {
  94.  
  95.             Player player = (Player) conversationContext.getForWhom();
  96.  
  97.             if (!s.equals("new")) {
  98.                 for (Map.Entry<Location, JetsHopper> entitys : JetsHoppersPlugin.getInstance().getJetsHopperManager().getRegisteredHoppers().entrySet()) {
  99.                     JetsHopper jetsHopper = entitys.getValue();
  100.  
  101.                     if (jetsHopper.getLevel().equals(level)) {
  102.                         tempStoreContainerRegistry.addTempFiles(entitys.getKey(), new TempStoreContainerRegistry.TempStoreChestData(entitys.getValue().getOwner(), s,
  103.                                 ContainerRegistry.TypeOfContainer.LINKEDCONTAINER, containerFile != null && !containerFile.equals("") ? containerFile : containerFileManual, 0,
  104.                                 jetsHopper.whitelistedItems() != null && !jetsHopper.whitelistedItems().isEmpty(), transformItemsToItemstack(jetsHopper.whitelistedItems() != null && !jetsHopper.whitelistedItems().isEmpty() ? jetsHopper.whitelistedItems() : jetsHopper.blacklistedItems()), new ItemStack[]{ItemUtily.createItemStack()}, new ArrayList<>(), BigInteger.ZERO));
  105.  
  106.                     }
  107.                 }
  108.  
  109.                 ChatMessages.HAS_IMPORTED_ONE_LEVEL_TYPE.sendMessage(player, level, s);
  110.             }
  111.             if (s.equals("quit") || s.equals("exit"))
  112.                 return null;
  113.  
  114.             if (!s.equals("new") && (containerFile == null || containerFile.equals(""))) {
  115.                 return new startimportDataJetsHoppers();
  116.             } else {
  117.                 return getFirstPrompt();
  118.             }
  119.         }
  120.     }
  121.  
  122.     private ItemStack[] transformItemsToItemstack(ArrayList<XMaterialObject> items) {
  123.         List<ItemStack> itemStackList = new ArrayList<>();
  124.         for (XMaterialObject item : items) {
  125.             Material material = Material.valueOf(item.getxMaterial().toString());
  126.             itemStackList.add(new ItemStack(material));
  127.         }
  128.         return itemStackList.toArray(new ItemStack[0]);
  129.     }
  130.  
  131.     public String getContainerFile() {
  132.         return containerFile;
  133.     }
  134.  
  135.     public String getNewLevel() {
  136.         return newLevel;
  137.     }
  138.  
  139.     public void setContainerFile(String containerFiles) {
  140.         containerFile = containerFiles;
  141.     }
  142.  
  143.     public void setNewLevel(String newLevels) {
  144.         newLevel = newLevels;
  145.     }
  146. }
  147.  
Add Comment
Please, Sign In to add comment