跳到正文

HammerLib

DragonForge 团队所有模组使用的前置库。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

实用模组,包含对相当多模组都非常有用的代码。

此前置库提供:

  • 简单、基于注解的内容注册。
    • 对于方块,HammerLib 会自动注册 BlockItem。如果你想禁用 BlockItem,请根据你想要实现的目标,让你的方块实现 INoItemBlock、ICustomBlockItem 或 ICreativeTabBlock。
    • 对于 BlockEntity 渲染,自定义 BlockEntityType 常量可以附加 @TileRenderer,指向一个 IBESR<Tile> 类。
  • 旧式“key=value”格式的语言解析器,而非 JSON(文件名和格式与旧游戏版本相同,但你需要在模组的构造函数中调用 LanguageAdapter.registerMod(MOD_ID); 才能完成注册。
  • 模组来源检查,允许你检查模组是否从广告软件/恶意软件网站下载,并向用户发出警告。
  • 基于 Java 的配方注册,使用简单的 RegisterRecipesEvent,运行在 HammerLib.EVENT_BUS 上,让你作为开发者可以像以前一样用代码注册合成配方。
  • 基于 Java 的标签填充,使用 BuildTagsEvent,运行在 HammerLib.EVENT_BUS 上。
  • 大幅简化的网络通信,使用 Network 类以及 IPacket + INBTPacket,实现无瑕且直观的数据包代码开发。
  • 方块采集的包装器,已迁移到标签——BlockHarvestAdapter
  • 基于字段的 NBT 序列化,这样你就不会打错字或忘记编写序列化/反序列化代码。
  • 经典的 TileEntity 包装器,包含 TileSyncable 和 TileSyncableTickable,允许同步初始状态,以及注册将被独立同步的属性。
  • 用于 BlockEntity 的 ContainerAPI,允许完全避免 MenuType<?>(无需注册屏幕提供器、菜单类型等)
  • ItemStack -> Color[] API,使用 TexturePixelGetter.getAllColors
  • 基于注解的自定义模型加载器(在 IUnbakedGeometry<SELF> 上使用 @LoadUnbakedGeometry),通过制作通用包装器来避免使用几何加载器类。
  • ……以及更多内容!

还有大量为模组开发者准备的丰富功能。

还不够?你可以直接在  GitHub 上查看源码,免费!

许可:

  • 你可以在你的整合包中使用此模组。
  • 是的,你可以制作一个需要并依赖于 HammerLib 的模组,但不得内嵌它!
  • 未经提供 CurseForge/Modrinth 下载链接并获得我的许可(Discord 上的  Zeitheron),你不得将此模组转载到其他网站。
  • 你不得将此模组(或 DragonForge 团队的任何其他模组)包含在你自己的模组中。不过,制作附属模组是允许的,但最好能友好地私信告知。

注意:

  • 唯一受支持的 Minecraft 版本是此模组所支持的最新版本。请勿要求降级!

加入 Discord 服务器并在 Twitter 上关注 Zeitheron!

如果你想支持我的工作,可以通过  Patreon 成为赞助者。 

评论

登录后评论和评分

Zeith 的其他作品

查看全部 →