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

修复翻译模组方块

This commit is contained in:
jhqwqmc
2025-10-27 04:50:35 +08:00
parent ff7ce524b0
commit ac01a98142

View File

@@ -1943,6 +1943,10 @@ public class BukkitNetworkManager implements NetworkManager, Listener, PluginMes
this.needsDowngrade = MiscUtils.ceilLog2(BlockStateUtils.vanillaBlockStateCount()) != MiscUtils.ceilLog2(blockRegistrySize); this.needsDowngrade = MiscUtils.ceilLog2(BlockStateUtils.vanillaBlockStateCount()) != MiscUtils.ceilLog2(blockRegistrySize);
} }
public int remapBlockState(int stateId, boolean enableMod) {
return enableMod ? this.modBlockStateMapper[stateId] : this.blockStateMapper[stateId];
}
@Override @Override
public void onPacketSend(NetWorkUser user, ByteBufPacketEvent event) { public void onPacketSend(NetWorkUser user, ByteBufPacketEvent event) {
BukkitServerPlayer player = (BukkitServerPlayer) user; BukkitServerPlayer player = (BukkitServerPlayer) user;
@@ -1989,14 +1993,14 @@ public class BukkitNetworkManager implements NetworkManager, Listener, PluginMes
} }
Palette<Integer> palette = container.data().palette(); Palette<Integer> palette = container.data().palette();
if (palette.canRemap()) { if (palette.canRemap()) {
if (palette.remapAndCheck(s -> this.blockStateMapper[s])) { if (palette.remapAndCheck(s -> remapBlockState(s, user.clientModEnabled()))) {
hasChangedAnyBlock = true; hasChangedAnyBlock = true;
} }
} else { } else {
hasGlobalPalette = true; hasGlobalPalette = true;
for (int j = 0; j < 4096; j++) { for (int j = 0; j < 4096; j++) {
int state = container.get(j); int state = container.get(j);
int newState = this.blockStateMapper[state]; int newState = remapBlockState(state, user.clientModEnabled());
if (newState != state) { if (newState != state) {
container.set(j, newState); container.set(j, newState);
hasChangedAnyBlock = true; hasChangedAnyBlock = true;