From ba3e0f1c8053f58fb9b2db3fb812b6040d1d9dfb Mon Sep 17 00:00:00 2001 From: StarWishsama Date: Wed, 15 Jan 2025 23:57:00 +0800 Subject: [PATCH] fix: closes #995 #996 --- .../implementation/items/androids/ProgrammableAndroid.java | 2 +- .../slimefun4/implementation/listeners/BlockListener.java | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java index 0e3ed1a5d2..25be44f4b2 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/androids/ProgrammableAndroid.java @@ -77,7 +77,7 @@ public class ProgrammableAndroid extends SlimefunItem private static final List POSSIBLE_ROTATIONS = Arrays.asList(BlockFace.NORTH, BlockFace.EAST, BlockFace.SOUTH, BlockFace.WEST); private static final int[] BORDER = { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 18, 24, 25, 26, 27, 33, 35, 36, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53 + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 18, 24, 26, 27, 33, 35, 36, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53 }; private static final int[] OUTPUT_BORDER = {10, 11, 12, 13, 14, 19, 23, 28, 32, 37, 38, 39, 40, 41}; private static final String DEFAULT_SCRIPT = "START-TURN_LEFT-REPEAT"; diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/BlockListener.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/BlockListener.java index 59296b2f87..0ad10c7ff6 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/BlockListener.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/BlockListener.java @@ -121,7 +121,9 @@ public void onBlockPlace(BlockPlaceEvent e) { if (sfItem != null && !(sfItem instanceof NotPlaceable)) { // Fixes #994, should check placed block is equals to item material or not. if (item.getType() != e.getBlock().getType()) { - return; + if (item.getType() != e.getBlock().getBlockData().getPlacementMaterial()) { + return; + } } if (!sfItem.canUse(e.getPlayer(), true)) {