StickyPistonTrackerTask.java 1.0 KB

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