Skip to content

Commit 1cd625c

Browse files
committed
Disable projector preview on Fabulous graphics, field rendertype
1 parent 80697c9 commit 1cd625c

File tree

4 files changed

+44
-44
lines changed

4 files changed

+44
-44
lines changed

src/main/java/dev/compactmods/crafting/client/render/CCRenderTypes.java

Lines changed: 12 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -7,47 +7,21 @@
77
import net.minecraft.client.renderer.RenderStateShard;
88
import net.minecraft.client.renderer.RenderType;
99

10-
public class CCRenderTypes extends RenderType {
11-
protected static final RenderStateShard.TransparencyStateShard TRANSLUCENT_TRANSPARENCY = new RenderStateShard.TransparencyStateShard("cc_translucent", () -> {
12-
RenderSystem.enableBlend();
13-
RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
14-
}, () -> {
15-
RenderSystem.disableBlend();
16-
RenderSystem.defaultBlendFunc();
17-
});
10+
public class CCRenderTypes {
1811

19-
public static final RenderType FIELD_RENDER_TYPE = create("projection_field",
20-
DefaultVertexFormat.POSITION_COLOR, VertexFormat.Mode.QUADS, RenderType.MEDIUM_BUFFER_SIZE, false, true,
12+
public static final RenderType FIELD_RENDER_TYPE = RenderType.create("projection_field",
13+
DefaultVertexFormat.POSITION_COLOR, VertexFormat.Mode.QUADS, 256,
2114
RenderType.CompositeState.builder()
22-
.setTransparencyState(new TransparencyStateShard("transparent", () -> {
23-
RenderSystem.enableBlend();
24-
RenderSystem.enableDepthTest();
25-
RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
26-
}, () -> {
27-
RenderSystem.disableDepthTest();
28-
RenderSystem.disableBlend();
29-
RenderSystem.defaultBlendFunc();
30-
}))
31-
.setTextureState(NO_TEXTURE)
32-
.setWriteMaskState(RenderStateShard.COLOR_DEPTH_WRITE)
33-
.setOutputState(RenderType.OUTLINE_TARGET)
34-
.createCompositeState(true));
15+
.setShaderState(RenderStateShard.POSITION_COLOR_SHADER)
16+
.setTransparencyState(RenderStateShard.TRANSLUCENT_TRANSPARENCY)
17+
.setCullState(new RenderStateShard.CullStateShard(true))
18+
.setWriteMaskState(new RenderStateShard.WriteMaskStateShard(true, false))
19+
.createCompositeState(false));
3520

36-
// .setShaderState(RenderStateShard.RENDERTYPE_TRANSLUCENT_SHADER)
37-
// .setWriteMaskState(COLOR_DEPTH_WRITE)
38-
// .setTransparencyState(RenderStateShard.TRANSLUCENT_TRANSPARENCY)
39-
// .setOutputState(OutputStateShard.TRANSLUCENT_TARGET)
40-
// .setCullState(RenderStateShard.NO_CULL)
41-
// .createCompositeState(false));
42-
43-
public static final RenderType PHANTOM = create("phantom", DefaultVertexFormat.BLOCK, VertexFormat.Mode.QUADS, 2097152, true, false, RenderType.CompositeState.builder()
44-
.setShaderState(ShaderStateShard.BLOCK_SHADER)
21+
public static final RenderType PHANTOM = RenderType.create("phantom", DefaultVertexFormat.BLOCK, VertexFormat.Mode.QUADS, 2097152, true, false, RenderType.CompositeState.builder()
22+
.setShaderState(RenderStateShard.ShaderStateShard.BLOCK_SHADER)
4523
.setLightmapState(RenderStateShard.LIGHTMAP)
46-
.setTextureState(BLOCK_SHEET_MIPPED)
47-
.setTransparencyState(TRANSLUCENT_TRANSPARENCY)
24+
.setTextureState(RenderStateShard.BLOCK_SHEET_MIPPED)
25+
.setTransparencyState(RenderStateShard.TRANSLUCENT_TRANSPARENCY)
4826
.createCompositeState(true));
49-
50-
public CCRenderTypes(String p_173178_, VertexFormat p_173179_, VertexFormat.Mode p_173180_, int p_173181_, boolean p_173182_, boolean p_173183_, Runnable p_173184_, Runnable p_173185_) {
51-
super(p_173178_, p_173179_, p_173180_, p_173181_, p_173182_, p_173183_, p_173184_, p_173185_);
52-
}
5327
}

src/main/java/dev/compactmods/crafting/client/render/ClientProjectorRenderInfo.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,32 @@
33
import java.util.HashMap;
44
import java.util.Optional;
55
import java.util.Set;
6+
import com.mojang.blaze3d.systems.RenderSystem;
67
import com.mojang.blaze3d.vertex.PoseStack;
8+
import com.mojang.blaze3d.vertex.VertexConsumer;
9+
import dev.compactmods.crafting.CompactCrafting;
710
import dev.compactmods.crafting.api.field.MiniaturizationFieldSize;
811
import dev.compactmods.crafting.api.projector.IProjectorRenderInfo;
912
import dev.compactmods.crafting.client.ClientConfig;
1013
import dev.compactmods.crafting.core.CCBlocks;
1114
import dev.compactmods.crafting.projector.FieldProjectorBlock;
1215
import dev.compactmods.crafting.projector.ProjectorHelper;
1316
import net.minecraft.client.Camera;
17+
import net.minecraft.client.GraphicsStatus;
1418
import net.minecraft.client.Minecraft;
1519
import net.minecraft.client.multiplayer.ClientLevel;
1620
import net.minecraft.client.renderer.MultiBufferSource;
21+
import net.minecraft.client.renderer.RenderType;
22+
import net.minecraft.client.renderer.Sheets;
23+
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
1724
import net.minecraft.core.BlockPos;
1825
import net.minecraft.core.Direction;
1926
import net.minecraft.world.level.Level;
2027
import net.minecraft.world.level.block.Blocks;
2128
import net.minecraft.world.level.block.state.BlockBehaviour;
2229
import net.minecraft.world.level.block.state.BlockState;
2330
import net.minecraft.world.phys.Vec3;
31+
import net.minecraftforge.client.model.data.EmptyModelData;
2432

2533
public class ClientProjectorRenderInfo implements IProjectorRenderInfo {
2634

@@ -54,6 +62,14 @@ public void render(PoseStack matrixStack) {
5462
final Camera mainCamera = mc.gameRenderer.getMainCamera();
5563
final ClientLevel level = mc.level;
5664

65+
if(mc.options.graphicsMode == GraphicsStatus.FABULOUS) {
66+
// Fabulous mode is borked, don't bother yet - TODO
67+
} else {
68+
render(matrixStack, buffers, mainCamera, level);
69+
}
70+
}
71+
72+
private void render(PoseStack matrixStack, MultiBufferSource.BufferSource buffers, Camera mainCamera, ClientLevel level) {
5773
matrixStack.pushPose();
5874
Vec3 projectedView = mainCamera.getPosition();
5975
matrixStack.translate(-projectedView.x, -projectedView.y, -projectedView.z);

src/main/java/dev/compactmods/crafting/projector/render/FieldProjectorRenderer.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
import dev.compactmods.crafting.api.field.IMiniaturizationField;
1010
import dev.compactmods.crafting.api.field.MiniaturizationFieldSize;
1111
import dev.compactmods.crafting.client.ClientConfig;
12-
import dev.compactmods.crafting.client.render.CubeRenderHelper;
13-
import dev.compactmods.crafting.client.render.EnumCubeFaceCorner;
14-
import dev.compactmods.crafting.client.render.RotationSpeed;
12+
import dev.compactmods.crafting.client.render.*;
1513
import dev.compactmods.crafting.projector.EnumProjectorColorType;
1614
import dev.compactmods.crafting.projector.FieldProjectorBlock;
1715
import dev.compactmods.crafting.projector.FieldProjectorEntity;
@@ -191,7 +189,7 @@ private void drawFieldFace(FieldProjectorEntity tile, PoseStack mx, MultiBufferS
191189
mx.popPose();
192190
}
193191

194-
VertexConsumer builder = buffers.getBuffer(RenderType.lines());
192+
VertexConsumer builder = buffers.getBuffer(CCRenderTypes.FIELD_RENDER_TYPE);
195193

196194
double expansion = 0.005;
197195
AABB slightlyBiggerBecauseFoxes = fieldBounds
@@ -227,7 +225,7 @@ private void drawFieldFace(FieldProjectorEntity tile, PoseStack mx, MultiBufferS
227225
private void drawProjectorArcs(FieldProjectorEntity tile, PoseStack mx, MultiBufferSource buffers, AABB fieldBounds, double gameTime) {
228226

229227
try {
230-
VertexConsumer builder = buffers.getBuffer(RenderType.lines());
228+
VertexConsumer builder = buffers.getBuffer(CCRenderTypes.FIELD_RENDER_TYPE);
231229

232230
Direction facing = tile.getProjectorSide();
233231

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,13 @@
1-
public net.minecraft.world.level.dimension.DimensionType f_63848_ # DEFAULT_OVERWORLD
1+
public net.minecraft.world.level.dimension.DimensionType f_63848_ # DEFAULT_OVERWORLD
2+
3+
public net.minecraft.gametest.framework.GameTestHelper m_177451_()Lnet/minecraft/world/phys/AABB; # getRelativeBounds
4+
5+
# Field Render Type
6+
public net.minecraft.client.renderer.RenderType m_173209_(Ljava/lang/String;Lcom/mojang/blaze3d/vertex/VertexFormat;Lcom/mojang/blaze3d/vertex/VertexFormat$Mode;ILnet/minecraft/client/renderer/RenderType$CompositeState;)Lnet/minecraft/client/renderer/RenderType$CompositeRenderType; # create
7+
public net.minecraft.client.renderer.RenderStateShard f_173104_ # POSITION_COLOR_SHADER
8+
public net.minecraft.client.renderer.RenderStateShard f_110139_ # TRANSLUCENT_TRANSPARENCY
9+
10+
# Phantom Block Render Type
11+
public net.minecraft.client.renderer.RenderStateShard f_173097_ # BLOCK_SHADER
12+
public net.minecraft.client.renderer.RenderStateShard f_110152_ # LIGHTMAP
13+
public net.minecraft.client.renderer.RenderStateShard f_110145_ # BLOCK_SHEET_MIPPED

0 commit comments

Comments
 (0)