From 7aa441171c26b5a6c9642144f7b08c4ee5d6f280 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Wed, 13 Jan 2021 15:53:29 +0300 Subject: [PATCH] Crystal rendering enhancement --- .../client/render/EternalCrystalRenderer.java | 26 +++++++++++------- .../textures/entity/eternal_crystal.png | Bin 310 -> 1690 bytes 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/main/java/ru/betterend/client/render/EternalCrystalRenderer.java b/src/main/java/ru/betterend/client/render/EternalCrystalRenderer.java index 348d778c..1568062e 100644 --- a/src/main/java/ru/betterend/client/render/EternalCrystalRenderer.java +++ b/src/main/java/ru/betterend/client/render/EternalCrystalRenderer.java @@ -7,7 +7,6 @@ import net.minecraft.client.render.VertexConsumer; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.client.util.math.Vector3f; -import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; import net.minecraft.util.math.Vec3i; import ru.betterend.BetterEnd; @@ -16,9 +15,8 @@ import ru.betterend.util.ColorUtil; import ru.betterend.util.MHelper; public class EternalCrystalRenderer { - private static final Identifier CRYSTAL_TEXTURE = BetterEnd.makeID("textures/entity/eternal_crystal.png"); private static final RenderLayer RENDER_LAYER; - private static final ModelPart SHARDS; + private static final ModelPart[] SHARDS; private static final ModelPart CORE; public static void render(int age, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertexConsumerProvider, int light) { @@ -29,7 +27,15 @@ public class EternalCrystalRenderer { matrices.scale(0.6F, 0.6F, 0.6F); matrices.multiply(Vector3f.POSITIVE_Y.getRadialQuaternion(rotation)); CORE.render(matrices, vertexConsumer, light, OverlayTexture.DEFAULT_UV, colors[0], colors[1], colors[2], colors[3]); - SHARDS.render(matrices, vertexConsumer, light, OverlayTexture.DEFAULT_UV, colors[0], colors[1], colors[2], colors[3]); + + for (int i = 0; i < 4; i++) { + matrices.push(); + float offset = MathHelper.sin(rotation * 2 + i) * 0.15F; + matrices.translate(0, offset, 0); + SHARDS[i].render(matrices, vertexConsumer, light, OverlayTexture.DEFAULT_UV, colors[0], colors[1], colors[2], colors[3]); + matrices.pop(); + } + matrices.pop(); } @@ -51,12 +57,12 @@ public class EternalCrystalRenderer { } static { - RENDER_LAYER = RenderLayer.getBeaconBeam(CRYSTAL_TEXTURE, true); - SHARDS = new ModelPart(16, 16, 2, 4); - SHARDS.addCuboid(-5.0F, 1.0F, -3.0F, 2.0F, 8.0F, 2.0F); - SHARDS.addCuboid(3.0F, -1.0F, -1.0F, 2.0F, 8.0F, 2.0F); - SHARDS.addCuboid(-1.0F, 0.0F, -5.0F, 2.0F, 4.0F, 2.0F); - SHARDS.addCuboid(0.0F, 3.0F, 4.0F, 2.0F, 6.0F, 2.0F); + RENDER_LAYER = RenderLayer.getBeaconBeam(BetterEnd.makeID("textures/entity/eternal_crystal.png"), true); + SHARDS = new ModelPart[4]; + SHARDS[0] = new ModelPart(16, 16, 2, 4).addCuboid(-5.0F, 1.0F, -3.0F, 2.0F, 8.0F, 2.0F); + SHARDS[1] = new ModelPart(16, 16, 2, 4).addCuboid(3.0F, -1.0F, -1.0F, 2.0F, 8.0F, 2.0F); + SHARDS[2] = new ModelPart(16, 16, 2, 4).addCuboid(-1.0F, 0.0F, -5.0F, 2.0F, 4.0F, 2.0F); + SHARDS[3] = new ModelPart(16, 16, 2, 4).addCuboid(0.0F, 3.0F, 4.0F, 2.0F, 6.0F, 2.0F); CORE = new ModelPart(16, 16, 0, 0); CORE.addCuboid(-2.0F, -2.0F, -2.0F, 4.0F, 12.0F, 4.0F); } diff --git a/src/main/resources/assets/betterend/textures/entity/eternal_crystal.png b/src/main/resources/assets/betterend/textures/entity/eternal_crystal.png index 878c3156c994d20d3f49424f6908f054670a2d00..f59b4bcce4ae059e8809322490cc7a0c03aeafa1 100644 GIT binary patch literal 1690 zcmbVNZEVzJ94|%5Z1S1PN1IaRH;w!^zVpnn^nUnUw{Vk(uVrfWQ#yh?u)-WmkiP!a2y*X& zVoIc)C3F$|SN4r{V|Nw4Y#tx|PT z0}aVqzmRMb7!fNiL5mYCB!~ioM-$PAtg{IYOYyRBZf+A8nt~W@99C`$L<8P>)U9X$ zwObsxK-p;2$yg`{$e^CR^@M~v!8Dh z0A1_#W@X$_muNIALN_Wqpc!e0+!3w&J5@mVfUd+e0aSKCH49B^RMxEl-cU5ZqC_%* zs?Vs5y4_}ATliNyexnk4~IdsEs`X%4yz*+5_tzsi!K)~1Z_b)=(JHdZFdSGigJlG$!E@c6d`5? zH*;S6pXci|2^JS0xoaM?aI$hj5h9FD4HJ)<6>-?@)r+qJz4|cmZT|G5CoV;2z`$1F5s53d(`|WI^ zC4bwt$UVSHo)2{w{ISFL&@V?$&vi{)oBmzz)R(m%c)_>VHfXqeT- zZmzI8W}h5iYZn&+YxDZXpBozBkcp|8r`yGn#z0TiPgmj{1NYs~k*{LtzLota-m++U z^gD+?+O_xX>66U|R~(dHf60E}vA!=$cYZNcw0z~qpQ*_A7bcm(yq-Nd$KLzVb@AxH z3^tgv=9TB0E|o1b)(M4g>LafFsnwsJcsy_^cf)TSwc+z)%)}}te`DWhckpDvo-Sr* zfomdPwG8O59Ut2*RZTX&;cjW$zFuNi%|A-HwtVu#BS-0Hu2=Vk1IN!*_OEXlx%Tju z!?FEmhP!t6PBOoiCHEhiI`f@eRXI97f91$GRn3>>{O#|4{p>n@ZePRY9Wyu2zQ3@v T;^OsF=HH{Hveq+H(emP-%cVt* delta 283 zcmV+$0p$Lg4YmT1B!B%$L_t(|+KrO24n#l@hWA zZ<3Y0y^FnK;@|%pzZsb8x{O;zQOLTka-OHW&su0anBQ-F!`^JKuI3sH@Ne(~g8}}? zKUVq-D9ci^ER#5nC5j?Rl0-Eg%;hk8TyDCqle(_;0HDx#uzwIYecwydG-~E~u7$>f zg}6D6L#nD$(~ghEgZZ3txmlJ)wr!I%P45OY9?a)Fz~vgywyg}qaK9)to(*{7W|}5F z_&egkLR{a0ZE$zQgSi2}xUR78``3