diff --git a/src/api b/src/api index d003d6d87..305a3778c 160000 --- a/src/api +++ b/src/api @@ -1 +1 @@ -Subproject commit d003d6d870db13d56fce223050a06faf15050eae +Subproject commit 305a3778c86fed2680b8cad173b7e5fb0f3c98e6 diff --git a/src/main/java/noppes/npcs/controllers/data/Animation.java b/src/main/java/noppes/npcs/controllers/data/Animation.java index c74a163b2..89081467b 100644 --- a/src/main/java/noppes/npcs/controllers/data/Animation.java +++ b/src/main/java/noppes/npcs/controllers/data/Animation.java @@ -12,6 +12,8 @@ import noppes.npcs.constants.EnumAnimationPart; import noppes.npcs.controllers.AnimationController; import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; import java.util.function.BiConsumer; import java.util.function.Consumer; @@ -35,6 +37,8 @@ public class Animation implements IAnimation { //Client-sided public boolean paused; + protected final Map dataStore = new HashMap<>(); + public Consumer onAnimationStart; public BiConsumer onAnimationFrame; public Consumer onAnimationEnd; @@ -180,6 +184,18 @@ public class Animation implements IAnimation { return time; } + @Override + public boolean hasData(String key) {return dataStore.containsKey(key);} + + @Override + public Object getData(String key) {return dataStore.get(key);} + + @Override + public IAnimation setData(String key, Object v) {dataStore.put(key, v);return this;} + + @Override + public IAnimation removeData(String key) {dataStore.remove(key);return this;} + public void readFromNBT(NBTTagCompound compound) { if (compound.hasKey("ID")) { id = compound.getInteger("ID");