66import com .google .common .collect .Sets ;
77import com .google .gson .JsonDeserializationContext ;
88import com .google .gson .JsonObject ;
9- import com .mojang .blaze3d .vertex .DefaultVertexFormat ;
10- import com .mojang .blaze3d .vertex .VertexFormatElement ;
119import com .mojang .datafixers .util .Pair ;
1210import net .minecraft .client .Minecraft ;
1311import net .minecraft .client .renderer .RenderType ;
3129import net .minecraft .world .level .block .Blocks ;
3230import net .minecraft .world .level .block .entity .BlockEntity ;
3331import net .minecraft .world .level .block .state .BlockState ;
32+ import net .minecraftforge .client .ChunkRenderTypeSet ;
3433import net .minecraftforge .client .model .IQuadTransformer ;
3534import net .minecraftforge .client .model .data .ModelData ;
3635import net .minecraftforge .client .model .data .ModelProperty ;
@@ -492,16 +491,10 @@ public ItemOverrides getOverrides() {
492491 return base .getOverrides ();
493492 }
494493
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 );
505498 }
506499
507500 public static void unpackPosition (int [] vertexData , float [] pos , int vert ) {
@@ -517,33 +510,6 @@ public static void unpackUV(int[] vertexData, float[] uv, int vert) {
517510 uv [1 ] = Float .intBitsToFloat (vertexData [offset + 1 ]);
518511 }
519512
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-
547513 public static void packPosition (float [] pos , int [] vertexData , int vert ) {
548514 int offset = vert * IQuadTransformer .STRIDE + IQuadTransformer .POSITION ;
549515 vertexData [offset ] = Float .floatToRawIntBits (pos [0 ]);
@@ -557,24 +523,6 @@ public static void packUV(float[] uv, int[] vertexData, int vert) {
557523 vertexData [offset + 1 ] = Float .floatToRawIntBits (uv [1 ]);
558524 }
559525
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-
578526 public record Connections (Direction side , boolean up , boolean down , boolean left , boolean right , boolean upLeft ,
579527 boolean upRight , boolean downLeft , boolean downRight ) {
580528 public boolean isClosed () {
0 commit comments