Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.machinemuse.powersuits.client.render.modelspec;
- import net.machinemuse.general.NBTTagAccessor;
- import net.machinemuse.numina.geometry.Colour;
- import net.machinemuse.numina.render.MuseTextureUtils;
- import net.machinemuse.powersuits.client.render.item.ArmorModelInstance;
- import net.machinemuse.powersuits.client.render.item.IArmorModel;
- import net.minecraft.client.model.ModelBase;
- import net.minecraft.client.model.ModelRenderer;
- import net.minecraft.client.renderer.OpenGlHelper;
- import net.minecraft.client.renderer.RenderHelper;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraftforge.client.model.obj.WavefrontObject;
- import org.lwjgl.opengl.GL11;
- public class RenderPart
- extends ModelRenderer
- {
- ModelRenderer parent;
- public RenderPart(ModelBase base, ModelRenderer parent)
- {
- super(base);
- this.parent = parent;
- }
- public void func_78785_a(float scale)
- {
- NBTTagCompound renderSpec = ((IArmorModel)ArmorModelInstance.getInstance()).getRenderSpec();
- int[] colours = renderSpec.func_74759_k("colours");
- for (NBTTagCompound nbt : NBTTagAccessor.getValues(renderSpec))
- {
- ModelPartSpec part = ModelRegistry.getInstance().getPart(nbt);
- if ((part != null) &&
- (part.slot == ((IArmorModel)ArmorModelInstance.getInstance()).getVisibleSection()) && (part.morph.apply(ArmorModelInstance.getInstance()) == this.parent))
- {
- float prevBrightX = OpenGlHelper.lastBrightnessX;
- float prevBrightY = OpenGlHelper.lastBrightnessY;
- if (part.getGlow(nbt))
- {
- GL11.glPushAttrib(64);
- RenderHelper.func_74518_a();
- OpenGlHelper.func_77475_a(OpenGlHelper.field_77476_b, 240.0F, 240.0F);
- }
- GL11.glPushMatrix();
- GL11.glScaled(scale, scale, scale);
- MuseTextureUtils.bindTexture(part.getTexture(nbt));
- applyTransform();
- int ix = part.getColourIndex(nbt);
- if ((ix < colours.length) && (ix >= 0)) {
- Colour.doGLByInt(colours[ix]);
- }
- part.modelSpec.applyOffsetAndRotation();
- part.modelSpec.model.renderPart(part.partName);
- Colour.WHITE.doGL();
- GL11.glPopMatrix();
- if (part.getGlow(nbt))
- {
- OpenGlHelper.func_77475_a(OpenGlHelper.field_77476_b, prevBrightX, prevBrightY);
- GL11.glPopAttrib();
- }
- }
- }
- }
- private void applyTransform()
- {
- GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F);
- GL11.glTranslated(this.field_82906_o, this.field_82908_p - 26.0F, this.field_82907_q);
- }
- }
Add Comment
Please, Sign In to add comment