/** * Called by portal blocks when an entity is within it. */ public void setInPortal() { if (this.timeUntilPortal > 0) { this.timeUntilPortal = this.getPortalCooldown(); } else { double d0 = this.prevPosX - this.posX; double d1 = this.prevPosZ - this.posZ; if (!this.worldObj.isRemote && !this.inPortal) { this.teleportDirection = Direction.getMovementDirection(d0, d1); } this.inPortal = true; } }
/** * Gets the block's texture. Args: side, meta */ @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { if (side == 0) { return Blocks.planks.getBlockTextureFromSide(side); } else { int k = getDirection(meta); int l = Direction.bedDirection[k][side]; int i1 = isBlockHeadOfBed(meta) ? 1 : 0; return (i1 != 1 || l != 2) && (i1 != 0 || l != 3) ? (l != 5 && l != 4 ? this.topTexture[i1] : this.sideTexture[i1]) : this.endTexture[i1]; } }
@Override public IIcon getIcon( IBlockAccess world, int i, int j, int k, int side ) { if( side == 0 || side == 1 ) { return Icons.Top; } int metadata = world.getBlockMetadata( i, j, k ); int direction = Direction.directionToFacing[ getDirection( metadata ) ]; if( side == direction ) { return Icons.Front; } return Icons.Side; }
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { int var6 = par3; for (int var7 = par5; par4 < 128; ++par4) { if (par1World.isAirBlock(par3, par4, par5)) { for (int var8 = 2; var8 <= 5; ++var8) { if (Blocks.vine.canPlaceBlockOnSide(par1World, par3, par4, par5, var8)) { par1World.setBlock(par3, par4, par5, Blocks.vine, 1 << Direction.facingToDirection[Facing.oppositeSide[var8]], 2); break; } } } else { par3 = var6 + par2Random.nextInt(4) - par2Random.nextInt(4); par5 = var7 + par2Random.nextInt(4) - par2Random.nextInt(4); } } return true; }
public void func_147453_f(int p_147453_1_, int p_147453_2_, int p_147453_3_, Block p_147453_4_) { for (int var5 = 0; var5 < 4; ++var5) { int var6 = p_147453_1_ + Direction.offsetX[var5]; int var7 = p_147453_3_ + Direction.offsetZ[var5]; Block var8 = this.getBlock(var6, p_147453_2_, var7); if (Blocks.unpowered_comparator.func_149907_e(var8)) { var8.onNeighborBlockChange(this, var6, p_147453_2_, var7, p_147453_4_); } else if (var8.isNormalCube()) { var6 += Direction.offsetX[var5]; var7 += Direction.offsetZ[var5]; Block var9 = this.getBlock(var6, p_147453_2_, var7); if (Blocks.unpowered_comparator.func_149907_e(var9)) { var9.onNeighborBlockChange(this, var6, p_147453_2_, var7, p_147453_4_); } } } }
/** * Called by portal blocks when an entity is within it. */ public void setInPortal() { if (this.timeUntilPortal > 0) { this.timeUntilPortal = this.getPortalCooldown(); } else { double var1 = this.prevPosX - this.posX; double var3 = this.prevPosZ - this.posZ; if (!this.worldObj.isClient && !this.inPortal) { this.teleportDirection = Direction.getMovementDirection(var1, var3); } this.inPortal = true; } }
public static boolean func_150174_f(IBlockAccess p_150174_0_, int p_150174_1_, int p_150174_2_, int p_150174_3_, int p_150174_4_) { Block var5 = p_150174_0_.getBlock(p_150174_1_, p_150174_2_, p_150174_3_); if (var5 == Blocks.redstone_wire) { return true; } else if (!Blocks.unpowered_repeater.func_149907_e(var5)) { return var5.canProvidePower() && p_150174_4_ != -1; } else { int var6 = p_150174_0_.getBlockMetadata(p_150174_1_, p_150174_2_, p_150174_3_); return p_150174_4_ == (var6 & 3) || p_150174_4_ == Direction.rotateOpposite[var6 & 3]; } }
public static boolean func_150139_a(IBlockAccess p_150139_0_, int p_150139_1_, int p_150139_2_, int p_150139_3_, int p_150139_4_, int p_150139_5_) { int var6 = p_150139_1_ + Direction.offsetX[p_150139_5_]; int var8 = p_150139_3_ + Direction.offsetZ[p_150139_5_]; Block var9 = p_150139_0_.getBlock(var6, p_150139_2_, var8); boolean var10 = (p_150139_4_ & 2) == 2; int var11; if (var9 == Blocks.tripwire_hook) { var11 = p_150139_0_.getBlockMetadata(var6, p_150139_2_, var8); int var13 = var11 & 3; return var13 == Direction.rotateOpposite[p_150139_5_]; } else if (var9 == Blocks.tripwire) { var11 = p_150139_0_.getBlockMetadata(var6, p_150139_2_, var8); boolean var12 = (var11 & 2) == 2; return var10 == var12; } else { return false; } }
protected int func_149903_h(World p_149903_1_, int p_149903_2_, int p_149903_3_, int p_149903_4_, int p_149903_5_) { int var6 = super.func_149903_h(p_149903_1_, p_149903_2_, p_149903_3_, p_149903_4_, p_149903_5_); int var7 = func_149895_l(p_149903_5_); int var8 = p_149903_2_ + Direction.offsetX[var7]; int var9 = p_149903_4_ + Direction.offsetZ[var7]; Block var10 = p_149903_1_.getBlock(var8, p_149903_3_, var9); if (var10.hasComparatorInputOverride()) { var6 = var10.getComparatorInputOverride(p_149903_1_, var8, p_149903_3_, var9, Direction.rotateOpposite[var7]); } else if (var6 < 15 && var10.isNormalCube()) { var8 += Direction.offsetX[var7]; var9 += Direction.offsetZ[var7]; var10 = p_149903_1_.getBlock(var8, p_149903_3_, var9); if (var10.hasComparatorInputOverride()) { var6 = var10.getComparatorInputOverride(p_149903_1_, var8, p_149903_3_, var9, Direction.rotateOpposite[var7]); } } return var6; }
/** * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic * (Render<T extends Entity) and this method has signature public void doRender(T entity, double d, double d1, * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. */ public void doRender(EntityItemFrame par1EntityItemFrame, double par2, double par4, double par6, float par8, float par9) { GL11.glPushMatrix(); double var10 = par1EntityItemFrame.posX - par2 - 0.5D; double var12 = par1EntityItemFrame.posY - par4 - 0.5D; double var14 = par1EntityItemFrame.posZ - par6 - 0.5D; int var16 = par1EntityItemFrame.field_146063_b + Direction.offsetX[par1EntityItemFrame.hangingDirection]; int var17 = par1EntityItemFrame.field_146064_c; int var18 = par1EntityItemFrame.field_146062_d + Direction.offsetZ[par1EntityItemFrame.hangingDirection]; GL11.glTranslated((double)var16 - var10, (double)var17 - var12, (double)var18 - var14); if (par1EntityItemFrame.getDisplayedItem() != null && par1EntityItemFrame.getDisplayedItem().getItem() == Items.filled_map) { this.func_147915_b(par1EntityItemFrame); } else { this.renderFrameItemAsBlock(par1EntityItemFrame); } this.func_82402_b(par1EntityItemFrame); GL11.glPopMatrix(); this.func_147914_a(par1EntityItemFrame, par2 + (double)((float)Direction.offsetX[par1EntityItemFrame.hangingDirection] * 0.3F), par4 - 0.25D, par6 + (double)((float)Direction.offsetZ[par1EntityItemFrame.hangingDirection] * 0.3F)); }
@SideOnly(Side.CLIENT) /** * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata */ public Icon getIcon(int par1, int par2) { if (par1 == 0) { return Block.planks.getBlockTextureFromSide(par1); } else { int k = getDirection(par2); int l = Direction.bedDirection[k][par1]; int i1 = isBlockHeadOfBed(par2) ? 1 : 0; return (i1 != 1 || l != 2) && (i1 != 0 || l != 3) ? (l != 5 && l != 4 ? this.bedTopIcons[i1] : this.bedSideIcons[i1]) : this.bedEndIcons[i1]; } }
/** * Returns true if redstone wire can connect to the specified block. Params: World, X, Y, Z, side (not a normal * notch-side, this can be 0, 1, 2, 3 or -1) */ public static boolean isPowerProviderOrWire(IBlockAccess p_150174_0_, int p_150174_1_, int p_150174_2_, int p_150174_3_, int p_150174_4_) { Block block = p_150174_0_.getBlock(p_150174_1_, p_150174_2_, p_150174_3_); if (block == Blocks.redstone_wire) { return true; } else if (!Blocks.unpowered_repeater.func_149907_e(block)) { return block.canConnectRedstone(p_150174_0_, p_150174_1_, p_150174_2_, p_150174_3_, p_150174_4_); } else { int i1 = p_150174_0_.getBlockMetadata(p_150174_1_, p_150174_2_, p_150174_3_); return p_150174_4_ == (i1 & 3) || p_150174_4_ == Direction.rotateOpposite[i1 & 3]; } }
/** * Returns true if redstone wire can connect to the specified block. Params: World, X, Y, Z, side (not a normal * notch-side, this can be 0, 1, 2, 3 or -1) */ public static boolean isPowerProviderOrWire(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) { Block block = par1IBlockAccess.getBlock(par2, par3, par4); if (block == Blocks.redstone_wire) { return true; } else if (!Blocks.unpowered_repeater.func_149907_e(block)) { return block.canConnectRedstone(par1IBlockAccess, par2, par3, par4, par5); } else { int i1 = par1IBlockAccess.getBlockMetadata(par2, par3, par4); return par5 == (i1 & 3) || par5 == Direction.rotateOpposite[i1 & 3]; } }
private boolean isBlockStateValid (World world, int x, int y, int z) { int meta = world.getBlockMetadata(x, y, z); int mask = meta; if (meta > 0) { for (int i = 0; i <= 3; i++) { int bit = 1 << i; int opSide = Direction.directionToFacing[Direction.rotateOpposite[i]]; if ((meta & bit) != 0 && !canPlaceOnBlock(world, x + Direction.offsetX[i], y, z + Direction.offsetZ[i], opSide) && (world.getBlock(x, y + 1, z) != this || (world.getBlockMetadata(x, y + 1, z) & bit) == 0)) mask &= ~bit; } } if (mask == 0) return false; if (mask != meta) world.setBlockMetadataWithNotify(x, y, z, mask, 2); return true; }
public boolean generate(World p_76484_1_, Random p_76484_2_, int p_76484_3_, int p_76484_4_, int p_76484_5_) { int l = p_76484_3_; for (int i1 = p_76484_5_; p_76484_4_ < 128; ++p_76484_4_) { if (p_76484_1_.isAirBlock(p_76484_3_, p_76484_4_, p_76484_5_)) { for (int j1 = 2; j1 <= 5; ++j1) { if (Blocks.vine.canPlaceBlockOnSide(p_76484_1_, p_76484_3_, p_76484_4_, p_76484_5_, j1)) { p_76484_1_.setBlock(p_76484_3_, p_76484_4_, p_76484_5_, Blocks.vine, 1 << Direction.facingToDirection[Facing.oppositeSide[j1]], 2); break; } } } else { p_76484_3_ = l + p_76484_2_.nextInt(4) - p_76484_2_.nextInt(4); p_76484_5_ = i1 + p_76484_2_.nextInt(4) - p_76484_2_.nextInt(4); } } return true; }
public void setInPortal() { if (this.timeUntilPortal > 0) { this.timeUntilPortal = this.getPortalCooldown(); } else { double d0 = this.prevPosX - this.posX; double d1 = this.prevPosZ - this.posZ; if (!this.worldObj.isRemote && !this.inPortal) { this.teleportDirection = Direction.getMovementDirection(d0, d1); } this.inPortal = true; } }
public static boolean isPowerProviderOrWire(IBlockAccess p_150174_0_, int p_150174_1_, int p_150174_2_, int p_150174_3_, int p_150174_4_) { Block block = p_150174_0_.getBlock(p_150174_1_, p_150174_2_, p_150174_3_); if (block == Blocks.redstone_wire) { return true; } else if (!Blocks.unpowered_repeater.func_149907_e(block)) { return block.canConnectRedstone(p_150174_0_, p_150174_1_, p_150174_2_, p_150174_3_, p_150174_4_); } else { int i1 = p_150174_0_.getBlockMetadata(p_150174_1_, p_150174_2_, p_150174_3_); return p_150174_4_ == (i1 & 3) || p_150174_4_ == Direction.rotateOpposite[i1 & 3]; } }
@SideOnly(Side.CLIENT) public static boolean func_150139_a(IBlockAccess p_150139_0_, int p_150139_1_, int p_150139_2_, int p_150139_3_, int p_150139_4_, int p_150139_5_) { int j1 = p_150139_1_ + Direction.offsetX[p_150139_5_]; int k1 = p_150139_3_ + Direction.offsetZ[p_150139_5_]; Block block = p_150139_0_.getBlock(j1, p_150139_2_, k1); boolean flag = (p_150139_4_ & 2) == 2; int l1; if (block == Blocks.tripwire_hook) { l1 = p_150139_0_.getBlockMetadata(j1, p_150139_2_, k1); int i2 = l1 & 3; return i2 == Direction.rotateOpposite[p_150139_5_]; } else if (block == Blocks.tripwire) { l1 = p_150139_0_.getBlockMetadata(j1, p_150139_2_, k1); boolean flag1 = (l1 & 2) == 2; return flag == flag1; } else { return false; } }
protected int getInputStrength(World p_149903_1_, int p_149903_2_, int p_149903_3_, int p_149903_4_, int p_149903_5_) { int i1 = super.getInputStrength(p_149903_1_, p_149903_2_, p_149903_3_, p_149903_4_, p_149903_5_); int j1 = getDirection(p_149903_5_); int k1 = p_149903_2_ + Direction.offsetX[j1]; int l1 = p_149903_4_ + Direction.offsetZ[j1]; Block block = p_149903_1_.getBlock(k1, p_149903_3_, l1); if (block.hasComparatorInputOverride()) { i1 = block.getComparatorInputOverride(p_149903_1_, k1, p_149903_3_, l1, Direction.rotateOpposite[j1]); } else if (i1 < 15 && block.isNormalCube()) { k1 += Direction.offsetX[j1]; l1 += Direction.offsetZ[j1]; block = p_149903_1_.getBlock(k1, p_149903_3_, l1); if (block.hasComparatorInputOverride()) { i1 = block.getComparatorInputOverride(p_149903_1_, k1, p_149903_3_, l1, Direction.rotateOpposite[j1]); } } return i1; }
public void doRender(EntityItemFrame p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { GL11.glPushMatrix(); double d3 = p_76986_1_.posX - p_76986_2_ - 0.5D; double d4 = p_76986_1_.posY - p_76986_4_ - 0.5D; double d5 = p_76986_1_.posZ - p_76986_6_ - 0.5D; int i = p_76986_1_.field_146063_b + Direction.offsetX[p_76986_1_.hangingDirection]; int j = p_76986_1_.field_146064_c; int k = p_76986_1_.field_146062_d + Direction.offsetZ[p_76986_1_.hangingDirection]; GL11.glTranslated((double)i - d3, (double)j - d4, (double)k - d5); if (p_76986_1_.getDisplayedItem() != null && p_76986_1_.getDisplayedItem().getItem() == Items.filled_map) { this.func_147915_b(p_76986_1_); } else { this.renderFrameItemAsBlock(p_76986_1_); } this.func_82402_b(p_76986_1_); GL11.glPopMatrix(); this.func_147914_a(p_76986_1_, p_76986_2_ + (double)((float)Direction.offsetX[p_76986_1_.hangingDirection] * 0.3F), p_76986_4_ - 0.25D, p_76986_6_ + (double)((float)Direction.offsetZ[p_76986_1_.hangingDirection] * 0.3F)); }
@Override public boolean canConnectRedstone(World world, Vec3i location, ForgeDirection side, ForgeDirection face) { if (!isMultipart(world, location)) return false; int s = Direction.getMovementDirection(side.offsetX, side.offsetZ); TileMultipart tmp = TileMultipart.getOrConvertTile(world, new BlockCoord(location.getX(), location.getY(), location.getZ())); if (face == ForgeDirection.UNKNOWN) return tmp.canConnectRedstone(s); TMultiPart slotPart = tmp.partMap(side.ordinal()); if (slotPart != null) { if (slotPart instanceof IRedstonePart) return ((IRedstonePart) slotPart).canConnectRedstone(side.ordinal()); return false; } for (TMultiPart p : tmp.jPartList()) if (p instanceof IRedstonePart && ((IRedstonePart) p).canConnectRedstone(s)) return true; return false; }
public static boolean canConnect(World world, BlockPos pos, ForgeDirection side, ForgeDirection face) { Vec3i location = new Vec3i(pos); if (isVanillaBlock(world, pos)) return canConnectVanilla(world, pos, side, face); for (MultipartSystem s : MultipartSystem.getAvailableSystems()) { IMultipartCompat compat = s.getCompat(); if (compat.isMultipart(world, location)) return compat.canConnectRedstone(world, location, side, face); } try { return world.getBlock(pos.getX(), pos.getY(), pos.getZ()).canConnectRedstone(world, pos.getX(), pos.getY(), pos.getZ(), Direction.getMovementDirection(side.offsetX, side.offsetZ)); } catch (Exception ex) { // ex.printStackTrace(); } return false; }
@SideOnly(Side.CLIENT) /** * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata */ public Icon getIcon(int par1, int par2) { if (par1 == 0) { return Block.planks.getBlockTextureFromSide(par1); } else { int k = getDirection(par2); int l = Direction.bedDirection[k][par1]; int i1 = isBlockHeadOfBed(par2) ? 1 : 0; return (i1 != 1 || l != 2) && (i1 != 0 || l != 3) ? (l != 5 && l != 4 ? this.bedTopIcons[i1] : this.bedSideIcons[i1]) : this.field_94472_b[i1]; } }
public void doRenderFallingTree(EntityFallingTree parEntityFallingTree, double parX, double parY, double parZ, float parYaw, float partialTickTime) { World world = parEntityFallingTree.getWorld(); Block block = Block.blocksList[parEntityFallingTree.blockID]; if (world.getBlockId(MathHelper.floor_double(parEntityFallingTree.posX), MathHelper.floor_double(parEntityFallingTree.posY), MathHelper.floor_double(parEntityFallingTree.posZ)) != parEntityFallingTree.blockID) { GL11.glPushMatrix(); GL11.glTranslatef((float)parX, (float)parY, (float)parZ); GL11.glRotatef(parYaw, Direction.offsetZ[parEntityFallingTree.direction],0 , -Direction.offsetX[parEntityFallingTree.direction]); this.bindEntityTexture(parEntityFallingTree); GL11.glDisable(GL11.GL_LIGHTING); Tessellator tessellator; if (block != null) { this.renderTreeBlocks.setRenderBoundsFromBlock(block); this.renderTreeBlocks.renderFallingTreeBlock(block, world, MathHelper.floor_double(parEntityFallingTree.posX), MathHelper.floor_double(parEntityFallingTree.posY), MathHelper.floor_double(parEntityFallingTree.posZ), parEntityFallingTree.metadata); } GL11.glEnable(GL11.GL_LIGHTING); GL11.glPopMatrix(); } }
public boolean func_76484_a(World p_76484_1_, Random p_76484_2_, int p_76484_3_, int p_76484_4_, int p_76484_5_) { int var6 = p_76484_3_; for(int var7 = p_76484_5_; p_76484_4_ < 128; ++p_76484_4_) { if(p_76484_1_.func_72799_c(p_76484_3_, p_76484_4_, p_76484_5_)) { for(int var8 = 2; var8 <= 5; ++var8) { if(Block.field_71998_bu.func_71850_a_(p_76484_1_, p_76484_3_, p_76484_4_, p_76484_5_, var8)) { p_76484_1_.func_72832_d(p_76484_3_, p_76484_4_, p_76484_5_, Block.field_71998_bu.field_71990_ca, 1 << Direction.field_71579_d[Facing.field_71588_a[var8]], 2); break; } } } else { p_76484_3_ = var6 + p_76484_2_.nextInt(4) - p_76484_2_.nextInt(4); p_76484_5_ = var7 + p_76484_2_.nextInt(4) - p_76484_2_.nextInt(4); } } return true; }
public void func_96440_m(int p_96440_1_, int p_96440_2_, int p_96440_3_, int p_96440_4_) { for(int var5 = 0; var5 < 4; ++var5) { int var6 = p_96440_1_ + Direction.field_71583_a[var5]; int var7 = p_96440_3_ + Direction.field_71581_b[var5]; int var8 = this.func_72798_a(var6, p_96440_2_, var7); if(var8 != 0) { Block var9 = Block.field_71973_m[var8]; if(Block.field_94346_cn.func_94487_f(var8)) { var9.func_71863_a(this, var6, p_96440_2_, var7, p_96440_4_); } else if(Block.func_71932_i(var8)) { var6 += Direction.field_71583_a[var5]; var7 += Direction.field_71581_b[var5]; var8 = this.func_72798_a(var6, p_96440_2_, var7); var9 = Block.field_71973_m[var8]; if(Block.field_94346_cn.func_94487_f(var8)) { var9.func_71863_a(this, var6, p_96440_2_, var7, p_96440_4_); } } } } }
public boolean func_77648_a(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) { if(p_77648_7_ == 0) { return false; } else if(p_77648_7_ == 1) { return false; } else { int var11 = Direction.field_71579_d[p_77648_7_]; EntityHanging var12 = this.func_82810_a(p_77648_3_, p_77648_4_, p_77648_5_, p_77648_6_, var11); if(!p_77648_2_.func_82247_a(p_77648_4_, p_77648_5_, p_77648_6_, p_77648_7_, p_77648_1_)) { return false; } else { if(var12 != null && var12.func_70518_d()) { if(!p_77648_3_.field_72995_K) { p_77648_3_.func_72838_d(var12); } --p_77648_1_.field_77994_a; } return true; } } }
@SideOnly(Side.CLIENT) public static boolean func_72148_a(IBlockAccess p_72148_0_, int p_72148_1_, int p_72148_2_, int p_72148_3_, int p_72148_4_, int p_72148_5_) { int var6 = p_72148_1_ + Direction.field_71583_a[p_72148_5_]; int var8 = p_72148_3_ + Direction.field_71581_b[p_72148_5_]; int var9 = p_72148_0_.func_72798_a(var6, p_72148_2_, var8); boolean var10 = (p_72148_4_ & 2) == 2; int var11; if(var9 == Block.field_72064_bT.field_71990_ca) { var11 = p_72148_0_.func_72805_g(var6, p_72148_2_, var8); int var13 = var11 & 3; return var13 == Direction.field_71580_e[p_72148_5_]; } else if(var9 == Block.field_72062_bU.field_71990_ca) { var11 = p_72148_0_.func_72805_g(var6, p_72148_2_, var8); boolean var12 = (var11 & 2) == 2; return var10 == var12; } else { return false; } }
private boolean func_72150_l(World p_72150_1_, int p_72150_2_, int p_72150_3_, int p_72150_4_) { int var5 = p_72150_1_.func_72805_g(p_72150_2_, p_72150_3_, p_72150_4_); int var6 = var5; if(var5 > 0) { for(int var7 = 0; var7 <= 3; ++var7) { int var8 = 1 << var7; if((var5 & var8) != 0 && !this.func_72151_e(p_72150_1_.func_72798_a(p_72150_2_ + Direction.field_71583_a[var7], p_72150_3_, p_72150_4_ + Direction.field_71581_b[var7])) && (p_72150_1_.func_72798_a(p_72150_2_, p_72150_3_ + 1, p_72150_4_) != this.field_71990_ca || (p_72150_1_.func_72805_g(p_72150_2_, p_72150_3_ + 1, p_72150_4_) & var8) == 0)) { var6 &= ~var8; } } } if(var6 == 0 && !this.func_72151_e(p_72150_1_.func_72798_a(p_72150_2_, p_72150_3_ + 1, p_72150_4_))) { return false; } else { if(var6 != var5) { p_72150_1_.func_72921_c(p_72150_2_, p_72150_3_, p_72150_4_, var6, 2); } return true; } }
protected int func_72220_e(World p_72220_1_, int p_72220_2_, int p_72220_3_, int p_72220_4_, int p_72220_5_) { int var6 = super.func_72220_e(p_72220_1_, p_72220_2_, p_72220_3_, p_72220_4_, p_72220_5_); int var7 = func_72217_d(p_72220_5_); int var8 = p_72220_2_ + Direction.field_71583_a[var7]; int var9 = p_72220_4_ + Direction.field_71581_b[var7]; int var10 = p_72220_1_.func_72798_a(var8, p_72220_3_, var9); if(var10 > 0) { if(Block.field_71973_m[var10].func_96468_q_()) { var6 = Block.field_71973_m[var10].func_94328_b_(p_72220_1_, var8, p_72220_3_, var9, Direction.field_71580_e[var7]); } else if(var6 < 15 && Block.func_71932_i(var10)) { var8 += Direction.field_71583_a[var7]; var9 += Direction.field_71581_b[var7]; var10 = p_72220_1_.func_72798_a(var8, p_72220_3_, var9); if(var10 > 0 && Block.field_71973_m[var10].func_96468_q_()) { var6 = Block.field_71973_m[var10].func_94328_b_(p_72220_1_, var8, p_72220_3_, var9, Direction.field_71580_e[var7]); } } } return var6; }
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5) { int l = par3; for (int i1 = par5; par4 < 128; ++par4) { if (par1World.isAirBlock(par3, par4, par5)) { for (int j1 = 2; j1 <= 5; ++j1) { if (Block.vine.canPlaceBlockOnSide(par1World, par3, par4, par5, j1)) { par1World.setBlock(par3, par4, par5, Block.vine.blockID, 1 << Direction.facingToDirection[Facing.oppositeSide[j1]], 2); break; } } } else { par3 = l + par2Random.nextInt(4) - par2Random.nextInt(4); par5 = i1 + par2Random.nextInt(4) - par2Random.nextInt(4); } } return true; }
/** * Returns true if redstone wire can connect to the specified block. Params: World, X, Y, Z, side (not a normal * notch-side, this can be 0, 1, 2, 3 or -1) */ public static boolean isPowerProviderOrWire(IBlockAccess par0IBlockAccess, int par1, int par2, int par3, int par4) { int i1 = par0IBlockAccess.getBlockId(par1, par2, par3); if (i1 == Block.redstoneWire.blockID) { return true; } else if (i1 == 0) { return false; } else if (!Block.redstoneRepeaterIdle.func_94487_f(i1)) { return (Block.blocksList[i1] != null && Block.blocksList[i1].canConnectRedstone(par0IBlockAccess, par1, par2, par3, par4)); } else { int j1 = par0IBlockAccess.getBlockMetadata(par1, par2, par3); return par4 == (j1 & 3) || par4 == Direction.rotateOpposite[j1 & 3]; } }
@SideOnly(Side.CLIENT) public static boolean func_72148_a(IBlockAccess par0IBlockAccess, int par1, int par2, int par3, int par4, int par5) { int j1 = par1 + Direction.offsetX[par5]; int k1 = par3 + Direction.offsetZ[par5]; int l1 = par0IBlockAccess.getBlockId(j1, par2, k1); boolean flag = (par4 & 2) == 2; int i2; if (l1 == Block.tripWireSource.blockID) { i2 = par0IBlockAccess.getBlockMetadata(j1, par2, k1); int j2 = i2 & 3; return j2 == Direction.rotateOpposite[par5]; } else if (l1 == Block.tripWire.blockID) { i2 = par0IBlockAccess.getBlockMetadata(j1, par2, k1); boolean flag1 = (i2 & 2) == 2; return flag == flag1; } else { return false; } }