survival-toolbox-neoforge1.21.1-1.2.0.jar
Curse Maven Snippet
What's new
# 生存工具箱 Survival Toolbox 1.2.0 更新日志
- **1.20.1**(Forge 47.x,Java 17):`survival-toolbox-forge1.20.1-1.2.0.jar`
- **1.21.1**(NeoForge 21.1.x,Java 21):`survival-toolbox-neoforge1.21.1-1.2.0.jar`
> 两个版本的玩法内容一致,个别功能按加载器能力略有差异(贴内已标注)。
---
## 一、新增功能
### 1. 次元袋功能页(熔炼 / 铁砧 / 锻造台 / 工作台 / 拆解 / 切石机 / 磁铁 / 补货)
界面右侧按钮条展开的功能面板,**全部在主界面内完成**,不需要离开次元袋。
**功能与操作:**
- **熔炼页**:输入格 + 燃料格 + 产物格,规则与判定全部沿用原版熔炉;可一键切换产物去处(放产物格 / 直接进储物空间);**关闭界面后继续烧**
- **铁砧页**:输入、材料与产物按原版排布,经验花费与产物由原版逻辑计算;带改名框,放上物品会自动填入物品名,输入新名字后点击产物即可取出
- **锻造台页**:模板 / 基础 / 附加三格,附原版的空槽提示图标与鼠标悬浮引导
- **工作台页**:九宫格 + 产物,与拆解台共用同一套配方匹配与收费逻辑;带「自动补充」开关——取走产物后自动把消耗掉的材料从储物空间补回九宫格(只补袋子里真有的)
- **拆解页**:左输入格 + 中九宫格 + 右产物格;支持变体翻页与「全部拆解」批量拆解
- **切石机页**:输入格 + 产物格 + 可滚动的可用配方列表,每次消耗一个输入
- **磁铁页**:自动吸收附近的掉落物(开关 / 范围 / 黑白名单 / 「只吸袋里已存有的」模式)
- **补货页**:把玩家身上已经有的那几堆从次元袋自动补齐(可限定只补快捷栏)
### 2. 次元袋存储与操作
**功能与操作:**
- **流体存储**:流体与物品在**同一页、同一套网格**里混排,数量以 mB 计算且无上限
- 左键:拿起 / 与其他格子交换位置
- 右键:用桶或任意流体容器存取(空手右键装不进去)
- 数字格式与机械动力统一:不足 1000 显示 mB,满 1000 换算成桶(B)
- **共享存储模式**:末影箱式——数据保存在服务器存档里按玩家存储,袋子只是入口;界面左上角可切换模式,本地存储可一键并入共享空间(**合并式,不覆盖**共享里已有的东西)
- **托盘(出货工作台)**:把物品/流体交给容器,或从容器取回;托盘里只有一种流体时,Shift+右键可朝世界放置一格液体
- **快捷收纳**:手持次元袋右键物品;手持物品右键袋子;手持袋子右键物品栏空白处一键收纳背包(不含快捷栏)。**创造模式背包界面同样可用**
- **Shift 语义统一**:Shift+左键**优先放进当前展开的功能页**(含托盘),放不进才回背包;Shift+左键点产物格按材料批量取出
- **长按提起整格**:界面内长按一格高亮后,点击其他位置即可整体交换(解决大堆叠换位麻烦)
- **整理四档**:按注册名 / 同模组归类 / 按数量 / 按标签排序;范围可选「当前页 / 全部页」
- **数量文字**:9999 以内精确显示,更大数值缩写为 千 / 万 / 亿 / 万亿 / 亿亿
- **创造口袋**(新物品):右键打开创造模式物品栏,**生存下也能取用**(作弊级物品)
### 3. 交易机(Trade Machine)
新物品(手机外观):把村民的交易报价记录下来,随时查看并随身成交。
**功能与操作:**
- Shift+右键村民 / 流浪商人 → 记录报价(同一交易项只保留更实惠的那条)
- 右键打开界面:沿用原版村民交易界面,**交易次数无上限**,报价多了可以按产物名称搜索
- 适合把常买的村民报价存下来,出门在外直接成交
### 4. JEI 配方转移集成(需要安装 JEI)
配方界面右上角的「+」号可以直接把材料摆进次元袋。
**功能与操作:**
- **按当前打开的功能页匹配**:打开工作台页就填工作台九宫格,打开拆解页就填拆解九宫格;两个都没开时会提示先打开一个,不会乱摆
- **造型配方按位置摆放**:严格按配方外框对位(不会把 2 宽 3 高的门摆成 3 宽 2 高的活板门)
- **材料不足时「+」不可点**:可转移性由服务端用真实库存判定,袋子里看不到的共享存储也算数
- **材料必须真的从袋子/背包取**:先扣除(并回读确认)再摆放,摆不进去就回滚,不会凭空生成物品
---
## 二、已有功能更新与修复
### 次元袋(Pocket Dimension)
- **修复:铁砧改名**——修好「放上物品不显示名称」与「输入名字后改名产物拿不出来」(后者是界面在点击产物时先清空了改名框、把空名字发给了服务端导致的)
- **修复:右键收纳**——改为回读确认之后再清空来源格子,避免写入未生效时物品凭空消失
- **修复:面板按钮消失**——从 JEI 配方界面返回、或界面重新初始化后,自动补充 / 左右翻页等按钮不再消失
- **修复:合成材料「全有或全无」**——材料校验与消耗口径统一,修掉干消耗与无限产出
- **修复:拆解页 Shift+左键**——只把「一个」放进拆解输入格,不再出现「一个进格子、一个进背包、一个消失」
- **修复:托盘 Shift+左键**——优先收回储物空间,而不是塞进玩家背包
- **修复:磁铁提示**——只提示「吸到了什么」;一件都没吸到不再反复提示
- **修复:死亡处理**——开启「死亡不掉落(keepInventory)」时不再干扰物品栏
- **修复:搜索 / 重命名输入框**——聚焦时按键不再冒泡(按 E 不会关闭界面)
### 数据安全(重要)
- **修复:写袋子数据不再就地修改标签**——此前与服务端每 tick 的网络编码线程争用同一份标签,会造成编码异常并让玩家**掉线**
- **修复:界面开着时不绕过容器缓存写存储**——托盘「纳入」、磁铁等路径不再因为绕过界面缓存而被旧数据覆盖
- **修复:入库回读确认**——写入未真正生效时,物品留在原处(不消耗、不丢弃)
- **修复:1.20.1 本地模式数据丢失**——页数据曾以错误的标签类型写入袋子,导致本地模式下存入的物品重开界面后消失;已修复,并兼容读取历史数据以**恢复既有内容**
### 拆解台(Disassembly Table)
- **修复:配方污染**——拆解产物一律复制后交出,不再修改其它模组配方自身的产物(曾出现「青金石拆出的蓝染料让 Create 配方里那两条消失、重进世界才恢复」)
- **修复:缺中心/激活物品也能产出**——预览与消耗统一使用含中心物品的完整材料清单
- **改进:中心物品口径**——拆解时照常返还,并可在九宫格中逐个取用
- **新增:自定义配方放行**——锻造台、枪匠台(tacz)、无尽贪婪、诡厄巫法一类「能枚举材料」的自定义配方均可拆解
- **修复:切石机槽位错位**——修正槽位注册顺序与 id 常量不一致导致的物品错位
- **修复:页码保持**——重算后停留在原来的配方页,不再跳回第一页
- **稳定与容错**:配方解析与界面处理全程捕获异常,单个配方异常不再导致崩溃
### 自适应附魔(Adaptation)
- **改进:线性叠层**——以未减伤的原始伤害为基准固定获得「伤害 × 比例」层数,本次减伤使用叠层前的层数
- **修复:层数防护**——按配置的最大层数截断,NaN / 无穷 / 负数自动归零
- **新增:屏幕视觉效果屏蔽**——配置项(默认开启)屏蔽失明 / 火焰 / 水雾 / 冰冻 / 传送门等屏幕效果
- **改进:低水分屏幕模糊**——不再「穿上自适应甲就直接抵消」,而是**随适应进度逐步减弱**;攒满适应时间后完全不糊
- **性能优化**:护盾值内存缓存、同步节流、护甲判定负缓存
### 其它
- **嗜血附魔**:可附于弓弩与模组枪械,伤害来源兜底解析弹射物归属
- **透视眼镜**:白名单改为**每副眼镜独立**(存于物品 NBT);打开界面不再多一层背景模糊
- **缴械法杖**:现在连饰品一起卸下(Curios 兼容)
- **镇魂灯 / 铁砧球**:战利品表缺失不再抛出异常导致服务器崩溃
- **命令**:`/adapt` 与 `/bloodthirsty` 新增 `max` 子命令
- **专用服务器**:主类与公共类不再引用客户端类型,专用服务器可正常启动
- **1.21.1 兼容**:修正数量文字注入点导致的启动崩溃
---
## 安装与升级
1. 把对应版本的 jar 放入整合包的 `mods` 目录;
2. **升级前请备份存档**(虽已针对数据安全做多处修复,仍建议保留备份);
3. 旧版本创建的次元袋可直接沿用:旧的单页数据会自动迁移,1.20.1 本地模式曾丢失的数据会在打开袋子时自动恢复。
**注意**:本次两个版本都新增了网络包,**客户端与服务端版本需一致**(联机时请同时更新)。
# Survival Toolbox 1.2.0 Changelog
- **1.20.1** (Forge 47.x, Java 17): `survival-toolbox-forge1.20.1-1.2.0.jar`
- **1.21.1** (NeoForge 21.1.x, Java 21): `survival-toolbox-neoforge1.21.1-1.2.0.jar`
> Both versions offer the same gameplay. A few features differ slightly between loaders (noted inline).
---
## 1. New Features
### 1. Pocket Dimension panels (Smelting / Anvil / Smithing / Crafting / Disassembly / Stonecutter / Magnet / Restock)
Panels opened from the button strip on the right side of the bag UI — **everything happens inside the main screen**, no need to leave the bag.
**Features and usage:**
- **Smelting panel**: input + fuel + output slots with vanilla furnace rules; toggle where the output goes (output slot / straight into storage); **keeps smelting while the screen is closed**
- **Anvil panel**: input, material and result laid out like vanilla, with cost and result computed by the vanilla implementation; includes a rename box that fills in the item's name automatically
- **Smithing panel**: template / base / addition slots, with vanilla-style empty-slot hints and hover guidance
- **Crafting panel**: 3×3 grid + result, sharing the disassembly table's recipe matching and cost rules; includes an **Auto-refill** toggle that puts the consumed ingredients back into the grid from storage (only items the bag actually has)
- **Disassembly panel**: input on the left, material grid in the middle, result on the right; variant paging and "Disassemble all"
- **Stonecutter panel**: input + result + a scrollable list of available recipes, consuming one input per craft
- **Magnet panel**: automatically collects nearby dropped items (toggle / range / allow-block list / "only what is already stored")
- **Restock panel**: tops up the stacks you already carry from the bag (optionally hotbar only)
### 2. Storage and interaction
**Features and usage:**
- **Fluid storage**: fluids live in the **same page and the same grid** as items, counted in mB with no cap
- Left-click: pick up / swap with another slot
- Right-click: fill or pour with a bucket or any fluid container
- Numbers match Create: below 1000 shows mB, from 1000 up converts to buckets (B)
- **Shared storage mode**: ender-chest style — data lives in the server save, per player; the bag is just the entry point. Switchable from the top-left of the UI, and local storage can be merged into the shared vault in one click (**merge, never overwrite**)
- **Tray (dispatch bench)**: send items/fluids to a container or take them back; with a single fluid in the tray, Shift + right-click places one cell into the world
- **Quick deposit**: right-click an item with the bag in hand; right-click the bag with an item in hand; right-click the inventory background to store the whole backpack (hotbar excluded). **Also works in the creative inventory screen**
- **Consistent Shift behaviour**: Shift + left-click **prioritises the currently open panel** (tray included) and only falls back to the inventory when the panel cannot take the item; on a result slot it takes the craft in bulk
- **Hold to pick up a whole slot**: hold a slot until it highlights, then click another slot to swap whole stacks (handy for very large stacks)
- **Four sort modes**: registry name / grouped by mod / count / tag; scope is either the current page or all pages
- **Count text**: exact up to 9999, abbreviated beyond that (千 / 万 / 亿 / 万亿 / 亿亿)
- **Creative Pocket** (new item): right-click to open the creative inventory, and **items can actually be taken in survival** (cheat-level item)
### 3. Trade Machine
A new item (phone-shaped) that records villager offers so you can trade from anywhere.
**Features and usage:**
- Shift + right-click a villager / wandering trader to record their offers (for each trade only the better deal is kept)
- Right-click to open: the vanilla villager trade UI, **unlimited uses**, and a search bar to filter offers by product
- Useful for storing the offers of villagers you buy from often
### 4. JEI recipe transfer (requires JEI)
The "+" button in the recipe screen can fill the bag's panels directly.
**Features and usage:**
- **Matches the panel you have open**: the crafting panel fills the crafting grid, the disassembly panel fills the disassembly grid; with neither open, it asks you to open one instead of guessing
- **Shaped recipes keep their layout**: strictly placed by the recipe's bounding box (a 2-wide × 3-tall door is never placed as a 3 × 2 trapdoor)
- **"+" is disabled when materials are insufficient**: availability is answered server-side from the real inventory, including shared storage the client cannot see
- **Materials are really taken from the bag/inventory**: taken and verified first, then placed, with rollback if placement fails — nothing is ever spawned
---
## 2. Updates & Fixes to Existing Features
### Pocket Dimension
- **Fix: anvil rename** — fixed both "the item name is not shown when placed" and "the renamed result cannot be taken out" (the screen used to clear the rename box on click, sending an empty name to the server first)
- **Fix: quick deposit** — the source slot is only cleared after the write is verified, so items can no longer vanish if the write fails
- **Fix: panel buttons disappearing** — the auto-refill / page buttons no longer vanish after returning from JEI or after the screen is re-initialised
- **Fix: crafting "all or nothing"** — validation and consumption now use the same ingredient list, removing dry consumption and infinite output
- **Fix: disassembly panel Shift + left-click** — puts exactly **one** item into the disassembly input slot instead of "one in the grid, one in the inventory, one gone"
- **Fix: tray Shift + left-click** — now returns the stack to storage first instead of pushing it into the player's inventory
- **Fix: magnet messages** — only reports what was collected; no more repeated hints when nothing was collected
- **Fix: death handling** — no longer interferes with the inventory when keepInventory is on
- **Fix: search / rename text boxes** — typing no longer lets the key through (pressing E no longer closes the screen)
### Data safety (important)
- **Fix: bag NBT writes no longer modify the tag in place** — they used to race with the server's per-tick packet encoder on the same tag, causing encode failures and **player disconnects**
- **Fix: storage writes never bypass the open screen's cache** — the tray "take in" and magnet paths can no longer be overwritten by stale cached data
- **Fix: every deposit is verified** — when the write did not actually land, the items stay where they were (never consumed, never dropped)
- **Fix: 1.20.1 local-mode data loss** — page data was written with the wrong tag type, so items stored in local mode disappeared after reopening the bag; fixed, and existing affected data is **recovered** by a compatible reader
### Disassembly Table
- **Fix: recipe pollution** — outputs are always copied before being handed out, so other mods' recipes are never modified (this previously broke e.g. Create recipe entries)
- **Fix: crafting with the centre/activation item missing** — preview and consumption now use the same complete ingredient list
- **Improvement: centre/activation items** — returned as before, and individually collectable from the grid
- **New: custom recipes** — smithing, tacz gunsmith, Avaritia and Goety style recipes that can enumerate materials are now supported
- **Fix: stonecutter slot misalignment** — slot registration order and id constants are now consistent
- **Fix: page retention** — recomputation keeps the current recipe page instead of jumping back to the first
- **Robustness**: recipe parsing and screen handling catch failures per recipe instead of crashing
### Adaptation enchantment
- **Improvement: linear stacking** — a fixed "damage × ratio" number of layers based on pre-mitigation damage; the current hit is mitigated using the layers from before the gain
- **Fix: layer sanitising** — clamped to the configured maximum, with NaN / infinity / negative values reset to zero
- **New: screen-effect suppression** — config option (enabled by default) that suppresses blindness / fire / water fog / freezing / portal screen effects
- **Improvement: low-hydration screen blur** — no longer cancelled outright when wearing adapted armour; it now **fades gradually as adaptation progresses** and disappears once fully adapted
- **Performance**: shield value caching, sync throttling, negative caching for armour checks
### Others
- **Bloodthirsty**: can be applied to bows, crossbows and modded firearms; projectile ownership resolution for damage sources
- **X-Ray Goggles**: whitelist is now **per pair of goggles** (stored in item NBT); no extra background blur on the screen
- **Disarm Staff**: now also strips curios
- **Guardian Lantern / Anvil Orb**: missing loot tables no longer throw and crash the server
- **Commands**: new `max` subcommands for `/adapt` and `/bloodthirsty`
- **Dedicated servers**: main and common classes no longer reference client types, so dedicated servers start correctly
- **1.21.1 compatibility**: fixed a startup crash caused by the item-count mixin's injection point
---
## Installing and upgrading
1. Put the matching jar into your modpack's `mods` folder.
2. **Back up your world before upgrading** (several data-safety fixes are included, but a backup is still recommended).
3. Bags created by older versions keep working: legacy single-page data migrates automatically, and data previously lost in 1.20.1 local mode is recovered when the bag is opened.
**Note**: both versions gained new network packets, so the **client and server versions must match** (update both when playing on a server).
This mod has no additional files

