From d699343366bd640448c669ff68ad22292d22d4c3 Mon Sep 17 00:00:00 2001 From: Felix Cravic Date: Fri, 24 Jul 2020 22:48:38 +0200 Subject: [PATCH] Fixed not auto viewable entity keeping viewers after being removed --- .../java/net/minestom/server/instance/Instance.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/minestom/server/instance/Instance.java b/src/main/java/net/minestom/server/instance/Instance.java index 91f33a880..74ba7c424 100644 --- a/src/main/java/net/minestom/server/instance/Instance.java +++ b/src/main/java/net/minestom/server/instance/Instance.java @@ -657,11 +657,10 @@ public abstract class Instance implements BlockModifier, EventHandler, DataConta RemoveEntityFromInstanceEvent event = new RemoveEntityFromInstanceEvent(this, entity); callCancellableEvent(RemoveEntityFromInstanceEvent.class, event, () -> { - if (entity.isAutoViewable()) { - // Remove this entity from players viewable list and send delete entities packet - entity.getViewers().forEach(p -> entity.removeViewer(p)); - } + // Remove this entity from players viewable list and send delete entities packet + entity.getViewers().forEach(p -> entity.removeViewer(p)); + // Remove the entity from cache final Chunk chunk = getChunkAt(entity.getPosition()); removeEntityFromChunk(entity, chunk); }); @@ -731,7 +730,7 @@ public abstract class Instance implements BlockModifier, EventHandler, DataConta } private Set getEntitiesInChunk(long index) { - Set entities = chunkEntities.getOrDefault(index, new CopyOnWriteArraySet<>()); + final Set entities = chunkEntities.getOrDefault(index, new CopyOnWriteArraySet<>()); return entities; } @@ -803,7 +802,7 @@ public abstract class Instance implements BlockModifier, EventHandler, DataConta final ExplosionSupplier explosionSupplier = getExplosionSupplier(); if (explosionSupplier == null) throw new IllegalStateException("Tried to create an explosion with no explosion supplier"); - Explosion explosion = explosionSupplier.createExplosion(centerX, centerY, centerZ, strength, additionalData); + final Explosion explosion = explosionSupplier.createExplosion(centerX, centerY, centerZ, strength, additionalData); explosion.apply(this); }