Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void doPhysics(World world, int i, int j, int k, int l) {
- int i1 = world.getData(i, j, k);
- if ((i1 & 8) != 0) {
- if (world.getTypeId(i, j - 1, k) != this.id) {
- world.setTypeId(i, j, k, 0);
- }
- if (l > 0 && Block.byId[l].isPowerSource()) {
- this.doPhysics(world, i, j - 1, k, l);
- }
- } else {
- boolean flag = false;
- if (world.getTypeId(i, j + 1, k) != this.id) {
- world.setTypeId(i, j, k, 0);
- flag = true;
- }
- if (!world.d(i, j - 1, k)) {
- world.setTypeId(i, j, k, 0);
- flag = true;
- if (world.getTypeId(i, j + 1, k) == this.id) {
- world.setTypeId(i, j + 1, k, 0);
- }
- }
- if (flag) {
- if (!world.isStatic) {
- this.b_(world, i, j, k, i1);
- }
- } else if (l > 0 && Block.byId[l].isPowerSource()) {
- boolean flag1 = world.isBlockIndirectlyPowered(i, j, k) || world.isBlockIndirectlyPowered(i, j + 1, k);
- // CraftBukkit start
- org.bukkit.World bworld = world.getWorld();
- org.bukkit.block.Block block = bworld.getBlockAt(i, j, k);
- org.bukkit.block.Block blockTop = bworld.getBlockAt(i, j + 1, k);
- int power = block.getBlockPower();
- int powerTop = blockTop.getBlockPower();
- if (powerTop > power) power = powerTop;
- int oldPower = (world.getData(i, j, k) & 4) > 0 ? 15 : 0;
- if (oldPower == 0 ^ power == 0) {
- BlockRedstoneEvent eventRedstone = new BlockRedstoneEvent(block, oldPower, power);
- world.getServer().getPluginManager().callEvent(eventRedstone);
- flag1 = eventRedstone.getNewCurrent() > 0;
- this.setDoor(world, i, j, k, flag1);
- }
- // CraftBukkit end
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement