ID предмета как у самого minecraft

Версия Minecraft
1.20.4
API
Fabric
18
0
Как мне сделать мод который будет помещать предмет на равне со всеми ванильными предметами, к примеру не вот так: "item.modid.raw_diamond" а вот так: "item.minecraft.raw_diamond". Для аналогии с другими тремя: "item.minecraft.raw_gold", "item.minecraft.raw_iron", "item.minecraft.raw_copper". Также привествую любую помощь в вопросе создании текстур для блоков и предметов рудного алмаза и изумруда а также их рудных блоков.
 
Решение
Ну вы б оба хоть проверили самую банальную вещь. Регистрация итемов, блоков и т.д. работает в fabric также, как и в ванилле.
Иначе говоря,
public static final Block HAHA_LOL = Registry.register(BuiltInRegistries.BLOCK, "lol", new Block(BlockBehaviour.Properties.of()));
Добавляет блок с id minecraft:lol. Проверить можете через setblock.
18
0
Я тебе чётко написал: в конструктор BlockItem нужно запихать Block, затем ItemSettings. Порядок важен.

Если тебе нужен yarn - в доках fabric всё есть.
Ну обьясните подробно на основе моего кода, через доки я только что попробовал я может не понимаю но у меня ничего не получается все равно
 
1,524
138
280
Как я уже сказал: знать основы java обязательно для моддинга, без этого никак.

На скрине ошибка в одном: ты пытаешься создать конструктор из переменной. Вместо этого запихай переменную сразу в конструктор:
new BlockItem(RAW_EMERALD_BLOCK, new FabricItemSettings())
 
18
0
Можешь пожалуйста обьяснить подробно, я не понимаю как это вписывать, если я просто уберу переменную в самом начале будет много ошибок, и куда именно в какой файл писать у меня 2 файлика ModItems и ModBlocks
 
18
0
Как я уже сказал: знать основы java обязательно для моддинга, без этого никак.

На скрине ошибка в одном: ты пытаешься создать конструктор из переменной. Вместо этого запихай переменную сразу в конструктор:
new BlockItem(RAW_EMERALD_BLOCK, new FabricItemSettings())
Это же возможно? Я не понимаю почему вам сложно подробно расписать а не по частям где я даже не понимаю как его вписать
 
1,524
138
280
Blocks:
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() {}
   
   
}

Вообще, эти заготовки есть повсюду в инете.
Но, в любом случае, понадобится изучить основы java, хотя бы по этим видео, по хорошему - metanit. В идеале - месяца 3 погонять себя на различные мелкие обучающие проекты, типа того же калькулятора с граф. интерфейсом, различных пародий на будильники и всё в таком духе.
Отвечаю без пинга с расчётом на то, что тема отслеживается (при создании темы галочку надо было указать; сейчас это можно сделать в левом верхнем углу страницы) @Skel7890

Касательно того сложно или нет - здесь осуществляется поддержка мододелам от мододелов, но не обучение этому делу (за редким исключением). Если нужно непосредственно обучение - учебник есть сверху, ресурсы->туториалы, а также доки forge/neoforge/fabric. Проще говоря, кидать "всё готовенькое" здесь - жирнющий моветон.
 
18
0
Screenshot_3548.png
Вот мой код ModBlocks
Благодаря вам я смог создать предмет-блок для всех 3 блоков.
Но у меня есть проблема: если поставить в выживании блок лол то он ломается как ТНТ как я и хотел
но с остальными двумя блокам которые указаны в коде все иначе, они ломаются незеритовой киркой примерно как обсидиан а не как камень при этом их аналоги ведут себя как должны то же рудное железо ломается быстро в чем проблема?
 
Сверху