StickyPistonTrackerTask.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package com.gmail.nossr50.runnables;
  2. import com.gmail.nossr50.mcMMO;
  3. import com.gmail.nossr50.util.BlockUtils;
  4. import org.bukkit.block.Block;
  5. import org.bukkit.block.BlockFace;
  6. import org.bukkit.scheduler.BukkitRunnable;
  7. public class StickyPistonTrackerTask extends BukkitRunnable {
  8. private final BlockFace direction;
  9. private final Block block;
  10. private final 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.getRelative(direction))) {
  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.getRelative(direction));
  27. mcMMO.getPlaceStore().setTrue(movedBlock);
  28. }
  29. }