本文整理汇总了Java中net.minecraft.entity.EntityTracker.updateServerPosition方法的典型用法代码示例。如果您正苦于以下问题:Java EntityTracker.updateServerPosition方法的具体用法?Java EntityTracker.updateServerPosition怎么用?Java EntityTracker.updateServerPosition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraft.entity.EntityTracker
的用法示例。
在下文中一共展示了EntityTracker.updateServerPosition方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: handleSpawnPlayer
import net.minecraft.entity.EntityTracker; //导入方法依赖的package包/类
/**
* 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);
}
}
示例2: handleSpawnPlayer
import net.minecraft.entity.EntityTracker; //导入方法依赖的package包/类
/**
* 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);
}
}
示例3: handleSpawnExperienceOrb
import net.minecraft.entity.EntityTracker; //导入方法依赖的package包/类
/**
* Spawns an experience orb and sets its value (amount of XP)
*/
public void handleSpawnExperienceOrb(SPacketSpawnExperienceOrb packetIn)
{
PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
double d0 = packetIn.getX();
double d1 = packetIn.getY();
double d2 = packetIn.getZ();
Entity entity = new EntityXPOrb(this.clientWorldController, d0, d1, d2, packetIn.getXPValue());
EntityTracker.updateServerPosition(entity, d0, d1, d2);
entity.rotationYaw = 0.0F;
entity.rotationPitch = 0.0F;
entity.setEntityId(packetIn.getEntityID());
this.clientWorldController.addEntityToWorld(packetIn.getEntityID(), entity);
}
示例4: handleEntityTeleport
import net.minecraft.entity.EntityTracker; //导入方法依赖的package包/类
/**
* Updates an entity's position and rotation as specified by the packet
*/
public void handleEntityTeleport(SPacketEntityTeleport packetIn)
{
PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
Entity entity = this.clientWorldController.getEntityByID(packetIn.getEntityId());
if (entity != null)
{
double d0 = packetIn.getX();
double d1 = packetIn.getY();
double d2 = packetIn.getZ();
EntityTracker.updateServerPosition(entity, d0, d1, d2);
if (!entity.canPassengerSteer())
{
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.setPositionAndRotationDirect(entity.posX, entity.posY, entity.posZ, f, f1, 0, true);
}
else
{
entity.setPositionAndRotationDirect(d0, d1, d2, f, f1, 3, true);
}
entity.onGround = packetIn.getOnGround();
}
}
}
示例5: handleSpawnMob
import net.minecraft.entity.EntityTracker; //导入方法依赖的package包/类
/**
* 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())});
}
}
示例6: spawnEntity
import net.minecraft.entity.EntityTracker; //导入方法依赖的package包/类
private void spawnEntity(FMLMessage.EntitySpawnMessage spawnMsg)
{
ModContainer mc = Loader.instance().getIndexedModList().get(spawnMsg.modId);
EntityRegistration er = EntityRegistry.instance().lookupModSpawn(mc, spawnMsg.modEntityTypeId);
if (er == null)
{
throw new RuntimeException( "Could not spawn mod entity ModID: " + spawnMsg.modId + " EntityID: " + spawnMsg.modEntityTypeId +
" at ( " + spawnMsg.rawX + "," + spawnMsg.rawY + ", " + spawnMsg.rawZ + ") Please contact mod author or server admin.");
}
WorldClient wc = FMLClientHandler.instance().getWorldClient();
Class<? extends Entity> cls = er.getEntityClass();
try
{
Entity entity;
if (er.hasCustomSpawning())
{
entity = er.doCustomSpawning(spawnMsg);
} else
{
entity = cls.getConstructor(World.class).newInstance(wc);
int offset = spawnMsg.entityId - entity.getEntityId();
entity.setEntityId(spawnMsg.entityId);
entity.setUniqueId(spawnMsg.entityUUID);
entity.setLocationAndAngles(spawnMsg.rawX, spawnMsg.rawY, spawnMsg.rawZ, spawnMsg.scaledYaw, spawnMsg.scaledPitch);
if (entity instanceof EntityLiving)
{
((EntityLiving) entity).rotationYawHead = spawnMsg.scaledHeadYaw;
}
Entity parts[] = entity.getParts();
if (parts != null)
{
for (int j = 0; j < parts.length; j++)
{
parts[j].setEntityId(parts[j].getEntityId() + offset);
}
}
}
EntityTracker.updateServerPosition(entity, spawnMsg.rawX, spawnMsg.rawY, spawnMsg.rawZ);
EntityPlayerSP clientPlayer = FMLClientHandler.instance().getClientPlayerEntity();
if (entity instanceof IThrowableEntity)
{
Entity thrower = clientPlayer.getEntityId() == spawnMsg.throwerId ? clientPlayer : wc.getEntityByID(spawnMsg.throwerId);
((IThrowableEntity) entity).setThrower(thrower);
}
if (spawnMsg.dataWatcherList != null)
{
entity.getDataManager().setEntryValues(spawnMsg.dataWatcherList);
}
if (spawnMsg.throwerId > 0)
{
entity.setVelocity(spawnMsg.speedScaledX, spawnMsg.speedScaledY, spawnMsg.speedScaledZ);
}
if (entity instanceof IEntityAdditionalSpawnData)
{
((IEntityAdditionalSpawnData) entity).readSpawnData(spawnMsg.dataStream);
}
wc.addEntityToWorld(spawnMsg.entityId, entity);
} catch (Exception e)
{
FMLLog.log(Level.ERROR, e, "A severe problem occurred during the spawning of an entity at ( " + spawnMsg.rawX + "," + spawnMsg.rawY + ", " + spawnMsg.rawZ +")");
throw Throwables.propagate(e);
}
}
示例7: handleSpawnMob
import net.minecraft.entity.EntityTracker; //导入方法依赖的package包/类
/**
* 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);
}
}