public class Blocks {
//Регистрация блока
public static final Block MY_BLOCK = Registry.register(Registries.BLOCK, "rand_block", new Block(...));
//Регистрация предмета
public static final Item MY_BLOCK_ITEM = Registry.register(Registries.ITEM, "rand_block", new BlockItem(MY_BLOCK, new FabricItemSettings()));
//Объединение всего этого дела
/*
name - id блока
block - непосредственно блок
*/
private static Block register(String name, Block block) {
//Регистрируем блок, записываем его в переменную (для дальнейшего возвращения)
Block registered = Registry.register(Registries.BLOCK, name, block);
//Регистрируем предмет блока, запихиваем зарегистрированный блок.
//Здесь лучше использовать не Registry, а метод, созданный для регистрации предметов в классе с предметами.
//Но и так сойдёт.
Item item = Registry.register(Registries.ITEM, name,
new BlockItem(registered, new FabricItemSettings()));
//Далее здесь можно добавить возможность добавления предмета на вкладку креатива, различные эффекты, логирование и т.д.
//...
//Возвращаем зарегистрированный блок - для дальнейшего использования, скажем, в миксинах
return registered;
}
//Пример использования метода выше
public static final Block RAW_PIGSTEP = register("raw_pigstep", new Block(...));
//Метод вызвать в гл. классе мода
public static void init() {}
}