@Override public boolean a(IBlockAccess iblockaccess, int x, int y, int z, int face) { int index = CustomBlock.getIndex(((World) iblockaccess), x, y, z); Chunk chunk = ((World) iblockaccess).getChunkAt(x >> 4, z >> 4).bukkitChunk; if (chunk.getClass().equals(SpoutCraftChunk.class)) { TIntIntHashMap powerOverrides = ((SpoutCraftChunk) chunk).powerOverrides; if (powerOverrides.containsKey(index)) { int powerbits = powerOverrides.get(index); switch (face) { case 0: return (powerbits & (1 << 0)) != 0; case 1: return (powerbits & (1 << 1)) != 0; case 2: return (powerbits & (1 << 2)) != 0; case 3: return (powerbits & (1 << 3)) != 0; case 4: return (powerbits & (1 << 4)) != 0; case 5: return (powerbits & (1 << 5)) != 0; default: return parent.a(iblockaccess, x, y, z, face); } } } return parent.a(iblockaccess, x, y, z, face); }
@Override public void a(float f, float f1, float f2, float f3, float f4, float f5) { if (parent != null) { parent.a(f, f1, f2, f3, f4, f5); } else { super.a(f, f1, f2, f3, f4, f5); } }
@Override public boolean a() { if (parent != null) { return parent.a(); } return super.a(); }
@Override public void attack(World world, int i, int j, int k, EntityHuman entityhuman) { if (entityhuman instanceof EntityPlayer) { SpoutCraftPlayer player = (SpoutCraftPlayer) SpoutManager.getPlayer((Player) ((EntityPlayer) entityhuman).getBukkitEntity()); player.setLastClickedLocation(new Location(player.getWorld(), i, j, k)); } parent.attack(world, i, j, k, entityhuman); }
protected CustomMinecartTrack(BlockMinecartTrack parent) { super(parent.id, parent.textureId, parent.i()); this.parent = parent; updateField(parent, this, "strength"); updateField(parent, this, "durability"); updateField(parent, this, "bR"); updateField(parent, this, "bS"); updateField(parent, this, "bT"); this.minX = parent.minX; this.minY = parent.minY; this.minZ = parent.minZ; this.maxX = parent.maxX; this.maxY = parent.maxY; this.maxZ = parent.maxZ; this.stepSound = parent.stepSound; this.cc = parent.cc; this.frictionFactor = parent.frictionFactor; updateField(parent, this, "name"); }
@Override public void a(World world, int i, int j, int k, Random random) { parent.a(world, i, j, k, random); }
@Override public void a(World world, int i, int j, int k, Entity entity, Vec3D vec3d) { parent.a(world, i, j, k, entity, vec3d); }
@Override public void a(World world, int i, int j, int k, int l, int i1) { parent.a(world, i, j, k, l, i1); }
@Override public int c() { return parent.c(); }
@Override public boolean d(World world, int i, int j, int k, int l) { return parent.d(world, i, j, k, l); }
@Override public boolean f(World world, int i, int j, int k) { return parent.f(world, i, j, k); }
@Override public void dropNaturally(World world, int i, int j, int k, int l, float f, int i1) { parent.dropNaturally(world, i, j, k, l, f, i1); }
@Override public boolean isPowerSource() { return parent.isPowerSource(); }
@Override public int getDropCount(int i, Random random) { return parent.getDropCount(i, random); }
@Override public float getDamage(EntityHuman entityhuman) { return parent.getDamage(entityhuman); // could have modified hardness, return super }
@Override public int a(Random random) { return parent.a(random); }
@Override public void remove(World world, int i, int j, int k) { parent.remove(world, i, j, k); }
@Override public void onPlace(World world, int i, int j, int k) { parent.onPlace(world, i, j, k); }
@Override public void updateShape(IBlockAccess iblockaccess, int i, int j, int k) { parent.updateShape(iblockaccess, i, j, k); }
@Override public MovingObjectPosition a(World world, int i, int j, int k, Vec3D vec3d, Vec3D vec3d1) { return parent.a(world, i, j, k, vec3d, vec3d1); }
@Override public boolean E_() { return parent.E_(); }
@Override public void wasExploded(World world, int i, int j, int k) { parent.wasExploded(world, i, j, k); }
@Override public void a(World world, int i, int j, int k, Entity entity) { parent.a(world, i, j, k, entity); }
@Override public void postBreak(World world, int i, int j, int k, int l) { parent.postBreak(world, i, j, k, l); }
@Override public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) { parent.a(world, entityhuman, i, j, k, l); }
@Override public boolean interact(World world, int i, int j, int k, EntityHuman entityhuman) { return parent.interact(world, i, j, k, entityhuman); }
@Override public void postPlace(World world, int i, int j, int k, EntityLiving entityliving) { parent.postPlace(world, i, j, k, entityliving); }
@Override public void postPlace(World world, int i, int j, int k, int l) { parent.postPlace(world, i, j, k, l); }
@Override public boolean canPlace(World world, int i, int j, int k) { return parent.canPlace(world, i, j, k); }
@Override public void doPhysics(World world, int i, int j, int k, int l) { parent.doPhysics(world, i, j, k, l); }