CraftDen1al

一个在服务器端运行的插件,允许你拒绝来自客户端的某些合成操作。

资源图片
# 插件简介 这是一款在服务器端运行的轻量级插件,允许你拒绝客户端上的某些合成操作。 # 使用方法 加载带有此插件的世界时,该插件不会主动修改任何内容。你需要创建一个名为 `craftden1al.json` (在 Linux 上区分大小写) 的文件,并在世界根目录中(即与 `level.dat` 相同的目录中)。 `craftden1al.json` 的示例:(“//” 评论方便理解,实际的 JSON 文件不允许注释) ```json { "deny_mode": false, // 默认 'true'; 'true' 为拒绝模式和 'false' 为允许模式; 接受: 'true' | 'false' "patterns": [ [ { "type": "rege_s_simple_datapack:all", // 一个字符串表示条件类型,已在 rege.rege.minecraftmod.craftden1al.util.ConditionRegistry 中注册 "data": [] // 任何元素,取决于类型的要求 }, // 一个对象表示条件匹配,或 'null' 表示无条件匹配; 接受: 一个对象 | 'null' [ "minecraft:string", // 一个字符串(在 MC 1.7+ 中可用)表示物品的位置,或者一个数字表示物品的原始 ID,或者一个对象表示更详细的物品,或者 'null' 表示一个空槽 "minecraft:string", // 与上一行相同 "minecraft:string", // 与上一行相同 "minecraft:string" // 与上一行相同 ], // 一个数组表示形状或非形状配方的原料,或者 'null' 表示原料不重要 { "id": "minecraft:wool", // 一个字符串(在 MC 1.7+ 中可用)表示物品的位置,或者一个数字表示物品的原始 ID "dv": 0, // 一个数字表示物品的 DV(Damage Value) "count": 1 // 一个数字表示结果物品的数量; 在原料定义中无效 }, // 一个字符串(在 MC 1.7+ 中可用)表示物品的位置,或者一个数字表示物品的原始 ID,或者一个对象表示更详细的结果物品,或者 'null' 表示结果物品不重要 2, // 一个整数表示形状配方的宽度,或者 null 表示形状配方的宽度不重要; 如果这两个元素都缺失,则表示是否需要匹配形状配方并不重要 2 // 一个整数表示形状配方的长度,或者 null 表示形状配方的长度不重要; 如果这个元素缺失并且前一个元素存在,则表示需要匹配非形状配方 ] ] // 默认 '[]'; 一个数组表示要匹配的所有配方模式 } ``` 因此,编辑文件并重新启动服务器/重新进入世界后,客户端玩家将只能使用 4 个 [字符串](https://minecraft.wiki/w/String)合成 1 个[白色羊毛](https://minecraft.wiki/w/White_Wool),并且在尝试合成其他配方时,即使结果物品显示在合成界面的右侧,尝试取出物品时会“弹回”,从而拒绝合成某些配方。 # 注意 请参考 Minecraft Wiki 的历史记录以获取配方列表,并且形状合成模式的宽度和长度严格遵循“源代码为准”。 例如,[钻石斧](https://minecraft.wiki/w/Diamond_Axe) 的宽度和长度分别是 2 和 3,而不是 3 和 3;并且必须是 `["minecraft:diamond", "minecraft:diamond", "minecraft:diamond", "minecraft:stick", null, "minecraft:stick"]`,而不是其水平镜像形式 (例如 `["minecraft:diamond", "minecraft:diamond", "minecraft:stick", "minecraft:diamond", "minecraft:stick", null]`)。 如果您无法查看源代码,最好的方法是将两者都写入模式。 # 常见问题解答 Q: 在客户端运行此模组是否有用? A: 在客户端加载此模组对于进入单人游戏世界是有用的。它对进入多人游戏没有效果。它的效果取决于此模组是否在服务器端加载。 Q:似乎 `craftden1al.json` 中定义的模式没有被加载? A:请检查 `craftden1al.json` 的内容是否符合 JSON 语法(特别注意逗号的缺失或多余,符号是否为半角,以及不允许注释)。 如果存在语法错误,游戏日志会显示 `craftden1al.json 语法错误,放弃加载: reason`。 以及确认键名是否拼写正确(例如将 `patterns` 写成 `pattern` 会导致没有模式加载),并且配方列表是否不正确。 Q: 在创造模式下,我可以按数字键将物品从结果物品槽中取出,而不会弹回? A: 这是一个创造模式的功能,在生存/冒险模式下不会发生。 Q: `craftden1al.json` 会因为包含无效物品 ID 等原因而被覆盖吗? A: 不会。此插件只会读取文件,而不会写入文件。