
NonNonSense
NonNonSense 是一个个人模组,旨在清理我认为《我的世界》中的“无意义”内容。
NonNonSenseMC — 清理 Minecraft 无意义的 Mod (Fabric 1.21.10)
NonNonSenseMC 是一个个人向 Mod,旨在清理我认为 Minecraft 中的“无意义”内容。它引入了两个关键特性:
- 村民检查器:一个轻量级 HUD,用于实时检查村民。
- 无限交易:移除村民的交易限制,允许无限交易。
基础版本:Minecraft 1.21.10 • Fabric Loader 0.17.3 • Fabric API 0.136.0+1.21.10
特性
村民检查器
- 当准星瞄准村民时显示上下文相关的村民 HUD。
- 显示内容:
- 职业(颜色编码)和等级。
- 基于当前 AI 任务的恐慌状态。
- 可繁殖状态。
- “最近检测到铁傀儡”(值与 TTL,通过内部记忆暴露)。
- “最后睡觉”记忆。
- “家”的 BlockPos。
- 高效的客户端-服务器通信:客户端仅在需要时请求信息,并使用节流机制避免向服务器发送过多请求。
无限交易
- 移除村民交易的最大使用次数限制。
- 允许与村民无限交易而无需重置其交易。
- 通过一个修改
TradeOffer的maxUses和uses字段的 mixin 实现。
使用方法
- 安装该 Mod 后启动游戏(如果在 Mod 专用服务器或局域网服务器上,则需要同时安装在客户端和服务器端)。
- 将准星对准村民以查看 HUD。
- 与村民交易,无需担心交易次数限制。
无需按键绑定——特性会自动生效。
工作原理(高层概述)
村民检查器
- 客户端:当您瞄准村民时,它会发送一个 C2S 请求,包含实体 ID,同一目标间隔至少 150 毫秒。
- 服务器:收到请求后,读取村民的大脑(记忆和正在运行的任务),并以 S2C 负载进行响应,客户端将其渲染到 HUD 中。
无限交易
- 一个 mixin 挂钩到
VillagerEntity的fillRecipes方法。 - 通过反射修改
TradeOffer的maxUses和uses字段,将其设置为Integer.MAX_VALUE。
高级网络(村民检查器):
- C2S:
nonsensenmc:villager_info_request— 内容:VAR_INT entityId。 - S2C:
nonsensenmc:villager_info— 内容:BOOLEAN scared、BOOLEAN readyToBreed、STRING home、STRING lastSlept、STRING golemDetected。
架构(整洁架构)
- 领域层
VillagerInfo(不可变记录/DTO):原始村民数据,不含 UI 格式化。
- 应用层
VillagerInfoService:用例,从VillagerEntity构建VillagerInfo(读取任务/记忆)。无网络/UI 依赖。
- 基础设施层(服务器端)
ServerNetworking:注册编码器和 C2S 处理器;使用服务并回复 S2C 数据包。
- 客户端层
NonNonSenseMCClient:注册编码器和 S2C 接收器。ClientVillagerHudState:HUD 状态和请求节流。HudRenderingEntrypoint:渲染叠加层,从状态和指向的VillagerEntity读取数据。
- Mixin 层
VillagerEntityMixin:挂钩村民的fillRecipes以启用无限交易。
要求
- Minecraft:
1.21.10 - Fabric Loader:
0.17.3 - Fabric API:
0.136.0+1.21.10
安装(玩家)
- 安装与
1.21.10兼容的 Fabric Loader。 - 将此 Mod 的 JAR 文件放入实例的
mods/文件夹。 - 同时将兼容的 Fabric API JAR 放入
mods/文件夹。 - 启动游戏。
对于多人游戏/服务器:如果您希望所有人都能看到服务器支持的 HUD 数据并享受无限交易,也需要在服务器端安装该 Mod 和 Fabric API。
构建产物位于 build/libs/ 目录下。
配置
- 请求节流:目前设置为同一目标村民每 150 毫秒一次(
ClientVillagerHudState.beginRequestIfAllowed)。您可以在代码中调整此值。 - 日志:服务会输出
debug级别的日志行,包含原始记忆内容。
注意事项与限制
- 此映射版本中使用的某些 AI/大脑 API 来自已弃用的方法;保留它们是为了与当前构建版本兼容。
- 修改交易提供的 mixin 是实验性的,可能会影响村民的交易行为或游戏平衡。
故障排除
- HUD 不显示:
- 确保您确实瞄准了村民。
- 确认已安装 Fabric API,并且客户端和服务器端的 Mod 版本匹配。
- 负载/类型不匹配:
- 确保客户端和服务器都注册了编码器(此 Mod 在其入口点中执行此操作),并且两端的 Mod 版本匹配。
- 性能:
- 节流机制限制了请求次数;如果您自定义间隔时间,请避免使用极低的值,以防止网络请求过频。
贡献
欢迎提交 PR,用于:迁移到未弃用的 Brain API、添加配置选项等。
许可证
请参阅附带的 LICENSE.txt 文件。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。