首页 > 解决方案 > 在给定的世界和 BlockPos 中放置一个块

问题描述

所以我正在开发我的第一个模组,我想出了一个实际上有两个方块高的方块。我成功地实现了它,并且块本身工作得很好。唯一的问题是街区的上半部分有一个非常明显的阴影,我无法摆脱。我的想法是将 on 块分成两部分,当放置底部块时,它会自动将上半部分放在自身顶部。问题是我似乎无法找到一种方法来放置代码中的块。

问候, f4ls3

标签: javaminecraftminecraft-forge

解决方案


在 Minecraft 1.11.2 之后我没有修改任何东西,但是有两种方法可以为那个版本放置块。

简单的:

获取您所在世界的 MinecraftServer 的引用并执行

    server.commandManager.executeCommand(server, "setblock x y z blockname");

或者

更难

定义一个方块状态:

    IBlockState block = ForgeRegistries.BLOCKS.getValue( new ResourceLocation("minecraft", theblockname ) ).getDefaultState();

对于修改块:

    IBlockState block = ForgeRegistries.BLOCKS.getValue( new ResourceLocation("yourmodsname", theblockname ) ).getDefaultState();

    

然后参考您所在的世界并执行以下操作:

    world.setBlockState( new BlockPos(x,y,z), block);

推荐阅读