Update FakePlayer.java (#1603)

This commit is contained in:
Freddi 2022-12-21 07:12:31 +01:00 committed by GitHub
parent 809d9516b2
commit eb06ba8664
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,6 +6,7 @@ import net.minestom.server.coordinate.Pos;
import net.minestom.server.entity.Player; import net.minestom.server.entity.Player;
import net.minestom.server.entity.pathfinding.NavigableEntity; import net.minestom.server.entity.pathfinding.NavigableEntity;
import net.minestom.server.entity.pathfinding.Navigator; import net.minestom.server.entity.pathfinding.Navigator;
import net.minestom.server.event.Event;
import net.minestom.server.event.EventListener; import net.minestom.server.event.EventListener;
import net.minestom.server.event.player.PlayerSpawnEvent; import net.minestom.server.event.player.PlayerSpawnEvent;
import net.minestom.server.instance.Instance; import net.minestom.server.instance.Instance;
@ -37,6 +38,8 @@ public class FakePlayer extends Player implements NavigableEntity {
private final Navigator navigator = new Navigator(this); private final Navigator navigator = new Navigator(this);
private EventListener<PlayerSpawnEvent> spawnListener;
/** /**
* Initializes a new {@link FakePlayer} with the given {@code uuid}, {@code username} and {@code option}'s. * Initializes a new {@link FakePlayer} with the given {@code uuid}, {@code username} and {@code option}'s.
* *
@ -54,17 +57,16 @@ public class FakePlayer extends Player implements NavigableEntity {
this.fakePlayerController = new FakePlayerController(this); this.fakePlayerController = new FakePlayerController(this);
if (spawnCallback != null) { if (spawnCallback != null) {
// FIXME spawnListener = EventListener.builder(PlayerSpawnEvent.class)
MinecraftServer.getGlobalEventHandler().addListener( .handler(event -> {
EventListener.builder(PlayerSpawnEvent.class) if (event.getPlayer().equals(this))
.expireCount(1) if (event.isFirstSpawn()) {
.handler(event -> { spawnCallback.accept(this);
if (event.isFirstSpawn()) { MinecraftServer.getGlobalEventHandler().removeListener(spawnListener);
spawnCallback.accept(this); }
} }).build();
}).build()); MinecraftServer.getGlobalEventHandler().addListener(spawnListener);
} }
CONNECTION_MANAGER.startPlayState(this, option.isRegistered()); CONNECTION_MANAGER.startPlayState(this, option.isRegistered());
} }