From 797d9351715dc58f4fcae1fdbc87f750d1117c52 Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Wed, 26 Mar 2025 22:12:01 +0800 Subject: [PATCH] improve event performance --- .../craftengine/bukkit/block/BlockEventListener.java | 4 ++-- .../net/momirealms/craftengine/mod/CraftEngineBlock.java | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/BlockEventListener.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/BlockEventListener.java index f935288c9..c88b70609 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/BlockEventListener.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/BlockEventListener.java @@ -308,10 +308,10 @@ public class BlockEventListener implements Listener { @EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR) public void onBlockPhysics(BlockPhysicsEvent event) { if (!this.enableNoteBlockCheck) return; - Block block = event.getBlock(); // for vanilla blocks - if (block.getBlockData() instanceof NoteBlock) { + if (event.getChangedType() == Material.NOTE_BLOCK) { try { + Block block = event.getBlock(); World world = block.getWorld(); Location location = block.getLocation(); Block sourceBlock = event.getSourceBlock(); diff --git a/server-mod/src/main/java/net/momirealms/craftengine/mod/CraftEngineBlock.java b/server-mod/src/main/java/net/momirealms/craftengine/mod/CraftEngineBlock.java index 54effc4b0..134ce71e2 100644 --- a/server-mod/src/main/java/net/momirealms/craftengine/mod/CraftEngineBlock.java +++ b/server-mod/src/main/java/net/momirealms/craftengine/mod/CraftEngineBlock.java @@ -10,16 +10,15 @@ import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.ScheduledTickAccess; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.BonemealableBlock; -import net.minecraft.world.level.block.Fallable; +import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import net.momirealms.craftengine.mod.util.NoteBlockUtils; import net.momirealms.craftengine.shared.ObjectHolder; import net.momirealms.craftengine.shared.block.*; +import org.bukkit.craftbukkit.block.data.CraftBlockData; +import org.bukkit.event.block.BlockPhysicsEvent; import org.jetbrains.annotations.NotNull; public class CraftEngineBlock