29
29
import com .mojang .blaze3d .vertex .PoseStack ;
30
30
import net .minecraft .client .renderer .blockentity .BeaconRenderer ;
31
31
import net .minecraft .core .BlockPos ;
32
- import net .minecraft .resources .ResourceLocation ;
33
32
import net .minecraft .util .Mth ;
34
33
import net .minecraft .world .entity .Entity ;
35
34
import net .minecraft .world .level .block .state .BlockState ;
51
50
*/
52
51
public final class PathRenderer implements IRenderer {
53
52
54
- private static final ResourceLocation TEXTURE_BEACON_BEAM = ResourceLocation .parse ("textures/entity/beacon_beam.png" );
55
-
56
-
57
53
private PathRenderer () {}
58
54
59
55
public static double posX () {
@@ -265,20 +261,22 @@ private static void drawGoal(@Nullable BufferBuilder bufferBuilder, PoseStack st
265
261
maxY = ctx .world ().getMaxY ();
266
262
267
263
if (settings .renderGoalXZBeacon .value ) {
268
- //TODO: check
269
- // textureManager.getTexture(TEXTURE_BEACON_BEAM).bind();
264
+ // todo: fix beacon renderer (has been broken since at least 1.20.4)
265
+ // issue with outer beam rendering, probably related to matrix transforms state not matching vanilla
266
+ // possible solutions:
267
+ // inject hook into LevelRenderer#renderBlockEntities where the matrices have already been set up correctly
268
+ // copy out and modify the vanilla beacon render code
270
269
if (settings .renderGoalIgnoreDepth .value ) {
271
- // RenderSystem.disableDepthTest();
270
+
272
271
}
273
272
274
273
stack .pushPose (); // push
275
274
stack .translate (goalPos .getX () - renderPosX , -renderPosY , goalPos .getZ () - renderPosZ ); // translate
276
275
277
- //TODO: check
278
276
BeaconRenderer .renderBeaconBeam (
279
277
stack ,
280
278
ctx .minecraft ().renderBuffers ().bufferSource (),
281
- TEXTURE_BEACON_BEAM ,
279
+ BeaconRenderer . BEAM_LOCATION ,
282
280
settings .renderGoalAnimated .value ? partialTicks : 0 ,
283
281
1.0F ,
284
282
settings .renderGoalAnimated .value ? ctx .world ().getGameTime () : 0 ,
@@ -294,7 +292,7 @@ private static void drawGoal(@Nullable BufferBuilder bufferBuilder, PoseStack st
294
292
stack .popPose (); // pop
295
293
296
294
if (settings .renderGoalIgnoreDepth .value ) {
297
- // RenderSystem.enableDepthTest();
295
+
298
296
}
299
297
return ;
300
298
}
0 commit comments