package com.projectreddog.machinemod.model; import java.io.IOException; import java.util.HashMap; import com.projectreddog.machinemod.entity.EntitySemiTractor; import com.projectreddog.machinemod.item.trailer.ItemSemiTrailerCargo; import com.projectreddog.machinemod.item.trailer.ItemSemiTrailerFlatBed; import com.projectreddog.machinemod.item.trailer.ItemSemiTrailerLivestock; import com.projectreddog.machinemod.item.trailer.ItemSemiTrailerTanker; import com.projectreddog.machinemod.reference.Reference; import com.projectreddog.machinemod.utility.MachineModModelHelper; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.model.obj.OBJLoader; import net.minecraftforge.client.model.obj.OBJModel; public class ModelSemiTractor extends ModelBase { // fields public OBJModel objModel; private HashMap<String, IBakedModel> modelParts; public ModelSemiTractor() { try { objModel = (OBJModel) OBJLoader.INSTANCE.loadModel(new ResourceLocation(Reference.MOD_ID.toLowerCase(), "models/semitractor.obj")); modelParts = MachineModModelHelper.getModelsForGroups(objModel); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); // myModel.renderAll(); this.renderGroupObject("SemiTractor_Cube"); EntitySemiTractor eDT = ((EntitySemiTractor) entity); ItemStack is = eDT.getStackInSlot(0); if (is != null) { if (is.getItem() instanceof ItemSemiTrailerCargo) { this.renderGroupObject("SemiTrailer_Cube.006"); } else if (is.getItem() instanceof ItemSemiTrailerLivestock) { this.renderGroupObject("AnimalTrailer_Cube.003"); } else if (is.getItem() instanceof ItemSemiTrailerTanker) { this.renderGroupObject("TankerTailer_Cube.002"); } else if (is.getItem() instanceof ItemSemiTrailerFlatBed) { this.renderGroupObject("FlatBedTrailer_Cube.001"); } } // // // this.renderGroupObject("TankerTailer_Cube.002"); // this.renderGroupObject("FlatBedTrailer_Cube.001"); } public void renderGroupObject(String groupName) { MachineModModelHelper.renderBakedModel(modelParts.get(groupName)); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity e) { super.setRotationAngles(f, f1, f2, f3, f4, f5, e); } protected ResourceLocation getTexture() { return new ResourceLocation("machinemod", Reference.MODEL_SEMI_TEXTURE_LOCATION); } }