Skip to content

Commit 27863e4

Browse files
committed
Add support for no lighting (per IE manual), keep it disabled for now
Loss of shading makes for more consistent rotation, but all depth is lost makign it harder to tell which blocks are which
1 parent 09e85bd commit 27863e4

3 files changed

Lines changed: 55 additions & 4 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,5 @@ forge*changelog.txt
2727
logs/
2828

2929
mods/
30+
31+
demo-files/

src/main/java/com/robotgryphon/compactcrafting/client/render/RenderTypesExtensions.java

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.mojang.blaze3d.platform.GlStateManager;
44
import com.mojang.blaze3d.systems.RenderSystem;
5+
import com.robotgryphon.compactcrafting.CompactCrafting;
6+
import net.minecraft.client.renderer.IRenderTypeBuffer;
57
import net.minecraft.client.renderer.RenderState;
68
import net.minecraft.client.renderer.RenderType;
79
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
@@ -44,4 +46,53 @@ public RenderTypesExtensions(String name, VertexFormat format, int p_i225992_3_,
4446
.writeMask(COLOR_WRITE)
4547
.depthTest(DepthTestState.DEPTH_LEQUAL) // Default, but let's make sure it stays that way
4648
.build(false));
49+
50+
public static final RenderType MULTIBLOCK_GUI = makeType(CompactCrafting.MOD_ID + ":multiblock_gui",
51+
DefaultVertexFormats.BLOCK, GL11.GL_QUADS, 256,
52+
RenderType.State.getBuilder()
53+
.transparency(PROJECTION_TRANSPARENCY)
54+
.target(RenderState.MAIN_TARGET)
55+
.cull(RenderState.CULL_ENABLED)
56+
.writeMask(RenderState.COLOR_WRITE)
57+
.diffuseLighting(DiffuseLightingState.DIFFUSE_LIGHTING_DISABLED)
58+
.depthTest(DepthTestState.DEPTH_LEQUAL)
59+
.build(false));
60+
61+
public static IRenderTypeBuffer disableLighting(IRenderTypeBuffer in)
62+
{
63+
return wrapWithAdditional(
64+
in,
65+
"no_lighting",
66+
RenderSystem::disableLighting,
67+
() -> {
68+
}
69+
);
70+
}
71+
72+
private static IRenderTypeBuffer wrapWithAdditional(
73+
IRenderTypeBuffer in,
74+
String name,
75+
Runnable setup,
76+
Runnable teardown
77+
)
78+
{
79+
return type -> in.getBuffer(new RenderType(
80+
CompactCrafting.MOD_ID+":"+type+"_"+name,
81+
type.getVertexFormat(),
82+
type.getDrawMode(),
83+
type.getBufferSize(),
84+
type.isUseDelegate(),
85+
false, // needsSorting is private and shouldn't be too relevant here
86+
() -> {
87+
type.setupRenderState();
88+
setup.run();
89+
},
90+
() -> {
91+
teardown.run();
92+
type.clearRenderState();
93+
}
94+
)
95+
{
96+
});
97+
}
4798
}

src/main/java/com/robotgryphon/compactcrafting/compat/jei/JeiMiniaturizationCraftingCategory.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,7 @@
1818
import mezz.jei.api.recipe.category.IRecipeCategory;
1919
import net.minecraft.block.BlockState;
2020
import net.minecraft.client.Minecraft;
21-
import net.minecraft.client.renderer.BlockRendererDispatcher;
22-
import net.minecraft.client.renderer.IRenderTypeBuffer;
23-
import net.minecraft.client.renderer.RenderType;
24-
import net.minecraft.client.renderer.Tessellator;
21+
import net.minecraft.client.renderer.*;
2522
import net.minecraft.client.renderer.texture.OverlayTexture;
2623
import net.minecraft.client.resources.I18n;
2724
import net.minecraft.item.Item;
@@ -388,6 +385,7 @@ private void renderRecipeLayer(MiniaturizationRecipe recipe, MatrixStack mx, IRe
388385
// renderer.render(renderTe, pos.getX(), pos.getY(), pos.getZ(), 0.0f);
389386

390387
// 0xf000f0
388+
// TODO: RenderTypesExtensions.disableLighting(buffers);
391389
blocks.renderBlock(state, mx, buffers,
392390
0xf000f0, OverlayTexture.NO_OVERLAY, EmptyModelData.INSTANCE);
393391
});

0 commit comments

Comments
 (0)