@Override /** * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed * (coordinates passed are their own) Args: x, y, z, neighbor blockID */ public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { if (!world.isRemote) { TEBase TE = getTileEntity(world, x, y, z); if (TE != null && !data.isFreestanding(TE)) { super.onNeighborBlockChange(world, x, y, z, block); } } }
@Override /** Called when the block is placed in the world. */ public void onBlockPlacedBy( World world, int x, int y, int z, EntityLivingBase entityLiving, ItemStack itemStack) { super.onBlockPlacedBy(world, x, y, z, entityLiving, itemStack); if (!entityLiving.isSneaking()) { // Copy type and direction of adjacent ladder type for (int side = 0; side < 2; ++side) { TEBase TE = getTileEntity(world, x, y, z); ForgeDirection dir = ForgeDirection.getOrientation(side); if (world.getBlock(x, y - dir.offsetY, z).equals(this)) { TEBase TE_adj = (TEBase) world.getTileEntity(x, y - dir.offsetY, z); data.setType(TE, data.getType(TE_adj)); data.setDirection(TE, data.getDirection(TE_adj)); } } } }