Java 类net.minecraft.block.BlockEndPortal 实例源码

项目:Blocksteps    文件:EndPortalHandler.java   
@Override
public List<BlockPos> getRelativeBlocks(IBlockAccess world, BlockPos pos, IBlockState state, List<BlockPos> availableBlocks)
{
    ArrayList<BlockPos> poses = new ArrayList<BlockPos>();

    for(int i = -4; i <= 4; i++)
    {
        for(int k = -4; k <= 4; k++)
        {
            BlockPos newPos = pos.add(i, 0, k);
            if(BlockEndPortalFrame.class.isInstance(world.getBlockState(newPos).getBlock()) || BlockEndPortal.class.isInstance(world.getBlockState(newPos).getBlock()))
            {
                poses.add(newPos);
            }
        }
    }
    return poses;
}
项目:Ex-Aliquo    文件:BlockEndCake.java   
private void nomEndCake(World world, int x, int y, int z, EntityPlayer player)
{
    if (player.canEat(false))
    {
        int l = world.getBlockMetadata(x, y, z) + 1;

        if (l >= 6)
        {
            return;
        }
        else
        {
            player.getFoodStats().addStats(2, 0.1F);
            world.setBlockMetadataWithNotify(x, y, z, l, 2);
            if (world.provider.dimensionId == 0)
            {
                if (!BlockEndPortal.bossDefeated) player.addPotionEffect(new PotionEffect(Potion.resistance.id, 200, 1));
                player.travelToDimension(1);
            }
        }
    }
}
项目:RuneCraftery    文件:EntityDragon.java   
private void func_70975_a(int p_70975_1_, int p_70975_2_) {
   byte var3 = 64;
   BlockEndPortal.field_72275_a = true;
   byte var4 = 4;

   for(int var5 = var3 - 1; var5 <= var3 + 32; ++var5) {
      for(int var6 = p_70975_1_ - var4; var6 <= p_70975_1_ + var4; ++var6) {
         for(int var7 = p_70975_2_ - var4; var7 <= p_70975_2_ + var4; ++var7) {
            double var8 = (double)(var6 - p_70975_1_);
            double var10 = (double)(var7 - p_70975_2_);
            double var12 = var8 * var8 + var10 * var10;
            if(var12 <= ((double)var4 - 0.5D) * ((double)var4 - 0.5D)) {
               if(var5 < var3) {
                  if(var12 <= ((double)(var4 - 1) - 0.5D) * ((double)(var4 - 1) - 0.5D)) {
                     this.field_70170_p.func_94575_c(var6, var5, var7, Block.field_71986_z.field_71990_ca);
                  }
               } else if(var5 > var3) {
                  this.field_70170_p.func_94575_c(var6, var5, var7, 0);
               } else if(var12 > ((double)(var4 - 1) - 0.5D) * ((double)(var4 - 1) - 0.5D)) {
                  this.field_70170_p.func_94575_c(var6, var5, var7, Block.field_71986_z.field_71990_ca);
               } else {
                  this.field_70170_p.func_94575_c(var6, var5, var7, Block.field_72102_bH.field_71990_ca);
               }
            }
         }
      }
   }

   this.field_70170_p.func_94575_c(p_70975_1_, var3 + 0, p_70975_2_, Block.field_71986_z.field_71990_ca);
   this.field_70170_p.func_94575_c(p_70975_1_, var3 + 1, p_70975_2_, Block.field_71986_z.field_71990_ca);
   this.field_70170_p.func_94575_c(p_70975_1_, var3 + 2, p_70975_2_, Block.field_71986_z.field_71990_ca);
   this.field_70170_p.func_94575_c(p_70975_1_ - 1, var3 + 2, p_70975_2_, Block.field_72069_aq.field_71990_ca);
   this.field_70170_p.func_94575_c(p_70975_1_ + 1, var3 + 2, p_70975_2_, Block.field_72069_aq.field_71990_ca);
   this.field_70170_p.func_94575_c(p_70975_1_, var3 + 2, p_70975_2_ - 1, Block.field_72069_aq.field_71990_ca);
   this.field_70170_p.func_94575_c(p_70975_1_, var3 + 2, p_70975_2_ + 1, Block.field_72069_aq.field_71990_ca);
   this.field_70170_p.func_94575_c(p_70975_1_, var3 + 3, p_70975_2_, Block.field_71986_z.field_71990_ca);
   this.field_70170_p.func_94575_c(p_70975_1_, var3 + 4, p_70975_2_, Block.field_72084_bK.field_71990_ca);
   BlockEndPortal.field_72275_a = false;
}
项目:Resilience-Client-Source    文件:EntityDragon.java   
/**
 * Creates the ender portal leading back to the normal world after defeating the enderdragon.
 */
private void createEnderPortal(int par1, int par2)
{
    byte var3 = 64;
    BlockEndPortal.field_149948_a = true;
    byte var4 = 4;

    for (int var5 = var3 - 1; var5 <= var3 + 32; ++var5)
    {
        for (int var6 = par1 - var4; var6 <= par1 + var4; ++var6)
        {
            for (int var7 = par2 - var4; var7 <= par2 + var4; ++var7)
            {
                double var8 = (double)(var6 - par1);
                double var10 = (double)(var7 - par2);
                double var12 = var8 * var8 + var10 * var10;

                if (var12 <= ((double)var4 - 0.5D) * ((double)var4 - 0.5D))
                {
                    if (var5 < var3)
                    {
                        if (var12 <= ((double)(var4 - 1) - 0.5D) * ((double)(var4 - 1) - 0.5D))
                        {
                            this.worldObj.setBlock(var6, var5, var7, Blocks.bedrock);
                        }
                    }
                    else if (var5 > var3)
                    {
                        this.worldObj.setBlock(var6, var5, var7, Blocks.air);
                    }
                    else if (var12 > ((double)(var4 - 1) - 0.5D) * ((double)(var4 - 1) - 0.5D))
                    {
                        this.worldObj.setBlock(var6, var5, var7, Blocks.bedrock);
                    }
                    else
                    {
                        this.worldObj.setBlock(var6, var5, var7, Blocks.end_portal);
                    }
                }
            }
        }
    }

    this.worldObj.setBlock(par1, var3 + 0, par2, Blocks.bedrock);
    this.worldObj.setBlock(par1, var3 + 1, par2, Blocks.bedrock);
    this.worldObj.setBlock(par1, var3 + 2, par2, Blocks.bedrock);
    this.worldObj.setBlock(par1 - 1, var3 + 2, par2, Blocks.torch);
    this.worldObj.setBlock(par1 + 1, var3 + 2, par2, Blocks.torch);
    this.worldObj.setBlock(par1, var3 + 2, par2 - 1, Blocks.torch);
    this.worldObj.setBlock(par1, var3 + 2, par2 + 1, Blocks.torch);
    this.worldObj.setBlock(par1, var3 + 3, par2, Blocks.bedrock);
    this.worldObj.setBlock(par1, var3 + 4, par2, Blocks.dragon_egg);
    BlockEndPortal.field_149948_a = false;
}
项目:Cauldron    文件:EntityDragon.java   
private void createEnderPortal(int p_70975_1_, int p_70975_2_)
{
    byte b0 = 64;
    BlockEndPortal.field_149948_a = true;
    byte b1 = 4;

    for (int k = b0 - 1; k <= b0 + 32; ++k)
    {
        for (int l = p_70975_1_ - b1; l <= p_70975_1_ + b1; ++l)
        {
            for (int i1 = p_70975_2_ - b1; i1 <= p_70975_2_ + b1; ++i1)
            {
                double d0 = (double)(l - p_70975_1_);
                double d1 = (double)(i1 - p_70975_2_);
                double d2 = d0 * d0 + d1 * d1;

                if (d2 <= ((double)b1 - 0.5D) * ((double)b1 - 0.5D))
                {
                    if (k < b0)
                    {
                        if (d2 <= ((double)(b1 - 1) - 0.5D) * ((double)(b1 - 1) - 0.5D))
                        {
                            this.worldObj.setBlock(l, k, i1, Blocks.bedrock);
                        }
                    }
                    else if (k > b0)
                    {
                        this.worldObj.setBlock(l, k, i1, Blocks.air);
                    }
                    else if (d2 > ((double)(b1 - 1) - 0.5D) * ((double)(b1 - 1) - 0.5D))
                    {
                        this.worldObj.setBlock(l, k, i1, Blocks.bedrock);
                    }
                    else
                    {
                        this.worldObj.setBlock(l, k, i1, Blocks.end_portal);
                    }
                }
            }
        }
    }

    this.worldObj.setBlock(p_70975_1_, b0 + 0, p_70975_2_, Blocks.bedrock);
    this.worldObj.setBlock(p_70975_1_, b0 + 1, p_70975_2_, Blocks.bedrock);
    this.worldObj.setBlock(p_70975_1_, b0 + 2, p_70975_2_, Blocks.bedrock);
    this.worldObj.setBlock(p_70975_1_ - 1, b0 + 2, p_70975_2_, Blocks.torch);
    this.worldObj.setBlock(p_70975_1_ + 1, b0 + 2, p_70975_2_, Blocks.torch);
    this.worldObj.setBlock(p_70975_1_, b0 + 2, p_70975_2_ - 1, Blocks.torch);
    this.worldObj.setBlock(p_70975_1_, b0 + 2, p_70975_2_ + 1, Blocks.torch);
    this.worldObj.setBlock(p_70975_1_, b0 + 3, p_70975_2_, Blocks.bedrock);
    this.worldObj.setBlock(p_70975_1_, b0 + 4, p_70975_2_, Blocks.dragon_egg);
    BlockEndPortal.field_149948_a = false;
}
项目:RuneCraftery    文件:EntityDragon.java   
/**
 * Creates the ender portal leading back to the normal world after defeating the enderdragon.
 */
private void createEnderPortal(int par1, int par2)
{
    byte b0 = 64;
    BlockEndPortal.bossDefeated = true;
    byte b1 = 4;

    for (int k = b0 - 1; k <= b0 + 32; ++k)
    {
        for (int l = par1 - b1; l <= par1 + b1; ++l)
        {
            for (int i1 = par2 - b1; i1 <= par2 + b1; ++i1)
            {
                double d0 = (double)(l - par1);
                double d1 = (double)(i1 - par2);
                double d2 = d0 * d0 + d1 * d1;

                if (d2 <= ((double)b1 - 0.5D) * ((double)b1 - 0.5D))
                {
                    if (k < b0)
                    {
                        if (d2 <= ((double)(b1 - 1) - 0.5D) * ((double)(b1 - 1) - 0.5D))
                        {
                            this.worldObj.setBlock(l, k, i1, Block.bedrock.blockID);
                        }
                    }
                    else if (k > b0)
                    {
                        this.worldObj.setBlock(l, k, i1, 0);
                    }
                    else if (d2 > ((double)(b1 - 1) - 0.5D) * ((double)(b1 - 1) - 0.5D))
                    {
                        this.worldObj.setBlock(l, k, i1, Block.bedrock.blockID);
                    }
                    else
                    {
                        this.worldObj.setBlock(l, k, i1, Block.endPortal.blockID);
                    }
                }
            }
        }
    }

    this.worldObj.setBlock(par1, b0 + 0, par2, Block.bedrock.blockID);
    this.worldObj.setBlock(par1, b0 + 1, par2, Block.bedrock.blockID);
    this.worldObj.setBlock(par1, b0 + 2, par2, Block.bedrock.blockID);
    this.worldObj.setBlock(par1 - 1, b0 + 2, par2, Block.torchWood.blockID);
    this.worldObj.setBlock(par1 + 1, b0 + 2, par2, Block.torchWood.blockID);
    this.worldObj.setBlock(par1, b0 + 2, par2 - 1, Block.torchWood.blockID);
    this.worldObj.setBlock(par1, b0 + 2, par2 + 1, Block.torchWood.blockID);
    this.worldObj.setBlock(par1, b0 + 3, par2, Block.bedrock.blockID);
    this.worldObj.setBlock(par1, b0 + 4, par2, Block.dragonEgg.blockID);
    BlockEndPortal.bossDefeated = false;
}
项目:BetterNutritionMod    文件:EntityDragon.java   
/**
 * Creates the ender portal leading back to the normal world after defeating the enderdragon.
 */
private void createEnderPortal(int par1, int par2)
{
    byte b0 = 64;
    BlockEndPortal.bossDefeated = true;
    byte b1 = 4;

    for (int k = b0 - 1; k <= b0 + 32; ++k)
    {
        for (int l = par1 - b1; l <= par1 + b1; ++l)
        {
            for (int i1 = par2 - b1; i1 <= par2 + b1; ++i1)
            {
                double d0 = (double)(l - par1);
                double d1 = (double)(i1 - par2);
                double d2 = d0 * d0 + d1 * d1;

                if (d2 <= ((double)b1 - 0.5D) * ((double)b1 - 0.5D))
                {
                    if (k < b0)
                    {
                        if (d2 <= ((double)(b1 - 1) - 0.5D) * ((double)(b1 - 1) - 0.5D))
                        {
                            this.worldObj.setBlock(l, k, i1, Block.bedrock.blockID);
                        }
                    }
                    else if (k > b0)
                    {
                        this.worldObj.setBlock(l, k, i1, 0);
                    }
                    else if (d2 > ((double)(b1 - 1) - 0.5D) * ((double)(b1 - 1) - 0.5D))
                    {
                        this.worldObj.setBlock(l, k, i1, Block.bedrock.blockID);
                    }
                    else
                    {
                        this.worldObj.setBlock(l, k, i1, Block.endPortal.blockID);
                    }
                }
            }
        }
    }

    this.worldObj.setBlock(par1, b0 + 0, par2, Block.bedrock.blockID);
    this.worldObj.setBlock(par1, b0 + 1, par2, Block.bedrock.blockID);
    this.worldObj.setBlock(par1, b0 + 2, par2, Block.bedrock.blockID);
    this.worldObj.setBlock(par1 - 1, b0 + 2, par2, Block.torchWood.blockID);
    this.worldObj.setBlock(par1 + 1, b0 + 2, par2, Block.torchWood.blockID);
    this.worldObj.setBlock(par1, b0 + 2, par2 - 1, Block.torchWood.blockID);
    this.worldObj.setBlock(par1, b0 + 2, par2 + 1, Block.torchWood.blockID);
    this.worldObj.setBlock(par1, b0 + 3, par2, Block.bedrock.blockID);
    this.worldObj.setBlock(par1, b0 + 4, par2, Block.dragonEgg.blockID);
    BlockEndPortal.bossDefeated = false;
}