StickyPistonTrackerTask.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package com.gmail.nossr50.runnables;
  2. import org.bukkit.Bukkit;
  3. import org.bukkit.block.Block;
  4. import org.bukkit.block.BlockFace;
  5. import org.bukkit.scheduler.BukkitRunnable;
  6. import com.gmail.nossr50.mcMMO;
  7. import com.gmail.nossr50.util.BlockUtils;
  8. public class StickyPistonTrackerTask extends BukkitRunnable {
  9. private BlockFace direction;
  10. private Block block;
  11. private Block movedBlock;
  12. public StickyPistonTrackerTask(BlockFace direction, Block block, Block movedBlock) {
  13. this.direction = direction;
  14. this.block = block;
  15. this.movedBlock = movedBlock;
  16. }
  17. @Override
  18. public void run() {
  19. if (!mcMMO.getPlaceStore().isTrue(movedBlock.getRelative(direction))) {
  20. return;
  21. }
  22. if (!BlockUtils.isPistonPiece(movedBlock.getState())) {
  23. // The block didn't move
  24. return;
  25. }
  26. // The sticky piston actually pulled the block so move the PlaceStore data
  27. mcMMO.getPlaceStore().setFalse(movedBlock.getRelative(direction));
  28. mcMMO.getPlaceStore().setTrue(movedBlock);
  29. }
  30. }