1717import com .mojang .blaze3d .platform .Lighting ;
1818import com .mojang .blaze3d .shaders .Uniform ;
1919import com .mojang .blaze3d .systems .RenderSystem ;
20- import com .mojang .blaze3d .vertex .*;
20+ import com .mojang .blaze3d .vertex .BufferBuilder ;
21+ import com .mojang .blaze3d .vertex .MeshData ;
22+ import com .mojang .blaze3d .vertex .PoseStack ;
23+ import com .mojang .blaze3d .vertex .VertexBuffer ;
2124import com .mojang .blaze3d .vertex .VertexBuffer .Usage ;
25+ import com .mojang .blaze3d .vertex .VertexFormat ;
2226import it .unimi .dsi .fastutil .objects .Reference2ObjectArrayMap ;
2327import net .minecraft .CrashReport ;
2428import net .minecraft .ReportType ;
2529import net .minecraft .ReportedException ;
2630import net .minecraft .client .Camera ;
2731import net .minecraft .client .DeltaTracker ;
2832import net .minecraft .client .Minecraft ;
29- import net .minecraft .client .renderer .*;
33+ import net .minecraft .client .renderer .FogRenderer ;
34+ import net .minecraft .client .renderer .ItemBlockRenderTypes ;
35+ import net .minecraft .client .renderer .MultiBufferSource ;
36+ import net .minecraft .client .renderer .RenderBuffers ;
37+ import net .minecraft .client .renderer .RenderType ;
38+ import net .minecraft .client .renderer .ShaderInstance ;
39+ import net .minecraft .client .renderer .Sheets ;
3040import net .minecraft .client .renderer .block .BlockRenderDispatcher ;
3141import net .minecraft .client .renderer .blockentity .BlockEntityRenderer ;
3242import net .minecraft .client .renderer .culling .Frustum ;
3949import net .minecraft .world .entity .Entity ;
4050import net .minecraft .world .inventory .InventoryMenu ;
4151import net .minecraft .world .level .Level ;
42- import net .minecraft .world .level .block .*;
43- import net .minecraft .world .level .block .entity .*;
52+ import net .minecraft .world .level .block .Blocks ;
53+ import net .minecraft .world .level .block .CampfireBlock ;
54+ import net .minecraft .world .level .block .RenderShape ;
55+ import net .minecraft .world .level .block .SkullBlock ;
56+ import net .minecraft .world .level .block .TrialSpawnerBlock ;
57+ import net .minecraft .world .level .block .entity .BeaconBlockEntity ;
58+ import net .minecraft .world .level .block .entity .BlockEntity ;
59+ import net .minecraft .world .level .block .entity .CampfireBlockEntity ;
60+ import net .minecraft .world .level .block .entity .EnchantingTableBlockEntity ;
61+ import net .minecraft .world .level .block .entity .SkullBlockEntity ;
62+ import net .minecraft .world .level .block .entity .SpawnerBlockEntity ;
63+ import net .minecraft .world .level .block .entity .TrialSpawnerBlockEntity ;
4464import net .minecraft .world .level .block .entity .vault .VaultBlockEntity ;
4565import net .minecraft .world .level .block .state .BlockState ;
4666import net .minecraft .world .level .material .FluidState ;
5474import org .slf4j .Logger ;
5575import org .slf4j .LoggerFactory ;
5676
57- import java .util .*;
77+ import java .util .ArrayList ;
78+ import java .util .Collections ;
79+ import java .util .HashMap ;
80+ import java .util .IdentityHashMap ;
81+ import java .util .List ;
82+ import java .util .Map ;
83+ import java .util .Set ;
5884
5985/**
6086 * The renderer for blueprint.
@@ -105,7 +131,7 @@ public void updateBlueprint(final BlueprintPreviewData previewData)
105131 }
106132 }
107133
108- private void init (final Blueprint blueprint , final Map <Object , Exception > suppressedExceptions , final BlueprintPreviewData previewData )
134+ private void init (final Blueprint blueprint , final Map <Object , Exception > suppressedExceptions )
109135 {
110136 final BlockRenderDispatcher blockRenderer = Minecraft .getInstance ().getBlockRenderer ();
111137 final RandomSource random = RandomSource .create ();
@@ -117,11 +143,6 @@ private void init(final Blueprint blueprint, final Map<Object, Exception> suppre
117143 blockAccess .setBlockEntities (tileEntitiesMap );
118144 blockAccess .setEntities (entities );
119145
120- if (previewData .getSolidSubstitutionOverride () != null )
121- {
122- blockAccess .setSolidSubstitutionOverride (previewData .getSolidSubstitutionOverride ());
123- }
124-
125146 final PoseStack matrixStack = new PoseStack ();
126147 matrixStack .translate (0.001 , 0.001 , 0.001 );
127148
@@ -152,6 +173,11 @@ private void init(final Blueprint blueprint, final Map<Object, Exception> suppre
152173 state = Blocks .AIR .defaultBlockState ();
153174 }
154175 }
176+ else if (Structurize .getConfig ().getClient ().renderPlaceholdersNice .get () && state .getBlock () == ModBlocks .blockSolidSubstitution .get ()
177+ && previewData .getSolidSubstitutionOverride () != null )
178+ {
179+ state = previewData .getSolidSubstitutionOverride ();
180+ }
155181 else
156182 {
157183 state = blockAccess .prepareBlockStateForRendering (state , blockPos );
@@ -311,7 +337,7 @@ public Map<Object, Exception> drawUnsafe(final BlueprintPreviewData previewData,
311337 // init
312338 if (vertexBuffers == null )
313339 {
314- init (previewData .getBlueprint (), suppressedExceptions , previewData );
340+ init (previewData .getBlueprint (), suppressedExceptions );
315341 }
316342
317343 profiler .popPush ("struct_render_prepare" );
0 commit comments