From 3422575fd0597b3f9e55f4df2c29e43b9db1ff8f Mon Sep 17 00:00:00 2001 From: SpaceEmotion Date: Tue, 30 Apr 2013 10:19:53 +0200 Subject: [PATCH] Changed OWNER req. logic , also started working on inventory features --- .../denizen/scripts/ScriptRegistry.java | 1 + .../scripts/containers/ScriptContainer.java | 4 +-- .../containers/core/BookScriptContainer.java | 13 +++---- .../core/InventoryScriptContainer.java | 35 +++++++++++++++++++ .../requirements/core/OwnerRequirement.java | 6 +--- .../denizen/utilities/debugging/DebugLog.java | 6 +--- 6 files changed, 44 insertions(+), 21 deletions(-) create mode 100644 src/main/java/net/aufdemrand/denizen/scripts/containers/core/InventoryScriptContainer.java diff --git a/src/main/java/net/aufdemrand/denizen/scripts/ScriptRegistry.java b/src/main/java/net/aufdemrand/denizen/scripts/ScriptRegistry.java index 31a66d080e..de59ab4562 100644 --- a/src/main/java/net/aufdemrand/denizen/scripts/ScriptRegistry.java +++ b/src/main/java/net/aufdemrand/denizen/scripts/ScriptRegistry.java @@ -34,6 +34,7 @@ public static void _registerCoreTypes() { _registerType("procedure", ProcedureScriptContainer.class); _registerType("world", WorldScriptContainer.class); _registerType("format", FormatScriptContainer.class); + _registerType("inventory", InventoryScriptContainer.class); } public static boolean containsScript(String id) { diff --git a/src/main/java/net/aufdemrand/denizen/scripts/containers/ScriptContainer.java b/src/main/java/net/aufdemrand/denizen/scripts/containers/ScriptContainer.java index c96c2904a9..b280a6602b 100644 --- a/src/main/java/net/aufdemrand/denizen/scripts/containers/ScriptContainer.java +++ b/src/main/java/net/aufdemrand/denizen/scripts/containers/ScriptContainer.java @@ -98,13 +98,13 @@ public List getEntries(Player player, dNPC npc, String path) { List list = new ArrayList(); if (path == null) path = "script"; List stringEntries = contents.getStringList(path.toUpperCase()); - if (stringEntries == null || stringEntries.size() == 0) return list; + if (stringEntries == null || stringEntries.isEmpty()) return list; list = ScriptBuilder.buildScriptEntries(stringEntries, this, player, npc); return list; } public boolean checkCooldown(Player player) { - return DenizenAPI._commandRegistry().get(CooldownCommand.class).checkCooldown(player.getName(), name); + return CooldownCommand.checkCooldown(player.getName(), name); } } diff --git a/src/main/java/net/aufdemrand/denizen/scripts/containers/core/BookScriptContainer.java b/src/main/java/net/aufdemrand/denizen/scripts/containers/core/BookScriptContainer.java index 4d5547a592..ccfdb6ee1c 100644 --- a/src/main/java/net/aufdemrand/denizen/scripts/containers/core/BookScriptContainer.java +++ b/src/main/java/net/aufdemrand/denizen/scripts/containers/core/BookScriptContainer.java @@ -2,7 +2,6 @@ import net.aufdemrand.denizen.npc.dNPC; import net.aufdemrand.denizen.scripts.containers.ScriptContainer; -import net.aufdemrand.denizen.utilities.DenizenAPI; import net.aufdemrand.denizen.utilities.arguments.dItem; import org.bukkit.Material; @@ -11,6 +10,7 @@ import org.bukkit.inventory.meta.BookMeta; import java.util.List; +import net.aufdemrand.denizen.tags.TagManager; public class BookScriptContainer extends ScriptContainer { @@ -27,19 +27,15 @@ public dItem writeBookTo(dItem book, Player player, dNPC npc) { // Get current ItemMeta from the book BookMeta bookInfo = (BookMeta) book.getItemStack().getItemMeta(); - - if (contains("TITLE")) { String title = getString("TITLE"); - title = DenizenAPI.getCurrentInstance().tagManager() - .tag(player, npc, title, false); + title = TagManager.tag(player, npc, title, false); bookInfo.setTitle(title); } if (contains("AUTHOR")) { String author = getString("AUTHOR"); - author = DenizenAPI.getCurrentInstance().tagManager() - .tag(player, npc, author, false); + author = TagManager.tag(player, npc, author, false); bookInfo.setAuthor(author); } @@ -47,8 +43,7 @@ public dItem writeBookTo(dItem book, Player player, dNPC npc) { List pages = getStringList("TEXT"); for (String page : pages) { - page = DenizenAPI.getCurrentInstance().tagManager() - .tag(player, npc, page, false); + page = TagManager.tag(player, npc, page, false); bookInfo.addPage(page); } } diff --git a/src/main/java/net/aufdemrand/denizen/scripts/containers/core/InventoryScriptContainer.java b/src/main/java/net/aufdemrand/denizen/scripts/containers/core/InventoryScriptContainer.java new file mode 100644 index 0000000000..ded5e963f0 --- /dev/null +++ b/src/main/java/net/aufdemrand/denizen/scripts/containers/core/InventoryScriptContainer.java @@ -0,0 +1,35 @@ +package net.aufdemrand.denizen.scripts.containers.core; + +import net.aufdemrand.denizen.scripts.containers.ScriptContainer; +import org.bukkit.configuration.ConfigurationSection; +import org.bukkit.event.inventory.InventoryType; + +public class InventoryScriptContainer extends ScriptContainer { + + public InventoryScriptContainer(ConfigurationSection configurationSection, String scriptContainerName) { + super(configurationSection, scriptContainerName); + } + + public int getSize() { + InventoryType invType = getInventoryType(); + + if(invType == InventoryType.CHEST) { + return Integer.parseInt(getString("size", "27")); + } + + return invType.getDefaultSize(); + } + + public InventoryType getInventoryType() { + String typeStr = getString("inventory", "chest"); + + try { + InventoryType type = InventoryType.valueOf(typeStr); + return type; + + } catch(Exception e) { + return InventoryType.CHEST; + } + } + +} diff --git a/src/main/java/net/aufdemrand/denizen/scripts/requirements/core/OwnerRequirement.java b/src/main/java/net/aufdemrand/denizen/scripts/requirements/core/OwnerRequirement.java index c5af3d88bc..6175027eee 100644 --- a/src/main/java/net/aufdemrand/denizen/scripts/requirements/core/OwnerRequirement.java +++ b/src/main/java/net/aufdemrand/denizen/scripts/requirements/core/OwnerRequirement.java @@ -11,11 +11,7 @@ public class OwnerRequirement extends AbstractRequirement{ @Override public boolean check(RequirementsContext context, List args) throws RequirementCheckException { - if (context.getNPC().getCitizen().getTrait(Owner.class) - .getOwner().equalsIgnoreCase(context.getPlayer().getName())) - return true; - - return false; + return context.getNPC().getCitizen().getTrait(Owner.class).isOwnedBy(context.getPlayer()); } } diff --git a/src/main/java/net/aufdemrand/denizen/utilities/debugging/DebugLog.java b/src/main/java/net/aufdemrand/denizen/utilities/debugging/DebugLog.java index 4ac981de16..65ebaba348 100644 --- a/src/main/java/net/aufdemrand/denizen/utilities/debugging/DebugLog.java +++ b/src/main/java/net/aufdemrand/denizen/utilities/debugging/DebugLog.java @@ -1,7 +1,3 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package net.aufdemrand.denizen.utilities.debugging; import java.io.PrintWriter; @@ -18,7 +14,7 @@ * * Handles debug logs * - * @uathor SpaceEmotion + * @author SpaceEmotion */ public class DebugLog extends Logger { private final static DebugFormatter formatter = new DebugFormatter();