diff --git a/iclibs/Nukkit-MOT-SNAPSHOT.jar b/iclibs/Nukkit-MOT-SNAPSHOT.jar index c65d639b..28855c1d 100644 Binary files a/iclibs/Nukkit-MOT-SNAPSHOT.jar and b/iclibs/Nukkit-MOT-SNAPSHOT.jar differ diff --git a/src/main/java/com/reider745/event/EventListener.java b/src/main/java/com/reider745/event/EventListener.java index 3bd26dfd..7320503f 100644 --- a/src/main/java/com/reider745/event/EventListener.java +++ b/src/main/java/com/reider745/event/EventListener.java @@ -5,6 +5,7 @@ import cn.nukkit.block.Block; import cn.nukkit.entity.Entity; import cn.nukkit.event.Event; import cn.nukkit.event.EventHandler; +import cn.nukkit.event.EventPriority; import cn.nukkit.event.Listener; import cn.nukkit.event.block.BlockBreakEvent; import cn.nukkit.event.block.BlockPlaceEvent; @@ -28,7 +29,7 @@ public class EventListener implements Listener { CallbackHelper.apply(event, apply); } - @EventHandler + @EventHandler(priority = EventPriority.LOWEST) public void use(PlayerInteractEvent event) { Vector3 pos = event.getTouchVector(); Block block = event.getBlock(); @@ -44,19 +45,19 @@ public class EventListener implements Listener { } - @EventHandler + @EventHandler(priority = EventPriority.LOWEST) public void breakBlock(BlockBreakEvent event){ Block block = event.getBlock(); preventedCallback(event, () -> NativeCallback.onBlockDestroyed((int) block.x, (int) block.y, (int) block.z, event.getFace().getIndex(), event.getPlayer().getId())); } - @EventHandler + @EventHandler(priority = EventPriority.LOWEST) public void playerEat(PlayerEatFoodEvent event){ Food food = event.getFood(); preventedCallback(event, () -> NativeCallback.onPlayerEat(food.getRestoreFood(), food.getRestoreSaturation(), event.getPlayer().getId())); } - @EventHandler + @EventHandler(priority = EventPriority.LOWEST) public void placeBlock(BlockPlaceEvent event){ Block block = event.getBlock(); preventedCallback(event, () -> NativeCallback.onBlockBuild((int) block.x, (int) block.y, (int) block.z, 0, event.getPlayer().getId())); diff --git a/src/main/java/com/reider745/world/BlockSourceMethods.java b/src/main/java/com/reider745/world/BlockSourceMethods.java index a5f7851c..c5ce1008 100644 --- a/src/main/java/com/reider745/world/BlockSourceMethods.java +++ b/src/main/java/com/reider745/world/BlockSourceMethods.java @@ -33,9 +33,21 @@ public class BlockSourceMethods { level.updateComparatorOutputLevel(target); } } + public static Level getLevelForDimension(int dimension){ - if(dimension >= 0 && dimension <= 2) - dimension++; + if(dimension >= 0 && dimension <= 2){ + switch (dimension) { + case 0 -> { + return InnerCoreServer.server.getLevelByName("world"); + } + case 1 -> { + return InnerCoreServer.server.getLevelByName("nether"); + } + case 2 -> { + return InnerCoreServer.server.getLevelByName("the_end"); + } + } + } return InnerCoreServer.server.getLevel(dimension); } diff --git a/src/main/java/com/zhekasmirnov/innercore/api/NativeCallback.java b/src/main/java/com/zhekasmirnov/innercore/api/NativeCallback.java index d6e25cd1..d1b3d628 100644 --- a/src/main/java/com/zhekasmirnov/innercore/api/NativeCallback.java +++ b/src/main/java/com/zhekasmirnov/innercore/api/NativeCallback.java @@ -593,10 +593,9 @@ public class NativeCallback { } // if block was already destroyed, prevent default action - /*System.out.println(blockSource.getBlockId(x, y, z)); if (blockSource.getBlockId(x, y, z) == 0) { NativeAPI.preventDefault(); - }*/ + } // guard end isDestroyBlockCallbackInProgress = false;