From 648cad85c22b9727a33a8f81239f48ab67e65069 Mon Sep 17 00:00:00 2001 From: themode Date: Sat, 14 Nov 2020 07:09:36 +0100 Subject: [PATCH] Entity implements now PermissionHandler --- .../java/net/minestom/server/entity/Entity.java | 13 +++++++++++-- .../java/net/minestom/server/entity/Player.java | 6 ------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/minestom/server/entity/Entity.java b/src/main/java/net/minestom/server/entity/Entity.java index bcc232226..01af85482 100644 --- a/src/main/java/net/minestom/server/entity/Entity.java +++ b/src/main/java/net/minestom/server/entity/Entity.java @@ -20,6 +20,8 @@ import net.minestom.server.instance.InstanceManager; import net.minestom.server.instance.WorldBorder; import net.minestom.server.instance.block.CustomBlock; import net.minestom.server.network.packet.server.play.*; +import net.minestom.server.permission.Permission; +import net.minestom.server.permission.PermissionHandler; import net.minestom.server.thread.ThreadProvider; import net.minestom.server.utils.BlockPosition; import net.minestom.server.utils.Position; @@ -46,7 +48,7 @@ import java.util.function.Consumer; *

* To create your own entity you probably want to extends {@link ObjectEntity} or {@link EntityCreature} instead. */ -public abstract class Entity implements Viewable, EventHandler, DataContainer { +public abstract class Entity implements Viewable, EventHandler, DataContainer, PermissionHandler { private static final Map entityById = new ConcurrentHashMap<>(); private static final AtomicInteger lastEntityId = new AtomicInteger(); @@ -87,8 +89,9 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer { private boolean autoViewable; private final int id; - private Data data; protected final Set viewers = new CopyOnWriteArraySet<>(); + private Data data; + private final List permissions = new LinkedList<>(); protected UUID uuid; private boolean isActive; // False if entity has only been instanced without being added somewhere @@ -346,6 +349,12 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer { this.data = data; } + @NotNull + @Override + public Collection getAllPermissions() { + return permissions; + } + /** * Updates the entity, called every tick. *

diff --git a/src/main/java/net/minestom/server/entity/Player.java b/src/main/java/net/minestom/server/entity/Player.java index 3edfdfd37..f89fe762d 100644 --- a/src/main/java/net/minestom/server/entity/Player.java +++ b/src/main/java/net/minestom/server/entity/Player.java @@ -733,12 +733,6 @@ public class Player extends LivingEntity implements CommandSender { sendMessage(ColoredText.of(message)); } - @NotNull - @Override - public Collection getAllPermissions() { - return permissions; - } - /** * Sends a message to the player. *