From 35b9c74e65eb65b109c5081587efc2e8e059e59e Mon Sep 17 00:00:00 2001 From: Matt Caughey Date: Thu, 7 Nov 2013 13:05:04 -0500 Subject: [PATCH] Added bird model and texture --- .../biomes/BiomeDecoratorBOP.java | 2 +- .../entities/models/ModelBird.java | 125 ++++++++++++++++++ .../biomesoplenty/textures/mobs/bird.png | Bin 0 -> 2304 bytes 3 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 common/biomesoplenty/entities/models/ModelBird.java create mode 100644 resources/assets/biomesoplenty/textures/mobs/bird.png diff --git a/common/biomesoplenty/biomes/BiomeDecoratorBOP.java b/common/biomesoplenty/biomes/BiomeDecoratorBOP.java index 8583ccbba..19d67faa2 100644 --- a/common/biomesoplenty/biomes/BiomeDecoratorBOP.java +++ b/common/biomesoplenty/biomes/BiomeDecoratorBOP.java @@ -650,7 +650,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator redwoodShrubsPerChunk = 0; koruPerChunk = 0; waspHivesPerChunk = 0; - rootsPerChunk = 7; + rootsPerChunk = 9; generateLakes = true; generateAsh = false; generateMycelium = false; diff --git a/common/biomesoplenty/entities/models/ModelBird.java b/common/biomesoplenty/entities/models/ModelBird.java new file mode 100644 index 000000000..dbc3fffea --- /dev/null +++ b/common/biomesoplenty/entities/models/ModelBird.java @@ -0,0 +1,125 @@ +package biomesoplenty.entities.models; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.util.MathHelper; + +public class ModelBird extends ModelBase +{ + //fields + ModelRenderer Body; + ModelRenderer Stomach; + ModelRenderer Head; + ModelRenderer Beak; + ModelRenderer TuftBottom; + ModelRenderer TuftTop; + ModelRenderer Tail; + ModelRenderer WingRight; + ModelRenderer WingLeft; + ModelRenderer LegLeft; + ModelRenderer LegRight; + + public ModelBird() + { + textureWidth = 64; + textureHeight = 32; + + Body = new ModelRenderer(this, 0, 0); + Body.addBox(0F, 0F, 0F, 6, 3, 10); + Body.setRotationPoint(-3F, 20F, -5F); + Body.setTextureSize(64, 32); + Body.mirror = true; + setRotation(Body, 0F, 0F, 0F); + Stomach = new ModelRenderer(this, 0, 13); + Stomach.addBox(0F, 0F, 0F, 4, 1, 8); + Stomach.setRotationPoint(-2F, 23F, -4F); + Stomach.setTextureSize(64, 32); + Stomach.mirror = true; + setRotation(Stomach, 0F, 0F, 0F); + Head = new ModelRenderer(this, 0, 22); + Head.addBox(0F, 0F, 0F, 4, 3, 4); + Head.setRotationPoint(-2F, 19F, -9F); + Head.setTextureSize(64, 32); + Head.mirror = true; + setRotation(Head, 0F, 0F, 0F); + Beak = new ModelRenderer(this, 0, 29); + Beak.addBox(0F, 0F, 0F, 2, 1, 1); + Beak.setRotationPoint(-1F, 21F, -10F); + Beak.setTextureSize(64, 32); + Beak.mirror = true; + setRotation(Beak, 0F, 0F, 0F); + TuftBottom = new ModelRenderer(this, 28, 23); + TuftBottom.addBox(0F, 0F, 0F, 2, 1, 3); + TuftBottom.setRotationPoint(-1F, 18F, -7F); + TuftBottom.setTextureSize(64, 32); + TuftBottom.mirror = true; + setRotation(TuftBottom, 0F, 0F, 0F); + TuftTop = new ModelRenderer(this, 20, 27); + TuftTop.addBox(0F, 0F, 0F, 4, 0, 5); + TuftTop.setRotationPoint(-2F, 18F, -5F); + TuftTop.setTextureSize(64, 32); + TuftTop.mirror = true; + setRotation(TuftTop, 0F, 0F, 0F); + Tail = new ModelRenderer(this, 42, 0); + Tail.addBox(0F, 0F, 0F, 4, 0, 7); + Tail.setRotationPoint(-2F, 21F, 5F); + Tail.setTextureSize(64, 32); + Tail.mirror = true; + setRotation(Tail, 0F, 0F, 0F); + WingRight = new ModelRenderer(this, 36, 7); + WingRight.addBox(0F, 0F, 0F, 8, 0, 6); + WingRight.setRotationPoint(-11F, 20F, -4F); + WingRight.setTextureSize(64, 32); + WingRight.mirror = true; + setRotation(WingRight, 0F, 0F, 0F); + WingLeft = new ModelRenderer(this, 36, 13); + WingLeft.addBox(0F, 0F, 0F, 8, 0, 6); + WingLeft.setRotationPoint(3F, 20F, -4F); + WingLeft.setTextureSize(64, 32); + WingLeft.mirror = true; + setRotation(WingLeft, 0F, 0F, 0F); + LegLeft = new ModelRenderer(this, 33, 0); + LegLeft.addBox(0F, 0F, 0F, 1, 1, 3); + LegLeft.setRotationPoint(2F, 23F, 0F); + LegLeft.setTextureSize(64, 32); + LegLeft.mirror = true; + setRotation(LegLeft, 0F, 0F, 0F); + LegRight = new ModelRenderer(this, 33, 0); + LegRight.addBox(0F, 0F, 0F, 1, 1, 3); + LegRight.setRotationPoint(-3F, 23F, 0F); + LegRight.setTextureSize(64, 32); + LegRight.mirror = true; + setRotation(LegRight, 0F, 0F, 0F); + } + + 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); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Body.render(f5); + Stomach.render(f5); + Head.render(f5); + Beak.render(f5); + TuftBottom.render(f5); + TuftTop.render(f5); + Tail.render(f5); + WingRight.render(f5); + WingLeft.render(f5); + LegLeft.render(f5); + LegRight.render(f5); + } + + 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 entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/resources/assets/biomesoplenty/textures/mobs/bird.png b/resources/assets/biomesoplenty/textures/mobs/bird.png new file mode 100644 index 0000000000000000000000000000000000000000..3cd2bbe4bd6f8443d39bdde89f88ebc126f8f149 GIT binary patch literal 2304 zcmV+b3IFzqP)N2bPDNB8 zb~7$DE-^7j^FlWO00?|ZL_t(&L)}?vb5qwD<_C2ef)j%*Z<4O|&Dv}WQ>Qcw69V2B zdEev(2f6}jx_+Qdo3g}sLON~Iq#ru{)@f4krp1!A*qD%XNimi!>FIMWvdNGI8w;E1 zJ9FkG{4h?1&=V>Kk_>}jeh%Ft znHlqjt_9eAAy@{o(6v(mN3Y_k%3r}bn9L6^4nJV-S%B0Kgs~?^L6_j6#Z5hND31LN zwvG_gb+d3&5uV{Z#oZREnntm-&qLom4>!H9!10^S^AFZu%?~fywh&AMY1l_HunlM7 zptbEoStyQAqv{8MZDf@>VI9`~bvQ;dyQ+X1R-FnezG5URSE~J<-)){>{Ovp`z&@6N zu4N9ohA`tQit6uE>%9vw^{ztWi*jxrf|1JpCFt8Cc~^jq`x?4q(02ypT0?TF(^6omZd#6ctA7PY&I1m5 zhSnE`y(m==qeN9A{9Xo=~{u4@tC*T`z54r4nW-=f^{$r56=-p z2r0f5R9-~swCK#NkibP`Kdfhx25Z<>O#==P#C(DhJdHEPLz|7 zEUXaTN~@|GxncdZJZI^;3yE1*>L=P_-09ka(2zMV_p(trB~4Q@LOl5LG#ms;0v(Fv zDXii=orP(5or>FDt|($zD?D-ug*8{8qL8MJ2odQ#k>A4RK00C%UDF)Q#3B_85rG5` zzxFi-G4&)+dYppMz1_o~K-&?9=M+mxYXIiH6_`6CaFS_ta~KW^Tg%PNT_M=|WAKbK z@r_XUmM{hVhzuoQU@j1-aKrtar!z7W68CeCW#v3!XR@?+$6=%rb8KvxLWxF!nSzOk z&qzghe?)7J6X>wSh>|BjkcM%0m_SI=c~{2%Mk>zBd24@y0BD^;a=c1x(3gdwEll(n zgSM6Xu|&x@p*IFgN0e4ufygU4Hnv5@FHS;vd;+Qy*I{g$VZ2A76gi0kD;sI3obqkL z%ZO9#Oq#i$ZlC5B)0m5A5lXHhlt?4`DG*%FA{Yk(H+Qh{Hp#-$YG;|Viki>R@iKJv zT?u+@h*gKctY;BMD%{?;1V!y6zTvu%AKrp7A$%Ht53b73;Bp3mB_Q%IDuBw!Eqm;w z6JF$tq4?z+C~Jy9@%%OBgUi@o^@hxY2-9jNG$=y?cn{n=9sTE=9X4tBk*)1%&xzGF5Ou7|)38?C)m>_?T{f-ML zVnryZncNwV$$tY=@f9R*1GDiI5}yExe*$xfb;LQBTlUz=&_<}+N*C{l;Tc-Jp!%}x z0f$%>#CJC1gku`dsREG#TeLBqFF2rQ(rNa3%C?qGq>Ky3FEU>sbB zo9=C4dDFGC{4wsOmiq!)h(66s-n!NWs2V~z^!yblj!xi!=bnNdnP!t2OfP0J7gHg#gP+g#G_gUKM~(--Z~zU)+{QZhCLY+_#3R zT*FesF0Z^P4CRRcit57btM7MR`Ji|I`XN3)a?^WDmXVZv&F$o{vYjkEHj8Io`Uh+4 zEEM%O^2+3flCUT(0%< zO;07qVXiR`ugRB>5_5&T$wLSq-D_9`iTBS7xU0f`85sy61@u~*FB(p a`~C+DPA=(Uo%`Vc0000