MCPcopy Create free account
hub / github.com/GregTech6/gregtech6 / move

Method move

src/main/java/gregapi/util/WD.java:254–310  ·  view source on GitHub ↗
(Entity aEntity, int aDimension, double aX, double aY, double aZ)

Source from the content-addressed store, hash-verified

252 public static boolean dimAETHER(WorldProvider aProvider, String aProviderClassName) {return MD.AETHEL.mLoaded ? "AetherWorldProvider".equalsIgnoreCase(aProviderClassName) : MD.AETHER.mLoaded && "WorldProviderAether".equalsIgnoreCase(aProviderClassName);}
253
254 public static boolean move(Entity aEntity, int aDimension, double aX, double aY, double aZ) {
255 WorldServer tTargetWorld = DimensionManager.getWorld(aDimension), tOriginalWorld = DimensionManager.getWorld(aEntity.worldObj.provider.dimensionId);
256 if (tTargetWorld != null && tOriginalWorld != null && tTargetWorld != tOriginalWorld) {
257 if (aEntity.ridingEntity != null) aEntity.mountEntity(null);
258 if (aEntity.riddenByEntity != null) aEntity.riddenByEntity.mountEntity(null);
259
260 if (aEntity instanceof EntityPlayerMP) {
261 EntityPlayerMP aPlayer = (EntityPlayerMP)aEntity;
262 aPlayer.dimension = aDimension;
263 aPlayer.playerNetServerHandler.sendPacket(new S07PacketRespawn(aPlayer.dimension, aPlayer.worldObj.difficultySetting, aPlayer.worldObj.getWorldInfo().getTerrainType(), aPlayer.theItemInWorldManager.getGameType()));
264 tOriginalWorld.removePlayerEntityDangerously(aPlayer);
265 aPlayer.isDead = F;
266 aPlayer.setWorld(tTargetWorld);
267 MinecraftServer.getServer().getConfigurationManager().func_72375_a(aPlayer, tOriginalWorld);
268 aPlayer.playerNetServerHandler.setPlayerLocation(aX+0.5, aY+0.5, aZ+0.5, aPlayer.rotationYaw, aPlayer.rotationPitch);
269 aPlayer.theItemInWorldManager.setWorld(tTargetWorld);
270 MinecraftServer.getServer().getConfigurationManager().updateTimeAndWeatherForPlayer(aPlayer, tTargetWorld);
271 MinecraftServer.getServer().getConfigurationManager().syncPlayerInventory(aPlayer);
272 @SuppressWarnings("rawtypes")
273 Iterator tIterator = aPlayer.getActivePotionEffects().iterator();
274 while (tIterator.hasNext()) {
275 PotionEffect potioneffect = (PotionEffect)tIterator.next();
276 aPlayer.playerNetServerHandler.sendPacket(new S1DPacketEntityEffect(aPlayer.getEntityId(), potioneffect));
277 }
278 aPlayer.playerNetServerHandler.setPlayerLocation(aX+0.5, aY+0.5, aZ+0.5, aPlayer.rotationYaw, aPlayer.rotationPitch);
279 FMLCommonHandler.instance().firePlayerChangedDimensionEvent(aPlayer, tOriginalWorld.provider.dimensionId, aDimension);
280 } else {
281 aEntity.setPosition(aX+0.5, aY+0.5, aZ+0.5);
282 aEntity.worldObj.removeEntity(aEntity);
283 aEntity.dimension = aDimension;
284 aEntity.isDead = F;
285 Entity tNewEntity = EntityList.createEntityByName(EntityList.getEntityString(aEntity), tTargetWorld);
286 if (tNewEntity != null) {
287 tNewEntity.copyDataFrom(aEntity, T);
288 aEntity.setDead();
289 tNewEntity.isDead = F;
290 boolean temp = tNewEntity.forceSpawn;
291 tNewEntity.forceSpawn = T;
292 tTargetWorld.spawnEntityInWorld(tNewEntity);
293 tNewEntity.forceSpawn = temp;
294 tNewEntity.isDead = F;
295 aEntity = tNewEntity;
296 }
297 }
298
299 if (aEntity instanceof EntityLivingBase) {
300 ((EntityLivingBase)aEntity).setPositionAndUpdate(aX, aY, aZ);
301 } else {
302 aEntity.setPosition(aX, aY, aZ);
303 }
304
305 tOriginalWorld.resetUpdateEntityTick();
306 tTargetWorld.resetUpdateEntityTick();
307 return T;
308 }
309 return F;
310 }
311

Callers 1

Calls 4

setDeadMethod · 0.80
getWorldMethod · 0.65
iteratorMethod · 0.45
nextMethod · 0.45

Tested by

no test coverage detected