diff --git a/gradle-plugins b/gradle-plugins index f1c82c10c..34cbba98f 160000 --- a/gradle-plugins +++ b/gradle-plugins @@ -1 +1 @@ -Subproject commit f1c82c10c8c92eaaf55044cf931da5e1c7a2668f +Subproject commit 34cbba98f1d3edf84e8c7d67216fe02a520a5cbc diff --git a/src/api b/src/api index 3c063d8bc..253ef7329 160000 --- a/src/api +++ b/src/api @@ -1 +1 @@ -Subproject commit 3c063d8bc1c27d06107488768fa89357e80bb40d +Subproject commit 253ef7329814f37578a771363e4bde0b61bc6fcd diff --git a/src/main/java/noppes/npcs/controllers/LinkedItemController.java b/src/main/java/noppes/npcs/controllers/LinkedItemController.java index 78534a82f..efba64ff5 100644 --- a/src/main/java/noppes/npcs/controllers/LinkedItemController.java +++ b/src/main/java/noppes/npcs/controllers/LinkedItemController.java @@ -5,6 +5,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import noppes.npcs.CustomNpcs; import noppes.npcs.LogWriter; +import noppes.npcs.api.handler.ILinkedItemHandler; import noppes.npcs.api.handler.data.ILinkedItem; import noppes.npcs.api.item.IItemStack; import noppes.npcs.controllers.data.IScriptHandler; @@ -21,7 +22,7 @@ import java.io.IOException; import java.util.HashMap; import java.util.zip.GZIPInputStream; -public class LinkedItemController { +public class LinkedItemController implements ILinkedItemHandler { private static LinkedItemController Instance; private int lastUsedID = 0; @@ -40,25 +41,28 @@ public class LinkedItemController { return Instance; } - public LinkedItem createItem(String name) { + @Override + public ILinkedItem createItem(String name) { return new LinkedItem(name); } + @Override public IItemStack createItemStack(int id) { - LinkedItem linkedItem = this.get(id); + LinkedItem linkedItem = (LinkedItem) this.get(id); if (linkedItem != null) { return linkedItem.createStack(); } return null; } - public void add(LinkedItem linkedItem) { + @Override + public void add(ILinkedItem linkedItem) { if (linkedItem != null) { String name = linkedItem.getName(); if (name != null && !name.isEmpty()) { int linkedItemId = linkedItem.getId(); int id = this.linkedItems.containsKey(linkedItemId) ? linkedItemId : this.getUnusedId(); - this.linkedItems.put(id, linkedItem); + this.linkedItems.put(id, (LinkedItem) linkedItem); linkedItem.setId(id); this.addScript(id); } @@ -69,6 +73,7 @@ public class LinkedItemController { this.linkedItemsScripts.put(id, new LinkedItemScript()); } + @Override public LinkedItem remove(int id) { this.removeScript(id); return this.linkedItems.remove(id); @@ -78,16 +83,19 @@ public class LinkedItemController { this.linkedItemsScripts.remove(id); } - public LinkedItem get(int id) { - return this.linkedItems.get(id); + @Override + public ILinkedItem get(int id) { + return (LinkedItem) this.linkedItems.get(id); } + @Override public boolean contains(int id) { return this.linkedItems.containsKey(id); } - public boolean contains(LinkedItem linkedItem) { - return this.linkedItems.containsValue(linkedItem); + @Override + public boolean contains(ILinkedItem linkedItem) { + return this.linkedItems.containsValue((LinkedItem) linkedItem); } public IScriptHandler getScriptHandler(int id) { @@ -219,7 +227,7 @@ public class LinkedItemController { } public void delete(int id) { - LinkedItem linkedItem = get(id); + LinkedItem linkedItem = (LinkedItem) get(id); if (linkedItem != null) { LinkedItem foundItem = remove(id); if (foundItem != null && foundItem.name != null) { diff --git a/src/main/java/noppes/npcs/scripted/NpcAPI.java b/src/main/java/noppes/npcs/scripted/NpcAPI.java index 8cb554c3e..09c294e2f 100644 --- a/src/main/java/noppes/npcs/scripted/NpcAPI.java +++ b/src/main/java/noppes/npcs/scripted/NpcAPI.java @@ -71,24 +71,7 @@ import noppes.npcs.api.entity.ICustomNpc; import noppes.npcs.api.entity.IEntity; import noppes.npcs.api.entity.IPlayer; import noppes.npcs.api.gui.ICustomGui; -import noppes.npcs.api.handler.IAbilityHandler; -import noppes.npcs.api.handler.IActionManager; -import noppes.npcs.api.handler.IAnimationHandler; -import noppes.npcs.api.handler.IAttributeHandler; -import noppes.npcs.api.handler.IAuctionHandler; -import noppes.npcs.api.handler.ICloneHandler; -import noppes.npcs.api.handler.ICustomEffectHandler; -import noppes.npcs.api.handler.IDialogHandler; -import noppes.npcs.api.handler.IFactionHandler; -import noppes.npcs.api.handler.IMagicHandler; -import noppes.npcs.api.handler.INaturalSpawnsHandler; -import noppes.npcs.api.handler.IPartyHandler; -import noppes.npcs.api.handler.IProfileHandler; -import noppes.npcs.api.handler.IQuestHandler; -import noppes.npcs.api.handler.IRecipeHandler; -import noppes.npcs.api.handler.IScriptHookHandler; -import noppes.npcs.api.handler.ITelegraphHandler; -import noppes.npcs.api.handler.ITransportHandler; +import noppes.npcs.api.handler.*; import noppes.npcs.api.handler.data.IAnimation; import noppes.npcs.api.handler.data.IFrame; import noppes.npcs.api.handler.data.IFramePart; @@ -99,22 +82,7 @@ import noppes.npcs.compat.PixelmonHelper; import noppes.npcs.config.ConfigScript; import noppes.npcs.constants.EnumAnimationPart; import noppes.npcs.containers.ContainerNpcInterface; -import noppes.npcs.controllers.AnimationController; -import noppes.npcs.controllers.AuctionController; -import noppes.npcs.controllers.ChunkController; -import noppes.npcs.controllers.CustomEffectController; -import noppes.npcs.controllers.DialogController; -import noppes.npcs.controllers.FactionController; -import noppes.npcs.controllers.MagicController; -import noppes.npcs.controllers.PartyController; -import noppes.npcs.controllers.QuestController; -import noppes.npcs.controllers.RecipeController; -import noppes.npcs.controllers.ScriptController; -import noppes.npcs.controllers.ScriptEntityData; -import noppes.npcs.controllers.ScriptHookController; -import noppes.npcs.controllers.ServerCloneController; -import noppes.npcs.controllers.SpawnController; -import noppes.npcs.controllers.TransportController; +import noppes.npcs.controllers.*; import noppes.npcs.controllers.data.Animation; import noppes.npcs.controllers.data.Frame; import noppes.npcs.controllers.data.FramePart; @@ -383,6 +351,10 @@ public class NpcAPI extends AbstractNpcAPI { return AnimationController.Instance; } + public ILinkedItemHandler getLinkedItems() { + return LinkedItemController.getInstance(); + } + public IScriptHookHandler getScriptHooks() { return ScriptHookController.Instance; }