DeerFoliaPlus · 功能与客户端协议
使用 DeerFoliaPlus 功能、客户端协议、运行数据和自定义配方。
功能总览
| 功能 | 默认状态 | 需要什么 | 主要风险 |
|---|---|---|---|
| FakePlayer | 关闭 | 服务端开关、权限和假人数据备份 | 假人会消耗实体、区块和网络资源 |
| 基岩版风格要塞 | 关闭 | 新世界或经过测试的世界 | 改变要塞生成分布 |
| Syncmatica | 关闭 | Syncmatica/Litematica 客户端 | 文件空间、上传和隐私管理 |
| Servux | 关闭 | MiniHUD/Litematica 客户端 | 暴露实体或方块实体数据 |
| Recipe Sync | 开启 | Fabric/NeoForge 客户端支持 | ViaVersion 协议兼容性 |
| Custom Recipe | 关闭 | config/custom-recipes.yml | 配方覆盖和经济平衡 |
| Posture | 关闭 | 权限和姿态设置 | 玩家位置锁定、椅子识别时序 |
| 快捷命令 | 命令级默认 | 权限节点 | 管理能力被普通玩家使用 |
FakePlayer
假人是服务端实体,不需要真实客户端连接。你可以创建假人、执行动作、查看物品栏,然后移除或保存假人。resident-bot 决定假人重启后是否恢复。
假人创建需要名称和可选皮肤名:
/bot create <name>
/bot create <name> <skin_name>
/bot list
/bot tphere <name>
/bot tp <name> <player>
/bot inventory <name>
/bot equipment <name>
/bot backpack <name>
/bot save <name>
/bot load <name>
/bot remove <name>
动作系统使用 bot action 子命令。使用命令补全获取动作名称和参数:
/bot action <name> list
/bot action <name> stop <index>
/bot action <name> stop all
/bot action <name> <action_name> <arguments>
不要用假人替代性能测试。先观察实体数量、区域线程负载、内存和网络,再调整 amount-per-player、always-send-data 或动作频率。
基岩版风格要塞
开启后,要塞使用随机、无限分布模型。spacing 表示平均区块距离。separation 表示最小区块距离。请在新世界或测试副本中使用。不要在没有测试的已有世界中直接开启。
Syncmatica 与 Servux
Syncmatica 允许服务端和客户端共享 Litematica 投影,并支持上传、下载和修改。服务器会在根目录保存投影文件和临时上传文件。需要限制空间或上传行为时,开启 use-quota 并设置 quota-limit。
Servux 分为结构协议和实体协议:
structure-protocol用于 MiniHUD 的结构边界框叠加;entity-protocol用于查看实体和方块实体 NBT。
只向可信玩家开放这些协议。没有访问控制时,不要在公共服务器开启 entity-protocol。遇到协议兼容问题时,一次关闭一个开关。
Recipe Sync
Recipe Sync 向客户端发送服务器配方,方便 JEI 等模组显示完整配方。服务器不负责安装 Fabric、NeoForge、JEI 或其他客户端模组。Fabric 玩家通过 ViaVersion/ViaBackwards 使用非原生协议时,除非测试证明有问题,否则保持 skip-fabric-on-via-non-native 开启。
自定义配方
自定义配方写在 config/custom-recipes.yml,顶层使用 recipes。支持以下七种 type:
shaped:使用pattern和字符ingredients;shapeless:使用ingredients列表或序号对象;smelting、blasting、smoking、campfire_cooking:使用ingredient、result、experience、cooking-time;stonecutting:使用ingredient和result。
一个带结果名称和自定义标识的有序配方示例:
recipes:
example_tool:
type: shaped
pattern:
- "S"
- "I"
ingredients:
S: minecraft:stick
I:
item: minecraft:iron_ingot
custom-id: example_iron
result:
item: minecraft:iron_sword
amount: 1
name: "&bExample Tool"
custom-id: example_tool
enchantments:
minecraft:unbreaking: 1
nbt:
ExampleTag: enabled
结果支持 item、amount、name、custom-id、enchantments 和简单 NBT 值。输入带有 custom-id 时,可以区分同一种 Minecraft 物品中的自定义物品。未填写时按普通物品匹配。物品 ID 必须存在于服务端注册表。
自定义配方排错
配方解析失败时,核心会在日志中指出缺少字段、未知物品、错误类型或无效 pattern。修改后重启。确认日志中的注册数量。再在工作台、熔炉或切石机中测试。
姿态系统
开启 posture.enabled 后,玩家可以坐下、躺下、爬行和起身。chair-interaction 允许空手右键楼梯或下半砖。开启 require-side-signs 时,一排座位的两端必须有告示牌。生产环境启用前,请在测试服确认插件和交互事件兼容。