此物品/方块的旧版译名为“具象装置”。
方块信息
活化器的硬度为2,爆炸抗性为2,需要使用镐挖掘,否则不会掉落任何物品。
活化器非完整方块,按照其方块模型渲染。可以使比较器(红石比较器/痂壳晶蓝石比较器)输出信号。
活化器的下表面为完整形状,其余面的形状均为未定义形状。
活化器拥有1个方块参数:方向(facing)
方向参数的可用取值为任意水平方向(可取 north、south、west、east),默认值为 north。
活化器拥有其特殊的方块实体(TileEntity)。
获取
用途
当活化器确定放置状态时,其方向参数为放置其的水平方向的对向。
当玩家右击活化器时,如果该方块位置的方块实体是活化器的方块实体:
如果活化器未完成物品活化(未开始或已完成),则立即为玩家打开活化器的GUI;
否则,如果当前配方不存在,则根据活化器配方决定是否打开GUI。不论是否打开GUI,都将其已消耗燃料设为0。
将活化器的待活化物品设为空,并标记该活化器未完成物品活化。
判定交互成功。
当玩家破坏活化器时,将其方块实体中的所有所含物品掉落,并更新临近的比较器的输出信号等级。
在该方块的方块实体正在进行活化配方时,会根据活化配方的种类从不同位置产生颗粒效果。(产生的颗粒效果被称作符文 - Runes)
活化器会使比较器输出信号,如果该方块位置的方块实体是活化器的方块实体,则输出信号强度 = ( 已消耗燃料 / 燃料需求 * 16 ) 的四舍五入;
否则,输出信号强度 = 0(不输出任何信号)。
进度
图标 | 标题 | 描述 | 获取方法 | 进度类型 | 父进度 | ID | 是否隐藏 |
---|---|---|---|---|---|---|---|
赌博成瘾 | 活化太多的物品卷轴 | 活化15个物品卷轴 | 进度 | 毁掉它 (见遗迹) | thebetweenlands:adventurer/gambling_addict | 否 |
活化器配方
活化器拥有一类特殊的配方。该配方的名称为“AnimatorRecipe”。
每个活化器配方都有以下数据:输入物品、燃料需求、生命水晶能量需求、输出产物(默认为空)、生成实体(默认为无)、渲染实体(默认为无)、在完成时关闭GUI(默认为否),输出战利品表(默认为无)。
玩家可以自定义活化器的配方,但该配方的参数只接受以下几种参数组合:
输入物品 | 燃料需求 | 生命水晶能量需求 | 输出产物 | 生成实体 | 渲染实体 | 在完成时关闭GUI | 输出战利品表 |
---|---|---|---|---|---|---|---|
√ | √ | √ | 需单独设置 | ||||
√ | √ | √ | √ | ||||
√ | √ | √ | √ | ||||
√ | √ | √ | √ | √【无需填写,设置为是】 | |||
√ | √ | √ | √ | √ | √【无需填写,设置为是】 |
(如果需要使用以上组合以外的参数组合,那么需要使用特殊的方法定义该配方,无法使用TBL提供的默认方法)
当活化器配方决定是否打开GUI时,如果该配方有生成实体,则尝试在该位置生成实体,如果生成时没有遇到问题,则将第一个物品格中的物品设为空,并不打开GUI。其余所有情况均打开GUI。
(活化器配方与JEI有联动,玩家可以在JEI中查看该配方的参数,如输入物品、燃料需求、生命水晶能量需求等信息)
以下为TBL注册的默认活化器配方:
【特殊配方】召集之戒重生配方。
输入结实的两栖鱼叉,消耗2个硫磺与1点生命水晶能量,如果该鱼叉拥有“animated”NBT标签,且其值为 false,则将其值设为 true。
【特殊配方】对于所有TBL注册的物品,如果该物品可以在活化器上修复,则注册其修复配方。
召集之戒重生配方
该配方为特殊配方,名称为召集之戒重生活化器配方(RingOfGatheringRespawnAnimatorRecipe)。
该配方的输入物品为召集之戒,如果该物品中存储着上一个使用的玩家留下的生物(仆从),则判定可以开始该配方。
该配方会根据召集之戒中存储的生物,将其通过活化器重生。
生命水晶能量需求 = 该生物(仆从)的活化生命水晶能量需求
燃料需求 = 该生物(仆从)的活化燃料需求
在该配方完成时,会关闭活化器的GUI。
工具修复配方
该配方为动态配方,名称为工具修复活化器配方(ToolRepairAnimatorRecipe)。
该配方具有4个参数:最小生命水晶能量需求、最大生命水晶能量需求、最小燃料需求、最大燃料需求。
该配方会完全修复待活化物品的耐久(将其已损耐久设为0),无任何其余影响。
生命水晶能量需求 = 最小生命水晶能量需求 + [ ( 最大生命水晶能量需求 - 最小生命水晶能量需求 ) / 物品最大耐久 * 物品已损耐久 ] 向上取整
燃料需求 = 最小燃料量需求 + [ ( 最大燃料需求 - 最小燃料需求 ) / 物品最大耐久 * 物品已损耐久 ] 向上取整
每种物品的最小生命水晶能量需求、最大生命水晶能量需求、最小燃料需求、最大燃料需求见工具材料分级。
GUI
活化器中有3个物品格,其中:
最中间的物品格为第一个物品格,可用于放置待活化物品,有时也在活化完成时用于输出物品。(活化会改变该物品格的物品)
右侧为第三个物品格,可放置硫磺,提供燃料。
活化器拥有显示信息提示,其中:
左侧的蓝色条用于显示生命水晶的剩余能量,在左侧物品格中有生命水晶(或生命水晶碎块)的情况下就会显示。生命水晶能量计数 = ( 40 - 生命水晶能量 / 3 ) 向下取整。
如果中间物品格中的物品为任一活化配方的材料,则生命水晶能量需求计数 = ( 生命水晶能量需求 / 3 ) 向下取整,在蓝色条上部贴着其顶端向下渲染红色条,该条随着时间变化改变其透明度,体现为闪动的红色条。
右侧的蓝色条用于显示燃料的燃烧进度,在活化器正在运行时显示。
下方的蓝色条用于显示总进度,在活化器正在运行时显示。总进度 = ( 已消耗燃料 + 燃料燃烧进度 / 42 ) / 燃料需求。
当左侧物品格的物品为空时,会在其中显示生命水晶。当右侧物品格的物品为空时,会在其中显示硫磺。
特殊渲染
活化器拥有特殊渲染。
渲染时:
如果活化器内部有硫磺,根据活化器内部的硫磺数量,则在活化器下方渲染 ( 物品数量 / 4 + 1 ) 个硫磺,每个硫磺的朝向随机(呈现乱堆起来的状态)。
如果活化器内部有生命水晶(或生命水晶碎块),则在活化器中间渲染该生命水晶(或生命水晶碎块),渲染角度取决于视角。
如果活化器内部第一个物品格的物品存在,则以该物品为输入获取配方,如果该配方没有生物生成,则在活化器上方渲染该物品,渲染角度取决于视角;
否则,在活化器上方渲染生成的生物,生物渲染的大小取决于生物的判定箱高度,渲染角度取决于视角。
以下两张图分别展示了两个正在活化不同物品的活化器:
方块实体
活化器拥有方块实体。该方块实体名称为“TileEntityAnimator”。
该方块实体可以存储3个物品组的列表。
当方块实体掉落物品时,对于其中每一个物品组,将其在方块实体的位置以物品形式生成,并清空物品列表。
活化器带有多个附带参数:
待活化物品:默认为空;物品活化完成:默认为 false(未完成)。
燃料燃烧进度、生命水晶能量、已消耗燃料(默认为0)、燃料需求(默认为32)、生命水晶能量需求(默认为32)。
初始物品数量:默认为0;初始物品:默认为空。
正在运行:默认为 false(不在运行);正在播放音效:默认为 false(不在播放)。
当方块实体被更新时:
(在客户端/服务端执行)
如果第一个物品格中的物品非空,且该物品为任一活化配方的材料,则将其设为待活化物品,根据获取到的活化器配方确认其燃料需求与生命水晶耐久需求;
否则,将待活化物品设为空。
(在服务端执行)
如果生命水晶存在,则将生命水晶能量设为该生命水晶的耐久值。
如果第一、二、三个物品格中的物品均非空,则将燃料燃烧进度、已消耗燃料设为0。
如果待活化物品非空,且生命水晶存在,且硫磺存在,且已消耗燃料 < 燃料需求,且第一个物品格的物品为任一活化配方的材料,且生命水晶能量 ≥ 生命水晶能量需求,则:
燃料燃烧进度 + 1。
如果燃料燃烧进度 ≥ 42,则将其设为0,并消耗1个硫磺,已消耗燃料 + 1。每燃烧一个硫磺需要2.1秒(42 tick)
标记该活化器未完成活化。(将物品活化完成设为 false)
如果第三个物品格中的物品存在,且未完成活化,则:
如果第一个物品格中的物品不存在,或第二个物品格中的物品不存在,则将燃料燃烧进度、已消耗燃料设为0。
如果已消耗燃料 ≥ 燃料需求,且第一、二个物品格中的物品存在,且未完成活化,则:
再次获取该物品的配方,根据获取到的活化器配方确认该配方的产物。(可能为空,结果不一定是物品)
如果该配方的产物为空,则确认该配方的结果。
如果结果非空,则将第一个物品格中的物品设为该配方的产物/结果,并使直线距离12个方块范围内的所有玩家触发“animate”。
(该触发器为进度的触发器,但是不对应任何进度,可能因为其尚未完成)
使生命水晶消耗耐久值,消耗量 = 生命水晶能量需求。
更新方块,标记物品活化完成。(将物品活化完成设为 true)
如果初始物品数量 ≠ 第一个物品格中物品的数量(如果物品不存在,则为0),则更新方块。
如果初始物品 ≠ 第一个物品格中的物品(如果物品不存在,则为空),则更新方块。
将初始物品数量设为第一个物品格中物品的数量(如果物品不存在,则为0),将初始物品设为第一个物品格中的物品(如果物品不存在,则为空)。
如果第一个物品格中的物品存在,且生命水晶存在,且硫磺存在,且已消耗燃料 < 燃料需求,且生命水晶能量 ≥ 生命水晶能量需求,且第一个物品格的物品为任一活化配方的材料,则该活化器可以运行。
如果活化器是否可以运行与是否正在运行不一致,则将可以运行同步至正在运行。
(在客户端执行)
如果正在运行但不在播放音效,则开始播放音效,并标记正在播放音效(将正在播放音效设为 true);
否则,标记不在播放音效(将正在播放音效设为 false)。
判定生命水晶存在的条件为:第二个物品格中的物品非空,且该物品属于 生命水晶 (Life Crystal) (生命水晶碎块也满足要求),且该生命水晶的耐久值 > 0。
资料分类: | 功能性方块 |
最大叠加: | 64个 / 组 |
采集工具: | |