diff --git a/src/main/java/nl/requios/effortlessbuilding/render/BuildRenderTypes.java b/src/main/java/nl/requios/effortlessbuilding/render/BuildRenderTypes.java index 1c780df..b848f74 100644 --- a/src/main/java/nl/requios/effortlessbuilding/render/BuildRenderTypes.java +++ b/src/main/java/nl/requios/effortlessbuilding/render/BuildRenderTypes.java @@ -2,6 +2,7 @@ package nl.requios.effortlessbuilding.render; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.VertexFormat; +import net.minecraft.Util; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.RenderStateShard; import net.minecraft.client.renderer.RenderType; @@ -29,8 +30,12 @@ public class BuildRenderTypes extends RenderType { //LINES renderState = CompositeState.builder() .setLineState(LINE) + .setShaderState(RenderStateShard.RENDERTYPE_LINES_SHADER) .setLayeringState(VIEW_OFFSET_Z_LAYERING) .setTransparencyState(TRANSLUCENT_TRANSPARENCY) + .setTextureState(RenderStateShard.NO_TEXTURE) + .setDepthTestState(RenderStateShard.NO_DEPTH_TEST) + .setLightmapState(RenderStateShard.NO_LIGHTMAP) .setWriteMaskState(COLOR_DEPTH_WRITE) .setCullState(RenderStateShard.NO_CULL) .createCompositeState(false); @@ -39,12 +44,16 @@ public class BuildRenderTypes extends RenderType { //PLANES renderState = CompositeState.builder() - .setLineState(LINE) - .setLayeringState(VIEW_OFFSET_Z_LAYERING) - .setTransparencyState(TRANSLUCENT_TRANSPARENCY) - .setWriteMaskState(COLOR_WRITE) - .setCullState(RenderStateShard.NO_CULL) - .createCompositeState(false); + .setLineState(LINE) + .setShaderState(RenderStateShard.RENDERTYPE_LINES_SHADER) + .setLayeringState(VIEW_OFFSET_Z_LAYERING) + .setTransparencyState(TRANSLUCENT_TRANSPARENCY) + .setTextureState(RenderStateShard.NO_TEXTURE) + .setDepthTestState(RenderStateShard.NO_DEPTH_TEST) + .setLightmapState(RenderStateShard.NO_LIGHTMAP) + .setWriteMaskState(COLOR_WRITE) + .setCullState(RenderStateShard.NO_CULL) + .createCompositeState(false); PLANES = RenderType.create("eb_planes", DefaultVertexFormat.POSITION_COLOR, VertexFormat.Mode.TRIANGLE_STRIP, INITIAL_BUFFER_SIZE, false, false, renderState); } @@ -79,16 +88,17 @@ public class BuildRenderTypes extends RenderType { }, ShaderHandler::releaseShader); RenderType.CompositeState renderState = RenderType.CompositeState.builder() - .setTextureState(new RenderStateShard.TextureStateShard(ShaderHandler.shaderMaskTextureLocation, false, false)) - .setTexturingState(MY_TEXTURING) - .setTransparencyState(TRANSLUCENT_TRANSPARENCY) + .setShaderState(RenderStateShard.RENDERTYPE_TRANSLUCENT_SHADER) + .setTextureState(new RenderStateShard.TextureStateShard(ShaderHandler.shaderMaskTextureLocation, false, false)) + .setTexturingState(MY_TEXTURING) + .setTransparencyState(TRANSLUCENT_TRANSPARENCY) //TODO 1.17 -// .setDiffuseLightingState(DIFFUSE_LIGHTING_DISABLED) -// .setAlphaState(DEFAULT_ALPHA) - .setCullState(new RenderStateShard.CullStateShard(true)) - .setLightmapState(new RenderStateShard.LightmapStateShard(false)) - .setOverlayState(new RenderStateShard.OverlayStateShard(false)) - .createCompositeState(true); + // .setDiffuseLightingState(DIFFUSE_LIGHTING_DISABLED) + // .setAlphaState(DEFAULT_ALPHA) + .setCullState(new RenderStateShard.CullStateShard(true)) + .setLightmapState(new RenderStateShard.LightmapStateShard(false)) + .setOverlayState(new RenderStateShard.OverlayStateShard(false)) + .createCompositeState(true); //Unique name for every combination, otherwise it will reuse the previous one String name = "eb_block_previews_" + dissolve + "_" + blockPos + "_" + firstPos + "_" + secondPos + "_" + red; return RenderType.create(name, diff --git a/src/main/java/nl/requios/effortlessbuilding/render/ModifierRenderer.java b/src/main/java/nl/requios/effortlessbuilding/render/ModifierRenderer.java index 1e2b144..18fbddd 100644 --- a/src/main/java/nl/requios/effortlessbuilding/render/ModifierRenderer.java +++ b/src/main/java/nl/requios/effortlessbuilding/render/ModifierRenderer.java @@ -21,7 +21,7 @@ public class ModifierRenderer { protected static final Color colorZ = new Color(52, 247, 255); protected static final Color colorRadial = new Color(52, 247, 255); protected static final int lineAlpha = 200; - protected static final int planeAlpha = 75; + protected static final int planeAlpha = 50; protected static final Vec3 epsilon = new Vec3(0.001, 0.001, 0.001); //prevents z-fighting public static void render(PoseStack matrixStack, MultiBufferSource.BufferSource renderTypeBuffer, ModifierSettingsManager.ModifierSettings modifierSettings) { diff --git a/src/main/java/nl/requios/effortlessbuilding/render/RenderHandler.java b/src/main/java/nl/requios/effortlessbuilding/render/RenderHandler.java index 2b7fda3..8fbdc31 100644 --- a/src/main/java/nl/requios/effortlessbuilding/render/RenderHandler.java +++ b/src/main/java/nl/requios/effortlessbuilding/render/RenderHandler.java @@ -21,6 +21,7 @@ import net.minecraft.world.phys.Vec3; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderWorldLastEvent; +import net.minecraftforge.client.model.data.EmptyModelData; import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; @@ -53,8 +54,6 @@ public class RenderHandler { PoseStack matrixStack = event.getMatrixStack(); BufferBuilder bufferBuilder = Tesselator.getInstance().getBuilder(); MultiBufferSource.BufferSource renderTypeBuffer = MultiBufferSource.immediate(bufferBuilder); - if (renderTypeBuffer == null) - return; Player player = Minecraft.getInstance().player; ModeSettingsManager.ModeSettings modeSettings = ModeSettingsManager.getModeSettings(player); @@ -193,8 +192,8 @@ public class RenderHandler { try { BakedModel model = dispatcher.getBlockModel(blockState); - dispatcher.getModelRenderer().renderModel(matrixStack.last(), buffer, - blockState, model, 1f, 1f, 1f, 0, OverlayTexture.NO_OVERLAY); + dispatcher.getModelRenderer().renderModel(matrixStack.last(), buffer, blockState, model, + 1f, 1f, 1f, 0, OverlayTexture.NO_OVERLAY, EmptyModelData.INSTANCE); // blockRendererDispatcher.getBlockModelRenderer().renderModel(world, blockRendererDispatcher.getModelForState(blockState), // blockState, logicPos, matrixStack, renderTypeBuffer.getBuffer(renderType), true, new Random(), blockState.getPositionRandom(logicPos), i); } catch (NullPointerException e) {