Upgradable Crystal Tools

Upgradable Crystal Tools

通过升级来提升工具

水晶工具

这个模组为 Minecraft 添加了一类名为水晶工具的新工具。它们被设计为一种后下界合金时代的工具,并且会随着你的使用而不断增强。

你可以从 Curse Forge、Modrinth 或 GitHub Releases 下载此模组。

如果发现任何 Bug,请在 Issues 标签页或评论区报告。 你也可以在那里提出功能建议或进行提问。

方块

  • 水晶矿石
  • 深板岩水晶矿石
  • 水晶块
  • 水晶火把
    • 功能与原版火把相同,只是纹理不同
    • 可以通过某些工具上的升级来放置
  • 水晶熔炉
  • 水晶发电机
  • 水晶采石场
  • 水晶基座

世界生成

矿石

深板岩水晶矿石生成于 Y 坐标 -44 以下,矿脉大小为 5。 这种矿石生成非常稀有,目前每个区块大约只有一个矿脉。

水晶晶簇

下界会生成一种新型的水晶晶簇!在里面你可以找到水晶晶簇、下界合金强化水晶晶簇,以及稀有的远古残骸。

水晶晶簇

下界合金强化水晶晶簇会掉落下界合金强化水晶碎片,用于合成水晶升级锻造模板。 该模板用于将下界合金装备升级为水晶装备。

工具

工具通过使用来获得经验。你可以通过查看工具提示来了解升级到下一级所需的经验值。默认按下k键可以打开技能树。技能点可以用来学习新技能或完全修复你的工具。

以下工具/装备部件已实现:

  • 水晶镐
  • 水晶斧
  • 水晶锹
  • 水晶锄
  • 水晶剑
  • 水晶全能工具(AIOT)
  • 水晶弓
  • 水晶头盔
  • 水晶胸甲
  • 水晶护腿
  • 水晶靴子
  • 水晶鞘翅
  • 水晶火箭
  • 水晶苹果
  • 水晶背包
  • 水晶三叉戟
  • 水晶钓鱼竿
  • 水晶盾牌
  • 水晶磁铁

其他物品

  • 水晶背包

升级

大多数工具会有一些通用的升级,同时每种工具也会有独特的升级。以下是当前所有已实现升级的列表。

所有工具

  • 耐久度
  • 自动修复

挖掘工具(镐、斧、锹、锄)

  • 挖掘速度
  • 精准采集
  • 时运
  • 自动熔炼
  • 3x3 挖掘
  • 自动拾取
  • 模式切换
    • 允许你在工具上同时升级时运和精准采集,并在两者之间切换。(默认m键)

镐

  • 矿脉挖掘
    • 当你按住矿脉挖掘键时,将会挖掘整个矿脉。
    • 对挖出的每个方块都应用精准采集、时运和自动熔炼效果。
    • 可以加点以增加挖掘的方块数量。
  • 火把放置
    • 右键点击方块时会放置一个火把,消耗 10 点耐久。

斧

  • 伐木
    • 如果你按住矿脉挖掘键,将会砍伐或剥离多个方块。你可以通过加点来增加方块数量。
  • 树叶采集
    • 使斧头能够高效地采集树叶。

剑

  • 攻击伤害
  • 攻击速度
  • 火焰附加
  • 击退
  • 击退抗性
    • 手持剑时受到的击退减少
  • 生命窃取
    • 每次击中敌人时你会恢复生命
  • 抢夺
  • 捕获
    • 你击杀的生物有几率掉落其刷怪蛋
  • 斩首
    • 你击杀的生物有几率掉落其头颅

三叉戟

  • 攻击伤害
  • 投射物伤害
  • 投射物速度
  • 激流等级
  • 忠诚等级
  • 引雷(加点以增加闪电伤害)
  • 在忠诚和激流之间切换
  • 允许在非雨天使用激流
  • 即时忠诚(投掷物命中目标后无需返回,会立即出现在你的物品栏中)

弓

  • 箭矢伤害
  • 箭矢速度
  • 拉弓速度
  • 火焰
  • 无限
  • 箭矢击退
  • 药水箭
    • 中毒
    • 虚弱
    • 缓慢
    • 凋零
  • 自动瞄准实体

钓鱼竿

  • 鱼饵
  • 海之眷顾
  • 双倍战利品几率(默认每级 20%)

盾牌

  • 盾牌猛击
    • 增加攻击伤害
  • 荆棘
    • 对击中你盾牌的生物造成伤害
  • 火焰盾牌
    • 攻击盾牌的生物会着火
  • 缓慢生物
    • 攻击盾牌的生物会被减速
  • 图腾槽
    • 增加一个不死图腾插槽。将盾牌与不死图腾一起合成即可嵌入。
  • 盾牌击退
    • 攻击盾牌的生物会被击退
  • 剧毒生物
    • 攻击盾牌的生物会中毒
  • 凋零生物
    • 攻击盾牌的生物会凋零
  • 瞄准生物
    • 被反射的弹射物将自动瞄准生物(在原版中主要是箭矢)
  • 减少冷却
    • 减少盾牌被禁用时的冷却时间(如果此升级加满,盾牌将无法被禁用)

磁铁

  • 物品速度
    • 增加物品被吸引的速度
  • 范围
  • 吸引经验
    • 允许磁铁吸引经验球
  • 吸引生物
    • 允许磁铁吸引生物
    • 可通过 潜行 + 模式切换键 关闭
  • 过滤
    • 增加白名单和黑名单功能,以控制拾取哪些物品
  • 即时拾取
    • 物品不会飞向你,而是立即被拾取

所有装备

  • 保护
  • 火焰保护
  • 爆炸保护
  • 弹射物保护
  • 荆棘
  • 护甲值加成
  • 韧性加成

头盔

  • 水下速掘
  • 水下呼吸
  • 夜视

胸甲

  • 生命值加成

护腿

  • 速度加成

靴子

  • 摔落缓冲
  • 深海探索者
  • 灵魂疾行
  • 冰霜行者
  • 免疫摔落伤害

鞘翅

  • 创造飞行

火箭

  • 飞行时长

苹果

  • 营养值
  • 饱和度
  • 食用速度
  • 永远可食用
  • 效果
    • 食用后获得正面效果
    • 可能的效果:
    • 速度
    • 急迫
    • 力量
    • 跳跃提升
    • 生命恢复
    • 抗性提升
    • 防火
    • 水下呼吸
    • 隐身
    • 夜视
    • 伤害吸收
    • 饱和
    • 缓降

熔炉

  • 熔炼速度
    • 减少熔炼物品所需时间
  • 燃料效率
    • 增加燃料燃烧时间
  • 经验加成
    • 增加从熔炼物品中获得的经验值
  • 槽位
    • 增加一个额外的输入槽和一个额外的输出槽
  • 燃料槽
    • 增加一个额外的燃料槽
  • 自动分配
    • 自动将输入物品分配到各个输入槽
  • 自动输出
    • 自动将输出物品弹出至连接的容器

发电机

  • FE 发电量
    • 增加每 tick 产生的 FE 量
  • 燃料效率
    • 增加燃料燃烧时间
  • FE 容量
    • 增加 FE 存储上限
  • 红石控制
    • 允许使用红石信号关闭发电机
  • 金属发电机
    • 允许发电机燃烧金属产生 FE
    • 目前支持所有原版金属和任何带有锭标签的物品
    • 如果你想要特定的模组兼容性,请留言或提出 Issue,我可以添加
    • 参见数据映射了解如何添加自定义条目
  • 食物发电机
    • 允许发电机燃烧食物产生 FE
  • 宝石发电机
    • 允许发电机燃烧宝石产生 FE
    • 目前支持所有原版宝石和任何带有宝石标签的物品
    • 如果你想要特定的模组兼容性,请留言或提出 Issue,我可以添加
    • 参见数据映射了解如何添加自定义条目
  • 节省燃料
    • 当没有空间输出 FE 时不浪费燃料

采石场

  • 挖掘速度
  • 红石控制
    • 允许使用红石信号禁用采石场
  • 垃圾过滤
    • 允许你将特定物品作废
  • 自动输出
    • 将物品输出到相邻的容器
  • 精准采集
  • 时运
  • 区块加载
    • 即使你不在附近,也能保持采石场所在区块保持加载

背包

  • 容量
    • 增加 9 个物品槽位
  • 自动拾取
    • 你拾取的物品如果符合过滤器条件,将自动放入背包
    • 可以通过模式切换键关闭
  • 过滤槽
    • 每级增加 5 个过滤槽,用于决定背包拾取哪些物品
    • 有一个按钮可以在白名单和黑名单之间切换
  • 整理
    • 增加一个按钮,可以自动整理背包内容
    • 默认按物品数量排序。可以在配置中改为数量、名称、模组或ID
  • 存入容器
    • 潜行右键点击箱子或其他容器时,将尝试把背包中的所有物品存入该容器

合成配方

工具

镐

镐合成

斧

斧合成

锹

锹合成

锄

锄合成

剑

剑合成

三叉戟

三叉戟合成

钓鱼竿

钓鱼竿合成

全能工具(AIOT)

  • 会给予你等于用于合成它的工具上所有技能点(已花费或未花费)总和作为技能点

全能工具合成

盾牌

盾牌合成

磁铁

磁铁合成

装备

头盔

头盔合成

胸甲

胸甲合成

护腿

护腿合成

靴子

靴子合成

鞘翅

  • 会基于合成时使用的胸甲上的技能点(已花费或未花费)以及鞘翅上每级附魔等级,给予水晶鞘翅对应的技能点

鞘翅合成

火箭

火箭合成

苹果

苹果合成

方块

熔炉

水晶熔炉合成

发电机

  • 会转移用于合成它的熔炉上的所有技能点

水晶发电机合成

采石场

  • 会转移用于合成它的全能工具上的部分技能点

水晶采石场合成

基座

水晶基座合成

杂项

下界合金木棍

下界合金木棍合成

水晶块

水晶块合成

水晶

水晶合成

水晶背包

水晶背包合成

配置

以下配置选项可用。默认值在括号中。 你可以在config/crystal_tools.toml或游戏内界面中更改这些值。

通用

经验设置

  • base_experience_cap (75):工具和装备的初始经验需求。范围:1 - 10000。
  • max_exp (1000):升级到下一级所需的最大经验值。范围 1 - 100000。
  • experience_multiplier (1.1):升级到下一级所需最大经验的倍率。范围:1.0 - 100.0。
  • furnace_experience_boost (1):乘以熔炉获得的经验量,计算公式为 获得经验 = 配方经验 * 10 * 熔炉经验加成。范围:0.1 - 1000.0。
  • fishing_rod_exp (10):决定你每次钓到鱼获得多少经验。范围 1 - 1000。
  • experience_leveling_scaling (10):工具达到一定等级后,经验需求开始增加的等级数。设为 0 禁用缩放。范围:0 - 100。
  • experience_per_skill_level (10):决定你需要多少经验等级才能为工具增加一个等级。设为 0 禁用。范围:0 - 100。

工具设置

  • tool_repair_cooldown (50):决定带有自动修复升级的工具在耐久修复之间的冷却时间(以 tick 为单位,每秒 20 tick)。范围:1 - 10000。
  • repair_in_hand (false):如果为 true,工具在你手持时会自动修复。
  • rocket_repair_modifier (10):乘以 TOOL_REPAIR_COOLDOWN 得到火箭自动修复的冷却时间。范围:1 - 10000。
  • apple_repair_modifier (10):乘以 TOOL_REPAIR_COOLDOWN 得到苹果自动修复的冷却时间。范围:1 - 10000。
  • vein_miner_range (4):决定锹、镐和全能工具上矿脉挖掘升级的范围。它将挖掘距离被破坏矿石这个范围内的方块。范围 1 - 100。
  • tree_chopper_range (10):决定斧头上伐木和剥皮升级的范围。它将砍伐距离被破坏原木这个范围内的原木。范围 1 - 100。
  • always_channel (true):如果为 true,引雷水晶三叉戟即使未命中实体也会召唤闪电。

熔炉设置

  • fuel_efficiency_added_ticks (100):每级燃料效率为每个燃料增加的 tick 数。
  • speed_upgrade_subtract_ticks (10):每级熔炼速度从每个配方的持续时间中减去的 tick 数。
  • experience_boost_percentage (0.1):每级经验加成所增加的经验获取百分比。

发电机设置

  • base_fe_generation (40):基础每 tick FE 发电量。范围:1 - 1000000。
  • base_fe_storage (10000):水晶发电机的基础 FE 储存量。范围:1 - 1000000。
  • base_fe_transfer (80):基础每 tick FE 传输速率。范围:1 - 1000000。
  • fe_generation_per_level (10):每级“FE 发电量”升级获得的 FE 发电量。范围:1 - 1000000。
  • fe_storage_per_level (2000):每级“FE 容量”升级获得的 FE 储存量。范围:1 - 1000000。
  • food_burn_time_multiplier (20):食物燃烧时间公式为:(食物营养值 + 食物饱和度) * 食物燃烧时间倍率。范围:0.01 - 10000。
  • skill_points_per_burn_time (0.00625):决定你从燃烧物品中获得多少技能经验。技能经验 = 燃料燃烧时间 * 每燃烧时间技能点。范围:0 - 1。
  • generator_base_experience_cap (50):发电机的初始经验上限。范围 1 - 100000。

背包设置

  • backpack_sort_type (数量):背包使用的整理方式。可以是:数量、名称、模组或ID
  • backpack_base_experience_cap (200):背包的初始经验需求。范围:1 - 10000。
  • max_compression_slot_rows (6):压缩槽的最大行数。这些槽不会滚动,所以不要设置得比你的 GUI 缩放比例能渲染的更大。范围:1 - 20。

采石场设置

  • quarry_base_energy_cost (40):采石场基础 RF/tick 消耗。范围:0 - 100000。
  • quarry_speed_cost_increase (10):每级速度升级为采石场增加的 RF/tick 消耗。范围:0 - 100000。
  • quarry_silk_touch_cost_increase (40):当精准采集激活时为采石场增加的 RF/tick 消耗。范围:0 - 100000。
  • quarry_fortune_cost_increase (40):当时运激活时为采石场增加的 RF/tick 消耗。范围:0 - 100000。
  • quarry_initial_point_multiplier (0.1):采石场在合成时从全能工具获得的技能点百分比。范围:0 - 1。
  • quarry_base_experience_cap (500):采石场的初始经验上限。范围:1 - 100000。
  • quarry_speed_upgrade_multiplier (50):采石场速度升级的倍率。范围:1 - 100000。
  • quarry_max_size (64):采石场的最大尺寸。范围:1 - 256。

磁铁设置

  • magnet_base_range (5):磁铁基础范围(以方块为单位)。范围:0 - 100。

基座设置

  • level_items_in_pedestal (true):如果为 true,物品在基座中使用时会获得经验。

其他设置

  • enable_item_requirements (true):设为 false 可禁用某些升级节点需要物品才能升级的要求。
  • require_crystal_for_reset (true):重置技能点时需要在物品栏中有一个水晶物品。
  • enchant_tools (false):如果为 true,工具可以被附魔。这可能导致奇怪的交互和问题。

客户端

  • upgrade_screen_background ("裂纹深板岩砖"):决定升级界面背景使用的方块纹理。必须是原版方块的资源位置。这里是 Wiki 上的选项列表。
  • background_opacity (1.0):控制技能树界面的背景不透明度。范围:0 - 1.0。
  • disable_block_target_rendering (false):禁用 3x3 挖掘和矿脉挖掘的方块高亮显示。
  • shift_point_spend (10):按住 Shift 时消耗的技能点数。范围:1 - 10000。
  • control_point_spend (100):按住 Control 键时消耗的技能点数。范围:1 - 10000。

服务端

  • creative_flight_points (100):启用创造飞行节点所需投入的技能点数。范围:1 - 1000000。
  • vanilla_skill_trees (无):设置启用的原版技能树。
    • 无 表示不启用任何,
    • 全部 允许所有原版工具
    • 下界合金 仅允许下界合金工具
    • 钻石_下界合金 允许钻石和下界合金工具升级

数据包选项

有几个功能可以通过数据包进行自定义。

标签

  • entity_type/entity_blacklist:带有此标签的实体在被攻击时不会为剑、弓或全能工具提供升级经验。
    • 默认值:[minecraft:armor_stand]
  • block/auto_output_blacklist:水晶熔炉和水晶采石场不会自动输出到带有此标签的方块。
    • 默认值:[minecraft:hopper]

关于标签和数据包的更多信息可以在这里找到。

示例

在数据包中的crystal_tools/tags/entity_type位置添加一个名为entity_blacklist.json的文件,内容如下:

{
  "values": [
    "minecraft:armor_stand"
  ]
}

数据映射

  • generator_gems:控制哪些宝石可以被水晶发电机的宝石发电机升级燃烧。
  • generator_metals:控制哪些金属可以被水晶发电机的金属发电机升级燃烧。
  • mob_heads:控制斩首升级中哪些生物会掉落哪些头颅。
  • pedestal_actions:控制哪些物品在水晶基座中有效果。

关于数据映射的更多信息可以在这里找到。

示例

添加模组宝石

在数据包中的crystal_tools/data_maps/item位置添加一个名为generator_gems.json的文件,内容如下:

{
  "values": {
    "ae2:certus_quartz_crystal": {
      "bonusGeneration": 5,
      "burnTime": 1600
    }
  }
}

其中bonusGeneration是在发电机基础发电量之上增加的量,burnTime是以 tick 为单位的总燃烧时间。

更改现有宝石的值
{
  "values": {
    "replace": true,
    "minecraft:diamond": {
      "bonusGeneration": 1000,
      "burnTime": 16000
    }
  }
}
向基座动作数据映射添加物品

如果你想添加另一个在基座中能像磁铁一样工作的物品,可以像这样添加:

{
  "values": {
    "minecraft:netherite_pickaxe": {
      "type": "magnet",
      "params": {
        "durabilityModifier": 3.0,
        "maxTickCounter": 1,
        "range": 2
      }
    }
  }
}

durabilityModifier 改变使用动作时消耗的耐久度 maxTickCounter 决定动作应该多久执行一次(1 表示每 tick 都会执行) range 决定磁铁的基础范围

定义自定义技能树

添加技能树需要两部分:实际的技能树和将其关联到物品的数据映射。

技能树

技能树在数据包注册表中的 json 文件中定义。 内置示例可以在这里找到:https://github.com/will-y/crystal-tools/tree/1.22/src/generated/resources/data/crystal_tools/crystal_tools/skill_trees

内置数据包为每种水晶工具都定义了一个技能树,以及 一个基础挖掘工具树和一个基础剑树。

要构建自定义技能树,请将自定义 json 文件放置在目录data/<数据包命名空间>/crystal_tools/skill_trees/items中。

技能树数据映射

要实际将技能树与物品关联,你需要在技能树数据映射中有一个条目。 这需要放在文件data/crystal_tools/data_maps/item/skill_trees.json中。

一个技能树对象示例如下:

{
  "values": {
    "minecraft:netherite_pickaxe": {
      "allowRepair": false,
      "allowReset": false,
      "allowXpLevels": false,
      "treeLocation": "crystal_tools:simple_pickaxe"
    }
  }
}

字段:

  • treeLocation (必需):技能树的位置。可以是内置技能树,或数据包中提供的技能树。
  • baseExperienceModifier (默认 0):增加工具的初始基础经验。
  • experienceScaling (默认 1.0):决定工具获得经验的速度。
  • allowRepair (默认 true):允许你花费技能点修复工具。
  • allowReset (默认 true):允许你重置工具上的技能点。
  • allowXpLevels (默认 true):允许你为此工具将经验值转换为技能点。
  • allowMiningXp (默认 true):允许工具通过挖掘方块获得经验。
  • allowDamageXp (默认 true):允许工具通过攻击实体获得经验。
从物品中移除技能树

要移除现有条目,你可以将以下内容添加到你的数据包中:

{
  "remove": [
    "crystal_tools:crystal_pickaxe"
  ]
}