Advertisement
tahg

Untitled

Jun 27th, 2011
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. public void doPhysics(World world, int i, int j, int k, int l) {
  2. int i1 = world.getData(i, j, k);
  3.  
  4. if ((i1 & 8) != 0) {
  5. if (world.getTypeId(i, j - 1, k) != this.id) {
  6. world.setTypeId(i, j, k, 0);
  7. }
  8.  
  9. if (l > 0 && Block.byId[l].isPowerSource()) {
  10. this.doPhysics(world, i, j - 1, k, l);
  11. }
  12. } else {
  13. boolean flag = false;
  14.  
  15. if (world.getTypeId(i, j + 1, k) != this.id) {
  16. world.setTypeId(i, j, k, 0);
  17. flag = true;
  18. }
  19.  
  20. if (!world.d(i, j - 1, k)) {
  21. world.setTypeId(i, j, k, 0);
  22. flag = true;
  23. if (world.getTypeId(i, j + 1, k) == this.id) {
  24. world.setTypeId(i, j + 1, k, 0);
  25. }
  26. }
  27.  
  28. if (flag) {
  29. if (!world.isStatic) {
  30. this.b_(world, i, j, k, i1);
  31. }
  32. } else if (l > 0 && Block.byId[l].isPowerSource()) {
  33. boolean flag1 = world.isBlockIndirectlyPowered(i, j, k) || world.isBlockIndirectlyPowered(i, j + 1, k);
  34.  
  35. // CraftBukkit start
  36. org.bukkit.World bworld = world.getWorld();
  37. org.bukkit.block.Block block = bworld.getBlockAt(i, j, k);
  38. org.bukkit.block.Block blockTop = bworld.getBlockAt(i, j + 1, k);
  39.  
  40. int power = block.getBlockPower();
  41. int powerTop = blockTop.getBlockPower();
  42. if (powerTop > power) power = powerTop;
  43. int oldPower = (world.getData(i, j, k) & 4) > 0 ? 15 : 0;
  44.  
  45. if (oldPower == 0 ^ power == 0) {
  46. BlockRedstoneEvent eventRedstone = new BlockRedstoneEvent(block, oldPower, power);
  47. world.getServer().getPluginManager().callEvent(eventRedstone);
  48.  
  49. flag1 = eventRedstone.getNewCurrent() > 0;
  50.  
  51. this.setDoor(world, i, j, k, flag1);
  52. }
  53. // CraftBukkit end
  54. }
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement