9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-19 15:09:15 +00:00

fix(bukkit): 修复方块破坏进度同步问题及快速兼容client-mod-1.21.5

This commit is contained in:
jhqwqmc
2025-03-26 07:57:34 +08:00
parent a762368bb0
commit cae5103bb1
2 changed files with 4 additions and 2 deletions

View File

@@ -8,6 +8,7 @@ import net.momirealms.craftengine.bukkit.plugin.BukkitCraftEngine;
import net.momirealms.craftengine.bukkit.util.*;
import net.momirealms.craftengine.bukkit.world.BukkitWorld;
import net.momirealms.craftengine.core.block.ImmutableBlockState;
import net.momirealms.craftengine.core.block.PackedBlockState;
import net.momirealms.craftengine.core.entity.player.InteractionHand;
import net.momirealms.craftengine.core.entity.player.Player;
import net.momirealms.craftengine.core.item.Item;
@@ -310,7 +311,8 @@ public class BukkitServerPlayer extends Player {
if (custom && getDestroyProgress(state, pos) >= 1f) {
assert immutableBlockState != null;
// not an instant break on client side
if (getDestroyProgress(immutableBlockState.vanillaBlockState().handle(), pos) < 1f) {
PackedBlockState vanillaBlockState = immutableBlockState.vanillaBlockState();
if (vanillaBlockState != null && getDestroyProgress(vanillaBlockState.handle(), pos) < 1f) {
try {
Object levelEventPacket = Reflections.constructor$ClientboundLevelEventPacket.newInstance(2001, LocationUtils.toBlockPos(pos), BlockStateUtils.blockStateToId(this.destroyedState), false);
sendPacket(levelEventPacket, false);

View File

@@ -27,7 +27,7 @@
"depends": {
"fabricloader": ">=${loader_version}",
"fabric": "*",
"minecraft": "${minecraft_version}",
"minecraft": ">=${minecraft_version}",
"modmenu": ">=${modmenu_version}",
"cloth-config": ">=${cloth_version}"
}