6
6
import com .google .common .collect .Sets ;
7
7
import com .google .gson .JsonDeserializationContext ;
8
8
import com .google .gson .JsonObject ;
9
- import com .mojang .blaze3d .vertex .DefaultVertexFormat ;
10
- import com .mojang .blaze3d .vertex .VertexFormatElement ;
11
9
import com .mojang .datafixers .util .Pair ;
12
10
import net .minecraft .client .Minecraft ;
13
11
import net .minecraft .client .renderer .RenderType ;
31
29
import net .minecraft .world .level .block .Blocks ;
32
30
import net .minecraft .world .level .block .entity .BlockEntity ;
33
31
import net .minecraft .world .level .block .state .BlockState ;
32
+ import net .minecraftforge .client .ChunkRenderTypeSet ;
34
33
import net .minecraftforge .client .model .IQuadTransformer ;
35
34
import net .minecraftforge .client .model .data .ModelData ;
36
35
import net .minecraftforge .client .model .data .ModelProperty ;
@@ -492,16 +491,10 @@ public ItemOverrides getOverrides() {
492
491
return base .getOverrides ();
493
492
}
494
493
495
- private static int findElementIndex (VertexFormatElement element ) {
496
- List <VertexFormatElement > elements = DefaultVertexFormat .BLOCK .getElements ();
497
- for (int i = 0 ; i < elements .size (); i ++) {
498
- VertexFormatElement elem = elements .get (i );
499
- if (elem == element ) {
500
- return i ;
501
- }
502
- }
503
- throw new IllegalArgumentException (
504
- String .format ("VertexFormat %s doesn't have element %s" , DefaultVertexFormat .BLOCK , element ));
494
+ @ Override
495
+ public ChunkRenderTypeSet getRenderTypes (@ NotNull BlockState state , @ NotNull RandomSource rand ,
496
+ @ NotNull ModelData data ) {
497
+ return base .getRenderTypes (state , rand , data );
505
498
}
506
499
507
500
public static void unpackPosition (int [] vertexData , float [] pos , int vert ) {
@@ -517,33 +510,6 @@ public static void unpackUV(int[] vertexData, float[] uv, int vert) {
517
510
uv [1 ] = Float .intBitsToFloat (vertexData [offset + 1 ]);
518
511
}
519
512
520
- public static void unpackNormals (int [] vertexData , float [] normal , int vert ) {
521
- int offset = vert * IQuadTransformer .STRIDE + IQuadTransformer .NORMAL ;
522
- int packedNormal = vertexData [offset ];
523
-
524
- normal [0 ] = ((byte ) (packedNormal & 0xFF )) / 127F ;
525
- normal [1 ] = ((byte ) ((packedNormal >> 8 ) & 0xFF )) / 127F ;
526
- normal [2 ] = ((byte ) ((packedNormal >> 16 ) & 0xFF )) / 127F ;
527
- }
528
-
529
- public static void unpackColor (int [] vertexData , int [] color , int vert ) {
530
- int offset = vert * IQuadTransformer .STRIDE + IQuadTransformer .COLOR ;
531
- int packedColor = vertexData [offset ];
532
-
533
- color [0 ] = packedColor & 0xFF ;
534
- color [1 ] = (packedColor >> 8 ) & 0xFF ;
535
- color [2 ] = (packedColor >> 16 ) & 0xFF ;
536
- color [3 ] = (packedColor >> 24 ) & 0xFF ;
537
- }
538
-
539
- public static void unpackLight (int [] vertexData , int [] light , int vert ) {
540
- int offset = vert * IQuadTransformer .STRIDE + IQuadTransformer .UV2 ;
541
- int packedLight = vertexData [offset ];
542
-
543
- light [0 ] = packedLight & 0xFFFF ;
544
- light [1 ] = (packedLight >> 16 ) & 0xFFFF ;
545
- }
546
-
547
513
public static void packPosition (float [] pos , int [] vertexData , int vert ) {
548
514
int offset = vert * IQuadTransformer .STRIDE + IQuadTransformer .POSITION ;
549
515
vertexData [offset ] = Float .floatToRawIntBits (pos [0 ]);
@@ -557,24 +523,6 @@ public static void packUV(float[] uv, int[] vertexData, int vert) {
557
523
vertexData [offset + 1 ] = Float .floatToRawIntBits (uv [1 ]);
558
524
}
559
525
560
- public static void packNormals (float [] normal , int [] vertexData , int vert ) {
561
- int offset = vert * IQuadTransformer .STRIDE + IQuadTransformer .NORMAL ;
562
-
563
- int packedNormal = vertexData [offset ];
564
- vertexData [offset ] = (((byte ) (normal [0 ] * 127F )) & 0xFF ) | ((((byte ) (normal [1 ] * 127F )) & 0xFF ) << 8 ) | ((((byte ) (normal [2 ] * 127F )) & 0xFF ) << 16 ) | (packedNormal & 0xFF000000 );
565
- }
566
-
567
- public static void packColor (int [] color , int [] vertexData , int vert ) {
568
- int offset = vert * IQuadTransformer .STRIDE + IQuadTransformer .COLOR ;
569
-
570
- vertexData [offset ] = (color [0 ] & 0xFF ) | ((color [1 ] & 0xFF ) << 8 ) | ((color [2 ] & 0xFF ) << 16 ) | ((color [3 ] & 0xFF ) << 24 );
571
- }
572
-
573
- public static void packLight (int [] light , int [] vertexData , int vert ) {
574
- int offset = vert * IQuadTransformer .STRIDE + IQuadTransformer .UV2 ;
575
- vertexData [offset ] = (light [0 ] & 0xFFFF ) | ((light [1 ] & 0xFFFF ) << 16 );
576
- }
577
-
578
526
public record Connections (Direction side , boolean up , boolean down , boolean left , boolean right , boolean upLeft ,
579
527
boolean upRight , boolean downLeft , boolean downRight ) {
580
528
public boolean isClosed () {
0 commit comments