/** * Handles the creation of a nearby player entity, sets the position and held item */ public void handleSpawnPlayer(SPacketSpawnPlayer packetIn) { PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController); double d0 = packetIn.getX(); double d1 = packetIn.getY(); double d2 = packetIn.getZ(); float f = (float)(packetIn.getYaw() * 360) / 256.0F; float f1 = (float)(packetIn.getPitch() * 360) / 256.0F; EntityOtherPlayerMP entityotherplayermp = new EntityOtherPlayerMP(this.gameController.world, this.getPlayerInfo(packetIn.getUniqueId()).getGameProfile()); entityotherplayermp.prevPosX = d0; entityotherplayermp.lastTickPosX = d0; entityotherplayermp.prevPosY = d1; entityotherplayermp.lastTickPosY = d1; entityotherplayermp.prevPosZ = d2; entityotherplayermp.lastTickPosZ = d2; EntityTracker.updateServerPosition(entityotherplayermp, d0, d1, d2); entityotherplayermp.setPositionAndRotation(d0, d1, d2, f, f1); this.clientWorldController.addEntityToWorld(packetIn.getEntityID(), entityotherplayermp); List < EntityDataManager.DataEntry<? >> list = packetIn.getDataManagerEntries(); if (list != null) { entityotherplayermp.getDataManager().setEntryValues(list); } }
/** * Handles the creation of a nearby player entity, sets the position and held item */ public void handleSpawnPlayer(SPacketSpawnPlayer packetIn) { PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController); double d0 = packetIn.getX(); double d1 = packetIn.getY(); double d2 = packetIn.getZ(); float f = (float)(packetIn.getYaw() * 360) / 256.0F; float f1 = (float)(packetIn.getPitch() * 360) / 256.0F; EntityOtherPlayerMP entityotherplayermp = new EntityOtherPlayerMP(this.gameController.theWorld, this.getPlayerInfo(packetIn.getUniqueId()).getGameProfile()); entityotherplayermp.prevPosX = d0; entityotherplayermp.lastTickPosX = d0; entityotherplayermp.prevPosY = d1; entityotherplayermp.lastTickPosY = d1; entityotherplayermp.prevPosZ = d2; entityotherplayermp.lastTickPosZ = d2; EntityTracker.updateServerPosition(entityotherplayermp, d0, d1, d2); entityotherplayermp.setPositionAndRotation(d0, d1, d2, f, f1); this.clientWorldController.addEntityToWorld(packetIn.getEntityID(), entityotherplayermp); List < EntityDataManager.DataEntry<? >> list = packetIn.getDataManagerEntries(); if (list != null) { entityotherplayermp.getDataManager().setEntryValues(list); } }
@SubscribeEvent public void onPacketRecieved(PacketEvent.Incoming.Pre event) { if (event.getPacket() instanceof SPacketSpawnPlayer) { if (disconnectOnNewPlayer.getAsBoolean()) { AutoReconnectMod.hasAutoLogged = true; // dont automatically reconnect UUID id = ((SPacketSpawnPlayer) event.getPacket()).getUniqueId(); NetworkPlayerInfo info = MC.getConnection().getPlayerInfo(id); String name = info != null ? info.getGameProfile().getName() : "(Failed) " + id.toString(); getNetworkManager().closeChannel(new TextComponentString(name + " entered render distance")); disable(); } } }
/** * Handles the creation of a nearby player entity, sets the position and held item */ void handleSpawnPlayer(SPacketSpawnPlayer packetIn);