diff --git a/NMS/v117/src/main/java/com/bgsoftware/superiorskyblock/nms/v117/NMSWorldImpl.java b/NMS/v117/src/main/java/com/bgsoftware/superiorskyblock/nms/v117/NMSWorldImpl.java index 169b94e7e..f5f33635b 100644 --- a/NMS/v117/src/main/java/com/bgsoftware/superiorskyblock/nms/v117/NMSWorldImpl.java +++ b/NMS/v117/src/main/java/com/bgsoftware/superiorskyblock/nms/v117/NMSWorldImpl.java @@ -14,6 +14,7 @@ import com.bgsoftware.superiorskyblock.nms.ICachedBlock; import com.bgsoftware.superiorskyblock.nms.NMSWorld; import com.bgsoftware.superiorskyblock.nms.algorithms.NMSCachedBlock; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.v117.generator.IslandsGeneratorImpl; import com.bgsoftware.superiorskyblock.nms.v117.spawners.TickingSpawnerBlockEntityNotifier; import com.bgsoftware.superiorskyblock.nms.v117.world.KeyBlocksCache; @@ -273,6 +274,12 @@ public boolean isWaterLogged(org.bukkit.block.Block block) { return blockData instanceof Waterlogged && ((Waterlogged) blockData).isWaterlogged(); } + @Override + public PistonPushReaction getPistonReaction(org.bukkit.block.Block block) { + BlockState blockState = ((CraftBlock) block).getNMS(); + return PistonPushReaction.values()[blockState.getPistonPushReaction().ordinal()]; + } + @Override public int getDefaultAmount(org.bukkit.block.Block bukkitBlock) { BlockState blockState = ((CraftBlock) bukkitBlock).getNMS(); diff --git a/NMS/v1182/src/main/java/com/bgsoftware/superiorskyblock/nms/v1182/NMSWorldImpl.java b/NMS/v1182/src/main/java/com/bgsoftware/superiorskyblock/nms/v1182/NMSWorldImpl.java index 32a51539e..4b73b1f07 100644 --- a/NMS/v1182/src/main/java/com/bgsoftware/superiorskyblock/nms/v1182/NMSWorldImpl.java +++ b/NMS/v1182/src/main/java/com/bgsoftware/superiorskyblock/nms/v1182/NMSWorldImpl.java @@ -14,6 +14,7 @@ import com.bgsoftware.superiorskyblock.nms.ICachedBlock; import com.bgsoftware.superiorskyblock.nms.NMSWorld; import com.bgsoftware.superiorskyblock.nms.algorithms.NMSCachedBlock; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.v1182.generator.IslandsGeneratorImpl; import com.bgsoftware.superiorskyblock.nms.v1182.spawners.TickingSpawnerBlockEntityNotifier; import com.bgsoftware.superiorskyblock.nms.v1182.world.KeyBlocksCache; @@ -274,6 +275,12 @@ public boolean isWaterLogged(org.bukkit.block.Block block) { return blockData instanceof Waterlogged && ((Waterlogged) blockData).isWaterlogged(); } + @Override + public PistonPushReaction getPistonReaction(org.bukkit.block.Block block) { + BlockState blockState = ((CraftBlock) block).getNMS(); + return PistonPushReaction.values()[blockState.getPistonPushReaction().ordinal()]; + } + @Override public int getDefaultAmount(org.bukkit.block.Block bukkitBlock) { BlockState blockState = ((CraftBlock) bukkitBlock).getNMS(); diff --git a/NMS/v119/src/main/java/com/bgsoftware/superiorskyblock/nms/v119/NMSWorldImpl.java b/NMS/v119/src/main/java/com/bgsoftware/superiorskyblock/nms/v119/NMSWorldImpl.java index fcc4392b5..fd6e37ed2 100644 --- a/NMS/v119/src/main/java/com/bgsoftware/superiorskyblock/nms/v119/NMSWorldImpl.java +++ b/NMS/v119/src/main/java/com/bgsoftware/superiorskyblock/nms/v119/NMSWorldImpl.java @@ -14,6 +14,7 @@ import com.bgsoftware.superiorskyblock.nms.ICachedBlock; import com.bgsoftware.superiorskyblock.nms.NMSWorld; import com.bgsoftware.superiorskyblock.nms.algorithms.NMSCachedBlock; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.v119.generator.IslandsGeneratorImpl; import com.bgsoftware.superiorskyblock.nms.v119.spawners.TickingSpawnerBlockEntityNotifier; import com.bgsoftware.superiorskyblock.nms.v119.world.KeyBlocksCache; @@ -274,6 +275,12 @@ public boolean isWaterLogged(org.bukkit.block.Block block) { return blockData instanceof Waterlogged && ((Waterlogged) blockData).isWaterlogged(); } + @Override + public PistonPushReaction getPistonReaction(org.bukkit.block.Block block) { + BlockState blockState = ((CraftBlock) block).getNMS(); + return PistonPushReaction.values()[blockState.getPistonPushReaction().ordinal()]; + } + @Override public int getDefaultAmount(org.bukkit.block.Block bukkitBlock) { BlockState blockState = ((CraftBlock) bukkitBlock).getNMS(); diff --git a/NMS/v1191/src/main/java/com/bgsoftware/superiorskyblock/nms/v1191/NMSWorldImpl.java b/NMS/v1191/src/main/java/com/bgsoftware/superiorskyblock/nms/v1191/NMSWorldImpl.java index f568a1485..2b517fe92 100644 --- a/NMS/v1191/src/main/java/com/bgsoftware/superiorskyblock/nms/v1191/NMSWorldImpl.java +++ b/NMS/v1191/src/main/java/com/bgsoftware/superiorskyblock/nms/v1191/NMSWorldImpl.java @@ -14,6 +14,7 @@ import com.bgsoftware.superiorskyblock.nms.ICachedBlock; import com.bgsoftware.superiorskyblock.nms.NMSWorld; import com.bgsoftware.superiorskyblock.nms.algorithms.NMSCachedBlock; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.v1191.generator.IslandsGeneratorImpl; import com.bgsoftware.superiorskyblock.nms.v1191.spawners.TickingSpawnerBlockEntityNotifier; import com.bgsoftware.superiorskyblock.nms.v1191.world.KeyBlocksCache; @@ -274,6 +275,12 @@ public boolean isWaterLogged(org.bukkit.block.Block block) { return blockData instanceof Waterlogged && ((Waterlogged) blockData).isWaterlogged(); } + @Override + public PistonPushReaction getPistonReaction(org.bukkit.block.Block block) { + BlockState blockState = ((CraftBlock) block).getNMS(); + return PistonPushReaction.values()[blockState.getPistonPushReaction().ordinal()]; + } + @Override public int getDefaultAmount(org.bukkit.block.Block bukkitBlock) { BlockState blockState = ((CraftBlock) bukkitBlock).getNMS(); diff --git a/NMS/v1192/src/main/java/com/bgsoftware/superiorskyblock/nms/v1192/NMSWorldImpl.java b/NMS/v1192/src/main/java/com/bgsoftware/superiorskyblock/nms/v1192/NMSWorldImpl.java index 955545082..c594effc6 100644 --- a/NMS/v1192/src/main/java/com/bgsoftware/superiorskyblock/nms/v1192/NMSWorldImpl.java +++ b/NMS/v1192/src/main/java/com/bgsoftware/superiorskyblock/nms/v1192/NMSWorldImpl.java @@ -14,6 +14,7 @@ import com.bgsoftware.superiorskyblock.nms.ICachedBlock; import com.bgsoftware.superiorskyblock.nms.NMSWorld; import com.bgsoftware.superiorskyblock.nms.algorithms.NMSCachedBlock; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.v1192.generator.IslandsGeneratorImpl; import com.bgsoftware.superiorskyblock.nms.v1192.spawners.TickingSpawnerBlockEntityNotifier; import com.bgsoftware.superiorskyblock.nms.v1192.world.KeyBlocksCache; @@ -274,6 +275,12 @@ public boolean isWaterLogged(org.bukkit.block.Block block) { return blockData instanceof Waterlogged && ((Waterlogged) blockData).isWaterlogged(); } + @Override + public PistonPushReaction getPistonReaction(org.bukkit.block.Block block) { + BlockState blockState = ((CraftBlock) block).getNMS(); + return PistonPushReaction.values()[blockState.getPistonPushReaction().ordinal()]; + } + @Override public int getDefaultAmount(org.bukkit.block.Block bukkitBlock) { BlockState blockState = ((CraftBlock) bukkitBlock).getNMS(); diff --git a/NMS/v1193/src/main/java/com/bgsoftware/superiorskyblock/nms/v1193/NMSWorldImpl.java b/NMS/v1193/src/main/java/com/bgsoftware/superiorskyblock/nms/v1193/NMSWorldImpl.java index 626a7970a..611f75586 100644 --- a/NMS/v1193/src/main/java/com/bgsoftware/superiorskyblock/nms/v1193/NMSWorldImpl.java +++ b/NMS/v1193/src/main/java/com/bgsoftware/superiorskyblock/nms/v1193/NMSWorldImpl.java @@ -14,6 +14,7 @@ import com.bgsoftware.superiorskyblock.nms.ICachedBlock; import com.bgsoftware.superiorskyblock.nms.NMSWorld; import com.bgsoftware.superiorskyblock.nms.algorithms.NMSCachedBlock; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.v1193.generator.IslandsGeneratorImpl; import com.bgsoftware.superiorskyblock.nms.v1193.spawners.TickingSpawnerBlockEntityNotifier; import com.bgsoftware.superiorskyblock.nms.v1193.world.KeyBlocksCache; @@ -274,6 +275,12 @@ public boolean isWaterLogged(org.bukkit.block.Block block) { return blockData instanceof Waterlogged && ((Waterlogged) blockData).isWaterlogged(); } + @Override + public PistonPushReaction getPistonReaction(org.bukkit.block.Block block) { + BlockState blockState = ((CraftBlock) block).getNMS(); + return PistonPushReaction.values()[blockState.getPistonPushReaction().ordinal()]; + } + @Override public int getDefaultAmount(org.bukkit.block.Block bukkitBlock) { BlockState blockState = ((CraftBlock) bukkitBlock).getNMS(); diff --git a/NMS/v1194/src/main/java/com/bgsoftware/superiorskyblock/nms/v1194/NMSWorldImpl.java b/NMS/v1194/src/main/java/com/bgsoftware/superiorskyblock/nms/v1194/NMSWorldImpl.java index 1ffe26b13..c664c8b94 100644 --- a/NMS/v1194/src/main/java/com/bgsoftware/superiorskyblock/nms/v1194/NMSWorldImpl.java +++ b/NMS/v1194/src/main/java/com/bgsoftware/superiorskyblock/nms/v1194/NMSWorldImpl.java @@ -14,6 +14,7 @@ import com.bgsoftware.superiorskyblock.nms.ICachedBlock; import com.bgsoftware.superiorskyblock.nms.NMSWorld; import com.bgsoftware.superiorskyblock.nms.algorithms.NMSCachedBlock; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.v1194.generator.IslandsGeneratorImpl; import com.bgsoftware.superiorskyblock.nms.v1194.spawners.TickingSpawnerBlockEntityNotifier; import com.bgsoftware.superiorskyblock.nms.v1194.world.KeyBlocksCache; @@ -274,6 +275,12 @@ public boolean isWaterLogged(org.bukkit.block.Block block) { return blockData instanceof Waterlogged && ((Waterlogged) blockData).isWaterlogged(); } + @Override + public PistonPushReaction getPistonReaction(org.bukkit.block.Block block) { + BlockState blockState = ((CraftBlock) block).getNMS(); + return PistonPushReaction.values()[blockState.getPistonPushReaction().ordinal()]; + } + @Override public int getDefaultAmount(org.bukkit.block.Block bukkitBlock) { BlockState blockState = ((CraftBlock) bukkitBlock).getNMS(); diff --git a/NMS/v1201/src/main/java/com/bgsoftware/superiorskyblock/nms/v1201/NMSWorldImpl.java b/NMS/v1201/src/main/java/com/bgsoftware/superiorskyblock/nms/v1201/NMSWorldImpl.java index 21a26fbeb..7b62a0e4e 100644 --- a/NMS/v1201/src/main/java/com/bgsoftware/superiorskyblock/nms/v1201/NMSWorldImpl.java +++ b/NMS/v1201/src/main/java/com/bgsoftware/superiorskyblock/nms/v1201/NMSWorldImpl.java @@ -14,6 +14,7 @@ import com.bgsoftware.superiorskyblock.nms.ICachedBlock; import com.bgsoftware.superiorskyblock.nms.NMSWorld; import com.bgsoftware.superiorskyblock.nms.algorithms.NMSCachedBlock; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.v1201.generator.IslandsGeneratorImpl; import com.bgsoftware.superiorskyblock.nms.v1201.spawners.TickingSpawnerBlockEntityNotifier; import com.bgsoftware.superiorskyblock.nms.v1201.world.KeyBlocksCache; @@ -274,6 +275,12 @@ public boolean isWaterLogged(org.bukkit.block.Block block) { return blockData instanceof Waterlogged && ((Waterlogged) blockData).isWaterlogged(); } + @Override + public PistonPushReaction getPistonReaction(org.bukkit.block.Block block) { + BlockState blockState = ((CraftBlock) block).getNMS(); + return PistonPushReaction.values()[blockState.getPistonPushReaction().ordinal()]; + } + @Override public int getDefaultAmount(org.bukkit.block.Block bukkitBlock) { BlockState blockState = ((CraftBlock) bukkitBlock).getNMS(); diff --git a/NMS/v1_12_R1/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_12_R1/NMSWorldImpl.java b/NMS/v1_12_R1/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_12_R1/NMSWorldImpl.java index 1747949aa..f8aa4d57f 100644 --- a/NMS/v1_12_R1/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_12_R1/NMSWorldImpl.java +++ b/NMS/v1_12_R1/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_12_R1/NMSWorldImpl.java @@ -11,6 +11,7 @@ import com.bgsoftware.superiorskyblock.listener.SignsListener; import com.bgsoftware.superiorskyblock.nms.ICachedBlock; import com.bgsoftware.superiorskyblock.nms.NMSWorld; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.v1_12_R1.generator.IslandsGeneratorImpl; import com.bgsoftware.superiorskyblock.nms.v1_12_R1.spawners.MobSpawnerAbstractNotifier; import com.bgsoftware.superiorskyblock.nms.v1_12_R1.world.KeyBlocksCache; @@ -42,6 +43,7 @@ import org.bukkit.Material; import org.bukkit.World; import org.bukkit.craftbukkit.v1_12_R1.CraftWorld; +import org.bukkit.craftbukkit.v1_12_R1.block.CraftBlock; import org.bukkit.craftbukkit.v1_12_R1.block.CraftSign; import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer; import org.bukkit.entity.Player; @@ -213,6 +215,14 @@ public boolean isWaterLogged(org.bukkit.block.Block block) { return blockType == Material.WATER || blockType == Material.STATIONARY_WATER; } + @Override + public PistonPushReaction getPistonReaction(org.bukkit.block.Block block) { + WorldServer worldServer = ((CraftWorld) block.getWorld()).getHandle(); + BlockPosition blockPosition = new BlockPosition(block.getX(), block.getY(), block.getZ()); + IBlockData blockData = worldServer.getType(blockPosition); + return PistonPushReaction.values()[blockData.o().ordinal()]; + } + @Override public int getDefaultAmount(org.bukkit.block.Block block) { Location blockLocation = block.getLocation(); diff --git a/NMS/v1_16_R3/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_16_R3/NMSWorldImpl.java b/NMS/v1_16_R3/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_16_R3/NMSWorldImpl.java index 6cc38d0bd..e57fdf3f3 100644 --- a/NMS/v1_16_R3/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_16_R3/NMSWorldImpl.java +++ b/NMS/v1_16_R3/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_16_R3/NMSWorldImpl.java @@ -14,6 +14,7 @@ import com.bgsoftware.superiorskyblock.nms.ICachedBlock; import com.bgsoftware.superiorskyblock.nms.NMSWorld; import com.bgsoftware.superiorskyblock.nms.algorithms.NMSCachedBlock; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.v1_16_R3.generator.IslandsGeneratorImpl; import com.bgsoftware.superiorskyblock.nms.v1_16_R3.spawners.TileEntityMobSpawnerNotifier; import com.bgsoftware.superiorskyblock.nms.v1_16_R3.world.BlockStatesMapper; @@ -254,6 +255,12 @@ public boolean isWaterLogged(org.bukkit.block.Block block) { return blockData instanceof Waterlogged && ((Waterlogged) blockData).isWaterlogged(); } + @Override + public PistonPushReaction getPistonReaction(org.bukkit.block.Block block) { + IBlockData blockData = ((CraftBlock) block).getNMS(); + return PistonPushReaction.values()[blockData.getPushReaction().ordinal()]; + } + @Override public int getDefaultAmount(org.bukkit.block.Block block) { IBlockData blockData = ((CraftBlock) block).getNMS(); diff --git a/NMS/v1_8_R3/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_8_R3/NMSWorldImpl.java b/NMS/v1_8_R3/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_8_R3/NMSWorldImpl.java index 26a5dee87..8fed42c3e 100644 --- a/NMS/v1_8_R3/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_8_R3/NMSWorldImpl.java +++ b/NMS/v1_8_R3/src/main/java/com/bgsoftware/superiorskyblock/nms/v1_8_R3/NMSWorldImpl.java @@ -11,6 +11,7 @@ import com.bgsoftware.superiorskyblock.listener.SignsListener; import com.bgsoftware.superiorskyblock.nms.ICachedBlock; import com.bgsoftware.superiorskyblock.nms.NMSWorld; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.v1_8_R3.generator.IslandsGeneratorImpl; import com.bgsoftware.superiorskyblock.nms.v1_8_R3.spawners.MobSpawnerAbstractNotifier; import com.bgsoftware.superiorskyblock.nms.v1_8_R3.world.KeyBlocksCache; @@ -42,6 +43,7 @@ import org.bukkit.craftbukkit.v1_8_R3.CraftWorld; import org.bukkit.craftbukkit.v1_8_R3.block.CraftSign; import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer; +import org.bukkit.craftbukkit.v1_8_R3.util.CraftMagicNumbers; import org.bukkit.entity.Player; import org.bukkit.event.block.SignChangeEvent; import org.bukkit.generator.ChunkGenerator; @@ -218,6 +220,12 @@ public boolean isWaterLogged(org.bukkit.block.Block block) { return blockType == Material.WATER || blockType == Material.STATIONARY_WATER; } + @Override + public PistonPushReaction getPistonReaction(org.bukkit.block.Block block) { + Block nmsBlock = CraftMagicNumbers.getBlock(block); + return PistonPushReaction.values()[nmsBlock.getMaterial().getPushReaction()]; + } + @Override public int getDefaultAmount(org.bukkit.block.Block block) { Location blockLocation = block.getLocation(); diff --git a/src/main/java/com/bgsoftware/superiorskyblock/listener/BlockChangesListener.java b/src/main/java/com/bgsoftware/superiorskyblock/listener/BlockChangesListener.java index 67b19ed3b..309d242fc 100644 --- a/src/main/java/com/bgsoftware/superiorskyblock/listener/BlockChangesListener.java +++ b/src/main/java/com/bgsoftware/superiorskyblock/listener/BlockChangesListener.java @@ -13,6 +13,7 @@ import com.bgsoftware.superiorskyblock.core.key.KeyMaps; import com.bgsoftware.superiorskyblock.core.key.Keys; import com.bgsoftware.superiorskyblock.core.threads.BukkitExecutor; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.world.BukkitEntities; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -308,11 +309,10 @@ private void onDragonEggDrop(ItemSpawnEvent e) { } @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) - private void onDragonEggDrop(BlockPistonExtendEvent e) { + private void onPistonExtend(BlockPistonExtendEvent e) { for (Block block : e.getBlocks()) { - if (block.getType() == Material.DRAGON_EGG) { - onBlockBreak(ConstantKeys.DRAGON_EGG, block.getLocation(), 1, - Flag.DIRTY_CHUNK, Flag.SAVE_BLOCK_COUNT); + if (plugin.getNMSWorld().getPistonReaction(block) == PistonPushReaction.DESTROY) { + onBlockBreak(Keys.of(block), block.getLocation(), 1, Flag.DIRTY_CHUNK, Flag.SAVE_BLOCK_COUNT); } } } @@ -477,8 +477,7 @@ public void onBlockDestroy(com.destroystokyo.paper.event.block.BlockDestroyEvent return; int blockCount = plugin.getNMSWorld().getDefaultAmount(e.getBlock()); - onBlockBreak(Keys.of(e.getBlock()), e.getBlock().getLocation(), blockCount, - Flag.HANDLE_NEARBY_BLOCKS, Flag.DIRTY_CHUNK); + onBlockBreak(Keys.of(e.getBlock()), e.getBlock().getLocation(), blockCount, Flag.DIRTY_CHUNK); } } diff --git a/src/main/java/com/bgsoftware/superiorskyblock/nms/NMSWorld.java b/src/main/java/com/bgsoftware/superiorskyblock/nms/NMSWorld.java index 94aa9081e..847b428fc 100644 --- a/src/main/java/com/bgsoftware/superiorskyblock/nms/NMSWorld.java +++ b/src/main/java/com/bgsoftware/superiorskyblock/nms/NMSWorld.java @@ -4,6 +4,7 @@ import com.bgsoftware.superiorskyblock.api.island.Island; import com.bgsoftware.superiorskyblock.api.key.Key; import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer; +import com.bgsoftware.superiorskyblock.nms.bridge.PistonPushReaction; import com.bgsoftware.superiorskyblock.nms.world.WorldEditSession; import com.bgsoftware.superiorskyblock.tag.CompoundTag; import org.bukkit.ChunkSnapshot; @@ -38,6 +39,8 @@ public interface NMSWorld { boolean isWaterLogged(Block block); + PistonPushReaction getPistonReaction(Block block); + int getDefaultAmount(Block block); void placeSign(Island island, Location location); diff --git a/src/main/java/com/bgsoftware/superiorskyblock/nms/bridge/PistonPushReaction.java b/src/main/java/com/bgsoftware/superiorskyblock/nms/bridge/PistonPushReaction.java new file mode 100644 index 000000000..cfede750d --- /dev/null +++ b/src/main/java/com/bgsoftware/superiorskyblock/nms/bridge/PistonPushReaction.java @@ -0,0 +1,12 @@ +package com.bgsoftware.superiorskyblock.nms.bridge; + +public enum PistonPushReaction { + + /* Keep in sync with PushReaction nms */ + NORMAL, + DESTROY, + BLOCK, + IGNORE, + PUSH_ONLY + +}