mirror of
https://github.com/Minestom/Minestom.git
synced 2025-02-15 11:51:53 +01:00
chore: reapply #2027, throw if adding viewer before entity is active
This commit is contained in:
parent
5b027599c5
commit
452943df23
@ -28,7 +28,6 @@ import net.minestom.server.instance.block.Block;
|
||||
import net.minestom.server.instance.block.BlockFace;
|
||||
import net.minestom.server.instance.block.BlockHandler;
|
||||
import net.minestom.server.network.packet.server.CachedPacket;
|
||||
import net.minestom.server.network.packet.server.LazyPacket;
|
||||
import net.minestom.server.network.packet.server.play.*;
|
||||
import net.minestom.server.permission.Permission;
|
||||
import net.minestom.server.permission.PermissionHandler;
|
||||
@ -441,6 +440,7 @@ public class Entity implements Viewable, Tickable, Schedulable, Snapshotable, Ev
|
||||
|
||||
@Override
|
||||
public final boolean addViewer(@NotNull Player player) {
|
||||
Check.stateCondition(!isActive(), "Entities must be in an instance before adding viewers");
|
||||
if (!viewEngine.manualAdd(player)) return false;
|
||||
updateNewViewer(player);
|
||||
return true;
|
||||
@ -463,7 +463,7 @@ public class Entity implements Viewable, Tickable, Schedulable, Snapshotable, Ev
|
||||
public void updateNewViewer(@NotNull Player player) {
|
||||
player.sendPacket(getEntityType().registry().spawnType().getSpawnPacket(this));
|
||||
if (hasVelocity()) player.sendPacket(getVelocityPacket());
|
||||
player.sendPacket(new LazyPacket(this::getMetadataPacket));
|
||||
player.sendPacket(this.getMetadataPacket());
|
||||
// Passengers
|
||||
final Set<Entity> passengers = this.passengers;
|
||||
if (!passengers.isEmpty()) {
|
||||
|
Loading…
Reference in New Issue
Block a user