/** * Updates an entity's position and rotation as specified by the packet */ public void handleEntityTeleport(S18PacketEntityTeleport packetIn) { PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController); Entity entity = this.clientWorldController.getEntityByID(packetIn.getEntityId()); if (entity != null) { entity.serverPosX = packetIn.getX(); entity.serverPosY = packetIn.getY(); entity.serverPosZ = packetIn.getZ(); double d0 = (double) entity.serverPosX / 32.0D; double d1 = (double) entity.serverPosY / 32.0D; double d2 = (double) entity.serverPosZ / 32.0D; float f = (float) (packetIn.getYaw() * 360) / 256.0F; float f1 = (float) (packetIn.getPitch() * 360) / 256.0F; if (Math.abs(entity.posX - d0) < 0.03125D && Math.abs(entity.posY - d1) < 0.015625D && Math.abs(entity.posZ - d2) < 0.03125D) { entity.setPositionAndRotation2(entity.posX, entity.posY, entity.posZ, f, f1, 3, true); } else { entity.setPositionAndRotation2(d0, d1, d2, f, f1, 3, true); } entity.onGround = packetIn.getOnGround(); } }
/** * Updates an entity's position and rotation as specified by the packet */ public void handleEntityTeleport(S18PacketEntityTeleport p_147275_1_) { Entity var2 = this.clientWorldController.getEntityByID(p_147275_1_.func_149451_c()); if (var2 != null) { var2.serverPosX = p_147275_1_.func_149449_d(); var2.serverPosY = p_147275_1_.func_149448_e(); var2.serverPosZ = p_147275_1_.func_149446_f(); double var3 = (double)var2.serverPosX / 32.0D; double var5 = (double)var2.serverPosY / 32.0D + 0.015625D; double var7 = (double)var2.serverPosZ / 32.0D; float var9 = (float)(p_147275_1_.func_149450_g() * 360) / 256.0F; float var10 = (float)(p_147275_1_.func_149447_h() * 360) / 256.0F; var2.setPositionAndRotation2(var3, var5, var7, var9, var10, 3); } }
public void handleEntityTeleport(S18PacketEntityTeleport p_147275_1_) { Entity entity = this.clientWorldController.getEntityByID(p_147275_1_.func_149451_c()); if (entity != null) { entity.serverPosX = p_147275_1_.func_149449_d(); entity.serverPosY = p_147275_1_.func_149448_e(); entity.serverPosZ = p_147275_1_.func_149446_f(); double d0 = (double)entity.serverPosX / 32.0D; double d1 = (double)entity.serverPosY / 32.0D + 0.015625D; double d2 = (double)entity.serverPosZ / 32.0D; float f = (float)(p_147275_1_.func_149450_g() * 360) / 256.0F; float f1 = (float)(p_147275_1_.func_149447_h() * 360) / 256.0F; entity.setPositionAndRotation2(d0, d1, d2, f, f1, 3); } }
/** * Updates an entity's position and rotation as specified by the packet */ public void handleEntityTeleport(S18PacketEntityTeleport packetIn) { PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController); Entity entity = this.clientWorldController.getEntityByID(packetIn.getEntityId()); if (entity != null) { entity.serverPosX = packetIn.getX(); entity.serverPosY = packetIn.getY(); entity.serverPosZ = packetIn.getZ(); double d0 = (double)entity.serverPosX / 32.0D; double d1 = (double)entity.serverPosY / 32.0D; double d2 = (double)entity.serverPosZ / 32.0D; float f = (float)(packetIn.getYaw() * 360) / 256.0F; float f1 = (float)(packetIn.getPitch() * 360) / 256.0F; if (Math.abs(entity.posX - d0) < 0.03125D && Math.abs(entity.posY - d1) < 0.015625D && Math.abs(entity.posZ - d2) < 0.03125D) { entity.setPositionAndRotation2(entity.posX, entity.posY, entity.posZ, f, f1, 3, true); } else { entity.setPositionAndRotation2(d0, d1, d2, f, f1, 3, true); } entity.onGround = packetIn.getOnGround(); } }
@Override protected void performEffect(EntityPlayer player, ItemStack instrument, int power) { List<EntityHorse> horses = player.worldObj.getEntitiesWithinAABB(EntityHorse.class, player.getEntityBoundingBox().expand(8.0D, 4.0D, 8.0D)); for (EntityHorse horse : horses) { if (!horse.isTame()) { horse.setTamedBy(player); // 18 is flag for heart particles player.worldObj.setEntityState(horse, (byte) 18); } } ZSSPlayerSongs songs = ZSSPlayerSongs.get(player); // Check for cows for Lon Lon Milk (Fairy Ocarina can be used if you don't want to summon Epona) List<EntityCow> cows = player.worldObj.getEntitiesWithinAABB(EntityCow.class, player.getEntityBoundingBox().expand(8.0D, 4.0D, 8.0D)); for (EntityCow cow : cows) { songs.addLonLonCow(cow); } if (power < 5) { return; // only maximum power instruments can teleport Epona } int x = MathHelper.floor_double(player.posX); int y = MathHelper.floor_double(player.getEntityBoundingBox().maxY); int z = MathHelper.floor_double(player.posZ); if (!player.worldObj.provider.isSurfaceWorld()) { PlayerUtils.sendTranslatedChat(player, "chat.zss.song.epona.dimension"); } else if (!player.worldObj.canBlockSeeSky(new BlockPos(x, y, z))) { PlayerUtils.sendTranslatedChat(player, "chat.zss.song.epona.sky"); } else { EntityHorse epona = songs.getLastHorseRidden(); if (epona == null) { PlayerUtils.sendTranslatedChat(player, "chat.zss.song.epona.missing"); } else { // TODO check for clear space where horse should spawn? if (epona.riddenByEntity != null) { epona.riddenByEntity.mountEntity(null); } if (epona.getLeashed()) { epona.clearLeashed(true, true); } Vec3 vec3 = player.getLookVec(); epona.setPosition(player.posX + (vec3.xCoord * 2.0D), player.posY + 1, player.posZ + (vec3.zCoord * 2.0D)); S18PacketEntityTeleport packet = new S18PacketEntityTeleport(epona); PacketDispatcher.sendTo(packet, player); // send to ocarina player first, maybe it will be faster PacketDispatcher.sendToPlayersExcept(packet, player, ((WorldServer) player.worldObj).getEntityTracker().getTrackingPlayers(epona)); epona.makeHorseRearWithSound(); songs.setHorseRidden(epona); // sets last chunk coordinates in case player doesn't mount } } }
/** * Updates an entity's position and rotation as specified by the packet */ void handleEntityTeleport(S18PacketEntityTeleport packetIn);
/** * Updates an entity's position and rotation as specified by the packet */ void handleEntityTeleport(S18PacketEntityTeleport var1);
void handleEntityTeleport(S18PacketEntityTeleport p_147275_1_);