你是否花费了大量时间建造能产出大量资源的农场,却发现自己把所有时间都花在手动将原材料合成成可用物品上?如果这让你失去了游戏的乐趣,那么这个插件可以帮到你。它提供了一套自动合成物品的机制。
本插件实现了一个自动合成系统(或称自动合成器)。玩家不再需要直接与工作台交互来合成大量物品。玩家可以布置一系列方块,指定一个配方,这些方块就会自动将原材料转化为新合成的物品。
首先,你需要将一个发射器配置为“合成方块”。为此,请在发射器上放置一个物品展示框,并在展示框中放入一个工作台。此时,物品展示框会变为隐形,这个“合成方块”就可以在设置好配方并提供原材料后自动合成物品。
接着,在合成方块/发射器的正面(即与发射器相邻的一面)放置一个“输出”容器(箱子、木桶、潜影盒、漏斗等)。合成方块会将合成好的物品放入这里。
最后,在与“输出”容器相对的发射器另一侧,放置一个“输入”/“原料”容器。合成方块会在每个合成周期从此容器中寻找合适的合成原料来制作新物品或方块。
当发射器被配置为合成方块并连接好输入和输出容器后,像与工作台交互一样右击它。玩家将看到传统的工作台界面。
像在普通工作台上一样,在合成方块的物品栏中精确放入你希望自动合成的配方所需原料。然后,不要从结果槽中取出合成好的物品,直接关闭界面。至此,一个可运行的“自动合成方块”就配置完成了。
每个合成周期(默认为20游戏刻),合成方块会尝试从原料容器中提取物品以满足配方要求。如果成功,它会将原料转化为合成物品,并将新物品放入输出容器。如果输出容器空间不足,则不会进行合成。
每次成功合成一个新物品时,之前放在物品展示框中的工作台会顺时针旋转一次,以提供合成方块正在工作的视觉反馈。(如果将此物品从展示框中移除,合成方块将变回普通发射器。)
如果原料容器是一个陷阱箱,合成方块将永远不会提取某个物品槽中的最后一件物品。此行为允许你在陷阱箱中为特定原料保留槽位。当配方需要多种原料,而你不希望一个漏斗向箱子输送物品时占满所有槽位、导致其他必需原料无处存放时,这非常有用。
大多数配方都受支持,包括使用数据包添加的配方。但是,目前不支持部分配方。Minecraft 服务器将一些配方作为特殊情况实现,它们不使用正常的合成机制。这些配方在 Minecraft Wiki 上有描述。
为了让这些配方工作,必须在插件中进行模拟。目前,烟花、迷之炖菜、药箭、染色潜影盒以及将旗帜应用到盾牌上的配方已被模拟。其他特殊配方将根据时间和兴趣逐步添加。
另外,在合成蜂蜜块时,空玻璃瓶会与蜂蜜块一同被放入输出容器。
我们投入了大量时间来降低此插件的开销,包括直接处理时间和导致垃圾回收开销增加的内存压力。服务器负载取决于合成方块的繁忙程度。即便如此,在我的测试服务器上,即使有多个农场持续产出方块,负载也保持在服务器刻的1%以下。当合成方块空闲时,插件通常不会出现在 /timings 报告中,除非你显示所有活动。
插件启动时,如果其配置目录 Craftmatic 中不存在配置文件 config.yml,则会创建它。插件永远不会修改已存在的 config.yml,即使插件版本新增了配置选项。(这是为了确保管理员添加到 config.yml 中的任何有用注释不会丢失,因为 Spigot 的配置修改 API 不保留注释。)
不过,插件每次启动时都会创建/覆盖一个 config.default.yml 文件。管理员不应修改此文件,因为更改会被覆盖。后一个文件作为当前版本插件支持的所有配置项(及其未指定时的默认值)的文档。
Craftmatic 插件的行为与 LWC 插件的行为存在交互。具体来说,Craftmatic 插件在合成物品时会生成一个 InventoryMoveItem 事件,使得物品看起来像是直接从源/输入容器移动到了目标/输出容器。LWC 部分通过选择性取消这类事件来保护箱子。
根据测试,如果玩家告诉 LWC 插件允许漏斗将方块放入输出容器,两个插件都能正常运作。即使输入容器不是漏斗,这也是必要的。即,玩家应执行 /lwc flag hopperin on 并左键点击输出容器,之后合成方块就应该能够将合成物品放入输出容器了。
插件本身并未尝试通过权限对合成方块的使用进行强力控制。相反,在需要更多控制的情况下,可以将插件配置为仅使用自定义的、不可合成的方块(而非默认的工作台物品)来激活。然后,服务器管理员可以使用其他方式来控制这些激活方块的创建和分发。
如果你希望严格控制谁能创建合成方块,那么你需要选择一个无法通过正常手段从世界中收集或合成的物品作为激活物品(即放入物品展示框的物品)。在这种情况下,你可以在 config.yml 中将激活物品设置为一个序列化的 ItemStack 规格。下面是一个示例,强制使用一个具有特定描述性“ lore ”和插件特定 NBT 数据的工作台。使用 /craftmatic:give 命令在游戏中获取此方块。give 命令本身的使用由 craftmatic.command.give 权限控制。
activationItem:
==: org.bukkit.inventory.ItemStack
v: 2730
type: CRAFTING_TABLE
meta:
==: ItemMeta
meta-type: UNSPECIFIC
display-name: '"craftmatic activator"'
lore:
- '{"text":"activates one automatic crafting block","color":"yellow","italic":false}'
PublicBukkitValues:
craftmatic:valid: 1i注意:以上内容目前仅在 1.17 上测试过。序列化形式可能随每个 Spigot 版本而变化,并且在 1.16.5 上可能必然不同。
虽然可以手动创建和编辑 activationItem 配置项,但不建议这样做。相反,管理员应在游戏中使用其他插件来编辑物品名称和 lore 以创建所需物品。也可以使用 /craftmatic item mark 命令为物品添加其他插件不易操作的额外 NBT 数据。一旦物品按需制作完成,使用 /craftmatic item show 命令生成并显示 activationItem 配置所需的 org.bukkit.inventory.ItemStack 值。然后,管理员可以将生成的值复制并粘贴到 config.yml 中。
所有命令都作为 /craftmatic 命令的子命令实现。
/craftmaticcraftmatic.commands.use/craftmatic item givecraftmatic.command.item-give/craftmatic item markcraftmatic.command.item-mark/craftmatic item showcraftmatic.command.item-show/craftmatic reloadcraftmatic.command.reload/craftmatic show [玩家名]...craftmatic.command.show友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:2,637,936 | 历史访问人次:3,196,559
今日访问人数:12,911 | 今日访问人次:13,918
昨日访问人数:46,463 | 昨日访问人次:52,262
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6