棒棒糖lol
就像Timber!一样,只是覆盖原来的方块成为自己MOD的物品而不改变物品的任何属性

纪华裕
可以使用mixin直接修改原版的物品mixin的仓库
但是,怎么把物品的所属模组改成自己的模组,可能需要通过一些方法修改掉该物品的私有字段registryName。

runckey
神乎其神,干得漂亮

3TUSK
本帖最后由 u.s.knowledge 于 2019-2-4 05:50 编辑

假定楼主是在 1.12.2 的 Minecraft 环境下。

直接注册与原版注册名相同的物品。比如说原版钻石的注册名是 minecraft:diamond,那我要覆盖钻石的话就是:

  1. @SubscribeEvent
  2. public static void itemRegistration(RegistryEvent.Register<Item> event) {
  3.     event.getRegistry().register(new Item().setRegistryName("minecraft:diamond"));
  4. }
复制代码

Forge 会因此产生一行警告,可以忽略。
类似的操作可以应用在原版方块、药水、附魔、实体、音效、生物群系和村民职业等的注册上(简单来说就是所有必须通过 `RegistryEvent.Register` 注册的东西都可以这样覆盖)。
类似的操作也可以覆盖任意其他 Mod 的物品/方块/药水/附魔/实体/音效/生物群系和村民职业等,前提是知道目标对象的注册名。

第一页 上一页 下一页 最后一页