Advertisement
CodedRed

Untitled

Feb 25th, 2020
544
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.69 KB | None | 0 0
  1. package me.Cmaaxx.Vault;
  2.  
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import java.util.UUID;
  7.  
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.inventory.Inventory;
  11. import org.bukkit.inventory.ItemStack;
  12. import org.bukkit.plugin.java.JavaPlugin;
  13.  
  14. import me.Cmaaxx.Vault.Listeners.Chest;
  15.  
  16. public class Main extends JavaPlugin {
  17.     public DataManager data;
  18.     public static Map<UUID, Inventory> menus = new HashMap<UUID, Inventory>();
  19.    
  20.     @Override
  21.     public void onEnable() {
  22.         this.data = new DataManager(this);
  23.         this.getServer().getPluginManager().registerEvents(new Chest(this), this);
  24.         if (this.data.getConfig().contains("data"))
  25.             this.restoreInventory();
  26.     }
  27.    
  28.     @Override
  29.     public void onDisable() {
  30.         if (!menus.isEmpty())
  31.             this.saveInventories();
  32.     }
  33.    
  34.    
  35.     public void saveInventories() {
  36.         for (Map.Entry<UUID, Inventory> entry : menus.entrySet()) {
  37.            
  38.             Inventory inv = (Inventory) entry.getValue();
  39.             this.data.getConfig().set("data." + entry.getKey().toString(), inv.getContents());
  40.         }
  41.         this.data.saveConfig();
  42.     }
  43.    
  44.    
  45.     public void restoreInventory() {
  46.    
  47.         this.data.getConfig().getConfigurationSection("data").getKeys(false).forEach(key -> {
  48.              @SuppressWarnings("unchecked")
  49.             ItemStack[] content = ((List<ItemStack>) this.data.getConfig().get("data." + key)).toArray(new ItemStack[0]);
  50.              Player player = Bukkit.getPlayer(UUID.fromString(key));
  51.              Inventory inv = Bukkit.createInventory(null, 27, player.getName() + "'s EnderChest");
  52.              inv.setContents(content);
  53.              menus.put(UUID.fromString(key), inv);
  54.         });
  55.        
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement