44import java .util .*;
55import java .util .concurrent .atomic .AtomicInteger ;
66import java .util .stream .IntStream ;
7- import com .mojang .blaze3d .vertex . PoseStack ;
7+ import com .mojang .blaze3d .platform . Window ;
88import com .mojang .blaze3d .systems .RenderSystem ;
9+ import com .mojang .blaze3d .vertex .PoseStack ;
10+ import com .mojang .math .Matrix4f ;
11+ import com .mojang .math .Quaternion ;
912import dev .compactmods .crafting .CompactCrafting ;
10- import dev .compactmods .crafting .Registration ;
13+ import dev .compactmods .crafting .api .components .IRecipeBlockComponent ;
14+ import dev .compactmods .crafting .api .components .IRecipeComponents ;
15+ import dev .compactmods .crafting .api .recipe .layers .IRecipeLayer ;
1116import dev .compactmods .crafting .client .fakeworld .RenderingWorld ;
12- import dev .compactmods .crafting .client .render .CCRenderTypes ;
17+ import dev .compactmods .crafting .client .ui .ScreenArea ;
18+ import dev .compactmods .crafting .core .CCBlocks ;
1319import dev .compactmods .crafting .recipes .MiniaturizationRecipe ;
1420import dev .compactmods .crafting .recipes .components .BlockComponent ;
15- import dev .compactmods .crafting .client .ui .ScreenArea ;
1621import dev .compactmods .crafting .util .BlockSpaceUtil ;
17- import dev .compactmods .crafting .api .components .IRecipeBlockComponent ;
18- import dev .compactmods .crafting .api .components .IRecipeComponents ;
19- import dev .compactmods .crafting .api .recipe .layers .IRecipeLayer ;
2022import mezz .jei .api .constants .VanillaTypes ;
2123import mezz .jei .api .gui .IRecipeLayout ;
2224import mezz .jei .api .gui .drawable .IDrawable ;
2527import mezz .jei .api .helpers .IGuiHelper ;
2628import mezz .jei .api .ingredients .IIngredients ;
2729import mezz .jei .api .recipe .category .IRecipeCategory ;
28- import net .minecraft .world .level .block .state .BlockState ;
29- import com .mojang .blaze3d .platform .Window ;
30+ import net .minecraft .ChatFormatting ;
3031import net .minecraft .client .Minecraft ;
31- import net .minecraft .client .resources .sounds .SimpleSoundInstance ;
32- import net .minecraft .client .sounds .SoundManager ;
3332import net .minecraft .client .gui .GuiComponent ;
34- import net .minecraft .client .renderer .block .BlockRenderDispatcher ;
33+ import net .minecraft .client .renderer .GameRenderer ;
34+ import net .minecraft .client .renderer .LightTexture ;
3535import net .minecraft .client .renderer .MultiBufferSource ;
36+ import net .minecraft .client .renderer .block .BlockRenderDispatcher ;
3637import net .minecraft .client .renderer .texture .OverlayTexture ;
37- import net .minecraft .client .resources .language .I18n ;
38+ import net .minecraft .client .resources .sounds .SimpleSoundInstance ;
39+ import net .minecraft .client .sounds .SoundManager ;
40+ import net .minecraft .core .BlockPos ;
41+ import net .minecraft .network .chat .Component ;
42+ import net .minecraft .network .chat .MutableComponent ;
43+ import net .minecraft .network .chat .TranslatableComponent ;
44+ import net .minecraft .resources .ResourceLocation ;
45+ import net .minecraft .sounds .SoundEvents ;
3846import net .minecraft .world .item .Item ;
3947import net .minecraft .world .item .ItemStack ;
4048import net .minecraft .world .item .Items ;
4149import net .minecraft .world .level .block .entity .BlockEntity ;
42- import net .minecraft .resources .ResourceLocation ;
43- import net .minecraft .sounds .SoundEvents ;
50+ import net .minecraft .world .level .block .state .BlockState ;
4451import net .minecraft .world .phys .AABB ;
45- import net .minecraft .core .BlockPos ;
46- import com .mojang .math .Matrix4f ;
47- import com .mojang .math .Quaternion ;
4852import net .minecraft .world .phys .Vec3 ;
49- import net .minecraft .network .chat .MutableComponent ;
50- import net .minecraft .ChatFormatting ;
51- import net .minecraft .network .chat .TranslatableComponent ;
5253import net .minecraftforge .client .model .data .EmptyModelData ;
5354import net .minecraftforge .client .model .data .IModelData ;
5455import org .lwjgl .BufferUtils ;
@@ -91,7 +92,7 @@ public JeiMiniaturizationCraftingCategory(IGuiHelper guiHelper) {
9192 this .guiHelper = guiHelper ;
9293 this .background = guiHelper .createBlankDrawable (width , height );
9394 this .slotDrawable = guiHelper .getSlotDrawable ();
94- this .icon = guiHelper .createDrawableIngredient (new ItemStack (Registration .FIELD_PROJECTOR_BLOCK .get ()));
95+ this .icon = guiHelper .createDrawableIngredient (new ItemStack (CCBlocks .FIELD_PROJECTOR_BLOCK .get ()));
9596 this .arrowOutputs = guiHelper .createDrawable (new ResourceLocation (CompactCrafting .MOD_ID , "textures/gui/jei-arrow-outputs.png" ), 0 , 0 , 24 , 19 );
9697
9798 this .blocks = Minecraft .getInstance ().getBlockRenderer ();
@@ -110,8 +111,8 @@ public Class<? extends MiniaturizationRecipe> getRecipeClass() {
110111 }
111112
112113 @ Override
113- public String getTitle () {
114- return I18n . get (CompactCrafting .MOD_ID + ".jei.miniaturization.title" );
114+ public Component getTitle () {
115+ return new TranslatableComponent (CompactCrafting .MOD_ID + ".jei.miniaturization.title" );
115116 }
116117
117118 @ Override
@@ -308,12 +309,12 @@ private void drawScaledTexture(
308309 int uWidth , int vHeight ,
309310 int textureWidth , int textureHeight ) {
310311
311- Minecraft minecraft = Minecraft .getInstance ();
312- minecraft .getTextureManager ().bind (texture );
312+ RenderSystem .setShader (GameRenderer ::getPositionTexShader );
313+ RenderSystem .setShaderColor (1.0F , 1.0F , 1.0F , 1.0F );
314+ RenderSystem .setShaderTexture (0 , texture );
313315
314316 RenderSystem .enableDepthTest ();
315- GuiComponent .blit (matrixStack , area .x , area .y , area .width , area .height ,
316- u , v , uWidth , vHeight , textureWidth , textureHeight );
317+ GuiComponent .blit (matrixStack , area .x , area .y , area .width , area .height , u , v , uWidth , vHeight , textureWidth , textureHeight );
317318 }
318319
319320 //endregion
@@ -510,11 +511,9 @@ private void renderComponent(PoseStack mx, MultiBufferSource.BufferSource buffer
510511 return ;
511512
512513 BlockState state1 = state .getRenderState ();
513- // Thanks Immersive, Astral, and others
514- MultiBufferSource light = CCRenderTypes .disableLighting (buffers );
515514
516515 IModelData data = EmptyModelData .INSTANCE ;
517- if (previewLevel != null && state1 .hasTileEntity ()) {
516+ if (previewLevel != null && state1 .hasBlockEntity ()) {
518517 // create fake world instance
519518 // get tile entity - extend EmptyBlockReader with impl
520519 BlockEntity be = previewLevel .getBlockEntity (filledPos );
@@ -523,10 +522,16 @@ private void renderComponent(PoseStack mx, MultiBufferSource.BufferSource buffer
523522 }
524523
525524 try {
526- blocks .renderBlock (state1 ,
525+ // final RenderBuffers buffs = Minecraft.getInstance().renderBuffers();
526+ // final BufferBuilder builder = buffs.fixedBufferPack().builder(RenderType.solid());
527+ // builder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.BLOCK);
528+ // blocks.renderBatched(state1, BlockPos.ZERO, this.previewLevel, mx, builder, false, this.previewLevel.random, data);
529+ // builder.end();
530+
531+ blocks .renderSingleBlock (state1 ,
527532 mx ,
528- light ,
529- 0xf000f0 ,
533+ buffers ,
534+ LightTexture . FULL_SKY ,
530535 OverlayTexture .NO_OVERLAY ,
531536 data );
532537 } catch (Exception e ) {
0 commit comments