锤子核心

锤子核心

所有由DragonForge团队制作的模组所使用的库。

一个实用模组,包含许多模组真正有用的代码。

本库提供:

  • 简单、基于注解的内容注册。
    • 对于方块,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 成为赞助人。