Make fake players compatible with adventure platform lib and minor refactor around them (#1235)

* Make fake players compatible with adventure platform and minor refactor around them

Cleaner approach

* Remove no longer needed enderpearl mixin for fake players

Their ClientConnection now has an open channel so isOpen returns true
This commit is contained in:
altrisi authored and GitHub committed 2022-01-19 21:28:36 +01:00
1 parent c0bba54799
commit ec47dea267
9 files changed
+49 -93

No files matched your search

@@ -62,7 +62,7 @@ public class EntityPlayerMPFake extends ServerPlayerEntity
}
EntityPlayerMPFake instance = new EntityPlayerMPFake(server, worldIn, gameprofile, false);
instance.fixStartingPosition = () -> instance.refreshPositionAndAngles(d0, d1, d2, (float) yaw, (float) pitch);
server.getPlayerManager().onPlayerConnect(new NetworkManagerFake(NetworkSide.SERVERBOUND), instance);
server.getPlayerManager().onPlayerConnect(new FakeClientConnection(NetworkSide.SERVERBOUND), instance);
instance.teleport(worldIn, d0, d1, d2, (float)yaw, (float)pitch);
instance.setHealth(20.0F);
instance.unsetRemoved();
@@ -83,7 +83,7 @@ public class EntityPlayerMPFake extends ServerPlayerEntity
ServerWorld worldIn = player.getServerWorld();//.getWorld(player.dimension);
GameProfile gameprofile = player.getGameProfile();
EntityPlayerMPFake playerShadow = new EntityPlayerMPFake(server, worldIn, gameprofile, true);
server.getPlayerManager().onPlayerConnect(new NetworkManagerFake(NetworkSide.SERVERBOUND), playerShadow);
server.getPlayerManager().onPlayerConnect(new FakeClientConnection(NetworkSide.SERVERBOUND), playerShadow);
playerShadow.setHealth(player.getHealth());
playerShadow.networkHandler.requestTeleport(player.getX(), player.getY(), player.getZ(), player.getYaw(), player.getPitch());