當前位置: 首頁>>代碼示例>>Java>>正文


Java EntityList.createEntityByID方法代碼示例

本文整理匯總了Java中net.minecraft.entity.EntityList.createEntityByID方法的典型用法代碼示例。如果您正苦於以下問題:Java EntityList.createEntityByID方法的具體用法?Java EntityList.createEntityByID怎麽用?Java EntityList.createEntityByID使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在net.minecraft.entity.EntityList的用法示例。


在下文中一共展示了EntityList.createEntityByID方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: onTooltip

import net.minecraft.entity.EntityList; //導入方法依賴的package包/類
@SubscribeEvent
public void onTooltip(RenderTooltipEvent.PostText event) {
    if (event.getStack() == null || event.getStack().isEmpty()) return;
    if (event.getStack().getItem() instanceof MobImprisonmentToolItem && ((MobImprisonmentToolItem) event.getStack().getItem()).containsEntity(event.getStack())) {
        try {
            Entity entity = EntityList.createEntityByID(event.getStack().getTagCompound().getInteger("id"), Minecraft.getMinecraft().world);
            entity.readFromNBT(event.getStack().getTagCompound());
            ItemStackUtils.renderEntity((int) (event.getX() + 15 + entity.width), (int) (event.getY() + 58 + entity.height), 15, 0, 0, (EntityLivingBase) entity);
        } catch (NullPointerException e) {
            e.printStackTrace();
        }
    }

}
 
開發者ID:Buuz135,項目名稱:Industrial-Foregoing,代碼行數:15,代碼來源:MobRenderInPrisonHandler.java

示例2: spawnCreature

import net.minecraft.entity.EntityList; //導入方法依賴的package包/類
/**
 * Spawns the creature specified by the egg's type in the location specified by the last three parameters.
 * Parameters: world, entityID, x, y, z.
 */
public static Entity spawnCreature(World worldIn, int entityID, double x, double y, double z)
{
    if (!EntityList.entityEggs.containsKey(Integer.valueOf(entityID)))
    {
        return null;
    }
    else
    {
        Entity entity = null;

        for (int i = 0; i < 1; ++i)
        {
            entity = EntityList.createEntityByID(entityID, worldIn);

            if (entity instanceof EntityLivingBase)
            {
                EntityLiving entityliving = (EntityLiving)entity;
                entity.setLocationAndAngles(x, y, z, MathHelper.wrapAngleTo180_float(worldIn.rand.nextFloat() * 360.0F), 0.0F);
                entityliving.rotationYawHead = entityliving.rotationYaw;
                entityliving.renderYawOffset = entityliving.rotationYaw;
                entityliving.onInitialSpawn(worldIn.getDifficultyForLocation(new BlockPos(entityliving)), (IEntityLivingData)null);
                worldIn.spawnEntityInWorld(entity);
                entityliving.playLivingSound();
            }
        }

        return entity;
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:34,代碼來源:ItemMonsterPlacer.java

示例3: handleSpawnMob

import net.minecraft.entity.EntityList; //導入方法依賴的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(S0FPacketSpawnMob packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
    double d0 = (double)packetIn.getX() / 32.0D;
    double d1 = (double)packetIn.getY() / 32.0D;
    double d2 = (double)packetIn.getZ() / 32.0D;
    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);
    entitylivingbase.serverPosX = packetIn.getX();
    entitylivingbase.serverPosY = packetIn.getY();
    entitylivingbase.serverPosZ = packetIn.getZ();
    entitylivingbase.renderYawOffset = entitylivingbase.rotationYawHead = (float)(packetIn.getHeadPitch() * 360) / 256.0F;
    Entity[] aentity = entitylivingbase.getParts();

    if (aentity != null)
    {
        int i = packetIn.getEntityID() - entitylivingbase.getEntityId();

        for (int j = 0; j < aentity.length; ++j)
        {
            aentity[j].setEntityId(aentity[j].getEntityId() + i);
        }
    }

    entitylivingbase.setEntityId(packetIn.getEntityID());
    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<DataWatcher.WatchableObject> list = packetIn.func_149027_c();

    if (list != null)
    {
        entitylivingbase.getDataWatcher().updateWatchedObjectsFromList(list);
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:43,代碼來源:NetHandlerPlayClient.java

示例4: handleSpawnMob

import net.minecraft.entity.EntityList; //導入方法依賴的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(S0FPacketSpawnMob packetIn) {
	PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
	double d0 = (double) packetIn.getX() / 32.0D;
	double d1 = (double) packetIn.getY() / 32.0D;
	double d2 = (double) packetIn.getZ() / 32.0D;
	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);
	entitylivingbase.serverPosX = packetIn.getX();
	entitylivingbase.serverPosY = packetIn.getY();
	entitylivingbase.serverPosZ = packetIn.getZ();
	entitylivingbase.renderYawOffset = entitylivingbase.rotationYawHead = (float) (packetIn.getHeadPitch() * 360)
			/ 256.0F;
	Entity[] aentity = entitylivingbase.getParts();

	if (aentity != null) {
		int i = packetIn.getEntityID() - entitylivingbase.getEntityId();

		for (int j = 0; j < aentity.length; ++j) {
			aentity[j].setEntityId(aentity[j].getEntityId() + i);
		}
	}

	entitylivingbase.setEntityId(packetIn.getEntityID());
	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<DataWatcher.WatchableObject> list = packetIn.func_149027_c();

	if (list != null) {
		entitylivingbase.getDataWatcher().updateWatchedObjectsFromList(list);
	}
}
 
開發者ID:SkidJava,項目名稱:BaseClient,代碼行數:42,代碼來源:NetHandlerPlayClient.java

示例5: handleSpawnMob

import net.minecraft.entity.EntityList; //導入方法依賴的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())});
    }
}
 
開發者ID:NSExceptional,項目名稱:Zombe-Modpack,代碼行數:51,代碼來源:NetHandlerPlayClient.java

示例6: handleSpawnMob

import net.minecraft.entity.EntityList; //導入方法依賴的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);
    }
}
 
開發者ID:F1r3w477,項目名稱:CustomWorldGen,代碼行數:48,代碼來源:NetHandlerPlayClient.java


注:本文中的net.minecraft.entity.EntityList.createEntityByID方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。