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

添加物品名称和描述的预解析

This commit is contained in:
XiaoMoMi
2025-08-17 17:51:57 +08:00
parent e7ca6a8a3c
commit 90d67b09aa
17 changed files with 271 additions and 24 deletions

View File

@@ -47,7 +47,6 @@ import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.Registry;
import org.bukkit.block.BlockType;
import org.bukkit.block.data.BlockData;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;
@@ -80,9 +79,6 @@ public final class BukkitBlockManager extends AbstractBlockManager {
private Map<Integer, Object> stateId2BlockHolder;
// This map is used to change the block states that are not necessarily needed into a certain block state
private Map<Integer, Integer> blockAppearanceMapper;
// Used to automatically arrange block states for strings such as minecraft:note_block:0
private Map<Key, List<Integer>> blockAppearanceArranger;
private Map<Key, List<Integer>> realBlockArranger;
// Record the amount of real blocks by block type
private Map<Key, Integer> registeredRealBlockSlots;
// A set of blocks that sounds have been removed
@@ -125,6 +121,11 @@ public final class BukkitBlockManager extends AbstractBlockManager {
this.resetPacketConsumers();
}
@Override
public String stateRegistryIdToStateSNBT(int id) {
return BlockStateUtils.idToBlockState(id).toString();
}
public static BukkitBlockManager instance() {
return instance;
}

View File

@@ -177,7 +177,6 @@ public final class WorldStorageInjector {
return section;
}
public static class SetBlockStateInterceptor {
public static final SetBlockStateInterceptor INSTANCE = new SetBlockStateInterceptor();
@@ -215,7 +214,7 @@ public final class WorldStorageInjector {
}
}
protected static void compareAndUpdateBlockState(int x, int y, int z, Object newState, Object previousState, InjectedHolder holder) {
private static void compareAndUpdateBlockState(int x, int y, int z, Object newState, Object previousState, InjectedHolder holder) {
try {
Optional<ImmutableBlockState> optionalCustomState = BlockStateUtils.getOptionalCustomBlockState(newState);
CESection section = holder.ceSection();

View File

@@ -188,6 +188,7 @@ public class BukkitServerPlayer extends Player {
};
}
@SuppressWarnings("UnstableApiUsage")
@Override
public void setGameMode(GameMode gameMode) {
platformPlayer().setGameMode(Objects.requireNonNull(org.bukkit.GameMode.getByValue(gameMode.id())));