From 42ae0e35ada841154327b9f1b7e77d26fd358ef0 Mon Sep 17 00:00:00 2001 From: aPunch Date: Sat, 11 Feb 2012 08:33:19 -0600 Subject: [PATCH] removed Inventory from Citizens, added to API --- lib/CitizensAPI.jar | Bin 24227 -> 27215 bytes src/net/citizensnpcs/Citizens.java | 2 +- src/net/citizensnpcs/npc/CitizensNPC.java | 2 +- src/net/citizensnpcs/npc/NPCInventory.java | 2 +- src/net/citizensnpcs/trait/Inventory.java | 96 --------------------- 5 files changed, 3 insertions(+), 99 deletions(-) delete mode 100644 src/net/citizensnpcs/trait/Inventory.java diff --git a/lib/CitizensAPI.jar b/lib/CitizensAPI.jar index 5625feeba64c8a3d0fc2f33ba3cb85ca7458d45c..f8f0fbf51f8711267d5d2795bd165180fdc0894c 100644 GIT binary patch delta 8533 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 b5g)*hE+Ob^b95Xw02`nX8vsZ*{gd=xpe}@* delta 5571 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 AJOBUy diff --git a/src/net/citizensnpcs/Citizens.java b/src/net/citizensnpcs/Citizens.java index 4fd53fc54..df54329f9 100644 --- a/src/net/citizensnpcs/Citizens.java +++ b/src/net/citizensnpcs/Citizens.java @@ -13,6 +13,7 @@ import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.api.npc.trait.Character; import net.citizensnpcs.api.npc.trait.DefaultInstanceFactory; import net.citizensnpcs.api.npc.trait.Trait; +import net.citizensnpcs.api.npc.trait.trait.Inventory; import net.citizensnpcs.api.npc.trait.trait.Owner; import net.citizensnpcs.api.npc.trait.trait.SpawnLocation; import net.citizensnpcs.api.npc.trait.trait.Spawned; @@ -31,7 +32,6 @@ import net.citizensnpcs.npc.CitizensNPCManager; import net.citizensnpcs.storage.DatabaseStorage; import net.citizensnpcs.storage.Storage; import net.citizensnpcs.storage.YamlStorage; -import net.citizensnpcs.trait.Inventory; import net.citizensnpcs.trait.LookClose; import net.citizensnpcs.trait.Sneak; import net.citizensnpcs.util.Messaging; diff --git a/src/net/citizensnpcs/npc/CitizensNPC.java b/src/net/citizensnpcs/npc/CitizensNPC.java index cbe409634..f473ced6f 100644 --- a/src/net/citizensnpcs/npc/CitizensNPC.java +++ b/src/net/citizensnpcs/npc/CitizensNPC.java @@ -3,10 +3,10 @@ package net.citizensnpcs.npc; import net.citizensnpcs.api.event.NPCDespawnEvent; import net.citizensnpcs.api.event.NPCSpawnEvent; import net.citizensnpcs.api.npc.AbstractNPC; +import net.citizensnpcs.api.npc.trait.trait.Inventory; import net.citizensnpcs.api.npc.trait.trait.SpawnLocation; import net.citizensnpcs.api.npc.trait.trait.Spawned; import net.citizensnpcs.npc.ai.CitizensAI; -import net.citizensnpcs.trait.Inventory; import net.citizensnpcs.util.Messaging; import net.minecraft.server.EntityLiving; diff --git a/src/net/citizensnpcs/npc/NPCInventory.java b/src/net/citizensnpcs/npc/NPCInventory.java index 877735ab0..bbfc12247 100644 --- a/src/net/citizensnpcs/npc/NPCInventory.java +++ b/src/net/citizensnpcs/npc/NPCInventory.java @@ -88,7 +88,7 @@ public class NPCInventory implements IInventory { index++; } - npc.getTrait(net.citizensnpcs.trait.Inventory.class).setContents(bukkitItems); + npc.getTrait(net.citizensnpcs.api.npc.trait.trait.Inventory.class).setContents(bukkitItems); } @Override diff --git a/src/net/citizensnpcs/trait/Inventory.java b/src/net/citizensnpcs/trait/Inventory.java deleted file mode 100644 index 1f154677c..000000000 --- a/src/net/citizensnpcs/trait/Inventory.java +++ /dev/null @@ -1,96 +0,0 @@ -package net.citizensnpcs.trait; - -import java.util.HashMap; -import java.util.Map; - -import net.citizensnpcs.api.DataKey; -import net.citizensnpcs.api.exception.NPCLoadException; -import net.citizensnpcs.api.npc.trait.SaveId; -import net.citizensnpcs.api.npc.trait.Trait; - -import org.bukkit.Material; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.inventory.ItemStack; - -@SaveId("inventory") -public class Inventory extends Trait { - private ItemStack[] contents; - - public Inventory() { - contents = new ItemStack[36]; - } - - public Inventory(org.bukkit.inventory.Inventory inventory) { - contents = inventory.getContents(); - } - - public ItemStack[] getContents() { - return contents; - } - - public void setContents(ItemStack[] contents) { - this.contents = contents; - } - - @Override - public void load(DataKey key) throws NPCLoadException { - contents = parseContents(key); - } - - @Override - public void save(DataKey key) { - int slot = 0; - for (ItemStack item : contents) { - // Clear previous items to avoid conflicts - key.removeKey(String.valueOf(slot)); - if (item != null) - saveItem(item, key.getRelative(String.valueOf(slot))); - slot++; - } - } - - private ItemStack[] parseContents(DataKey key) throws NPCLoadException { - ItemStack[] contents = new ItemStack[36]; - for (DataKey slotKey : key.getIntegerSubKeys()) - contents[Integer.parseInt(slotKey.name())] = getItemStack(slotKey); - return contents; - } - - private ItemStack getItemStack(DataKey key) throws NPCLoadException { - try { - ItemStack item = new ItemStack(Material.getMaterial(key.getString("name").toUpperCase().replace('-', '_')), - key.getInt("amount"), (short) key.getLong("data")); - if (key.keyExists("enchantments")) { - Map enchantments = new HashMap(); - for (DataKey subKey : key.getRelative("enchantments").getSubKeys()) { - Enchantment enchantment = Enchantment.getByName(subKey.name().toUpperCase().replace('-', '_')); - if (enchantment != null && enchantment.canEnchantItem(item)) - enchantments.put( - enchantment, - subKey.getInt("") <= enchantment.getMaxLevel() ? subKey.getInt("") : enchantment - .getMaxLevel()); - } - item.addEnchantments(enchantments); - } - return item; - } catch (Exception ex) { - throw new NPCLoadException("Invalid item. " + ex.getMessage()); - } - } - - private void saveItem(ItemStack item, DataKey key) { - key.setString("name", item.getType().toString()); - key.setInt("amount", item.getAmount()); - key.setLong("data", item.getDurability()); - - for (Enchantment enchantment : item.getEnchantments().keySet()) { - key.getRelative("enchantments").setInt(enchantment.getName().toLowerCase().replace('_', '-'), - item.getEnchantmentLevel(enchantment)); - } - } - - @Override - public String toString() { - return "Inventory{" + contents + "}"; - } -} \ No newline at end of file