Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.bizarreplatinum.AssassinsCreed;
- import java.util.HashMap;
- import java.util.Map.Entry;
- import java.util.UUID;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.ConfigurationSection;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.InventoryType;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- public class Main extends JavaPlugin implements Listener{
- private HashMap<UUID, Inventory> acinv = new HashMap<UUID, Inventory>();
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent e) {
- Inventory inv = Bukkit.getServer().createInventory(e.getPlayer(), InventoryType.CHEST, "AC Inventory");
- if(getConfig().contains("backpacks." + e.getPlayer().getUniqueId())) {
- for (String item : getConfig().getConfigurationSection("backpacks." + e.getPlayer().getUniqueId()).getKeys(false)) {
- inv.addItem(loadItem(getConfig().getConfigurationSection("backpacks." + e.getPlayer().getUniqueId() + "." + item)));
- }
- }
- acinv.put(e.getPlayer().getUniqueId(), inv);
- }
- @EventHandler
- public void onPlayerLeave(PlayerQuitEvent e) {
- if(!getConfig().contains("backpacks." + e.getPlayer().getUniqueId())) {
- getConfig().createSection("backpacks." + e.getPlayer().getUniqueId());
- }
- char c = 'a';
- for (ItemStack itemstack : acinv.get(e.getPlayer().getUniqueId())) {
- if(itemstack != null) {
- saveItem(getConfig().createSection("backpacks." + e.getPlayer().getUniqueId() + "." + c++), itemstack);
- }
- }
- saveConfig();
- }
- public void onEnable() {
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- }
- public void onDisable() {
- for(Entry<UUID, Inventory> entry : acinv.entrySet()) {
- if(!getConfig().contains("backpacks." + entry.getKey())) {
- getConfig().createSection("backpacks." + entry.getKey());
- }
- char c = 'a';
- for (ItemStack itemstack : entry.getValue()) {
- if(itemstack != null) {
- saveItem(getConfig().createSection("backpacks." + entry.getKey() + "." + c++), itemstack);
- }
- }
- saveConfig();
- }
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
- if(!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.DARK_RED + "Command is exclusive to players only.");
- return true;
- }
- Player p = (Player) sender;
- if(cmd.getName().equalsIgnoreCase("inv")) {
- p.openInventory(acinv.get(p.getUniqueId()));
- }
- return true;
- }
- private void saveItem(ConfigurationSection section, ItemStack itemstack) {
- section.set("type", itemstack.getType().name());
- section.set("amount", itemstack.getAmount());
- section.set("damage", itemstack.getDurability());
- section.set("displayName", itemstack.getItemMeta().getDisplayName());
- section.set("lore", itemstack.getItemMeta().getLore());
- }
- private ItemStack loadItem(ConfigurationSection section) {
- ItemStack itemstack = new ItemStack(Material.valueOf(section.getString("type")), section.getInt("amount"));
- itemstack.setDurability((short) section.getInt("damage"));
- ItemMeta itemMeta = itemstack.getItemMeta();
- itemMeta.setDisplayName(section.getString("displayName"));
- itemMeta.setLore(section.getStringList("lore"));
- itemstack.setItemMeta(itemMeta);
- return itemstack;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement