package ru.nord.client.events; import net.minecraft.client.resources.IResourceManager; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.ICustomModelLoader; import net.minecraftforge.client.model.IModel; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import ru.nord.client.lib.models.iModel.ModelEnergyCable; @SideOnly(Side.CLIENT) public class NordModelLoader implements ICustomModelLoader { private IResourceManager resourceManager; public final String SMART_MODEL_RESOURCE_LOCATION = "models/block/builtin/"; @Override public void onResourceManagerReload(IResourceManager resourceManager) { this.resourceManager = resourceManager; } @Override public boolean accepts(ResourceLocation resourceLocation) { return resourceLocation.getResourceDomain().equals("nord") && resourceLocation.getResourcePath().startsWith(SMART_MODEL_RESOURCE_LOCATION); } @Override public IModel loadModel(ResourceLocation l) { String resourcePath = l.getResourcePath(); String name = l.getResourcePath().substring(SMART_MODEL_RESOURCE_LOCATION.length()); if(name.equals("pipe_energy")) { return new ModelEnergyCable(resourceManager); } throw new RuntimeException("A builtin model '" + name + "' is not defined."); } }