|
生成蛋 BYID 重定向 (Spawn Egg BYID Redirect)Github |相关wiki |源站链接支持: fabric , quilt解决相同生成蛋类型的兼容性问题
*对于用户:*
一些模组可能依赖于此模组在后台执行的功能才能正常运行。只需将其与任何需要此模组的模组一起安装在客户端和服务器上即可。
使用情况:如果您安装的某个模组为同一类型的生物添加了多个生成蛋(例如,不同变种),并且其中一个生成蛋失去了颜色,则此模组可能修复颜色。
*开发者:*
此模组使得 SpawnEggItem 构造函数中的 BY_ID#put() 调用改为 BY_ID#putIfAbsent()。尽管这一更改看似微小,但在您想要拥有多个生成相同实体类型的生成蛋时(例如,如果您想要生成变种),这一更改将产生重大影响。
如何使用此模组添加类似变种生成蛋的简短教程:
1) 创建一个扩展 SpawnEggItem 的新类(使用 Mojang 官方映射,根据您选择的映射扩展为原始的类)。
2) 创建一个公共静态 Map和 SpawnEggItem。如下所示:
public static final Map, SpawnEggItem> BY_VARIANT = Maps.newIdentityHashMap();
3) 在您的构造函数中,使用 put() 方法或 putIfAbsent() 方法调用您创建的 HashMap:
BY_VARIANT.putIfAbsent(wolfVariant, this);
4) 创建一个 mixin 来混合到 SpawnEggItem 类中。在返回处注入 eggs 方法。像这样将您的 map 添加到返回的 Iterable 中(再次强调,这是 Mojang 官方映射):
@Inject(method = \"eggs\", at = @At(\"RETURN\"), cancellable = true)
private static void eggs(CallbackInfoReturnable> cir){ArrayListspawnEggItems = new ArrayList<>();cir.getReturnValue().iterator().forEachRemaining(spawnEggItems::add);spawnEggItems.addAll(BY_VARIANT.values());Iterableiterable = Iterables.consumingIterable(spawnEggItems);cir.setReturnValue(iterable);}
这仅代表我的实现方式,可能会有更高效的方法。但需要小心,因为您需要确保保持模组的兼容性。这个 mixin 将确保每个变种生成蛋实例都会提供给 eggs 方法进行颜色处理。如果没有这个 mixin,除了您最后注册的那个外,所有生成蛋均不会生成您定义的颜色。
5) 现在如果你运行这个模组,您会注意到您通用的生成蛋,没有指定到任何变种,将会失去颜色。这正是此模组解决的问题,而您无需额外操作,只要您没有对 BY_ID map 做任何改动。
大部分其他工作可能需要通过重写 SpawnEggItem 的 useOn 方法来完成。我不会详细介绍这部分,因为它与此模组无关,但如果您遇到任何问题,请告诉我,我可能会尝试帮助您解决。
来自Modrinth所有游戏版本1.191.19.11.19.21.19.31.19.41.201.20.11.20.21.20.31.20.41.20.51.20.61.211.151.15.11.15.21.161.16.11.16.21.16.31.16.41.16.51.171.17.11.181.18.11.18.224w10a24w11a24w12a24w14potato所有类型fabricquiltforgeSpawn Egg BYID Redirect 1.2spawneggbyidredirect-1.2-fabric-mc1.19.x-1.21.x.jar下载1.2#Release[](https://bisecthosting.com/jackbusters?r=BYID+Redirect+Modrinth)- Port 1.21.x, backwards compatible with 1.19.x and 1.20.x展开版本: 1.2支持游戏: 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21类型:FabricQuiltRelease下载次数: 635Spawn Egg BYID Redirect 1.1spawneggbyidredirect-1.1-fabric-mc1.19.x-1.20.x.jar下载1.1#Release[](https://bisecthosting.com/jackbusters?r=BYID+Redirect+Modrinth)- Backport Fabric 1.19.x. This one file is compatible with both 1.19.x and 1.20.x- Removed Fabric API Dependency- Added metadata for issues URL and sources URL, this will help mod lists mods provide more information to users about SEBR展开版本: 1.1支持游戏: 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6类型:FabricQuiltRelease下载次数: 239Spawn Egg BYID Redirect 1.1spawneggbyidredirect-1.1-fabric-mc1.15.x-1.18.x.jar下载1.1#Release[](https://bisecthosting.com/jackbusters?r=BYID+Redirect+Modrinth)- Backport Fabric 1.15.x/1.16.x/1.17.x/1.18.x. This one file is compatible with all four versions.- Removed Fabric API Dependency- Added metadata for issues URL and sources URL, this will help mod lists mods provide more information to users about SEBR展开版本: 1.1支持游戏: 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2类型:FabricQuiltRelease下载次数: 99Spawn Egg BYID Redirect 1.0spawneggbyidredirect-1.0-forge-mc1.20.x.jar下载1.0#Release[](https://bisecthosting.com/jackbusters?r=BYID+Redirect+Modrinth)- Forge Port展开版本: 1.0支持游戏: 1.20.6类型:ForgeRelease下载次数: 65Spawn Egg BYID Redirect 1.0spawneggbyidredirect-1.0-fabric-mc1.20.x.jar下载1.0#Release- Initial Release展开版本: 1.0支持游戏: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 24w10a, 24w11a, 24w12a, 24w14potato, 1.20.5, 1.20.6类型:FabricQuiltRelease下载次数: 195全部版本
markdown_parsed
文章类型:收录
layui.use([\'form\'], function(){
var form = layui.form;
});
生成蛋 BYID 重定向 |
楼主
2025-8-10 19:25:01
回复(0)
收起回复
|