Entity implements now PermissionHandler

This commit is contained in:
themode 2020-11-14 07:09:36 +01:00
parent da94942bad
commit 648cad85c2
2 changed files with 11 additions and 8 deletions

View File

@ -20,6 +20,8 @@ import net.minestom.server.instance.InstanceManager;
import net.minestom.server.instance.WorldBorder; import net.minestom.server.instance.WorldBorder;
import net.minestom.server.instance.block.CustomBlock; import net.minestom.server.instance.block.CustomBlock;
import net.minestom.server.network.packet.server.play.*; 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.thread.ThreadProvider;
import net.minestom.server.utils.BlockPosition; import net.minestom.server.utils.BlockPosition;
import net.minestom.server.utils.Position; import net.minestom.server.utils.Position;
@ -46,7 +48,7 @@ import java.util.function.Consumer;
* <p> * <p>
* To create your own entity you probably want to extends {@link ObjectEntity} or {@link EntityCreature} instead. * 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<Integer, Entity> entityById = new ConcurrentHashMap<>(); private static final Map<Integer, Entity> entityById = new ConcurrentHashMap<>();
private static final AtomicInteger lastEntityId = new AtomicInteger(); private static final AtomicInteger lastEntityId = new AtomicInteger();
@ -87,8 +89,9 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer {
private boolean autoViewable; private boolean autoViewable;
private final int id; private final int id;
private Data data;
protected final Set<Player> viewers = new CopyOnWriteArraySet<>(); protected final Set<Player> viewers = new CopyOnWriteArraySet<>();
private Data data;
private final List<Permission> permissions = new LinkedList<>();
protected UUID uuid; protected UUID uuid;
private boolean isActive; // False if entity has only been instanced without being added somewhere 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; this.data = data;
} }
@NotNull
@Override
public Collection<Permission> getAllPermissions() {
return permissions;
}
/** /**
* Updates the entity, called every tick. * Updates the entity, called every tick.
* <p> * <p>

View File

@ -733,12 +733,6 @@ public class Player extends LivingEntity implements CommandSender {
sendMessage(ColoredText.of(message)); sendMessage(ColoredText.of(message));
} }
@NotNull
@Override
public Collection<Permission> getAllPermissions() {
return permissions;
}
/** /**
* Sends a message to the player. * Sends a message to the player.
* *