搜索历史
清空
暂无搜索历史
论坛热搜
1
【MC整合包发布】乌托邦探险之旅3.2
热
3
[1.6.4]上古老物 冒险者传说 by WhiteSword
新
5
[转载]洛心斗罗-福利|公会据点战|武魂||抽奖|最终版
2
[1.12.2]Jenny — 有趣的模拟女友模组|珍妮模组
热
4
幻虚斗罗V1.5[炫酷魂环][高级魂技][全模型贴图覆盖][超吸金]
6
[1.7.10] [HQM] [Mercury landing]水星迫降——在未知的世界中挣扎
登陆 注册 QQ登陆
快捷导航
查看: 18|回复: 0

[模组分享] 生成蛋 BYID 重定向 (Spawn Egg BYID Redirect)-MOD模组

[复制链接]

5159

主题

5

回帖

6129

积分

龙❁妻

Rank: 8Rank: 8

经验
6129 EP
金粒
928 粒
绿宝石
20 块
爱心
0 点
发表于 2025-8-10 19:25:01 | 显示全部楼层 |阅读模式
生成蛋 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[![Rent a server discount](https://www.bisecthosting.com/partners/custom-banners/ba99da02-fd57-4ccc-89a5-9a5bba0922d2.webp)](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[![Rent a server discount](https://www.bisecthosting.com/partners/custom-banners/ba99da02-fd57-4ccc-89a5-9a5bba0922d2.webp)](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[![Rent a server discount](https://www.bisecthosting.com/partners/custom-banners/ba99da02-fd57-4ccc-89a5-9a5bba0922d2.webp)](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[![Rent a server discount](https://www.bisecthosting.com/partners/custom-banners/ba99da02-fd57-4ccc-89a5-9a5bba0922d2.webp)](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 回复 收起回复
小僵尸论坛感谢有你~
回复 论坛版权

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 手机动态码快速登录

本版积分规则



介绍

我的世界(Minecraft)小僵尸论坛
收录了来自各地的我的世界(MC)爱好者们的各种资源

须知: 切勿滥用举报,任何与举报相关的信息必须属实!

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

官方

新浪微博 腾讯微博 微信公众号 投稿规则 版权声明 捐助我们

官方QQ①群: 291907844 (点击加群)
官方QQ②群: 421312192
官方QQ③群: 528726532

我的世界(Minecraft)小僵尸论坛

新会员

QQ|Archiver|手机版|小黑屋|Minecraft(我的世界)小僵尸论坛 |网站地图

GMT+8, 2025-9-25 10:36 , Processed in 0.216251 second(s), 51 queries .

快速回复 返回顶部 返回列表