Skip to content

[TODO] 潜影集装箱 #2749

@XeKr

Description

@XeKr

Matters to be added to TODO - 将要加入TODO的事项

潜影集装箱

Describe what this TODO will do - 描述这个TODO要做的事情

shulker_container

非容器,方块和对应物品有uuid,挖掘方块时其掉落物保留方块的uuid,放置时其方块继承物品的uuid
方块防炸不可推
物品防炸防烧不可堆叠,不可放入潜影盒和收纳袋

其uuid对应的数据空间内储存以下内容:
1.条目上限(即能存多少种物品);
2.堆叠倍率(每种物品可以放多少组);
3.内容物(可以以类似:条目+{[nbt]*数量,[nbt]*数量,[nbt]*数量} 的方式储存),也就是说,不同nbt(物品组件)对应的物品存在同一个条目中;
4.类别(即一种分类方式,类似于过滤器,后文有详述)

默认状态下即未进行任何升级时,条目上限为54(27*2),堆叠倍率为4,即可以储存54种物品,每种物品最多4组(对于一般物品就是256个,16堆叠的末影珍珠就是64个,不可堆叠的钻石镐就是4个)
升级后:
条目上限依次变为:108,216,864,无上限
堆叠上限依次变为:16组、64组、512组、无上限(或者说其物品数量为int上限)
一个条目填满时不会创建新的同物品条目,例如没有任何升级时,已经储存了4组圆石后,即便条目上限还有空余,也不能继续往里输入圆石

潜影集装箱不能直接通过漏斗溜槽等物流原件输入输出;
但升级后可以自动吸取与其上表面紧邻的“嵌套潜影盒/过嵌套潜影盒/超临界嵌套潜影盒”中的物品(将这三种特殊潜影盒修改为普通容器,没有gui,右键跟以前一样只是发出声音和方块更新,只能储存一种物品,存量分别是27组、54组、108组,这三种潜影盒可以通过漏斗溜槽输入输出,其物品保留内容物,不可堆叠,不可放入潜影盒、收纳袋中);
也可以将物品自动输出给其下表面紧邻的“嵌套潜影盒/过嵌套潜影盒/超临界嵌套潜影盒”,但要求嵌套潜影盒中有相同物品(即空的嵌套潜影盒不能吸取潜影集装箱的物品)
输入输出速率跟升级有关


玩家交互:
右键打开潜影集装箱的gui(同时潜影集装箱模型变为打开形态):

Image

1:标题(潜影集装箱),居中

2:内容物显示(与一般容器类似,但其数字字体可能需要调整为更小的字体,并在大于等于1000时显示为1.0K,大于等于1000 000显示1.0M,大于等于1000 000 000时显示1.0B,小数保留一位,舍去法近似,即1599显示为1.5K)

3:物品栏的字,靠左

4:玩家物品栏

5:“放入”按钮,点击将玩家身上除了快捷栏之外的与潜影集装箱内匹配的物品(可堆叠在一起即为匹配)放入,按shift点击将玩家身上除了快捷栏之外的所有物品放入,不可超上限,超上限的部分放不进去

6:“取出”按钮,点击从潜影集装箱取物品将玩家身上与潜影集装箱内匹配的物品补满整组

7:搜索栏,点击后激活,输入文字搜索物品,“2”中将只显示匹配的物品,物品翻译后的名称和其id(剔除掉命名空间部分的id)都可以被匹配,通过键入@可以搜索模组的命名空间,通过键入#可以搜索对应的标签

8:搜索栏状态按钮,点击在search_retention(保留上次输入)和search_clear(清空上次输入)间切换,默认为search_clear(清空上次输入),为清空时,每次重新打开gui搜索栏会清空,保留时关闭gui再打开会保留上次输入的内容,鼠标放上去有tooltips:“是否保留搜索栏:当前为否/是”

9:排序方式按钮,点击在sort_by_number(按数量排序),sort_by_mod(按模组排序),sort_by_name(按物品名称排序)间切换,默认为sort_by_number(按数量排序),数量从小到大,模组名从000到999到aaa到zzz,但原版(命名空间为minecraft)永远排在第一位,名称从特殊字符(下划线等)到000到999到aaa到zzz到其他字符(汉字等),可以直接使用公认的常见排序规则,如果与我写的不符按公认那个来,我写的只是示例,鼠标放上去有tooltips:“排序方式:当前为数量/模组/名称”

10:排序正序倒序按钮,点击在sequential_order(正序)和reverse_order(倒序)间切换,默认为sequential_order(正序),正序时不改变排序,倒序时,将“9”中的规则倒序即可,鼠标放上去有tooltips:“排序正反:当前为正序/倒序”

11:是否堆叠显示不同nbt物品按钮,点击在nbt_unfold(不堆叠显示)和nbt_fold(堆叠显示间切换),默认为nbt_unfold(不堆叠显示),鼠标放上去有tooltips:“是否堆叠显示不同组件的同物品:当前为否/是”

12:
类别按钮,使用category(类别)贴图,上面文字写类别,最左边有一个物品渲染作为代表物;
这里默认存在一些类别,还可以通过下方的“13”按钮设置添加类别,默认存在的类别:①原版物品(所有命名空间为minecraft的物品)代表物使用草方块,②方块(所有可以放置的物品)代表物使用红砖块,③不可堆叠物品(所有不可堆叠物品)代表物使用钻石剑;
点击按钮使其变色(绿色和红色,在同一张贴图中),默认为紫色,代表允许显示此类物品,切换为绿色代表只显示此类物品,切换为红色代表不显示此类物品,当多个按钮被切换时,自动逻辑运算,例如:①为紫色,②为绿色,③为红色,意味着原版物品不作为限制条件,只能显示可放置的物品,不能显示不可堆叠的物品,一般方块会显示,潜影盒不会显示;
鼠标放上去有tooltips:“切换该类别的显示模式:不限制/白名单/黑名单”

13:类别设置按钮,使用category_setting(类别设置)贴图,永远在所有类别按钮的最下面,点击后进入类别设置界面,后文再述,鼠标放上去有tooltips:“添加、删除和修改类别”

14:升级按钮,使用upgrade(升级)贴图,点击后进入升级界面,暂不可用,鼠标放上去有tooltips:“升级内容,即将到来”

15和16:滚动条,分别使用slider_smallslider_big贴图,在对应的空间显示不够时出现,与原版滚动条操作相同,15模仿村民交易的滚动条,16模仿创造模式物品栏的滚动条


类别设置界面:
点击类别设置按钮后进入该界面

Image

1:类别按钮,与上文的类别按钮相同,但是在这里不能切换状态,左键点击去除该类别同时该按钮进入右边的备选区,右键点击将该类别置顶(永久改变按钮的排序),鼠标放上去有tooltips:“左键点击移除,右键点击置顶”

2:添加自定义类别,使用category_add(添加类别)贴图,永远在所有备选类别按钮的最前面,鼠标指针持有过滤器时点击该按钮添加一个新的类别,类别名称为该过滤器的玩家自定义名称(没有时,叫“新类别”而不是“过滤器”),类别内容与过滤器相同,代表物为过滤器中的第一位物品,鼠标放上去有tooltips:“持过滤器左键点击添加自定义类别”

3:备选类别,使用category(类别)贴图,在这里不能切换状态,这里有一些准备好的类别:
①食物和饮品(所有有饮食组件的物品)
②铁砧工艺物品(所有来自anvilcraft命名空间的物品)
③红石物品(创造模式物品栏中红石栏的物品和合成书里红石栏的物品的并集)
④附魔物品(所有附魔书和附了魔的物品)
⑤xxx模组物品(根据装有的新添加了物品的模组的模组id和名称自动生成的类别)
左键这些类别按钮将其移除备选区,添加到左侧,右键没有反应,在备选区右键自定义类别(通过2添加的类别)删除该类别
鼠标放上去有tooltips:“左键点击添加,右键点击自定义类别移除”

4:确认按钮,confirm,点击确认对类别的修改,回到原gui,鼠标放上去有tooltips:“确认并返回”

5:取消按钮,cancel,点击取消对类别的修改,回到原gui,鼠标放上去有tooltips:“取消并返回”

按esc和E退出界面时是确认还是取消,可以在配置中修改,默认为确认


升级界面:

Image

1:物品输入位置,显示需要的物品的虚影和数量角标(与珠宝台类似),会根据升级进度改变(后详述),当此处有合适的物品时,可以点击下方的按钮

2:升级确认按钮,使用upgrade_confirm贴图,按钮上渲染一个铁砧锤,渲染的物品会根据升级进度改变(后详述),如果上面的“1”中没有合适的物品,此处的铁砧锤渲染为虚影,光标放上去有tooltips,说明现在是否能升级,不能升级的话是缺少什么,应有5种状态:“准备就绪,点击升级”、“缺少升级材料”、“背包中没有合适的工具”、“缺少升级材料且背包中没有合适的工具”、“已满级”

3:升级进度条,使用upgrade_progress贴图,每升一级,多渲染一截(从左数16像素宽)

4:文字背景,写升级的内容文字,写三行,第一行为升级内容,第二行为当前等级效果,第三行为下一级效果,居中排列,例如:
条目上限
当前等级:54个条目
下一级:108个条目

1到4为条目上限升级

5:堆叠数量升级

6:传输升级

7:共振绑定,左边渲染“屏障”或“奇点晶体”的虚影,默认为屏障,不可放入物品,升级后为奇点晶体,升级后左边输入“奇点晶体”,右边输出一个跟本集装箱uuid相同的“奇点晶体”(为“奇点晶体”也添加uuid,放置该方块也会保留uuid,挖掘也会保留,在合成栏自己合成自己可以去掉uuid)

8:共享按钮,使用share_off贴图,点击后切换为share_on,集装箱记录点击该按钮的第一个玩家的uuid作为其所有人,只有该玩家能点击该按钮,默认为off,此时只有该玩家可以向“7”左边放入“奇点晶体”(对其他人渲染屏障而不是奇点晶体虚影),点击按钮切换为on后,所有人都可以向“7”左边放入“奇点晶体”,光标放上有tooltips:“已开启共享/已关闭共享”

9:返回按钮,使用upgrade_back贴图,点击后返回上个界面

右边所有部分和默认界面相同,但进入该界面时,右边上半部分自动变为只显示相关物品(设置一个隐类别:潜影盒、各种嵌套盒、空间超压器、空间砧子、时间砧子、奇点晶体、末影箱、溜槽、各种铁砧锤)


所有的按钮,鼠标移动上去变蓝(贴图的第二行),只有原界面中的类别按钮用到第三行(绿色)和第四行(红色)


升级具体内容:

1:条目上限
0级(54):
出厂设置
1级(108):
需要1嵌套潜影盒,按钮上渲染铁砧锤(背包中有铁砧锤、皇家铁砧锤、余烬铁砧锤、超限铁砧锤都可以点击按钮)
2级(216):
需要1空间超压器,按钮上渲染皇家铁砧锤(背包中有皇家铁砧锤、余烬铁砧锤、超限铁砧锤都可以点击按钮)
3级(864):
需要64空间砧子,按钮上渲染余烬铁砧锤(背包中有余烬铁砧锤、超限铁砧锤都可以点击按钮)
4级(无限):
需要4奇点晶体,按钮上渲染超限铁砧锤(背包中有超限铁砧锤才可以点击按钮)

2:堆叠上限
0级(4组):
出厂设置
1级(16组):
需要1嵌套潜影盒,按钮上渲染铁砧锤(背包中有铁砧锤、皇家铁砧锤、余烬铁砧锤、超限铁砧锤都可以点击按钮)
2级(64组):
需要1空间超压器,按钮上渲染皇家铁砧锤(背包中有皇家铁砧锤、余烬铁砧锤、超限铁砧锤都可以点击按钮)
3级(512组):
需要64空间砧子,按钮上渲染余烬铁砧锤(背包中有余烬铁砧锤、超限铁砧锤都可以点击按钮)
4级(无限):
需要4奇点晶体,按钮上渲染超限铁砧锤(背包中有超限铁砧锤才可以点击按钮)

3:传输能力
0级(不可传输物品):
出厂设置
1级(开启接触式传输,可以从上方各种嵌套盒吸取物品以及向下方各种嵌套盒输出物品,输出速率每4gt1物品每个嵌套盒):
需要16溜槽,按钮上渲染铁砧锤(背包中有铁砧锤、皇家铁砧锤、余烬铁砧锤、超限铁砧锤都可以点击按钮)
2级(传输速度变为每4gt一组物品每个嵌套盒):
需要16时间砧子,按钮上渲染皇家铁砧锤(背包中有皇家铁砧锤、余烬铁砧锤、超限铁砧锤都可以点击按钮)
3级(开启末影访问,现在可以向下方格子中输入奇点晶体,可以在背包中右键奇点晶体物品打开同uuid集装箱的gui):
需要16末影箱,按钮上渲染余烬铁砧锤(背包中有余烬铁砧锤、超限铁砧锤都可以点击按钮)
4级(开启末影传输,当前版本暂时无对应物品,未来将会有一个3x3x3方块:末影节点站ender_node_station(如果准备提前写代码,可以先用潜影集装箱的模型代替),可以输入奇点晶体绑定uuid(gui中,左下为输入输出格,输入一个奇点晶体将uuid复制到节点站,使节点站与对应uuid的集装箱同步,其他部分与潜影集装箱gui一致,注意类别目录显示区域少一行,需要有对应调整),在任何维度任何位置都可以访问末影节点站,末影节点站与潜影集装箱类似,可以通过上下表面与嵌套盒传输物品):
需要4奇点晶体,按钮上渲染超限铁砧锤(背包中有超限铁砧锤才可以点击按钮)

所有升级按钮,满级后仍然渲染一个超限铁砧锤
创造模式可以无视材料和工具需求点击升级按钮

Metadata

Metadata

Assignees

No one assigned

    Labels

    📋️ TODOContent planned for production

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions