diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 8804622..69279ed 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,12 +5,7 @@ - - - - - - + diff --git a/src/main/java/me/tofaa/entitylib/Tickable.java b/src/main/java/me/tofaa/entitylib/Tickable.java index 815d0e4..b1690f0 100644 --- a/src/main/java/me/tofaa/entitylib/Tickable.java +++ b/src/main/java/me/tofaa/entitylib/Tickable.java @@ -2,6 +2,11 @@ package me.tofaa.entitylib; public interface Tickable { - void update(long time); + /** Internal method for actual logic ticking, if you want to add custom logic to your entity, override {@link #tick(long)} instead. */ + default void update(long time) { + + } + + void tick(long time); } diff --git a/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java b/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java index 638a6a7..52f6cb3 100644 --- a/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java +++ b/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java @@ -242,6 +242,11 @@ public class WrapperEntity implements Tickable { @Override public void update(long time) { + tick(time); + } + + @Override + public void tick(long time) { } } diff --git a/src/main/java/me/tofaa/entitylib/entity/WrapperEntityCreature.java b/src/main/java/me/tofaa/entitylib/entity/WrapperEntityCreature.java index 76aa3f9..ba079d8 100644 --- a/src/main/java/me/tofaa/entitylib/entity/WrapperEntityCreature.java +++ b/src/main/java/me/tofaa/entitylib/entity/WrapperEntityCreature.java @@ -31,6 +31,12 @@ public class WrapperEntityCreature extends WrapperLivingEntity { this.aiGroups = new HashSet<>(); } + @Override + public void update(long time) { + super.update(time); + aiGroups.forEach(aiGroup -> aiGroup.update(time)); + } + @Override public void kill() { super.kill(); diff --git a/src/main/java/me/tofaa/entitylib/entity/ai/AIGroup.java b/src/main/java/me/tofaa/entitylib/entity/ai/AIGroup.java index ef2f523..8159247 100644 --- a/src/main/java/me/tofaa/entitylib/entity/ai/AIGroup.java +++ b/src/main/java/me/tofaa/entitylib/entity/ai/AIGroup.java @@ -64,6 +64,12 @@ public class AIGroup implements Tickable { if (currentGoalSelector != null) { currentGoalSelector.tick(time); } + tick(time); + } + + @Override + public void tick(long time) { + } }