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;
}