{
"forge_marker": 1,
"defaults": {
"custom": { "flip-v": true },
"model": "secrets_of_worlds:recumbent_stone.obj",
"textures": {
"#Material": "secrets_of_worlds:blocks/plants/stone_pebble"
}
},
"variants": {
"normal": [{}],
"inventory": [
{
"transform": {
//"transform": "forge:default-block",
"thirdperson_lefthand": {
"rotation": [ { "x": -90 }, { "y": 0 }, { "z": 0 } ],
"translation": [ 0, -0.1, 0.1 ],
"scale": 1.00
},
"thirdperson_righthand": {
"rotation": [ { "x": -90 }, { "y": 0 }, { "z": 0 } ],
"translation": [ 0, -0.1, 0.1 ],
"scale": 1.00
},
"gui": {
"rotation": [ { "x": -90 }, { "y": 0 }, { "z": -0 } ],
"translation": [ -0.2, -0.2, 0 ],
"scale": 1.00
},
"firstperson_righthand": {
"rotation": [ { "x": -90 }, { "y": 0 }, { "z": 0 } ],
"translation": [ 0, -0.1, 0 ],
"scale": 1.00
},
"firstperson_lefthand": {
"rotation": [ { "x": -90 }, { "y": 0 }, { "z": 0 } ],
"translation": [ 0, -0.1, 0 ],
"scale": 1.00
},
"ground": {
"rotation": [ { "x": -90 }, { "y": 0 }, { "z": 0 } ],
"scale": 1.00
}
}
}
],
"facing": {
"north": {},
"south": {},
"east": {"x": 90},
"west": {}
}
}
}
Модель#
После последних обновлений Forge для 1.12.2, произошли некоторые изменения в регистрации моделей для блоков и предметов. Для удобства напишем метод registryModel в нашем классе ItemsRegistry.
@SideOnly(Side.CLIENT)
private static void registryModel(Item item) {
final ResourceLocation regName = item.getRegistryName();// Не забываем, что getRegistryName может вернуть Null!
final ModelResourceLocation mrl = new ModelResourceLocation(regName, "inventory");
ModelBakery.registerItemVariants(item, mrl);// Регистрация вариантов предмета. Это нужно если мы хотим использовать подтипы предметов/блоков(см. статью подтипы)
ModelLoader.setCustomModelResourceLocation(item, 0, mrl);// Устанавливаем вариант модели для нашего предмета. Без регистрации варианта модели, сама модель не будет установлена для предмета/блока(см. статью подтипы)
}
Теперь пропишем в наш ранее созданный метод-обработчик registryModel(KEY). Всё! Наша модель для предмета KEY зарегистрирована! Далее перейдём к самой модели! Мы должны создать модель предмета, вы можете создать как плоскую модель(примером может послужить яблоко), так и объёмную модель.
Создадим файл key.json и перенесём его в папку по данному пути src/main/resources/assets/tut/models/item.
Пропишем такой код для плоской модели:
{
"parent": "item/generated",
"textures": {
"layer0": "tut:items/key"
}
}
можно, вотИли как?
public CustomItem() {
// Регистрируем модель предмета
ModelLoader.setCustomModelResourceLocation(this, 0, new ModelResourceLocation("your_mod_id:your_model_name", "inventory"));
}
слушай у тебя проблемы с пониманием как устроены ресурс паки (советую поизучать этот вопрос иначе долго ты здесь не пробудешь, я имею ввиду моддинг. Потому что, на форуме мало кто подскажет, тебе нужно самому изучать элементарные вопросы, на крайний случай есть ютуб, да там мало инфы и она крайне скудная, но получить базовые знания получится), я же сказал что блокстайт только для блока, и он просто для примера. тебе нужно создать моедел/итем/айди_предмета.json и уже в нем настраивать трансформblockstates делать?
ну я всю жизнь на 1.7.10 и выше не шагал, нашёл тутор Tutorial-Mod/src/main/resources/assets/tutorialmod/blockstates/tutorial_item.json at master · Wehavecookies56/Tutorial-Mod (obj модельку предмету добавляет) item в blockstates находится, вот и спрашиваюслушай у тебя проблемы с пониманием как устроены ресурс паки (советую поизучать этот вопрос иначе долго ты здесь не пробудешь, я имею ввиду моддинг. Потому что, на форуме мало кто подскажет, тебе нужно самому изучать элементарные вопросы, на крайний случай есть ютуб, да там мало инфы и она крайне скудная, но получить базовые знания получится), я же сказал что блокстайт только для блока, и он просто для примера. тебе нужно создать моедел/итем/айди_предмета.json и уже в нем настраивать трансформ