From c0c34035f4c8071d472524638a8ef4e24c9d5605 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Mon, 5 Oct 2020 03:40:47 +0300 Subject: [PATCH] Glow, fixes --- .../entity/model/ModelEntityDragonfly.java | 46 ++++++++++++------ .../render/RendererEntityDragonfly.java | 15 +++++- .../ru/betterend/registry/EntityRegistry.java | 2 +- .../betterend/textures/entity/dragonfly.png | Bin 0 -> 3491 bytes .../textures/entity/dragonfly_glow.png | Bin 0 -> 2329 bytes .../converter/BlockBenchToFabricJava.java | 3 +- 6 files changed, 46 insertions(+), 20 deletions(-) create mode 100644 src/main/resources/assets/betterend/textures/entity/dragonfly.png create mode 100644 src/main/resources/assets/betterend/textures/entity/dragonfly_glow.png diff --git a/src/main/java/ru/betterend/entity/model/ModelEntityDragonfly.java b/src/main/java/ru/betterend/entity/model/ModelEntityDragonfly.java index 7abc64e7..c0597dd5 100644 --- a/src/main/java/ru/betterend/entity/model/ModelEntityDragonfly.java +++ b/src/main/java/ru/betterend/entity/model/ModelEntityDragonfly.java @@ -19,72 +19,86 @@ public class ModelEntityDragonfly extends EntityModel { private final ModelPart legs_2; public ModelEntityDragonfly() { - //textureWidth = 64; - //textureHeight = 64; - - textureWidth = 16; - textureHeight = 16; + textureWidth = 64; + textureHeight = 64; model = new ModelPart(this); model.setPivot(2.0F, 21.5F, -4.0F); - model.setTextureOffset(0, 0).addCuboid(-4.0F, -4.0F, 0.0F, 4.0F, 4.0F, 9.0F, 0.0F, false); + model.setTextureOffset(0, 0).addCuboid(-4.0F, -4.0F, 0.0F, 4.0F, 4.0F, 9.0F, 0.0F); head = new ModelPart(this); head.setPivot(-2.0F, -2.0F, 0.0F); model.addChild(head); setRotationAngle(head, 0.3491F, 0.0F, 0.0F); - head.setTextureOffset(0, 0).addCuboid(-1.5F, -1.5F, -2.5F, 3.0F, 3.0F, 3.0F, 0.0F, false); + head.setTextureOffset(17, 0).addCuboid(-1.5F, -1.5F, -2.5F, 3.0F, 3.0F, 3.0F, 0.0F); tail = new ModelPart(this); tail.setPivot(-2.0F, -2.0F, 9.0F); model.addChild(tail); - tail.setTextureOffset(0, 0).addCuboid(-1.5F, -1.5F, 0.0F, 3.0F, 3.0F, 7.0F, 0.0F, false); + tail.setTextureOffset(26, 0).addCuboid(-1.5F, -1.5F, 0.0F, 3.0F, 3.0F, 7.0F, 0.0F); tail_2 = new ModelPart(this); tail_2.setPivot(0.0F, 0.0F, 7.0F); tail.addChild(tail_2); - tail_2.setTextureOffset(0, 0).addCuboid(-1.0F, -1.0F, 0.0F, 2.0F, 2.0F, 10.0F, 0.0F, false); + tail_2.setTextureOffset(36, 0).addCuboid(-1.0F, -1.0F, 0.0F, 2.0F, 2.0F, 10.0F, 0.0F); wing_1 = new ModelPart(this); wing_1.setPivot(-2.0F, -4.0F, 4.0F); model.addChild(wing_1); setRotationAngle(wing_1, 0.0F, 0.0F, 0.3491F); - wing_1.setTextureOffset(0, 0).addCuboid(-15.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F, 0.0F, false); + wing_1.setTextureOffset(0, 13).addCuboid(-15.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F, 0.0F); wing_2 = new ModelPart(this); wing_2.setPivot(-2.0F, -4.0F, 4.0F); model.addChild(wing_2); setRotationAngle(wing_2, 0.0F, 0.0F, 2.7925F); - wing_2.setTextureOffset(0, 0).addCuboid(-15.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F, 0.0F, false); + wing_2.setTextureOffset(0, 13).addCuboid(-15.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F, 0.0F); wing_3 = new ModelPart(this); wing_3.setPivot(-2.0F, -4.0F, 8.0F); model.addChild(wing_3); setRotationAngle(wing_3, 0.0F, 0.0F, 0.3491F); - wing_3.setTextureOffset(0, 0).addCuboid(-12.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F, 0.0F, false); + wing_3.setTextureOffset(4, 17).addCuboid(-12.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F, 0.0F); wing_4 = new ModelPart(this); wing_4.setPivot(-2.0F, -4.0F, 8.0F); model.addChild(wing_4); setRotationAngle(wing_4, 0.0F, 0.0F, 2.7925F); - wing_4.setTextureOffset(0, 0).addCuboid(-12.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F, 0.0F, false); + wing_4.setTextureOffset(4, 17).addCuboid(-12.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F, 0.0F); legs_1 = new ModelPart(this); legs_1.setPivot(-1.0F, 0.0F, 1.0F); model.addChild(legs_1); setRotationAngle(legs_1, 0.0F, 0.0F, -0.5236F); - legs_1.setTextureOffset(0, 0).addCuboid(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F, 0.0F, false); + legs_1.setTextureOffset(50, 1).addCuboid(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F, 0.0F); legs_2 = new ModelPart(this); legs_2.setPivot(-3.0F, 0.0F, 1.0F); model.addChild(legs_2); setRotationAngle(legs_2, 0.0F, 0.0F, 0.5236F); - legs_2.setTextureOffset(0, 0).addCuboid(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F, 0.0F, false); + legs_2.setTextureOffset(50, 1).addCuboid(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F, 0.0F); } @Override - public void setAngles(EntityDragonfly entity, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) {} + public void setAngles(EntityDragonfly entity, float limbAngle, float limbDistance, float animationProgress, float headYaw, float headPitch) { + float progress = animationProgress * 2F; + + float sin = (float) Math.sin(progress); + float cos = (float) Math.cos(progress); + + wing_1.roll = 0.3491F + sin * 0.3491F; + wing_2.roll = 2.7925F - sin * 0.3491F; + + wing_3.roll = 0.3491F + cos * 0.3491F; + wing_4.roll = 2.7925F - cos * 0.3491F; + + progress = animationProgress * 0.05F; + + head.pitch = 0.3491F + (float) Math.sin(progress * 0.7F) * 0.1F; + tail.pitch = (float) Math.cos(progress) * 0.05F - 0.05F; + tail_2.pitch = -tail.pitch * 1.5F; + } @Override public void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha) { diff --git a/src/main/java/ru/betterend/entity/render/RendererEntityDragonfly.java b/src/main/java/ru/betterend/entity/render/RendererEntityDragonfly.java index 92b675fd..9a0fe730 100644 --- a/src/main/java/ru/betterend/entity/render/RendererEntityDragonfly.java +++ b/src/main/java/ru/betterend/entity/render/RendererEntityDragonfly.java @@ -1,19 +1,30 @@ package ru.betterend.entity.render; +import net.minecraft.client.render.RenderLayer; import net.minecraft.client.render.entity.EntityRenderDispatcher; import net.minecraft.client.render.entity.MobEntityRenderer; +import net.minecraft.client.render.entity.feature.EyesFeatureRenderer; import net.minecraft.util.Identifier; +import ru.betterend.BetterEnd; import ru.betterend.entity.EntityDragonfly; import ru.betterend.entity.model.ModelEntityDragonfly; public class RendererEntityDragonfly extends MobEntityRenderer { - + private static final Identifier TEXTURE = BetterEnd.makeID("textures/entity/dragonfly.png"); + private static final RenderLayer GLOW = RenderLayer.getEyes(BetterEnd.makeID("textures/entity/dragonfly_glow.png")); + public RendererEntityDragonfly(EntityRenderDispatcher entityRenderDispatcher) { super(entityRenderDispatcher, new ModelEntityDragonfly(), 0.5f); + this.addFeature(new EyesFeatureRenderer(this) { + @Override + public RenderLayer getEyesTexture() { + return GLOW; + } + }); } @Override public Identifier getTexture(EntityDragonfly entity) { - return new Identifier("textures/block/stone.png"); + return TEXTURE; } } \ No newline at end of file diff --git a/src/main/java/ru/betterend/registry/EntityRegistry.java b/src/main/java/ru/betterend/registry/EntityRegistry.java index 1d10c2ab..d16f4726 100644 --- a/src/main/java/ru/betterend/registry/EntityRegistry.java +++ b/src/main/java/ru/betterend/registry/EntityRegistry.java @@ -14,7 +14,7 @@ import ru.betterend.BetterEnd; import ru.betterend.entity.EntityDragonfly; public class EntityRegistry { - public static final EntityType DRAGONFLY = register("dragonfly", SpawnGroup.CREATURE, 0.5F, 0.25F, EntityDragonfly::new, EntityDragonfly.createMobAttributes()); + public static final EntityType DRAGONFLY = register("dragonfly", SpawnGroup.CREATURE, 0.6F, 0.5F, EntityDragonfly::new, EntityDragonfly.createMobAttributes()); public static void register() {} diff --git a/src/main/resources/assets/betterend/textures/entity/dragonfly.png b/src/main/resources/assets/betterend/textures/entity/dragonfly.png new file mode 100644 index 0000000000000000000000000000000000000000..010372349b613d29d114a78f335e05ea80f37d8e GIT binary patch literal 3491 zcmb_f2~-o;8jcnL*<`DLh=!n*B1tA2A)^RL5U_+GP>n@}VKR_B$YK%*AP_3bt_Zd) zvbbSUT%ZbKp@`L|MxlU;h$1eef(JxIK&qg2g1~vN&-V57y*X#*-nsMLfBU|B@0m1T z9}j(<1v(fEM&HYm>4&y1>RVeAeU|gLK0uqfV$Y3I3`W;jeb2htl`w(9Xzt|)aAX{o zHwcRa1c)mNK?ucXMkB-~KYkGW>b z7y9Oe5g>7fr5|`E-7SsK2roos!5!l&qe2R$y|U=cO>H-XjBRwcBF>l8B~CbCvzDH%%vlc zBm5y-)IVFoM;8$k@%Qb_kOaDkB196Fh>KR4qL%Qalt53u6y+;sYEk$jTc>&veC(up zKnPX~+zAJ(nMJs`sbT&{D)ZMe`(ReiLr|lCLiY!lR1_+cLlVR_46Wi{Q55ly;+H~E ze;$1ZgF+8+Ad&E73Q7qHLdgjUK|=5-rvOZWX6{!ww`+BG=A1xZW=XM8W4SNAb)d2fV=6{_tL?xuDVV^-s#+2KR-iH{!UJ|_CCWc zafU3@U1`Mgo=eQTkCPH!gdEzzR3)tp_KpM4_OpK)E}GbGYnRNkp5v-JXKh_oXH;EX zSH(E3q@b>DAor{JZ7F@;NWS3=Td#@zN|M<^=r0Lf9d{psPx&cBm*7QEZ#cS ztGLtc=iU~sV!EBFxH$andEbn?o#j@amB(Ad7x`LgrT({LGtIyni&0GFwSKv1q~-!G z)^|DaC)z|x!FMV39#O+`-o#hqf#UDjn4!&;{``a$l*cQt2ikbrU0H0k>UzSq zSKk+Cb0W*Z-D6kFRXa294#V@m@Yc6+XWPL&R_-pFG2mbpw0Y$-wgXvjgnckzZg`%a zGS{$`%Ky=*Yj<38u3eA+4|&1cN;cWG2V9{UCE_W2mEHy%Wq$otKXb1RUOLaOe^=rU zhJCYv1Te)veAD~GPmx=%vD>X`i`Zf2r!v`>0KJv*J#dUbOwKA^HrC3^TDW4jsv%Qt zj}aXC&|722&$YNm$Ht6P9V|Tc@=71@4UXz2b{ehrC|f*hE+C88YAASBllWz@vTAhKE2pKZ`O`qP#wt2bX)C@#Boo>v_TIMmOmDZi$h zl)9&PubGbD&aK7AYb5J*d;1>lPHbChX;wHTMO=OQ?laRGpL5HCy&qS29cH-59lgvn{cGbJ@5=wx2_{h*N*LBDA-*vv=E||xbp18lzZ9}-mG6n0fK%f!6;1kC$b~x4E_{R&8b`PfI zWhEch_=K-}$xPC5{)mN{$FMnAyvF)^uwG|nbLfGTI8Wg<_ootN#o)K(WzFj@4j+_s zRpc&QJX@!2xGm$!s+ybygzeeb6F)A!ZMjV|K0f|LO-)`)d*BnyS^h)J7&sf4o9OuB z#M5+~+nTz@*_`%8tF0gVc}h6hWXu~|nV&W@*m6EVFZZa-ZOv zZZTBmJ>RAktu_|v=JSSVM!?>K)hqNK96cN#soie;Nn@a%x5wx{6IlPMU%AGb5_?}x z_(rV_l3z})O!8?X(s;Zk!|LdP7_WfS;S8;w(v&7!Mt>f)Lg{bMmQ!yfomm*$?w+0#l)*UTb$Pz$ZvU?Oo&%m9 zt;eLMH@Pe$9JGI|@yg30_P34=*@uHRxi_mIke4&WepiA(H=l>H z`r6kQ$FJyq(Q=A2q5QHCCOH@-pBd*oP*o|;nX^sfSUqv|C8MMFcPt;}Ud)XhDZkvi zD(riiLlEE42zxy)+c>**HiOPw#18z%%r^A1^itDb_qsbPy!|#(Z4W!&un5k;V>nLl z4YPf1=j}O3uDdy;^ZDBRfU8S(c&sO^y43$h;gXZ-<4-U@l4{tHFi5u0&FQ~$nL2;T zf_YU>n@V3BU7r=SDX@qU?25sEGr^>pXn`5BBI84>r9$k$){K$f(#8xzif5{O*w&s4 wwKW$M)%;)g)91L%^2L~9{@3PF!@YMJ{YT{1mh01$>fb0YcOT}d)xq0;10ZQu;Q#;t literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/entity/dragonfly_glow.png b/src/main/resources/assets/betterend/textures/entity/dragonfly_glow.png new file mode 100644 index 0000000000000000000000000000000000000000..8ed6242800fa8eb0d8ac8c6759233d511a3d41a1 GIT binary patch literal 2329 zcmb_eeQeZZ96m-evLV`lCpVzwcXfAdX}jHR z&KYK8nF@%B%nV2f2D6|;APkW4HG&~12@V4I49_@N05MYj}9#cW0?tTkF* z9A%m*A))7KRWmCS5{yhqI!QYzyQDNw26>#`XvEXOWkA9>OhDB#5thzlkxHRZ9zG;( zB9TX%R(TW3C|lc*XtTCihhz;jwMGNL@+K5;6;;-f=1X><>>TKqEa=42??bnq$nhHHJXkV3W-70v?LY4px=w5 zRGo?vb}&}cW&o}clvtO3N4mrmq4 zN@f`3FWv(I!ACe3;R&+>5k_HX=$2&Yj^xj$#N#79fz_Q1Sqz;oZ1pT3j1<(q0lJ zVB6h`1G~>q#J}j{A zFi+D2!y+kZ35gmG!!W_KkOC}l$%4e?svk0Yx5#>OZv2ngXT=3ENsU7E1tszSUeDvX z_F>()Z*~2z^^o?rGh;RKeiz>LYtHjNv>I)Xn%T~lO3{3eXaAeUFe@E5uAtfJQHF?o zbi_3Bp6`BcGTKb+VSX1wH~D=Ks;G4a+U5FYtmtw$hOG?xeYLT3S5NyY3w#p_FDyFS zsDSo1Iun!X}E`8I!5p=bcbnI#TU`u)NhRR)AmYq2WDhgkHYT1Q~4O4e7{#@z4 z>3q*OX|1w)@DA15>bXwL{Nd+g6&vA|HQxqbe6AEzgEi}4+a5fBtW!L#l^M?;zx`QD zTT8(&9nW->AFeFe))pCeFm$Kt{h7;uH3v^s#M=svOltUg`-fAP-SUoeXw%+Jaf68~ zZ%qE)+0zjiyZRDX8>+^7{S$k(e^OjJW#9VPxsyA#?dtgr_Rpyw-an%G`ky8I()xz> z&EvmhV!f>$kyYOv+H`T}(HJqi