- 14
- 4
- 2
Здраствуйте! Делаю я мод, сделал предмет, сделал регистрацию моделей. И вот все верно, но при запуске не может найти json. Чтоже мешает?
Читал тут на форуме что у многих была такая проблема, единицы решили...
Использую я mdk2855 и intellij idea
Код:
Item Loader
RegistryHandlers
Proxy
IHasModel
Код внутри айтема
В папке recources тоже сделал все верно
assets > ib > models > item > snowball_gun.json
Вот код джейсона
Читал тут на форуме что у многих была такая проблема, единицы решили...
Это грустно? Это печально...
Использую я mdk2855 и intellij idea
Код:
Item Loader
Java:
package ru.mylllapa.load;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.item.Item;
import ru.mylllapa.items.ItemSnowballGun;
public class ItemLoader {
public static final List <Item> ITEMS = new ArrayList<Item>();
public static final Item SNOWBALL_GUN = new ItemSnowballGun("snowball_gun");
}
RegistryHandlers
Java:
package ru.mylllapa.load;
import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import ru.mylllapa.utils.IHasModel;
@Mod.EventBusSubscriber
public class RegistryHandlers {
@SubscribeEvent
public static void onItemRegister(RegistryEvent.Register<Item> event) {
event.getRegistry().registerAll(ItemLoader.ITEMS.toArray(new Item[0]));
}
@SubscribeEvent
public static void onModelRegister(ModelRegistryEvent event) {
for (Item item : ItemLoader.ITEMS)
{
if(item instanceof IHasModel)
{
((IHasModel)item).registerModels();
}
}
}
}
Proxy
Java:
package ru.mylllapa.proxy;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader;
public class ClientProxy extends CommonProxy {
public void registerItemRenderer(Item item, int meta, String id) {
ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), id));
}
}
IHasModel
Java:
package ru.mylllapa.utils;
public interface IHasModel {
public void registerModels();
}
Код внутри айтема
Java:
@Override
public void registerModels() {
ib.proxy.registerItemRenderer(this, 0, "inventory");
}
В папке recources тоже сделал все верно
assets > ib > models > item > snowball_gun.json
Вот код джейсона
Java:
{
"parent": "item/generated",
"textures": {
"layer0": "ib:items/snowball_gun
}
}
- Краш-лог
Caused by: java.lang.IllegalArgumentException
Caused by: java.io.FileNotFoundException: ib:models/item/snowball_gun.json
Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
Краш-лог:
Caused by: java.lang.IllegalArgumentException
Caused by: java.io.FileNotFoundException: ib:models/item/snowball_gun.json
Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException