生成蛋 BYID 重定向

生成蛋 BYID 重定向

同类型刷怪蛋兼容所需

基础库

面向用户:

某些模组可能依赖本模组在后台执行的操作才能正常运行。只需在客户端和服务端将其与任何需要它的模组一同安装即可。


使用场景:如果你安装的某个模组为同一种生物添加了多个刷怪蛋(例如针对不同变种),而其中一个刷怪蛋因此丢失了颜色,本模组或许能修复该颜色。

点击下方链接,并在结账时使用优惠码 “JACKBUSTERS” 即可享受服务器托管 25% 折扣。

租用服务器折扣


面向开发者:

本模组会将 SpawnEggItem 构造函数中的 BY_ID#put() 调用改为 BY_ID#putIfAbsent()。虽然这一改动看似微小,但当你希望拥有多个使用相同实体类型的刷怪蛋时(例如,你想要生成变种的刷怪蛋),它会带来很大的不同。


以下是一个简短教程,介绍在添加诸如变种刷怪蛋之类的内容时如何使用本模组:

1) 创建一个继承 SpawnEggItem 的新类(Mojang 官方映射,请将其转换为你所选择映射中的对应类)。

2) 在你创建的类中创建一个类型为 SpawnEggItem 的公共静态 ArrayList,如下所示:

public static final ArrayList<SpawnEggItem> EGGS = new ArrayList<>();

3) 在你的构造函数中,将当前实例添加到你所创建的 ArrayList 中,如下所示:

super(entityType, i, j, properties);
[...]
EGGS.add(this);

4) 在你的 ClientModInitializer 中,为你的刷怪蛋注册颜色,如下所示:

@Override
public void onInitializeClient() {
    WolfVariantEgg.EGGS.forEach((egg) -> 
            ColorProviderRegistry.ITEM.register((stack, tintIndex) 
                    -> egg.getColor(tintIndex), egg));
}

5) 如果你现在运行该模组,你会注意到你的通用刷怪蛋(未指定变种的刷怪蛋)会丢失颜色。只要你没有对 BY_ID 映射做任何改动,这正是本模组无需你额外工作就能修复的问题。

大多数其他工作可能都需要通过重写 SpawnEggItem 的 useOn 方法来完成。我不会带你走一遍这个过程,因为它实际上与本模组无关,但如果你遇到任何问题可以告诉我,我可能会尝试帮忙。