mirror of
https://github.com/Minestom/Minestom.git
synced 2025-02-12 18:31:41 +01:00
Update FakePlayer.java (#1603)
This commit is contained in:
parent
809d9516b2
commit
eb06ba8664
@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user