我正在制作一个自定义的两块长模型,名为“littleguys:operating_table”,我看了教程,使它在放置时面向我想要的方向。我在这里制作了一个自定义的OperatingTable类:
package com.soliid.littleguys.blocks;
import net.minecraft.block.*;
import net.minecraft.block.material.Material;
import net.minecraft.item.BlockItemUseContext;
import net.minecraft.state.StateContainer;
import net.minecraftforge.common.ToolType;
public class OperatingTable extends HorizontalBlock
{
public OperatingTable()
{
super(AbstractBlock.Properties.of(Material.STONE)
.harvestLevel(1)
.harvestTool(ToolType.PICKAXE)
.sound(SoundType.STONE)
.requiresCorrectToolForDrops()
.strength(3.5f, 4.0f)
);
}
@Override
protected void fillStateContainer (StateContainer.Builder<Block, BlockState> builder)
{
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockItemUseContext context) {
return this.getDefaultState().with(FACING, context.getPlacementHorizontalFacing().getOpposite());
}
}
@Override给了我一个读取Method does not override method from its superclass
的错误,getDefaultState()给了我Cannot resolve method 'getDefaultState' in 'OperatingTable'
,getPlacementHorizontalFacing()给了我Cannot resolve method 'getPlacementHorizontalFacing' in 'BlockItemUseContext'
。
我现在意识到这些方法不在OperatingTables的超类(HorizontalBlock和Block)中,但我想知道现在使用了哪些方法。在RegistryObject<Block> OPERATING_TABLE
或RegistryObject<Item> OPERATING_TABLE_ITEM
的注册表中没有错误。
这堂课还没有完成,但我无法继续,直到我解决了错误。
3条答案
按热度按时间eoigrqb61#
有几种可能性,但大多数情况下是缓存问题。请尝试使缓存无效并重新启动IntelliJ。如果问题仍然存在,请手动同步Gradle项目。
mrwjdhj32#
对于1.16.5,您必须使用
py49o6xq3#
在build.gradle中,在第34行,
mappings
被定义为channel: 'official', version: '1.16.5'
。这应该更改为channel: 'snapshot', version: '[snapshot version]'
。我使用的版本是'20210309-1.16.5'
。然后,在Terminal中使用gradlew genIntellijRuns
重建gradle。