
更好的附魔存储
一个用于存储和提取附魔的Fabric Minecraft模组。
查看大图附魔存储
概述
附魔存储 模组为 Minecraft 新增了一个方块——附魔提取器。附魔提取器的目的是为所有收集到的附魔提供一个集中存储的地方。此模组诞生于因无法堆叠的附魔物品塞满背包、箱子和潜影盒而产生的挫败感。因此,与其浪费宝贵的存储空间,花太多时间整理附魔物品,现在你可以移除附魔并在其他地方使用它们。当然,这种好处不是免费的。每次存储或提取附魔的操作,每级附魔会消耗 1 级经验。但是,这个消耗可以通过消耗青金石来减少,甚至消除。聪明工作,而非埋头苦干。节省空间、时间和理智。
玩家使用
安装
- 下载 附魔存储 的
.jar文件。 - 将
enchantment_storage-x.y.z.jar文件放入你的 Minecraftmods/文件夹。 - 使用与此模组相同的 Minecraft 版本(
1.21.10)。 - 确保已安装 Fabric Loader 和 Fabric API。
合成配方
有两种有效的有型配方可以合成附魔提取器,需要以下材料:
- 黑曜石 x4
- 青金石 x2
- 末影之眼 x1
- 龙息或末地水晶 x2
GUI 基础
槽位布局
- 顶部槽只能放置青金石。
- 底部槽只能放置书、附魔书或附魔物品。
- 右侧槽仅用于输出。
操作按钮
存储:将附魔从底部输入槽拉取到内部存储。提取:将选定的附魔应用到书或附魔书上。
注意:你不能直接将附魔提取到物品或工具上,只能提取到书或附魔书上。
存储和提取流程
- 将青金石放入顶部槽。
- 将附魔物品或附魔书放入输入槽,然后点击
存储。 - 从列表中选择一个存储的附魔等级。
- 将书或附魔书放入底部输入槽,然后点击
提取。 - 从输出槽中取走结果。
经验与青金石消耗
存储经验消耗 = 输入物品、书或附魔书上所有附魔等级的总和。提取经验消耗 = 选定的附魔等级(经验修补消耗 1 级,亡灵杀手 V 消耗 5 级)。- 青金石提供直接折扣:1 级经验。
- 每折扣 1 级消耗 1 个青金石。
兼容性
- 此模组与所有“原版”Minecraft 附魔兼容。
- 此模组也与模组的、非“原版”附魔兼容。
漏斗行为
- 顶部面(
UP)仅用于青金石顶部输入槽。 - 侧面(
N/S/E/W)仅用于物品、书和附魔书的输入槽。 - 底部面(
DOWN)仅用于输出槽的提取。
调试命令
调试命令仅供开发使用,需要权限等级 2。根命令:/es
| 描述 | 命令 |
|---|---|
| 填充内部附魔存储 | /es seed [rows] [quantity] |
| 打印已存储的附魔及其总数 | /es list |
| 清除所有已存储的附魔数据 | /es clear |
| 打印输入/输出/青金石槽位状态 | /es inspect |
设置青金石槽位数量(0..64) |
/es fillLapis [count] |
| 向存储中添加附魔 | /es store [enchantment] [rank] [quantity] |
| 从存储中移除附魔 | /es extract [enchantment] [rank] [quantity] |
开发者笔记
Gradle
使用 .\gradlew <task> 来运行 Gradle 封装器任务。
| 任务 | 描述 |
|---|---|
runClient |
以开发模式启动带有模组的 Minecraft 客户端。 |
build |
编译、测试并构建模组 jar 文件。 |
test |
运行 JUnit 单元测试。 |
runGameTest |
运行 Fabric/Minecraft 游戏测试。 |
runDatagen |
为资源/数据输出运行数据生成。 |
spotlessCheck |
验证由 Spotless 配置的格式和 lint 规则。 |
spotlessApply |
自动应用 Spotless 格式修复。 |
clean |
删除构建目录以进行全新构建。 |
使用
--refresh-dependencies标志强制进行完整的 Gradle 重建。
JVM 参数
- Java 版本要求:
Java 21 - 全局 Gradle JVM 参数位置:
gradle.properties - 其他 Gradle 依赖位置:
build.gradle
Spotless
.\gradlew spotlessApply
.\gradlew spotlessCheck
单元测试
.\gradlew test
游戏测试
.\gradlew runGameTest
附魔注册表
- 由
getEnchantmentRegistry()方法实现。 - 目的是从世界注册管理器中解析附魔注册表。
- 当世界不可用时,该方法返回
null,因此调用方必须处理可为空的结果。
清晰代码指南
- 保持可为空性约定明确且一致。
- 用命名常量替换魔法数字。
- 保持日志结构化且低噪音。
- 将仅限客户端的代码排除在通用/服务端路径之外。
- 保持 NBT 序列化版本感知并经过验证。
- 使用一个清晰的注册/引导路径。
- 在热 UI/渲染循环中避免可避免的分配。
- 按领域保持工具类功能集中。
- 将确定性逻辑移入纯的、可测试的辅助工具中。
- 使用一致的命名和动词约定。
- 在 API/映射发生变化的地方添加兼容性守卫。
- 在自动化中强制执行格式化和静态检查。
源代码区域
| 区域 | 范围 |
|---|---|
Constants (常量) |
类共享的静态/最终值。 |
Class Variables (类变量) |
表示类状态的实例字段。 |
Constructors (构造器) |
对象构造和初始化连接。 |
Registration and Initialization (注册与初始化) |
启动注册和一次性引导流程。 |
Getters and Setters (获取器与设置器) |
用于受控状态访问的访问器/修改器。 |
UI (用户界面) |
面向 UI 的行为、布局/状态辅助工具和交互。 |
Overrides (重写) |
超类/接口契约的实现。 |
Public (公有) |
供外部调用者使用的公共 API 方法。 |
Protected (受保护) |
供子类/包使用的扩展点。 |
Private (私有) |
对外部调用者隐藏的内部实现细节。 |
Helpers (辅助工具) |
支持核心逻辑的可重用内部实用方法。 |
Validation (校验) |
输入/状态守卫和不变量检查。 |
Serialization (序列化) |
持久化/传输数据的读写逻辑。 |
Debug (调试) |
开发/测试专用的工具和调试实用程序。 |
Logging (日志记录) |
结构化日志辅助工具和相关例程。 |
单元测试区域
| 区域 | 范围 |
|---|---|
Vanilla (原版) |
原版附魔/运行时假设。 |
Modded (模组) |
模组兼容性行为。 |
Smoke (冒烟测试) |
快速通过/失败的冒烟测试。 |
Confidence (信心测试) |
核心逻辑实用程序。 |
Regression (回归测试) |
Bug 修复锁定测试。 |
Stability (稳定性测试) |
顶层行为验证。 |
Integration (集成测试) |
屏幕/方块实体/游戏测试集成。 |
仓库
在 GitHub 上查看源代码。
拉取请求与问题
捐赠
- Venmo:
@Lexxeous - Cash App:
$Lexxeous
许可
查看许可证。
正在加载版本记录…











正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。