From 096e1de9b534301d6fe7e430472b154d9aab2174 Mon Sep 17 00:00:00 2001 From: TheMode Date: Wed, 2 Jun 2021 09:21:13 +0200 Subject: [PATCH] Delete EventGroup.java, make InstanceEvent an interface --- .../net/minestom/server/event/EventGroup.java | 27 ------------------- .../minestom/server/event/InstanceEvent.java | 23 ---------------- .../instance/AddEntityToInstanceEvent.java | 13 ++++++--- .../instance/InstanceChunkLoadEvent.java | 12 ++++++--- .../instance/InstanceChunkUnloadEvent.java | 13 ++++++--- .../event/instance/InstanceTickEvent.java | 12 ++++++--- .../RemoveEntityFromInstanceEvent.java | 13 ++++++--- .../server/event/trait/InstanceEvent.java | 15 +++++++++++ 8 files changed, 62 insertions(+), 66 deletions(-) delete mode 100644 src/main/java/net/minestom/server/event/EventGroup.java delete mode 100644 src/main/java/net/minestom/server/event/InstanceEvent.java create mode 100644 src/main/java/net/minestom/server/event/trait/InstanceEvent.java diff --git a/src/main/java/net/minestom/server/event/EventGroup.java b/src/main/java/net/minestom/server/event/EventGroup.java deleted file mode 100644 index 258b9cfa6..000000000 --- a/src/main/java/net/minestom/server/event/EventGroup.java +++ /dev/null @@ -1,27 +0,0 @@ -package net.minestom.server.event; - -import net.minestom.server.event.handler.EventHandler; -import org.jetbrains.annotations.NotNull; - -public class EventGroup implements ListenerAttach { - - private final EventListener[] listeners; - - protected EventGroup(@NotNull EventListener... listeners) { - this.listeners = listeners; - } - - @Override - public void attachTo(@NotNull EventHandler handler) { - for (EventListener listener : listeners) { - listener.attachTo(handler); - } - } - - @Override - public void detachFrom(@NotNull EventHandler handler) { - for (EventListener listener : listeners) { - listener.detachFrom(handler); - } - } -} diff --git a/src/main/java/net/minestom/server/event/InstanceEvent.java b/src/main/java/net/minestom/server/event/InstanceEvent.java deleted file mode 100644 index d6348c345..000000000 --- a/src/main/java/net/minestom/server/event/InstanceEvent.java +++ /dev/null @@ -1,23 +0,0 @@ -package net.minestom.server.event; - -import net.minestom.server.instance.Instance; -import org.jetbrains.annotations.NotNull; - -public class InstanceEvent implements Event { - - protected final Instance instance; - - public InstanceEvent(@NotNull Instance instance) { - this.instance = instance; - } - - /** - * Gets the instance. - * - * @return instance - */ - @NotNull - public Instance getInstance() { - return instance; - } -} \ No newline at end of file diff --git a/src/main/java/net/minestom/server/event/instance/AddEntityToInstanceEvent.java b/src/main/java/net/minestom/server/event/instance/AddEntityToInstanceEvent.java index 861d6f891..71c003806 100644 --- a/src/main/java/net/minestom/server/event/instance/AddEntityToInstanceEvent.java +++ b/src/main/java/net/minestom/server/event/instance/AddEntityToInstanceEvent.java @@ -2,7 +2,8 @@ package net.minestom.server.event.instance; import net.minestom.server.entity.Entity; import net.minestom.server.event.CancellableEvent; -import net.minestom.server.event.InstanceEvent; +import net.minestom.server.event.trait.EntityEvent; +import net.minestom.server.event.trait.InstanceEvent; import net.minestom.server.instance.Instance; import org.jetbrains.annotations.NotNull; @@ -10,17 +11,23 @@ import org.jetbrains.annotations.NotNull; * Called by an Instance when an entity is added to it. * Can be used attach data. */ -public class AddEntityToInstanceEvent extends InstanceEvent implements CancellableEvent { +public class AddEntityToInstanceEvent implements InstanceEvent, EntityEvent, CancellableEvent { + private final Instance instance; private final Entity entity; private boolean cancelled; public AddEntityToInstanceEvent(@NotNull Instance instance, @NotNull Entity entity) { - super(instance); + this.instance = instance; this.entity = entity; } + @Override + public @NotNull Instance getInstance() { + return instance; + } + /** * Entity being added. * diff --git a/src/main/java/net/minestom/server/event/instance/InstanceChunkLoadEvent.java b/src/main/java/net/minestom/server/event/instance/InstanceChunkLoadEvent.java index c102d75b1..4b03ca434 100644 --- a/src/main/java/net/minestom/server/event/instance/InstanceChunkLoadEvent.java +++ b/src/main/java/net/minestom/server/event/instance/InstanceChunkLoadEvent.java @@ -1,22 +1,28 @@ package net.minestom.server.event.instance; -import net.minestom.server.event.InstanceEvent; +import net.minestom.server.event.trait.InstanceEvent; import net.minestom.server.instance.Instance; import org.jetbrains.annotations.NotNull; /** * Called when a chunk in an instance is loaded. */ -public class InstanceChunkLoadEvent extends InstanceEvent { +public class InstanceChunkLoadEvent implements InstanceEvent { + private final Instance instance; private final int chunkX, chunkZ; public InstanceChunkLoadEvent(@NotNull Instance instance, int chunkX, int chunkZ) { - super(instance); + this.instance = instance; this.chunkX = chunkX; this.chunkZ = chunkZ; } + @Override + public @NotNull Instance getInstance() { + return instance; + } + /** * Gets the chunk X. * diff --git a/src/main/java/net/minestom/server/event/instance/InstanceChunkUnloadEvent.java b/src/main/java/net/minestom/server/event/instance/InstanceChunkUnloadEvent.java index 306aaf107..aa3ae7fa2 100644 --- a/src/main/java/net/minestom/server/event/instance/InstanceChunkUnloadEvent.java +++ b/src/main/java/net/minestom/server/event/instance/InstanceChunkUnloadEvent.java @@ -1,22 +1,28 @@ package net.minestom.server.event.instance; -import net.minestom.server.event.InstanceEvent; +import net.minestom.server.event.trait.InstanceEvent; import net.minestom.server.instance.Instance; import org.jetbrains.annotations.NotNull; /** * Called when a chunk in an instance is unloaded. */ -public class InstanceChunkUnloadEvent extends InstanceEvent { +public class InstanceChunkUnloadEvent implements InstanceEvent { + private final Instance instance; private final int chunkX, chunkZ; public InstanceChunkUnloadEvent(@NotNull Instance instance, int chunkX, int chunkZ) { - super(instance); + this.instance = instance; this.chunkX = chunkX; this.chunkZ = chunkZ; } + @Override + public @NotNull Instance getInstance() { + return instance; + } + /** * Gets the chunk X. * @@ -34,5 +40,4 @@ public class InstanceChunkUnloadEvent extends InstanceEvent { public int getChunkZ() { return chunkZ; } - } diff --git a/src/main/java/net/minestom/server/event/instance/InstanceTickEvent.java b/src/main/java/net/minestom/server/event/instance/InstanceTickEvent.java index eef4c67a6..b689cd228 100644 --- a/src/main/java/net/minestom/server/event/instance/InstanceTickEvent.java +++ b/src/main/java/net/minestom/server/event/instance/InstanceTickEvent.java @@ -1,21 +1,27 @@ package net.minestom.server.event.instance; -import net.minestom.server.event.InstanceEvent; +import net.minestom.server.event.trait.InstanceEvent; import net.minestom.server.instance.Instance; import org.jetbrains.annotations.NotNull; /** * Called when an instance processes a tick. */ -public class InstanceTickEvent extends InstanceEvent { +public class InstanceTickEvent implements InstanceEvent { + private final Instance instance; private final int duration; public InstanceTickEvent(@NotNull Instance instance, long time, long lastTickAge) { - super(instance); + this.instance = instance; this.duration = (int) (time - lastTickAge); } + @Override + public @NotNull Instance getInstance() { + return instance; + } + /** * Gets the duration of the tick in ms. * diff --git a/src/main/java/net/minestom/server/event/instance/RemoveEntityFromInstanceEvent.java b/src/main/java/net/minestom/server/event/instance/RemoveEntityFromInstanceEvent.java index fe180ffea..868aafbc0 100644 --- a/src/main/java/net/minestom/server/event/instance/RemoveEntityFromInstanceEvent.java +++ b/src/main/java/net/minestom/server/event/instance/RemoveEntityFromInstanceEvent.java @@ -2,24 +2,31 @@ package net.minestom.server.event.instance; import net.minestom.server.entity.Entity; import net.minestom.server.event.CancellableEvent; -import net.minestom.server.event.InstanceEvent; +import net.minestom.server.event.trait.EntityEvent; +import net.minestom.server.event.trait.InstanceEvent; import net.minestom.server.instance.Instance; import org.jetbrains.annotations.NotNull; /** * Called by an Instance when an entity is removed from it. */ -public class RemoveEntityFromInstanceEvent extends InstanceEvent implements CancellableEvent { +public class RemoveEntityFromInstanceEvent implements InstanceEvent, EntityEvent, CancellableEvent { + private final Instance instance; private final Entity entity; private boolean cancelled; public RemoveEntityFromInstanceEvent(@NotNull Instance instance, @NotNull Entity entity) { - super(instance); + this.instance = instance; this.entity = entity; } + @Override + public @NotNull Instance getInstance() { + return instance; + } + /** * Gets the entity being removed. * diff --git a/src/main/java/net/minestom/server/event/trait/InstanceEvent.java b/src/main/java/net/minestom/server/event/trait/InstanceEvent.java new file mode 100644 index 000000000..af1f6d326 --- /dev/null +++ b/src/main/java/net/minestom/server/event/trait/InstanceEvent.java @@ -0,0 +1,15 @@ +package net.minestom.server.event.trait; + +import net.minestom.server.event.Event; +import net.minestom.server.instance.Instance; +import org.jetbrains.annotations.NotNull; + +public interface InstanceEvent extends Event { + + /** + * Gets the instance. + * + * @return instance + */ + @NotNull Instance getInstance(); +} \ No newline at end of file