先说说今天的心情
看到Respwan在Apex的今天的更新上继续作死(逆天的给探路者的勾爪改到固定30s的CD,然后改废了TS),这些没母的改动使得陪伴了我3年的游戏就这样彻底的进入了坟墓,
我的心情也是极度的难过,
不知道重生想干什么,也不知道玩家多了对游戏能有什么坏处,
但这种B事就是发生了,
我不得不告别Apex,这里给上@Leamonheadtv
的一段话。
English: Respawn figures out that they don't deserve to have Apex Legends under their development team.lt's embarrassing and a middle finger to actual gamers.
Chinese: 重生对我们的热爱,和对身法的极致追求,竖了一个中指,并叫我们滚蛋
参考视频:
如果你只是想添加玻璃方块的Tags到配方中,请先看这
FabircAPI在
net.fabricmc.fabric.api.tag.convention.v2.ConventionalItemTags
中提供了
GLASS_BLOCKS
的标签,直接用就完事。
后面是我的研究过程
阶段一:ModItemTagsProvider
中构造函数的新写法
|
|
这样写使得在后面的configure
方法中能引入copy函数。
阶段二:在DataGenerator
中重新新建实例
|
|
阶段三:尝试把BlockTags.IMPERMEABLE
复制到GLASS_TAG
中
1.尝试新建一个自己的BlockTag(GLASS_LIST
)来复制BlockTags.IMPERMEABLE;
getOrCreateTagBuilder(ModBlockTags.GLASS_LIST).forceAddTag(BlockTags.IMPERMEABLE);
2. 然后在ModItemTagsProvider使用copy函数复制到自己的ItemTag(GLASS_TAG
)中
this.copy(ModBlockTags.GLASS_LIST, ModItemTags.GLASS_TAG);
3. 以上结果在使用recipeProvider生成时没遇到问题,但是游戏运行后结果如下
[Render thread/ERROR] (Minecraft) Couldn't load tag firstfabricmod:glass_tag as it is missing following references: <#789950127774105602>:impermeable (from firstfabricmod)
所以配方也是无效的
阶段四,尝试直接copy BlockTags.IMPERMEABLE
代码如下:
this.copy(BlockTags.IMPERMEABLE, ModItemTags.GLASS_TAG);
GLASS_TAG
的json文件生成了,但是values是空的
JSON文件内容如下:
|
|
总结:
BlockTags.IMPERMEABLE
貌似是一个特殊的BlockTag
标签,即使被copy
到ItemTag
中也无法正确被游戏使用(至少我们在Discord Fabric的频道中讨论结果是这样的),最后直接使用FabricAPI
提供的Tags就好。
特别感谢以下两位Fabric频道中的高手给予的帮助
@marea
@𓆩⟡ 𝑵𝐨𝐯𝐚 ⟡𓆪