From e09d1d22354183a2f7a63927433aaee803df19d0 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Wed, 13 Jan 2021 04:51:17 +0300 Subject: [PATCH] Chorus forest slimes & math fixes --- .../ru/betterend/entity/EntityEndSlime.java | 4 ++++ .../entity/model/EndSlimeEntityModel.java | 5 +++-- .../entity/render/RendererEntityEndSlime.java | 2 +- .../ru/betterend/registry/EndFeatures.java | 1 - src/main/java/ru/betterend/util/MHelper.java | 6 +++++- .../world/biome/BiomeChorusForest.java | 2 +- .../textures/entity/end_slime/end_slime.png | Bin 1293 -> 4976 bytes 7 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/java/ru/betterend/entity/EntityEndSlime.java b/src/main/java/ru/betterend/entity/EntityEndSlime.java index a746f81c..9d34f753 100644 --- a/src/main/java/ru/betterend/entity/EntityEndSlime.java +++ b/src/main/java/ru/betterend/entity/EntityEndSlime.java @@ -190,6 +190,10 @@ public class EntityEndSlime extends SlimeEntity { return this.dataTracker.get(VARIANT) == 3; } + public boolean isChorus() { + return this.dataTracker.get(VARIANT) == 0; + } + public static boolean canSpawn(EntityType type, ServerWorldAccess world, SpawnReason spawnReason, BlockPos pos, Random random) { return random.nextInt(64) == 0 || isPermanentBiome(world, pos) || (notManyEntities(world, pos, 32, 3) && isWaterNear(world, pos, 32, 8)); } diff --git a/src/main/java/ru/betterend/entity/model/EndSlimeEntityModel.java b/src/main/java/ru/betterend/entity/model/EndSlimeEntityModel.java index 9e91859c..93a1897c 100644 --- a/src/main/java/ru/betterend/entity/model/EndSlimeEntityModel.java +++ b/src/main/java/ru/betterend/entity/model/EndSlimeEntityModel.java @@ -8,6 +8,7 @@ import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.entity.model.CompositeEntityModel; import net.minecraft.client.util.math.MatrixStack; import ru.betterend.entity.EntityEndSlime; +import ru.betterend.util.MHelper; public class EndSlimeEntityModel extends CompositeEntityModel { private final ModelPart flower; @@ -39,7 +40,7 @@ public class EndSlimeEntityModel extends CompositeEnti for (int i = 0; i < 4; i++) { ModelPart petalRot = new ModelPart(this); - petalRot.yaw = i * 45F; + petalRot.yaw = MHelper.degreesToRadians(i * 45F); ModelPart petal = new ModelPart(this, 40, 0); petal.setPivot(-4, 8, 0); @@ -51,7 +52,7 @@ public class EndSlimeEntityModel extends CompositeEnti for (int i = 0; i < 2; i++) { ModelPart petalRot = new ModelPart(this); - petalRot.yaw = i * 90F + 45F; + petalRot.yaw = MHelper.degreesToRadians(i * 90F + 45F); ModelPart petal = new ModelPart(this, 40, 0); petal.setPivot(-4, 8, 0); diff --git a/src/main/java/ru/betterend/entity/render/RendererEntityEndSlime.java b/src/main/java/ru/betterend/entity/render/RendererEntityEndSlime.java index 8d8dbac2..16bb6cc8 100644 --- a/src/main/java/ru/betterend/entity/render/RendererEntityEndSlime.java +++ b/src/main/java/ru/betterend/entity/render/RendererEntityEndSlime.java @@ -76,7 +76,7 @@ public class RendererEntityEndSlime extends MobEntityRendererLXS>%#dzXq5I3AVfrym;TFsP(5U@yTTMbK?CD{e&e)F~rpyi-GQyC8bET0eHYAeQFQHEV3K?Q(xFd`<slk+0)s$fxHao(xPq-pX9RY*=4Yed;3HX5DP*t|N%Bt!%FgOCP ziqO#dCn&pWu&y-M{}qhIAn+uLw=0`7!Q0gx2PG5Tr6IpFi7+I2ktl4(?C8{gL}6)( zFeOrHu0#yZ)CeifrmaFCU=gl3RSg_YM_XA9gHu(;YQb^JI#@hb8Habn>%eiYn%b_e zzxErEFuptD{@RcIf9|)Y5ZKM->h*8i*=f0*sz8_!sBFCgem2E9oX^jd7Xk945D>1I zodQQnV|J9qVWoe*Cj8qO_}i?%2aav@e~|lc7?p&l`MXkZ`tIy({a-2y%8nnp(~W;q zf&N#PKfe7#=l+7T$HC6>_Z(tB{GMbuB71yM*mG({RZsx{cFUL=>D$l;X45WSb?iCN z)Tc{rOKXu$NJbUyi;O|%{AG}r=%i$sbNGACz8S+;$IoYvntzVWf>`Y0RNA-pAu`LD z|B}&j22^hU6O-IW@XqAqix_zf+3i;4-4q?F3e~SK?Cq8$vp>ZYA1I%4(7mvzWZ5Yw z|Hbl!?XUCOHD$|2J_oDOueAnW{4s4&JHh&MZjfzB1ksg~D^a$9I&vUML;7S8Rmmd$krIs^amn%LjUU1PoArz|e z@hEfG`StQiO66&Z8&@vPaNQp(Dftf0h-fsg2CbBPk_2i!tE-+Nc(3F|?!OXg$TQU3 zY~nber=fA4RW=hYxeSI)>hI|hXi6qYDemKc^6}6{N#XvHhfYeO(_)@kbIz-$AEf}< z{0#o_3cax7ypc;>1wbFVpmr(od{J+Psv{@<(V_RLeM_lI&&48AV-xIcnb{;fNHlZ& z;tRlDxkGAYj)Q1BQt-gIXv;aH)xe=*2~n}oVHHF)E3nDncVRlSMq7(tD{B{SX09!W zpjY{Bmo}Y4bh@RqPNmn2L~Sis4!V;gDqqXo*832sH#d3c3~Rng^m}lAEOS&8&{JVT zy~T>U=!{c;5beSY-{7;S=uOBbd?DoilbB1@16`JI;wsZV#bHfz>ZH*oc!;A@=z}~zSNhX z6^n+;*ipC5^76Ct(c7P`zHfTAG&-LagSd2#!|McQ?>h?{6KWhTbDn$&X+s_1P96w6 zkgSefFi^d}opZVizxHBe13o<8n=~r^M5a2cO=IwbVnP4-7PSw3yFE5MFX+VC~nL8Ntm_?))V8Cg-d8kDRcr z(xr#%dLQqRQVE1he^nk;`Mxi8DySgjVawjo($-3?ur2)a#r*tEFZ|ZFWSFTDh<~}m z0|f2x0fE!6qH4Pf%KJ;x#x0J^UC2w(Rritia^CKrcHd;2EcVfFgc9~aipIbt+)*Ky ztfLvcJOyaF5;1&S6cVaJXW2ZXoB&Wp`%Y!1D?*s!_*4-Z-yi2kUs8!60PiU@7d0bC5% zuI~P}KF$r>&Jz>Tl{Y=ahXVTgB1noJ(+b9a9`W*R``+q!Ow{EOV!S-81Q{6o^&=?0 zWox7{J!CZ{=vyk!$E~_8g7Hf0NLF|kBj|hNDZ_MocjfOF|74k80s*SP^!7~=(G~2v zkRXfWogT5y+}DXu>g&Q{J%2Vm;UFqOrg^5GOQderPDxBtV$j)Sm?`A z!{OtBfq_}?pQK4V{<9&`Os;C3=VqJ}ah^$dGgQg4>Khu$500K5_}1s4+6b)_s4evL zG)-qzd>+LoCx6%l)-c_o89DdYX$wak0K1@=SS8eBr)&I|4NjaD_qjWCmsQ)0vQfD` zROLJUet?wcd;k7@BHc~<+0(`8zH0Rxbu)(Xb&Z-t5v1?JIpzGRhwT-EE0RI}M%2|M zn+?5b&hpK5AirR$Vtr-8iLyf4ST*Qd7z}w14~sR)sGR)ft0F0Z_WGnedEIKUqvLRU zt+*>QUXd>GM`fUcf6wD5)p_)k^-q7D>dvcB8%K}ZUd@i;^PXaTG_0Sxb6=0!{OsWI z>6YQ);iYn*>)NKmax}-pmkF)7*n`McrtWsjf`0v9Q+A*268hNzH1wtChQ4rQY>dWy zi3v%CyDjZaP#6yK*}k4xAMG6aY4~$c(~!@m%Du37Hz zkG&oDb$IpjceA1JVvgz{(%h~AYENqJd$AtqaL7cnV)*G0-PP4-o|AiK`iwrD8Vm>? z^Dp#&ta1@V|6FU{z4rp*nRCLzeCF+Xu;75~LLhd&d2WlcUA@k|RC%!`pmn*7w_C5D z`L*nRVWpoG^S$}j$~epV#boeB*34K;efs#qYL)z_p6!}1#20I5t0cPD;*B83d0)!$N5QfeXW3&tA)=V z;xejqnA?T3f6;$%IrZH1moHtEG|Iva%gdH`_QXoPPrz2cyp;#NYoE;W%_)>@kwAJM zud&bHDoNz?TDE|Af}Z9#Ro73{OC>0kOtU(_Tb!J{{3n}funsDBnl(IC<#&iV!v%SR zHY^;Qns3b37^!ymv9eEiewo@E7+f9a+zamb5*R$+NF0o9S7LaEAZv!2pi?3>WeKAC zR~w#8*v{&HoyzqZey;P(c5R`iW-Wkw?pUJPCp{gV{@@DdzD(<4J3$Q1sqf64#z*<+ z+{zb0%dc&s{WdBF_E#^Y1)q5NVlSgT(EOdQKYFs6^U^J^BOEI;9QQUEhO=uZ4pu5YC=qQm>MwcAKEH|AiIyGceEa=ybRqI_;aq-b@M7fTK>I5p6@g>mOiywc zQp;H|hwG@~Q#(K&z4vN=PF5oNY4+?hfYW$%el;oTrBzMawD=Q*yIsJuqyg0--rEJ2 zxiORZCj~s_qOThW%`8*|-I~ne12QrKlF9I+-ewxbU~7h%XAfz1pzJN?2A2igIVAft z5{VoOymZP$NPLa;s;DQFFQ!rEVDE?wFE4k2?B;S6hr#qB- zLEd>bmCnZ#asYZ7yT;lEpLv;8Y&PtX=c`Z6u`fPytSV_X^3~a(q=`EZ0lRYV5c$+3 z&73X=(EFhwNk*40%HI1G(!#<5{qyR5-M@2qE-*l0*C{N%`j5Vcycg=5dGg z6nD7^aPkSul3L(IRPCk8YYa{yP;-M~TBL>As>trU(cdn3My51UfElj`caB6%&-ZH+ z4-fTK73HNV2sdDJE~qy(yo33@DYU5KtQCPTp1;G8l92F>z4#)~*CV>c+|KK2ioCBw z`y@Co!#;sT71fNpnHazih~pG`(Rb@D28Apc19Uw})n>~_dk#y1r7QHac*Q_1_v2pZ zHMHp}rpKy_=GOW0?s`f&1S&E;ATh08nZ_Yl;)f^<@d2CIKDObHa51d-w(H`{d13MJ zf^rs%CGWzpwyLAtq+RKn7tFi03wk&r1$d(_jMZqdLg3$Rsd9UBJukJ}e;sn8yrFZ= z(_7gDES1@*U3%i}RwZ;Dt?doZ*o5nsj%zAT*$F&jHA-L@4P4C?_kFt1mRWFHyhGG3 zQ2f$I?ozpInfnhzDIDNa0|g-)l}lVTWr8B$H`N6=LqjA__PMFj!l}*yeQwP4Gk~CD z?a?y{@=*+#Iw89Ovvo3$9ghRIfQ9D1y`xx>GV4z!_%lsUWK%d{bD&$MdIqOv2RDom z7ZP#cDO2#_GahO3q7MoL(@U)fuC?>X@=9_FIb~>uN5%BkWC5IpeI1KMa3hXq9LTu$ zQEQ%Qv7kdwiTSY;obmli(#a2jQH-~)Q^J+~C#9t{V;MVWe zzFJ!kca{)9@m`I)O?dS_*D+MGJ3k8p7i|S)P{h(?aJj{H{B}sr-3xK?7bs1hxM%ya z1m<{bO_{Q{61n(+fKbavrM6ArlnNTqFb@R7Yx?2gmLczKz7Y&UEZY&SKViX6>amG$Uw zDd1aZYF_}yl!;d9CY@TYjfi&>?Ks$tcNU%S^=aKuUtluI7+xhMWsE#5I6lz=D7nRl pLaTwA&E$a#Eu0X=)(0DVWQ#mMZ$50Y-uX|=)Y!_Xz`!NqKLN7`-ZTIJ literal 1293 zcmV+o1@iidP)YIzSbTd9?bGQH@mvJD#rTDWT~tzOR&kwNyh2e*jTo( zu#k<9kDGsFWF*m;HEpd)M@L69_P@Kkv%MZ4AB%n8-rmCg_V@41KY6gc_8qhNu)bGT z93I-Z@KZ3$eYGewMthK6D%CKd2lU|aaGnVA{Jv7Tx53nBXE z=EjWg`W*pILVpP0-^!`hZIBzbyz zs$pU8=jZ2Q%zPF2FGTd301godC?7PKfF=S)WE+ZlU7zbB0FV(rKzigMrmkn*Nr*&T za(#VW!^(Sx@2L{tso!4$LPW}u2{pjSCpThvWnh64o(8Ufo^3(^MiJ(BIjL`|rn_us={GBvJJbVY8 z08;Mn?`{8qYXC|dtQ>tlGZwg_4SKz!32lJunW+TKucx&^U(@z?va+s(?WZWR0ARQW;P-l`?paIw%Orf}=N)N9;+oO+yFsS;46-0a?bQ786$Dk% zpK-1H*K-0qdOxMO4r(dPWrllz1T7XBw897@#Xap)FN2sl5fb?xMF}`Lv3#^e?g;E* ze)j%N)ca0=iI_lJpQo3L5EC&Sw&?RZy!q({I(Q+1!SBM?@Vh`$rw5`YNv3ur>r z@r&f5P4W&MiYy{^r#ab1zLdjJ5r=#V9W0L|GwA-sT^*7q%c=ue5~sLItM3uq;My-?{@u%Cm;wNhXnwsOZ|3I`)=2N zcmfbA4hkSr79eG@tEzps>pyK9{8Q{N0e=bj!wL8SU(z{4oR&>I00000NkvXXu0mjf Dk_~a=