Game Phase 为 MC 引入了阶段系统。
你可以使用 KubeJS 定义某些物品和维度属于某个阶段,当玩家获取这个阶段时才能访问它们。
Game Phase 的理念来源于 Game Stages 及其附属。GP 更加适应高版本,解决了 GS 及其附属中的一些 BUG。
命令
显示玩家已拥有的阶段。默认为自身。
/gamephase info [玩家]
使玩家拥有这个阶段。
/gamephase add <玩家> <阶段>
使玩家失去这个阶段。
/gamephase remove <玩家> <阶段>
使玩家失去所有阶段。
/gamephase clear <玩家>
KubeJS 玩家
// 使玩家拥有阶段
void addPhase(ServerPlayer player, String phase);
// 使玩家失去阶段
void removePhase(ServerPlayer player, String phase);
// 使玩家失去所有阶段
void clearPhase(ServerPlayer player);
// 测试玩家是否拥有某阶段
boolean hasPhase(ServerPlayer player, String phase);
KubeJS 物品
// 为物品设置阶段限制
void addItemRestriction(String phase, ItemStack ...item);
// 为模组内的所有物品设置阶段限制
void addItemModRestriction(String phase, String ...mod);
// 为物品取消阶段限制
void removeItemRestriction(String phase, ItemStack ...item);
// 为模组内的所有物品取消阶段限制
void removeItemModRestriction(String phase, String ...mod);
KubeJS 维度
// 为维度设置阶段限制
void addDimensionRestriction(String phase, ResourceLocation ...dimension);
// 为维度取消阶段限制
void removeDimensionRestriction(String phase, ResourceLocation ...dimension);
KubeJS 脚本示例
// 在startup_scripts中
StartupEvents.postInit(e => {
GamePhase.addItemRestriction("wool", "minecraft:white_wool");
GamePhase.addItemModRestriction("ae", "ae2");
GamePhase.addDimensionRestriction("end", "minecraft:the_end");
});