当前位置: 首页 > 知识库问答 >
问题:

Minecraft锻造块创建1.16。5.

岳锦
2023-03-14

我正在制作一个锻造模组,目前正在试块。我不能fid任何关于如何创建块的文档,我正在观看的教程不起作用。这是我的代码:

public class ModBlocks {
    public static final RegistryObject<Block> SILVER_ORE = register("silver_ore", () ->
            new Block(new AbstractBlock.Properties.create(Material.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE)));

    static void register() {}

    private static <T extends Block> RegistryObject<T> registerNoItem(String name, Supplier<T> block) {
        return Registration.BLOCKS.register(name, block);
    }

    private static <T extends Block> RegistryObject<T> register(String name, Supplier<T> block) {
        RegistryObject<T>  ret = registerNoItem(name, block);
        Registration.ITEMS.register(name, () -> new BlockItem(ret.get(), new Item.Properties().tab(ItemGroup.TAB_BUILDING_BLOCKS)));
    }
}

问题在于

 new Block(new AbstractBlock.Properties.create(Material.STONE).requiresCorrectToolForDrops().sound(SoundType.STONE)));

线

提前感谢!

共有3个答案

冯庆
2023-03-14

这是映射。抽象块。财产。create位于MCP映射和抽象块中。财产。of位于默认的“官方”映射中。看见https://minecraft.fandom.com/wiki/Tutorials/Creating_Forge_mods关于如何更改映射的步骤3-1/2。

您可以查看其他块,以了解它们在添加到您的开发环境中的反编译源代码中是如何做到这一点的。结帐网。我的世界。块阻碍。JAVA

慕容雅珺
2023-03-14
匿名用户

问题是,您正在调用new AbstractBlock。Properties.create(/*...*/),编译器运行:

  1. new,所以我希望一个构造函数
  2. 有一个AbstractBlock.的东西,所以接下来必须有一个嵌套类型
  3. 属性。一些东西,所以接下来必须有一个嵌套类型
  4. 创建(...)所以它必须是构造函数,并且创建必须是嵌套类型
  5. 没有名为AbstractBlock的类型。Properties.create所以肯定有错误

要解决这个问题,只需在AbstractBlock之前删除new,您不需要它。它被create函数替换,该函数是静态的,并返回新对象本身。

柯苗宣
2023-03-14

创建方法不再是一个东西了。你必须这样使用供应商:
()-

 类似资料:
  • 我遇到了一个项目块渲染问题,因为当我放置块时,它会正确渲染,但当我拿着它时,它缺少纹理/模型。 我看到的图片在链接中:http://i.stack.imgur.com/atq1L.png 我已经检查了很多次,控制台中没有错误消息,JSON格式似乎没有任何问题,代码中似乎也没有问题。 *顺便说一下,block类的代码并不太重要,因为它只是一个扩展*block的类。类,然后给super添加材料。石 以

  • 我正在创建一个带有自定义项目的mod,我想让该项目可穿戴,但我不知道如何。这是我的Mod项目代码。

  • 我在minecraft中创建了一个新块,但在1.12中,加载纹理时出现了一个新错误 我的资产{MODID}.blockstates 我的资产{MODID}.models.block 和我的资产{MODID}.models.item

  • 我根本无法从eclipse获得要运行的测试构建。我使用java openjdk版本“1.8.0_242”在windows 10上运行 我已经按照各种教程一步一步地,但不断得到这个错误。我还尝试运行一个我根本没有编辑过的新版本,它似乎会因为同一个问题而崩溃。 最新的事故日志。 我的build.gradle 非常感谢您的帮助

  • 锻造与财富是一款融合了锻造装备、地下城冒险诸多元素的游戏。

  • 我正在做一个mod,我得到了一个错误(不是的),我已经试着搜索它,但我想要一个具体的问题的答案,因为我不是很擅长这一点。我在我的块类中得到了这个错误。 未为默认构造函数定义隐式超级构造函数块()。必须定义显式构造函数

  • 我对改装《我的世界》是新手,我想知道如何改变暴民产卵率。例如,假设我们想产生大量的Enderman。 到目前为止,我已经在: 这意味着在大多数生物群落中,尽管很少产卵(10是体重,爬行动物和蜘蛛有100)。 我知道这个然后被到,等。我的结论是,我需要改变生物群落以改变产卵率。 我可以使用或。我在这里看到两种方法: 完全替换生物群落图。不幸的是,它的方法是,因此我无法添加新的生物群落来取代现有的生物

  • 我正在Minecraft 1.16.5 forge中制作一个mod 我有一个用于制作的瓷砖实体,但我不希望它每次都制作东西。 为了实现这一点,我添加了一个按钮,每当服务器需要制作时,它都会向服务器发送一个包。 我不知道我在这一点上做错了什么,我无法在minecraft代码中找到问题的原因,因为异常堆栈没有引用我的任何类。 我是相对较新的minecraft moding和java一般也不是很有帮助。