Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.railsofwar.row.common.client.util;
- import com.google.common.collect.ImmutableMap;
- import net.minecraft.client.renderer.Tessellator;
- import net.minecraft.client.renderer.VertexBuffer;
- import net.minecraft.client.renderer.block.model.BakedQuad;
- import net.minecraft.client.renderer.block.model.IBakedModel;
- import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
- import net.minecraft.util.ResourceLocation;
- import net.minecraftforge.client.model.*;
- import net.minecraftforge.client.model.pipeline.LightUtil;
- import net.minecraftforge.common.model.IModelState;
- import org.lwjgl.opengl.GL11;
- import javax.annotation.Nullable;
- public class UtilModels{
- @Nullable
- public static IModel loadModel(ResourceLocation modelLocation, String textureLocation){
- try{
- return ((IRetexturableModel) ((IModelCustomData) ModelLoaderRegistry.getModel(modelLocation))
- .process(ImmutableMap.of("flip-v", "true")))
- .retexture(ImmutableMap.of("#None", textureLocation));
- }catch(Exception e){
- e.printStackTrace();
- }
- return null;
- }
- public static IModel textureModel(IModel model, String material, String textureLocation){
- return ((IRetexturableModel) model).retexture(ImmutableMap.of(material, textureLocation));
- }
- public static IBakedModel bakeModel(IModel model, IModelState state){
- return model.bake(state, DefaultVertexFormats.ITEM, ModelLoader.defaultTextureGetter());
- }
- public static void renderBakedModel(IBakedModel model){
- Tessellator tessellator = Tessellator.getInstance();
- VertexBuffer renderer = tessellator.getBuffer();
- renderer.begin(GL11.GL_QUADS, DefaultVertexFormats.ITEM);
- for(BakedQuad bakedquad : model.getQuads(null, null, 0))
- LightUtil.renderQuadColor(renderer, bakedquad, 0xFFFFFFFF);
- tessellator.draw();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement