生物骑乘控制

生物骑乘控制

控制哪种生物可以骑乘哪种载具

游戏机制

生物骑乘控制

一个服务端的 Fabric 模组,适用于 Minecraft 1.20.1,通过可配置的黑名单和白名单来控制哪些实体可以骑乘载具(船、矿车等)。

功能特性

  • 实体黑名单/白名单模式:使用黑名单或白名单方式来控制哪些实体可以骑乘载具
  • 载具黑名单/白名单模式:使用黑名单或白名单方式来控制哪些载具类型受此模组影响
  • 双层控制:先按类型筛选载具,再检查这些载具的实体权限
  • 玩家例外:可设置始终允许玩家骑乘载具,不受其他设置影响
  • 日志记录:可选记录骑乘尝试,用于调试
  • 运行时配置:基于 JSON 的配置文件,可在服务器运行时编辑

安装

  1. 从发布页面下载最新版本
  2. 将 .jar 文件放入服务器的 mods 文件夹
  3. 启动服务器 —— 模组将创建一个默认配置文件
  4. 如有需要,编辑配置文件并重启服务器

配置

模组会在 config/mobmountingcontrol.json 创建配置文件,包含以下选项:

{
  "enableMod": true,
  "defaultAllowMounting": true,
  "playersAlwaysAllowed": true,
  "entityBlacklist": [
    "minecraft:zombie",
    "minecraft:skeleton",
    "minecraft:creeper",
    "minecraft:spider"
  ],
  "entityWhitelist": [
    "minecraft:villager",
    "minecraft:horse",
    "minecraft:donkey",
    "minecraft:mule"
  ],
  "defaultAllowVehicles": true,
  "vehicleBlacklist": [
    "minecraft:tnt_minecart"
  ],
  "vehicleWhitelist": [
    "minecraft:boat",
    "minecraft:chest_boat",
    "minecraft:minecart",
    "minecraft:chest_minecart",
    "minecraft:furnace_minecart",
    "minecraft:hopper_minecart"
  ],
  "logMountingAttempts": false
}

配置选项

  • enableMod:完全启用/禁用此模组
  • defaultAllowMounting:
    • true = 实体黑名单模式(允许除黑名单外的所有实体)
    • false = 实体白名单模式(拒绝除白名单外的所有实体)
  • playersAlwaysAllowed:若为 true,玩家始终可以骑乘载具,不受其他设置影响
  • entityBlacklist:不能骑乘载具的实体类型列表(黑名单模式下)
  • entityWhitelist:可以骑乘载具的实体类型列表(白名单模式下)
  • defaultAllowVehicles:
    • true = 载具黑名单模式(控制除黑名单外的所有载具)
    • false = 载具白名单模式(仅控制白名单中的载具)
  • vehicleBlacklist:排除在控制之外的载具类型列表(黑名单模式下)
  • vehicleWhitelist:需要控制的载具类型列表(白名单模式下)
  • logMountingAttempts:启用记录骑乘尝试,用于调试

双层系统的工作原理

  1. 载具筛选:首先,模组根据 defaultAllowVehicles 和载具列表检查该载具类型是否应受控制
  2. 实体权限:若载具受控制,则根据 defaultAllowMounting 和实体列表检查该实体是否有权骑乘
  3. 玩家覆盖:若 playersAlwaysAllowed 为 true,玩家将绕过实体权限检查

使用示例

仅阻止敌对生物骑乘船

{
  "defaultAllowMounting": true,
  "entityBlacklist": [
    "minecraft:zombie",
    "minecraft:skeleton", 
    "minecraft:creeper",
    "minecraft:spider"
  ],
  "defaultAllowVehicles": false,
  "vehicleWhitelist": [
    "minecraft:boat",
    "minecraft:chest_boat"
  ]
}

仅允许特定生物骑乘任何载具(TNT 矿车除外)

{
  "defaultAllowMounting": false,
  "entityWhitelist": [
    "minecraft:villager",
    "minecraft:horse",
    "minecraft:cat"
  ],
  "defaultAllowVehicles": true,
  "vehicleBlacklist": [
    "minecraft:tnt_minecart"
  ]
}

控制所有载具但仅阻止僵尸骑乘任何载具

{
  "defaultAllowMounting": true,
  "entityBlacklist": [
    "minecraft:zombie"
  ],
  "defaultAllowVehicles": true,
  "vehicleBlacklist": []
}

从源码构建

  1. 克隆此仓库
  2. 运行 ./gradlew build
  3. 构建好的模组位于 build/libs/

运行要求

  • Minecraft 1.20.1
  • Fabric Loader 0.14.21 或更高版本
  • Fabric API

许可证

本项目采用 MIT 许可证 —— 详见 LICENSE 文件。

支持

如果遇到任何问题或有功能请求,请在 GitHub 仓库中提交 issue。