终末地工业 / Endfield Industry

Arknights: Endfield - Minecraft Fan Mod
(非官方明日方舟:终末地 二创模组)

注意:模组的部分代码使用生成式人工智能(AI)编写,此篇文章的英文翻译也由AI翻译

Note: Some code of this mod is written using AI, and the English translation of this article is also translated by AI

简介 / Introduction

本模组为个人开发的 非商业同人作品,灵感来源于《明日方舟:终末地》。
旨在以 Minecraft 的形式探索终末地的工业与生态设计理念。

This is a non-commercial fan-made project inspired by Arknights: Endfield,
reimagined in the Minecraft universe.


Endfield Industry(终末地工业) 是一个以 《明日方舟:终末地》(Arknights: Endfield) 为母题制作的综合性模组。

它将原作中的集成工业系统(Automated Industry Complex) 引入 Minecraft,让你在方块世界中也能成为一名 管理员(Endministrator),建设属于你的终末地工业基地。

虽然目前模组主要聚焦于工业内容,但未来将逐步扩展,加入更多原作要素:
干员、敌对生物、武器装备、据点建设 等内容都在规划之中。

本模组为《明日方舟:终末地》的 二次创作作品,其中涉及的所有原作素材与概念版权均归上海鹰角网络科技有限公司所有。

Endfield Industry is a Minecraft mod that brings the Automated Industry Complex from Arknights: Endfield into your Minecraft world.

With this mod, you can step into the role of an Endministrator — managing, constructing, and expanding futuristic industrial facilities inspired by Endfield.

Although the mod currently focuses on industrial content, it will gradually expand to include more elements inspired by the original game —
such as operators, hostile creatures, weapons and equipment, and base construction.

This mod is a fan-made derivative work based on Arknights: Endfield.
All copyrights and related rights for the original game, its assets, and concepts belong to Shanghai Hypergryph Network Technology Co., Ltd.


授权信息 / License

内容类型 授权协议 限制
源代码 (Java Code) GPL-3.0 修改或再发布时必须保持开源
美术/音频/模型资源 (Assets) CC BY-NC-SA 4.0 禁止商用,需署名且以相同协议共享

协议详情参见:


非官方声明 / Disclaimer

  • 本模组与 鹰角网络(Hypergryph) 及《明日方舟:终末地》官方无关;

  • 仅供玩家学习、研究与非商业娱乐使用;

  • 禁止以任何形式用于商业用途付费分发盈利活动

  • 若原版权方提出要求,本模组将立即下架。

  • This mod is not affiliated with Hypergryph or the official game Arknights: Endfield;

  • It is intended for educational, research, and non-commercial entertainment purposes only;

  • Any use for commercial purposes, paid distribution, or profit activities is strictly prohibited;

  • If the original copyright holder requests, this mod will be immediately removed.


模组依赖 / Dependencies

Fabric 1.20.1

  • Fabric Loader >= 0.16.14
  • Fabric API >= 0.92.6
  • Geckolib4 >= 4.7.1.2

Forge 1.20.1

  • Forge Loader >= 47.4.0
  • Geckolib4 >= 4.7.3

联系方式 / Contact

作者(Author):北山_Besson / Beishan_Besson
仓库地址(Fabric): https://github.com/BeiShanair/Arknights-Endfield-1.20.1-fab

仓库地址(Forge): https://github.com/BeiShanair/Arknights-Endfield-1.20.1-for


未来计划 / Future Plans

本模组目前仍在积极开发中。

未来将加入更多玩法系统与原创内容,并适配 更多 Minecraft 版本。

同时也计划移植至 NeoForge 平台。

This mod is still under active development.

Future updates will include new gameplay systems, more original content, and support for additional Minecraft versions.

A NeoForge port is also planned.


作者的话 / Author’s Note

Endfield Industry终末地工业)是以明日方舟:终末地Arknights: Endfield
为母题制作的综合性模组

即模组内容并不仅限于工业(虽然目前只有工业),还将包括其他内容(包括干员、敌对生物、武器装备、据点建设等)

这个模组项目呢,属于是说干就干的一个玩意。8月冒了一个想法出来,19日立项,直接开干了

噼里啪啦折腾了一个多月,不过大半个月在搞美术的那些东西,终于发了测试版。
说白了就是被终压抑久了

趁着兴致还没下去,赶紧多写点,不然后面不想动了就得摆烂好久了

模组的名字因为想不出来了,所以就直接用终末地工业这个吧,也想过用Minecraft: Endfield,不过这个似乎有点大了,如果做整合包的话,可能还能考虑

模组由北山Besson负责所有的开发工作,本身为明日方舟:终末地二创作品
模组中涉及游戏原作的内容,其版权均归上海鹰角网络科技有限公司所有

授权许可参见上方的描述,你可以使用该模组制作整合包、开设服务器等,但不论如何都不得用于商业用途

模组目前还没有自己的物流系统,所以建议是配合机械动力模组,借用其传送带

Forge端,因为实现了Forge的能力系统(Capability),还能结合更多工业模组的物流系统,如MEK的物流管道(暂时只测了机械动力和通用机械,其他的没测试)

Fabric端做了REI的适配,Forge端做了JEI的适配,方便大家查看配方

上面也提到了,模组的一些代码用了AI去写,还是注明一下比较好(英文翻译我确实没这个能力嘞,只能用AI翻一下)

我自己并不反对使用AI,在做教程的时候也鼓励大家在开发过程中合理使用AI,以此提高你的开发效率,
但前提是你得有模组开发的基础,而不是一个啥也不会的小白

现阶段的AI并不是很先进,虽然还不错,但终归要你自己去规整、优化,不然就是一坨

那么闲聊到此结束,下面就来看看模组的内容吧


模组内容 / Mod Content

矿脉方块

矿石矿脉

模组为原有矿石红石钻石青金石绿宝石)新增了对应的矿脉方块

终末地矿石

新增了源石矿脉紫水晶矿脉蓝铁矿脉赤铜矿脉
新增了以上4种矿石对应的普通矿石和深层矿石

集成工业中的矿机可放置在矿脉方块上,并产出矿石

原有矿石的矿脉方块会生成在世界中,在世界深处(-64~0层)均匀分布,且非常稀少,只能用钻石镐或者下界合金镐采集

源石矿

终末地工业的基础,需要石镐及以上的工具采集,非精准采集可以获得源石矿石

源石矿会生成在世界中,其生成范围与原版铁矿基本一致,生成概率比铁矿更高

紫水晶矿

制造武器装备的原料,区别于Minecraft自带的紫水晶矿石,终末地使用的紫水晶与Minecraft不相通

矿石需要铁镐及以上的工具开采

蓝铁矿

终末地的矿石,需要铁镐及以上的工具采集,非精准采集可以获得蓝铁矿矿石

蓝铁矿会生成在世界中,其生成概率、范围与原版铁矿基本一致

赤铜矿

终末地锦陇地区的矿石,为与终末地契合,与Minecraft自带的铜矿区别,新增该矿石

需要铁镐及以上的工具开采

但由于目前模组尚未加入管道系统,所以赤铜相关的生产链并不完善


制作台

制作台

为突破原版工作台合成限制而制作的一个类似于工作台的方块实体,用于合成终末地相关的工业设备

其GUI面板上有一个小按钮>,可以用它来选择你要合成的工业设备


工业设备

电力供应

协议核心

协议核心

源石发电,本身能够提供150单位的电力,所有用电设备所需的电力均来自协议核心(还有个热能池)

不能合成,玩家第一次进入存档会自动获得一个协议核心(别乱扔,没了就开创造理赔吧)

考虑到方块实体的特性,即如果没有玩家加载方块实体所在的区块,那么该区块上的方块实体都会停止运算,
那么会导致协议核心电力供应相关运算终止,逻辑就跑不通了

而强制加载区块和遍历方块实体所在的区块一定程度上会影响性能,
所以现在,由全局电网管理系统负责整个世界的电力调度

该系统在一个世界上只存在一个实例,依靠服务器的tick运行,
协议核心、供电桩、热能池与它有直接联系,直接负责计算发电功率和用电功率

协议核心内置容量100000单位电力的电池,在发电功率小于用电功率时,会消耗电池的电能;反之则充能

中继器

中继器

中继协议核心的电力,将其输送到其他地方

但因为现在是由全局电网管理系统负责整个世界的电力调度,所以中继器实际上不再参与电网,只保留形式上的电力传输

1
2
3
4
// TODO
未来实现“拉电线”

即便不再参与电网,这个玩法还是可以保留

供电桩

供电桩

供电终端,为各个用电设备提供电力

本身不储存电力,只是将电力输送给最终的用电工业设备

热能池

热能池

总用电负荷超过协议核心的发电量时,可以建造热能池提供额外电力,
热能池需要燃烧燃料(熔炉里能烧的它都能烧,原作是烧源石),每个热能池能提供150单位的电力

热能池需要放置在协议核心半径30格方块内才能接入电网


资源开采

便携源石矿机

便携源石矿机

最基础的采矿机,不用电力即可工作(源石科技,小子)

2秒开采一个矿石

电驱矿机

电驱矿机

需要使用电力,消耗5单位的电力

2秒开采一个矿石

二型电驱矿机

二型电驱矿机

需要使用电力,消耗10单位的电力

1秒开采一个矿石

水驱矿机(TODO)

未制作

水泵(TODO)

未制作


基础加工

精炼炉

精炼炉

将粗矿精炼,类似于原版的熔炉和高炉,但需要电力,消耗5单位的电力

2秒加工一个物品

粉碎机

粉碎机

将物品粉碎,消耗10单位的电力

2秒加工一个物品

配件机

配件机

加工各种零件,消耗10单位的电力

2秒加工一个物品

塑形机

塑形机

制造各种瓶子,消耗10单位的电力

2秒加工一个物品

采种机

采种机

将成熟的植物(有种子的)加工处理获得种子,消耗10单位的电力

1株成熟的植物可以获得2个种子;
2秒加工一个物品

种植机

种植机

让种子生长成成熟的植株,消耗10单位的电力

2秒加工一个物品

污水处理机(TODO)

未制作

合成制造

研磨机

研磨机

将物品研磨成更高级的粉末,消耗20单位的电力

10秒加工一个物品

灌装机

灌装机

将粉末等物品灌装到瓶子中,消耗10单位的电力

10秒加工一个物品

装备原件机

装备原件机

将各种物品合成装备原件,消耗10单位的电力

10秒加工一个物品

封装机

封装机

封装一些物品,消耗30单位的电力

10秒加工一个物品

反应池(TODO)

未制作


关于数据包开发

这部分内容是开发者得了解的

模组内的工业设备(除了热能池)都是数据驱动的,也就是配方

现在的模组,其实不仅有我们这种传统意义上用Java(或者kotlin)写的模组,也有纯数据包的模组(到底叫数据包还是叫模组?我不到啊)

所以其实这些工业设备不仅仅能加工终末地的那些东西,也可以加工原版或者其他模组的东西

由此,你完全可以编写数据包,来拓展这些工业设备能够加工的东西,与其他模组联动

所以这里,由我来介绍一下模组中使用的各个配方的结构,以帮助需要的人编写数据包

这里只介绍模组中配方的结构,数据包的编写请自行百度

数据包编写的话,之后可能出教程


模组命名空间: arknights_endfield

模组的命名空间,编写数据包时要注意

编写数据包时请严格遵守以下示例,不要自己乱造字段,不然就会导致配方无法识别


矿机配方

模组中的矿机使用的都是同一类的配方

1
2
3
4
5
6
7
8
9
10
{
"type": "arknights_endfield:ore_rig",
"input": {
"item": "arknights_endfield:amethyst_mineral_vein_block"
},
"output": {
"count": 1,
"item": "arknights_endfield:amethyst_ore"
}
}

结构上与原版的配方类似,主要是三块内容

  • type:配方类型,ore_rig表示矿机配方
  • input:输入,item表示输入的物品(矿机输入的其实是方块,填入方块的名字)
  • output:输出,count表示输出的数量,item表示输出的物品

精炼炉配方

1
2
3
4
5
6
7
8
9
10
11
{
"type": "arknights_endfield:refining_unit",
"input": {
"count": 1,
"item": "arknights_endfield:amethyst_ore"
},
"output": {
"count": 1,
"item": "arknights_endfield:amethyst_fiber"
}
}
  • type:配方类型,refining_unit表示精炼炉配方
  • input:输入,count表示输入的数量,item表示输入的物品
  • output:输出,count表示输出的数量,item表示输出的物品

粉碎机配方

1
2
3
4
5
6
7
8
9
10
{
"type": "arknights_endfield:shredding_unit",
"input": {
"item": "arknights_endfield:aketine"
},
"output": {
"count": 2,
"item": "arknights_endfield:aketine_powder"
}
}
  • type:配方类型,shredding_unit表示粉碎机配方
  • input:输入,item表示输入的物品
  • output:输出,count表示输出的数量,item表示输出的物品

配件机配方

1
2
3
4
5
6
7
8
9
10
{
"type": "arknights_endfield:fitting_unit",
"input": {
"item": "arknights_endfield:amethyst_fiber"
},
"output": {
"count": 1,
"item": "arknights_endfield:amethyst_part"
}
}
  • type:配方类型,fitting_unit表示配件机配方
  • input:输入,item表示输入的物品
  • output:输出,count表示输出的数量,item表示输出的物品

塑形机配方

1
2
3
4
5
6
7
8
9
10
11
{
"type": "arknights_endfield:moulding_unit",
"input": {
"count": 2,
"item": "arknights_endfield:amethyst_fiber"
},
"output": {
"count": 1,
"item": "arknights_endfield:amethyst_bottle"
}
}
  • type:配方类型,moulding_unit表示塑形机配方
  • input:输入,count表示输入的数量,item表示输入的物品
  • output:输出,count表示输出的数量,item表示输出的物品

采种机配方

1
2
3
4
5
6
7
8
9
10
{
"type": "arknights_endfield:seed_picking_unit",
"input": {
"item": "arknights_endfield:aketine"
},
"output": {
"count": 2,
"item": "arknights_endfield:aketine_seed"
}
}
  • type:配方类型,seed_picking_unit表示采种机配方
  • input:输入,item表示输入的物品
  • output:输出,count表示输出的数量,item表示输出的物品

种植机配方

1
2
3
4
5
6
7
8
9
10
{
"type": "arknights_endfield:planting_unit",
"input": {
"item": "arknights_endfield:aketine_seed"
},
"output": {
"count": 1,
"item": "arknights_endfield:aketine"
}
}
  • type:配方类型,planting_unit表示种植机配方
  • input:输入,item表示输入的物品
  • output:输出,count表示输出的数量,item表示输出的物品

研磨机配方

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"type": "arknights_endfield:grinding_unit",
"input": [
{
"count": 2,
"item": "arknights_endfield:amethyst_powder"
},
{
"count": 1,
"item": "arknights_endfield:sandleaf_powder"
}
],
"output": {
"count": 1,
"item": "arknights_endfield:cryston_powder"
}
}
  • type:配方类型,grinding_unit表示研磨机配方
  • input:输入,count表示输入的数量,item表示输入的物品(注意中括号,物品不超过两个)
  • output:输出,count表示输出的数量,item表示输出的物品

灌装机配方

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"type": "arknights_endfield:filling_unit",
"input": [
{
"count": 10,
"item": "arknights_endfield:steel_bottle"
},
{
"count": 10,
"item": "arknights_endfield:ground_buckflower_powder"
}
],
"output": {
"count": 1,
"item": "arknights_endfield:buck_capsule_a"
}
}
  • type:配方类型,filling_unit表示灌装机配方
  • input:输入,count表示输入的数量,item表示输入的物品(注意中括号,物品不超过两个)
  • output:输出,count表示输出的数量,item表示输出的物品

装备原件机配方

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"type": "arknights_endfield:gearing_unit",
"input": [
{
"count": 5,
"item": "arknights_endfield:origocrust"
},
{
"count": 5,
"item": "arknights_endfield:amethyst_fiber"
}
],
"output": {
"count": 1,
"item": "arknights_endfield:amethyst_component"
}
}
  • type:配方类型,gearing_unit表示装备原件机配方
  • input:输入,count表示输入的数量,item表示输入的物品(注意中括号,物品不超过两个)
  • output:输出,count表示输出的数量,item表示输出的物品

制造台配方

1
2
3
4
5
6
7
8
9
10
11
{
"type": "arknights_endfield:crafter",
"input": {
"arknights_endfield:ferrium_part": 10,
"arknights_endfield:portable_originium_rig": 1
},
"output": {
"count": 1,
"item": "arknights_endfield:electric_mining_rig_mk_ii"
}
}
  • type:配方类型,crafter表示制造台配方
  • input:输入,注意这里的形式与上面的都不一样,形式上是<物品>:<数量>,多个物品用逗号隔开(物品不得超过3个)
  • output:输出,count表示输出的数量,item表示输出的物品