Семена

Версия Minecraft
1.17.1
API
Forge
13
1
1
хочу создать новые растения по типу пшеницы на новую версию 1.17.1
прошлая версия кода не работает
 
Решение
сделал класс WoodBlock

Java:
public class WoodBlock extends CropBlock{



    private static final VoxelShape[] SHAPE_BY_AGE = new VoxelShape[] {
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 2.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 3.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 4.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 5.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 6.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 7.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 8.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 9.0D, 16.0D)
    };
    public WoodBlock(Properties p_52247_) {super(p_52247_);
    }

    @Override
    protected ItemLike...
7,099
324
1,510
Как на счёт поделиться?
 
13
1
1
сделал класс WoodBlock

Java:
public class WoodBlock extends CropBlock{



    private static final VoxelShape[] SHAPE_BY_AGE = new VoxelShape[] {
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 2.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 3.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 4.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 5.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 6.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 7.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 8.0D, 16.0D),
            Block.box(0.0D, 0.0D, 0.0D, 16.0D, 9.0D, 16.0D)
    };
    public WoodBlock(Properties p_52247_) {super(p_52247_);
    }

    @Override
    protected ItemLike getBaseSeedId() {
        return ItemList.WOOD_CROP.get();

    }

    public VoxelShape getShape(BlockState p_51330_, BlockGetter p_51331_, BlockPos p_51332_, CollisionContext p_51333_) {
        return SHAPE_BY_AGE[(Integer)p_51330_.getValue(this.getAgeProperty())];
    }

}

потом инициализировал предмет семена и блок

семена

Java:
public static final RegistryObject<Item> WOOD_CROP = ITEMS.register("wood_crop",
        () -> new BlockItem(BlockList.WOOD_BUSH.get(), new Item.Properties().tab(CUSTOMFANTASY_GROUP)));

блок

Java:
public static final RegistryObject<Block> WOOD_BUSH = NO_ITEM_BLOCK.register("wood_crop",
        () -> new MysticalDustBlock(Block.Properties.of(Material.PLANT)
                .noCollission()
                .randomTicks()
                .sound(SoundType.CROP)));

дальше в главный класс мода добавил строчку

Java:
private void clientSetup(final FMLClientSetupEvent event)

{

    ItemBlockRenderTypes.setRenderLayer(BlockList.WOOD_BUSH.get(), RenderType.cutout());

}

ну и всё, всё работает
 
Сверху