当前位置: 首页>>代码示例>>Java>>正文


Java Entity.setWorld方法代码示例

本文整理汇总了Java中net.minecraft.entity.Entity.setWorld方法的典型用法代码示例。如果您正苦于以下问题:Java Entity.setWorld方法的具体用法?Java Entity.setWorld怎么用?Java Entity.setWorld使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.minecraft.entity.Entity的用法示例。


在下文中一共展示了Entity.setWorld方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: transferPlayerToWorld

import net.minecraft.entity.Entity; //导入方法依赖的package包/类
private static void transferPlayerToWorld(Entity entityIn, int lastDimension, WorldServer oldWorldIn, WorldServer toWorldIn, BlockPos pos, IBlockState state)
{
    net.minecraft.world.WorldProvider pOld = oldWorldIn.provider;
    net.minecraft.world.WorldProvider pNew = toWorldIn.provider;
    double moveFactor = pOld.getMovementFactor() / pNew.getMovementFactor();
    double d0 = entityIn.posX * moveFactor;
    double d1 = entityIn.posZ * moveFactor;
    double d2 = 8.0D;
    float f = entityIn.rotationYaw;
    oldWorldIn.profiler.startSection("moving");

    if (entityIn.dimension == 1)
    {
        BlockPos blockpos;

        if (lastDimension == 1)
        {
            blockpos = toWorldIn.getSpawnPoint();
        }
        else
        {
            blockpos = toWorldIn.getSpawnCoordinate();
        }

        d0 = (double)blockpos.getX();
        entityIn.posY = (double)blockpos.getY();
        d1 = (double)blockpos.getZ();
        entityIn.setLocationAndAngles(d0, entityIn.posY, d1, 90.0F, 0.0F);

        if (entityIn.isEntityAlive())
        {
            oldWorldIn.updateEntityWithOptionalForce(entityIn, false);
        }
    }

    oldWorldIn.profiler.endSection();

    if (lastDimension != 1)
    {
        oldWorldIn.profiler.startSection("placing");

        if (entityIn.isEntityAlive())
        {
        	int y = toWorldIn.getTopSolidOrLiquidBlock(pos).getY();
        	BlockPos p = new BlockPos(pos.getX(), y, pos.getZ());
            entityIn.setLocationAndAngles(p.getX(), p.getY(), p.getZ(), entityIn.rotationYaw, entityIn.rotationPitch);
            if(state != null && toWorldIn.getBlockState(p.add(0, -1, 0)).getBlock() != state.getBlock())
            	toWorldIn.setBlockState(p.add(0, -1, 0), state, 3);
            toWorldIn.spawnEntity(entityIn);
            toWorldIn.updateEntityWithOptionalForce(entityIn, false);
        }

        oldWorldIn.profiler.endSection();
    }
    entityIn.setWorld(toWorldIn);
}
 
开发者ID:kenijey,项目名称:harshencastle,代码行数:57,代码来源:HarshenUtils.java

示例2: transferEntityToWorld

import net.minecraft.entity.Entity; //导入方法依赖的package包/类
/**
 * Transfers an entity from a world to another world.
 */
public void transferEntityToWorld(Entity entityIn, int p_82448_2_, WorldServer p_82448_3_, WorldServer p_82448_4_)
{
    double d0 = entityIn.posX;
    double d1 = entityIn.posZ;
    double d2 = 8.0D;
    float f = entityIn.rotationYaw;
    p_82448_3_.theProfiler.startSection("moving");

    if (entityIn.dimension == -1)
    {
        d0 = MathHelper.clamp_double(d0 / d2, p_82448_4_.getWorldBorder().minX() + 16.0D, p_82448_4_.getWorldBorder().maxX() - 16.0D);
        d1 = MathHelper.clamp_double(d1 / d2, p_82448_4_.getWorldBorder().minZ() + 16.0D, p_82448_4_.getWorldBorder().maxZ() - 16.0D);
        entityIn.setLocationAndAngles(d0, entityIn.posY, d1, entityIn.rotationYaw, entityIn.rotationPitch);

        if (entityIn.isEntityAlive())
        {
            p_82448_3_.updateEntityWithOptionalForce(entityIn, false);
        }
    }
    else if (entityIn.dimension == 0)
    {
        d0 = MathHelper.clamp_double(d0 * d2, p_82448_4_.getWorldBorder().minX() + 16.0D, p_82448_4_.getWorldBorder().maxX() - 16.0D);
        d1 = MathHelper.clamp_double(d1 * d2, p_82448_4_.getWorldBorder().minZ() + 16.0D, p_82448_4_.getWorldBorder().maxZ() - 16.0D);
        entityIn.setLocationAndAngles(d0, entityIn.posY, d1, entityIn.rotationYaw, entityIn.rotationPitch);

        if (entityIn.isEntityAlive())
        {
            p_82448_3_.updateEntityWithOptionalForce(entityIn, false);
        }
    }
    else
    {
        BlockPos blockpos;

        if (p_82448_2_ == 1)
        {
            blockpos = p_82448_4_.getSpawnPoint();
        }
        else
        {
            blockpos = p_82448_4_.getSpawnCoordinate();
        }

        d0 = (double)blockpos.getX();
        entityIn.posY = (double)blockpos.getY();
        d1 = (double)blockpos.getZ();
        entityIn.setLocationAndAngles(d0, entityIn.posY, d1, 90.0F, 0.0F);

        if (entityIn.isEntityAlive())
        {
            p_82448_3_.updateEntityWithOptionalForce(entityIn, false);
        }
    }

    p_82448_3_.theProfiler.endSection();

    if (p_82448_2_ != 1)
    {
        p_82448_3_.theProfiler.startSection("placing");
        d0 = (double)MathHelper.clamp_int((int)d0, -29999872, 29999872);
        d1 = (double)MathHelper.clamp_int((int)d1, -29999872, 29999872);

        if (entityIn.isEntityAlive())
        {
            entityIn.setLocationAndAngles(d0, entityIn.posY, d1, entityIn.rotationYaw, entityIn.rotationPitch);
            p_82448_4_.getDefaultTeleporter().placeInPortal(entityIn, f);
            p_82448_4_.spawnEntityInWorld(entityIn);
            p_82448_4_.updateEntityWithOptionalForce(entityIn, false);
        }

        p_82448_3_.theProfiler.endSection();
    }

    entityIn.setWorld(p_82448_4_);
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:79,代码来源:ServerConfigurationManager.java

示例3: setEntityWorld

import net.minecraft.entity.Entity; //导入方法依赖的package包/类
public static void setEntityWorld(Entity entity, World world) {
	entity.setWorld(world);
}
 
开发者ID:p455w0rd,项目名称:EndermanEvolution,代码行数:4,代码来源:FriendermanUtils.java

示例4: transferEntityToWorld

import net.minecraft.entity.Entity; //导入方法依赖的package包/类
/**
 * Transfers an entity from a world to another world.
 */
public void transferEntityToWorld(Entity entityIn, int lastDimension, WorldServer oldWorldIn, WorldServer toWorldIn)
{
    double d0 = entityIn.posX;
    double d1 = entityIn.posZ;
    double d2 = 8.0D;
    float f = entityIn.rotationYaw;
    oldWorldIn.theProfiler.startSection("moving");

    if (entityIn.dimension == -1)
    {
        d0 = MathHelper.clamp(d0 / 8.0D, toWorldIn.getWorldBorder().minX() + 16.0D, toWorldIn.getWorldBorder().maxX() - 16.0D);
        d1 = MathHelper.clamp(d1 / 8.0D, toWorldIn.getWorldBorder().minZ() + 16.0D, toWorldIn.getWorldBorder().maxZ() - 16.0D);
        entityIn.setLocationAndAngles(d0, entityIn.posY, d1, entityIn.rotationYaw, entityIn.rotationPitch);

        if (entityIn.isEntityAlive())
        {
            oldWorldIn.updateEntityWithOptionalForce(entityIn, false);
        }
    }
    else if (entityIn.dimension == 0)
    {
        d0 = MathHelper.clamp(d0 * 8.0D, toWorldIn.getWorldBorder().minX() + 16.0D, toWorldIn.getWorldBorder().maxX() - 16.0D);
        d1 = MathHelper.clamp(d1 * 8.0D, toWorldIn.getWorldBorder().minZ() + 16.0D, toWorldIn.getWorldBorder().maxZ() - 16.0D);
        entityIn.setLocationAndAngles(d0, entityIn.posY, d1, entityIn.rotationYaw, entityIn.rotationPitch);

        if (entityIn.isEntityAlive())
        {
            oldWorldIn.updateEntityWithOptionalForce(entityIn, false);
        }
    }
    else
    {
        BlockPos blockpos;

        if (lastDimension == 1)
        {
            blockpos = toWorldIn.getSpawnPoint();
        }
        else
        {
            blockpos = toWorldIn.getSpawnCoordinate();
        }

        d0 = (double)blockpos.getX();
        entityIn.posY = (double)blockpos.getY();
        d1 = (double)blockpos.getZ();
        entityIn.setLocationAndAngles(d0, entityIn.posY, d1, 90.0F, 0.0F);

        if (entityIn.isEntityAlive())
        {
            oldWorldIn.updateEntityWithOptionalForce(entityIn, false);
        }
    }

    oldWorldIn.theProfiler.endSection();

    if (lastDimension != 1)
    {
        oldWorldIn.theProfiler.startSection("placing");
        d0 = (double)MathHelper.clamp((int)d0, -29999872, 29999872);
        d1 = (double)MathHelper.clamp((int)d1, -29999872, 29999872);

        if (entityIn.isEntityAlive())
        {
            entityIn.setLocationAndAngles(d0, entityIn.posY, d1, entityIn.rotationYaw, entityIn.rotationPitch);
            toWorldIn.getDefaultTeleporter().placeInPortal(entityIn, f);
            toWorldIn.spawnEntityInWorld(entityIn);
            toWorldIn.updateEntityWithOptionalForce(entityIn, false);
        }

        oldWorldIn.theProfiler.endSection();
    }

    entityIn.setWorld(toWorldIn);
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:79,代码来源:PlayerList.java

示例5: transferEntityToWorld

import net.minecraft.entity.Entity; //导入方法依赖的package包/类
@SuppressWarnings("unused")
public void transferEntityToWorld(Entity entityIn, int lastDimension, WorldServer oldWorldIn, WorldServer toWorldIn, net.minecraft.world.Teleporter teleporter)
{
    net.minecraft.world.WorldProvider pOld = oldWorldIn.provider;
    net.minecraft.world.WorldProvider pNew = toWorldIn.provider;
    double moveFactor = pOld.getMovementFactor() / pNew.getMovementFactor();
    double d0 = entityIn.posX * moveFactor;
    double d1 = entityIn.posZ * moveFactor;
    double d2 = 8.0D;
    float f = entityIn.rotationYaw;
    oldWorldIn.theProfiler.startSection("moving");

    if (false && entityIn.dimension == -1)
    {
        d0 = MathHelper.clamp_double(d0 / 8.0D, toWorldIn.getWorldBorder().minX() + 16.0D, toWorldIn.getWorldBorder().maxX() - 16.0D);
        d1 = MathHelper.clamp_double(d1 / 8.0D, toWorldIn.getWorldBorder().minZ() + 16.0D, toWorldIn.getWorldBorder().maxZ() - 16.0D);
        entityIn.setLocationAndAngles(d0, entityIn.posY, d1, entityIn.rotationYaw, entityIn.rotationPitch);

        if (entityIn.isEntityAlive())
        {
            oldWorldIn.updateEntityWithOptionalForce(entityIn, false);
        }
    }
    else if (false && entityIn.dimension == 0)
    {
        d0 = MathHelper.clamp_double(d0 * 8.0D, toWorldIn.getWorldBorder().minX() + 16.0D, toWorldIn.getWorldBorder().maxX() - 16.0D);
        d1 = MathHelper.clamp_double(d1 * 8.0D, toWorldIn.getWorldBorder().minZ() + 16.0D, toWorldIn.getWorldBorder().maxZ() - 16.0D);
        entityIn.setLocationAndAngles(d0, entityIn.posY, d1, entityIn.rotationYaw, entityIn.rotationPitch);

        if (entityIn.isEntityAlive())
        {
            oldWorldIn.updateEntityWithOptionalForce(entityIn, false);
        }
    }

    if (entityIn.dimension == 1)
    {
        BlockPos blockpos;

        if (lastDimension == 1)
        {
            blockpos = toWorldIn.getSpawnPoint();
        }
        else
        {
            blockpos = toWorldIn.getSpawnCoordinate();
        }

        d0 = (double)blockpos.getX();
        entityIn.posY = (double)blockpos.getY();
        d1 = (double)blockpos.getZ();
        entityIn.setLocationAndAngles(d0, entityIn.posY, d1, 90.0F, 0.0F);

        if (entityIn.isEntityAlive())
        {
            oldWorldIn.updateEntityWithOptionalForce(entityIn, false);
        }
    }

    oldWorldIn.theProfiler.endSection();

    if (lastDimension != 1)
    {
        oldWorldIn.theProfiler.startSection("placing");
        d0 = (double)MathHelper.clamp_int((int)d0, -29999872, 29999872);
        d1 = (double)MathHelper.clamp_int((int)d1, -29999872, 29999872);

        if (entityIn.isEntityAlive())
        {
            entityIn.setLocationAndAngles(d0, entityIn.posY, d1, entityIn.rotationYaw, entityIn.rotationPitch);
            teleporter.placeInPortal(entityIn, f);
            toWorldIn.spawnEntityInWorld(entityIn);
            toWorldIn.updateEntityWithOptionalForce(entityIn, false);
        }

        oldWorldIn.theProfiler.endSection();
    }

    entityIn.setWorld(toWorldIn);
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:81,代码来源:PlayerList.java

示例6: transferEntityToWorld

import net.minecraft.entity.Entity; //导入方法依赖的package包/类
private static void transferEntityToWorld(Entity entityIn, int lastDimension, WorldServer oldWorldIn, WorldServer toWorldIn, net.minecraft.world.Teleporter teleporter, int targetHeight)
 {
     net.minecraft.world.WorldProvider pOld = oldWorldIn.provider;
     net.minecraft.world.WorldProvider pNew = toWorldIn.provider;

     double moveFactor = pOld.getMovementFactor() / pNew.getMovementFactor();

     // What does this do?
     double newPosX = entityIn.posX * moveFactor;
     double newPosZ = entityIn.posZ * moveFactor;
     //double d2 = 8.0D;

     float entityRotationYaw = entityIn.rotationYaw;	// What is this being saved for?

     oldWorldIn.theProfiler.startSection("moving");

     // Overworld, where we're going
     if (entityIn.dimension == 1)
     {
         BlockPos blockpos;

         if (lastDimension == 1)
         {
             blockpos = toWorldIn.getSpawnPoint();	// From the End to the End?
         }
         else
         {
             blockpos = toWorldIn.getSpawnCoordinate();	// From Wherever to the End
         }

newPosX = blockpos.getX();
entityIn.posY = blockpos.getY();
newPosZ = blockpos.getZ();

entityIn.setLocationAndAngles(newPosX, entityIn.posY, newPosZ, 90.0F, 0.0F);

         if (entityIn.isEntityAlive())
         {
             oldWorldIn.updateEntityWithOptionalForce(entityIn, false);
         }
     }

     oldWorldIn.theProfiler.endSection();

     // ...anything else? Did not come from the overworld
     if (lastDimension != 1)
     {
         oldWorldIn.theProfiler.startSection("placing");
         newPosX = MathHelper.clamp_int((int)newPosX, -29999872, 29999872);
         newPosZ = MathHelper.clamp_int((int)newPosZ, -29999872, 29999872);

         if (entityIn.isEntityAlive())
         {
             entityIn.setLocationAndAngles(newPosX, targetHeight, newPosZ, entityIn.rotationYaw, entityIn.rotationPitch);

             //teleporter.placeInPortal(entityIn, entityRotationYaw);	// Found it. Begone with ye.

             toWorldIn.spawnEntityInWorld(entityIn);
             toWorldIn.updateEntityWithOptionalForce(entityIn, false);
         }

         oldWorldIn.theProfiler.endSection();
     }

     entityIn.setWorld(toWorldIn);
 }
 
开发者ID:Domochevsky,项目名称:minecraft-territorialdealings,代码行数:67,代码来源:Transition.java


注:本文中的net.minecraft.entity.Entity.setWorld方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。