@@ -152,39 +152,41 @@ protected float getRealEmit(float pPartialTicks) {
152152 }
153153
154154 public void render (@ Nonnull VertexConsumer pBuffer , @ Nonnull Camera camera , float partialTicks ) {
155- var cameraPos = camera .getPosition ().toVector3f ();
156- var from = getWorldPos ();
157- var end = new Vector3f (from ).add (emitter .transform ().localToWorldMatrix ().transformDirection (config .getEnd (), new Vector3f ()));
158-
159- var offset = - getRealEmit (partialTicks );
160- var uvs = getRealUVs (partialTicks );
161- var u0 = uvs .x + offset ;
162- var u1 = uvs .z + offset ;
163- var v0 = uvs .y ;
164- var v1 = uvs .w ;
165- var beamHeight = getRealWidth (partialTicks );
166- var light = getRealLight (partialTicks );
167-
168- var color = getRealColor (partialTicks );
169- var r = color .x ;
170- var g = color .y ;
171- var b = color .z ;
172- var a = color .w ;
173-
174- var direction = new Vector3f (end ).sub (from );
175-
176- var toO = new Vector3f (from ).sub (cameraPos );
177- Vector3f n = new Vector3f (toO ).cross (direction ).normalize ().mul (beamHeight );
178-
179- var p0 = new Vector3f (from ).add (n ).sub (cameraPos );
180- var p1 = new Vector3f (from ).add (n .mul (-1 )).sub (cameraPos );
181- var p3 = new Vector3f (end ).add (n ).sub (cameraPos );
182- var p4 = new Vector3f (end ).add (n .mul (-1 )).sub (cameraPos );
183-
184- pBuffer .vertex (p1 .x , p1 .y , p1 .z ).uv (u0 , v0 ).color (r , g , b , a ).uv2 (light ).endVertex ();
185- pBuffer .vertex (p0 .x , p0 .y , p0 .z ).uv (u0 , v1 ).color (r , g , b , a ).uv2 (light ).endVertex ();
186- pBuffer .vertex (p4 .x , p4 .y , p4 .z ).uv (u1 , v1 ).color (r , g , b , a ).uv2 (light ).endVertex ();
187- pBuffer .vertex (p3 .x , p3 .y , p3 .z ).uv (u1 , v0 ).color (r , g , b , a ).uv2 (light ).endVertex ();
155+ if (delay <= 0 && this .emitter .isVisible ()) {
156+ var cameraPos = camera .getPosition ().toVector3f ();
157+ var from = getWorldPos ();
158+ var end = new Vector3f (from ).add (emitter .transform ().localToWorldMatrix ().transformDirection (config .getEnd (), new Vector3f ()));
159+
160+ var offset = - getRealEmit (partialTicks );
161+ var uvs = getRealUVs (partialTicks );
162+ var u0 = uvs .x + offset ;
163+ var u1 = uvs .z + offset ;
164+ var v0 = uvs .y ;
165+ var v1 = uvs .w ;
166+ var beamHeight = getRealWidth (partialTicks );
167+ var light = getRealLight (partialTicks );
168+
169+ var color = getRealColor (partialTicks );
170+ var r = color .x ;
171+ var g = color .y ;
172+ var b = color .z ;
173+ var a = color .w ;
174+
175+ var direction = new Vector3f (end ).sub (from );
176+
177+ var toO = new Vector3f (from ).sub (cameraPos );
178+ Vector3f n = new Vector3f (toO ).cross (direction ).normalize ().mul (beamHeight );
179+
180+ var p0 = new Vector3f (from ).add (n ).sub (cameraPos );
181+ var p1 = new Vector3f (from ).add (n .mul (-1 )).sub (cameraPos );
182+ var p3 = new Vector3f (end ).add (n ).sub (cameraPos );
183+ var p4 = new Vector3f (end ).add (n .mul (-1 )).sub (cameraPos );
184+
185+ pBuffer .vertex (p1 .x , p1 .y , p1 .z ).uv (u0 , v0 ).color (r , g , b , a ).uv2 (light ).endVertex ();
186+ pBuffer .vertex (p0 .x , p0 .y , p0 .z ).uv (u0 , v1 ).color (r , g , b , a ).uv2 (light ).endVertex ();
187+ pBuffer .vertex (p4 .x , p4 .y , p4 .z ).uv (u1 , v1 ).color (r , g , b , a ).uv2 (light ).endVertex ();
188+ pBuffer .vertex (p3 .x , p3 .y , p3 .z ).uv (u1 , v0 ).color (r , g , b , a ).uv2 (light ).endVertex ();
189+ }
188190 }
189191
190192 @ Override
0 commit comments