После успешного создания предмета, имеющего текстуру, в последние часы я пытаюсь заставить текстуру работать для блоков (интерпретируя мое сообщение об ошибке, это загрузка модели, с которой я борюсь)
Я следовал за кубикамиучебник (https://cubicoder.wordpress.com/2018/06/20/basic-block/) для прогресса на данный момент.Поскольку его решение по созданию блоков выдает ошибку, я проверил другие учебники.Хотя мой журнал ошибок настаивает на том, что проблема заключается в загрузке модели (в частности, загрузке варианта #normal), эта часть точно такая же, как в каждом учебном пособии, которое я смог найти.
Что еще может быть триггером для такогоисключение?
Мой полный код проекта можно найти здесь: https://github.com/harlekintiger/modding
Это просто базовая настройка, один элемент и этот сломанный блок.
Наиболее важными частями являются следующие:
"basic_block.json", расположенный в "resources / assets / MODID / blockstate":
{
"forge_marker": 1,
"defaults": {
"model": "firstforgemod:basic_block"
},
"variants": {
"normal": [{}],
"inventory": [{}]
}
}
"basic_block.json "находится в" ресурсах / активах / MODID / models / block ":
{
"parent": "block/cube_all",
"textures": {
"all": "firstforgemod:blocks/basic_block"
}
}
Класс фактического блока:
public class BlockBasic extends Block{
public BlockBasic(Material material, String unlocalizedName, String registryName){
this(material, SoundType.STONE, unlocalizedName, registryName);
}
public BlockBasic(Material material, SoundType sound, String unlocalizedName, String registryName){
super(material);
setUnlocalizedName(FirstForgeMod.MODID + "." + unlocalizedName);
setRegistryName(registryName);
setCreativeTab(FirstForgeMod.TUTORIAL_TAB);
setSoundType(sound);
}
}
Класс для сбора блоков:
@ObjectHolder(FirstForgeMod.MODID)
public class TutorialBlocks {
public static final Block BASIC_BLOCK = null;
}
Класс ModelRegistryHandler: (по-моему, здесь чего-то не хватает)
@EventBusSubscriber(Side.CLIENT)
public class ModelRegistryHandler {
@SubscribeEvent
public static void registerModels(ModelRegistryEvent event){
registerModel(TutorialItems.BASIC_ITEM);
registerModel(Item.getItemFromBlock(TutorialBlocks.BASIC_BLOCK));
}
private static void registerModel(Item item) {
ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
}
}
Класс RegistryHandler:
@EventBusSubscriber
public class RegistryHandler {
@SubscribeEvent
public static void registerBlocks(Register<Block> event){
final Block[] blocks ={
new BlockBasic(Material.ROCK, "blockBasic", "basic_block")
};
event.getRegistry().registerAll(blocks);
}
@SubscribeEvent
public static void registerItems(Register<Item> event){
final Item[] items = {
new ItemBasic("itemBasic", "basic_item")
};
final Item[] itemBlocks = {
new ItemBlock(TutorialBlocks.BASIC_BLOCK).setRegistryName(TutorialBlocks.BASIC_BLOCK.getRegistryName())
};
event.getRegistry().registerAll(items);
event.getRegistry().registerAll(itemBlocks);
}
}
Файл журнала запуска Minecraft (ссообщение об ошибке) и закрытие:
https://pastebin.com/Ff7NuFSk
Что я получаю: Игра запускается, и в игре можно разместить блок, но он полностью не закреплен (отсутствует текстурный текст) в обоихмир и инвентарь.