Skip to content
This repository was archived by the owner on Feb 2, 2026. It is now read-only.
This repository was archived by the owner on Feb 2, 2026. It is now read-only.

合成机无法返回从预留版合成机获取的材料 #115

@balugaq

Description

@balugaq

检查项目

  • 你使用的是从构建站下载的版本
  • 你已经检验过下载的文件的校验和,确认已完整下载文件
  • 你没有对下载的文件内容进行任何更改
  • 你已经寻找过已知问题列表,且没有找到相同的问题

问题描述

该问题从源代码中发现,并已经过测试。

复现步骤

放置网络控制器和网络电容以及一个存储了 N 的存储 C,并放置1个预留版合成机(这是必须的)1个任意合成机(普通或预留皆可)
为了方便理解,分别命名为A和B
A中有一个有效蓝图,输出的物品是 M
B中有一个有效蓝图,配方所需要的材料是 M 和 N
dbc5c9b8ad1ac042152ab448b3bbe0d0
注意到合成机源代码中这一段,他会从预留版合成机中正常获取物品。
但当 N 不足时,此时经过粘液配方比对和原版配方比对都没有输出物品后,来到了下面这一段
fcc9adc1a80766bcc91472b619deb17b
在这里的

root.addItemStack(input);

返回了 B 从 C 中获取的 N ,但并不会把物品返回到 B 从 A 中获取的 M
因为在网络中不存在其他阻断器、存储或网络单元可以用于存储 M
导致了 M 无法返回到网络中,物品被吞。

预期行为

返回物品到预留版合成机内
或 修改合成机的 " 提取物品 -> 尝试合成物品 -> 输出物品" 的逻辑,使得在合成出物品前不提取物品( itemstack.clone()也许可行? )

服务器日志

错误报告

服务端软件

Purpur

Minecraft 版本

1.20.1

Slimefun版本

226af9b-Beta

插件版本

93

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions