diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-05-24 05:10:32 +1000 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-05-24 05:10:32 +1000 |
commit | 7a632048aae20cb62470adc6be0700f092f3893f (patch) | |
tree | fb14c0c37338bc5e9d5387fd59dadc670ffe8ff7 /src/Java/gtPlusPlus/core/client/renderer | |
parent | 41e94c991ba39a7a466b67a13f346461b26ce3c1 (diff) | |
download | GT5-Unofficial-7a632048aae20cb62470adc6be0700f092f3893f.tar.gz GT5-Unofficial-7a632048aae20cb62470adc6be0700f092f3893f.tar.bz2 GT5-Unofficial-7a632048aae20cb62470adc6be0700f092f3893f.zip |
+ Added Giant Chicken.
+ Added Big Eggs.
- Removed Segment Analytics entirely.
Diffstat (limited to 'src/Java/gtPlusPlus/core/client/renderer')
-rw-r--r-- | src/Java/gtPlusPlus/core/client/renderer/RenderGiantChicken.java | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/client/renderer/RenderGiantChicken.java b/src/Java/gtPlusPlus/core/client/renderer/RenderGiantChicken.java new file mode 100644 index 0000000000..b3d1ce21fc --- /dev/null +++ b/src/Java/gtPlusPlus/core/client/renderer/RenderGiantChicken.java @@ -0,0 +1,116 @@ +package gtPlusPlus.core.client.renderer; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.entity.RenderChicken; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.passive.EntityChicken; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; + +import gtPlusPlus.core.util.reflect.ReflectionUtils; + +@SideOnly(Side.CLIENT) +public class RenderGiantChicken extends RenderChicken { + + /** + * Fancy reflective handling of nabbing the original chicken texture object, should save reload the texture to memory. :) + */ + private static final ResourceLocation chickenTexturesEx; + static { + ResourceLocation mChicken; + try { + mChicken = (ResourceLocation) ReflectionUtils.getField(RenderGiantChicken.class, "chickenTextures").get(null); + } + catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) { + mChicken = new ResourceLocation("textures/entity/chicken.png"); + } + chickenTexturesEx = mChicken; + } + + public RenderGiantChicken(ModelBase p_i1252_1_, float p_i1252_2_) + { + super(p_i1252_1_, p_i1252_2_); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then + * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic + * (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1, + * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. + */ + public void doRender(EntityChicken p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) + { + super.doRender((EntityLiving)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + /** + * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. + */ + protected ResourceLocation getEntityTexture(EntityChicken p_110775_1_) + { + return chickenTexturesEx; + } + + /** + * Defines what float the third param in setRotationAngles of ModelBase is + */ + protected float handleRotationFloat(EntityChicken p_77044_1_, float p_77044_2_) + { + float f1 = p_77044_1_.field_70888_h + (p_77044_1_.field_70886_e - p_77044_1_.field_70888_h) * p_77044_2_; + float f2 = p_77044_1_.field_70884_g + (p_77044_1_.destPos - p_77044_1_.field_70884_g) * p_77044_2_; + return (MathHelper.sin(f1) + 1.0F) * f2; + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then + * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic + * (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1, + * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. + */ + public void doRender(EntityLiving p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) + { + this.doRender((EntityChicken)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + /** + * Defines what float the third param in setRotationAngles of ModelBase is + */ + protected float handleRotationFloat(EntityLivingBase p_77044_1_, float p_77044_2_) + { + return this.handleRotationFloat((EntityChicken)p_77044_1_, p_77044_2_); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then + * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic + * (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1, + * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. + */ + public void doRender(EntityLivingBase p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) + { + this.doRender((EntityChicken)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } + + /** + * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. + */ + protected ResourceLocation getEntityTexture(Entity p_110775_1_) + { + return this.getEntityTexture((EntityChicken)p_110775_1_); + } + + /** + * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then + * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic + * (Render<T extends Entity) and this method has signature public void func_76986_a(T entity, double d, double d1, + * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that. + */ + public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) + { + this.doRender((EntityChicken)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); + } +}
\ No newline at end of file |