/** * Spawns the mob entity at the specified location, with the specified rotation, momentum and type. Updates the * entities Datawatchers with the entity metadata specified in the packet */ public void handleSpawnMob(SPacketSpawnMob 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; EntityLivingBase entitylivingbase = (EntityLivingBase)EntityList.createEntityByID(packetIn.getEntityType(), this.gameController.world); if (entitylivingbase != null) { EntityTracker.updateServerPosition(entitylivingbase, d0, d1, d2); entitylivingbase.renderYawOffset = (float)(packetIn.getHeadPitch() * 360) / 256.0F; entitylivingbase.rotationYawHead = (float)(packetIn.getHeadPitch() * 360) / 256.0F; Entity[] aentity = entitylivingbase.getParts(); if (aentity != null) { int i = packetIn.getEntityID() - entitylivingbase.getEntityId(); for (Entity entity : aentity) { entity.setEntityId(entity.getEntityId() + i); } } entitylivingbase.setEntityId(packetIn.getEntityID()); entitylivingbase.setUniqueId(packetIn.getUniqueId()); entitylivingbase.setPositionAndRotation(d0, d1, d2, f, f1); entitylivingbase.motionX = (double)((float)packetIn.getVelocityX() / 8000.0F); entitylivingbase.motionY = (double)((float)packetIn.getVelocityY() / 8000.0F); entitylivingbase.motionZ = (double)((float)packetIn.getVelocityZ() / 8000.0F); this.clientWorldController.addEntityToWorld(packetIn.getEntityID(), entitylivingbase); List < EntityDataManager.DataEntry<? >> list = packetIn.getDataManagerEntries(); if (list != null) { entitylivingbase.getDataManager().setEntryValues(list); } } else { LOGGER.warn("Skipping Entity with id {}", new Object[] {Integer.valueOf(packetIn.getEntityType())}); } }
/** * Spawns the mob entity at the specified location, with the specified rotation, momentum and type. Updates the * entities Datawatchers with the entity metadata specified in the packet */ public void handleSpawnMob(SPacketSpawnMob 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; EntityLivingBase entitylivingbase = (EntityLivingBase)EntityList.createEntityByID(packetIn.getEntityType(), this.gameController.theWorld); if (entitylivingbase == null) { net.minecraftforge.fml.common.FMLLog.info("Server attempted to spawn an unknown entity using ID: {0} at ({1}, {2}, {3}) Skipping!", packetIn.getEntityType(), d0, d1, d2); return; } EntityTracker.updateServerPosition(entitylivingbase, d0, d1, d2); entitylivingbase.renderYawOffset = (float)(packetIn.getHeadPitch() * 360) / 256.0F; entitylivingbase.rotationYawHead = (float)(packetIn.getHeadPitch() * 360) / 256.0F; Entity[] aentity = entitylivingbase.getParts(); if (aentity != null) { int i = packetIn.getEntityID() - entitylivingbase.getEntityId(); for (Entity entity : aentity) { entity.setEntityId(entity.getEntityId() + i); } } entitylivingbase.setEntityId(packetIn.getEntityID()); entitylivingbase.setUniqueId(packetIn.getUniqueId()); entitylivingbase.setPositionAndRotation(d0, d1, d2, f, f1); entitylivingbase.motionX = (double)((float)packetIn.getVelocityX() / 8000.0F); entitylivingbase.motionY = (double)((float)packetIn.getVelocityY() / 8000.0F); entitylivingbase.motionZ = (double)((float)packetIn.getVelocityZ() / 8000.0F); this.clientWorldController.addEntityToWorld(packetIn.getEntityID(), entitylivingbase); List < EntityDataManager.DataEntry<? >> list = packetIn.getDataManagerEntries(); if (list != null) { entitylivingbase.getDataManager().setEntryValues(list); } }
/** * Spawns the mob entity at the specified location, with the specified rotation, momentum and type. Updates the * entities Datawatchers with the entity metadata specified in the packet */ void handleSpawnMob(SPacketSpawnMob packetIn);