diff --git a/patches/net/minecraft/client/gui/Font.java.patch b/patches/net/minecraft/client/gui/Font.java.patch index 92bc34f85a..a45603a940 100644 --- a/patches/net/minecraft/client/gui/Font.java.patch +++ b/patches/net/minecraft/client/gui/Font.java.patch @@ -9,12 +9,48 @@ private static final float EFFECT_DEPTH = 0.01F; private static final Vector3f SHADOW_OFFSET = new Vector3f(0.0F, 0.0F, 0.03F); public static final int ALPHA_CUTOFF = 8; -@@ -309,6 +_,8 @@ - public StringSplitter getSplitter() { +@@ -42,6 +_,8 @@ + private final Function fonts; + final boolean filterFishyGlyphs; + private final StringSplitter splitter; ++ /** Neo: enables linear filtering on text */ ++ public boolean enableTextTextureLinearFiltering = false; + + public Font(Function p_243253_, boolean p_243245_) { + this.fonts = p_243253_; +@@ -310,6 +_,8 @@ return this.splitter; } -+ -+ @Override public Font self() { return this; } ++ @Override public Font self() { return this; } ++ @OnlyIn(Dist.CLIENT) public static enum DisplayMode { + NORMAL, +@@ -417,7 +_,7 @@ + p_381032_ - 1.0F, this.y + 9.0F, this.x, this.y - 1.0F, this.getUnderTextEffectDepth(), this.backgroundColor + ); + bakedglyph = Font.this.getFontSet(Style.DEFAULT_FONT).whiteGlyph(); +- VertexConsumer vertexconsumer = this.bufferSource.getBuffer(bakedglyph.renderType(this.mode)); ++ VertexConsumer vertexconsumer = this.bufferSource.getBuffer(bakedglyph.renderType(this.mode, Font.this.enableTextTextureLinearFiltering)); + bakedglyph.renderEffect(bakedglyph$effect, this.pose, vertexconsumer, this.packedLightCoords); + } + +@@ -427,7 +_,7 @@ + bakedglyph = Font.this.getFontSet(Style.DEFAULT_FONT).whiteGlyph(); + } + +- VertexConsumer vertexconsumer1 = this.bufferSource.getBuffer(bakedglyph.renderType(this.mode)); ++ VertexConsumer vertexconsumer1 = this.bufferSource.getBuffer(bakedglyph.renderType(this.mode, Font.this.enableTextTextureLinearFiltering)); + + for (BakedGlyph.Effect bakedglyph$effect1 : this.effects) { + bakedglyph.renderEffect(bakedglyph$effect1, this.pose, vertexconsumer1, this.packedLightCoords); +@@ -440,7 +_,7 @@ + void renderCharacters() { + for (BakedGlyph.GlyphInstance bakedglyph$glyphinstance : this.glyphInstances) { + BakedGlyph bakedglyph = bakedglyph$glyphinstance.glyph(); +- VertexConsumer vertexconsumer = this.bufferSource.getBuffer(bakedglyph.renderType(this.mode)); ++ VertexConsumer vertexconsumer = this.bufferSource.getBuffer(bakedglyph.renderType(this.mode, Font.this.enableTextTextureLinearFiltering)); + bakedglyph.renderChar(bakedglyph$glyphinstance, this.pose, vertexconsumer, this.packedLightCoords); + } + } diff --git a/patches/net/minecraft/client/gui/font/GlyphRenderTypes.java.patch b/patches/net/minecraft/client/gui/font/GlyphRenderTypes.java.patch new file mode 100644 index 0000000000..7c48591d46 --- /dev/null +++ b/patches/net/minecraft/client/gui/font/GlyphRenderTypes.java.patch @@ -0,0 +1,47 @@ +--- a/net/minecraft/client/gui/font/GlyphRenderTypes.java ++++ b/net/minecraft/client/gui/font/GlyphRenderTypes.java +@@ -7,22 +_,39 @@ + import net.neoforged.api.distmarker.OnlyIn; + + @OnlyIn(Dist.CLIENT) +-public record GlyphRenderTypes(RenderType normal, RenderType seeThrough, RenderType polygonOffset) { ++public record GlyphRenderTypes(RenderType normal, RenderType seeThrough, RenderType polygonOffset, RenderType normalBlur, RenderType seeThroughBlur, RenderType polygonOffsetBlur) { ++ /** @deprecated Neo: Use {@link GlyphRenderTypes(RenderType,RenderType,RenderType,RenderType,RenderType,RenderType)} instead */ ++ @Deprecated ++ public GlyphRenderTypes(RenderType normal, RenderType seeThrough, RenderType polygonOffset) { ++ this(normal, seeThrough, polygonOffset, normal, seeThrough, polygonOffset); ++ } ++ + public static GlyphRenderTypes createForIntensityTexture(ResourceLocation p_285411_) { + return new GlyphRenderTypes( + RenderType.textIntensity(p_285411_), RenderType.textIntensitySeeThrough(p_285411_), RenderType.textIntensityPolygonOffset(p_285411_) ++ , net.neoforged.neoforge.client.NeoForgeRenderTypes.getTextIntensityFiltered(p_285411_), ++ net.neoforged.neoforge.client.NeoForgeRenderTypes.getTextIntensitySeeThroughFiltered(p_285411_), ++ net.neoforged.neoforge.client.NeoForgeRenderTypes.getTextIntensityPolygonOffsetFiltered(p_285411_) + ); + } + + public static GlyphRenderTypes createForColorTexture(ResourceLocation p_285486_) { +- return new GlyphRenderTypes(RenderType.text(p_285486_), RenderType.textSeeThrough(p_285486_), RenderType.textPolygonOffset(p_285486_)); ++ return new GlyphRenderTypes(RenderType.text(p_285486_), RenderType.textSeeThrough(p_285486_), RenderType.textPolygonOffset(p_285486_), ++ net.neoforged.neoforge.client.NeoForgeRenderTypes.getTextFiltered(p_285486_), ++ net.neoforged.neoforge.client.NeoForgeRenderTypes.getTextSeeThroughFiltered(p_285486_), ++ net.neoforged.neoforge.client.NeoForgeRenderTypes.getTextPolygonOffsetFiltered(p_285486_) ++ ); + } + + public RenderType select(Font.DisplayMode p_285259_) { ++ return this.select(p_285259_, false); ++ } ++ ++ public RenderType select(Font.DisplayMode p_285259_, boolean blur) { + return switch (p_285259_) { +- case NORMAL -> this.normal; +- case SEE_THROUGH -> this.seeThrough; +- case POLYGON_OFFSET -> this.polygonOffset; ++ case NORMAL -> blur ? this.normalBlur : this.normal; ++ case SEE_THROUGH -> blur ? this.seeThroughBlur : this.seeThrough; ++ case POLYGON_OFFSET -> blur ? this.polygonOffsetBlur : this.polygonOffset; + }; + } + } diff --git a/patches/net/minecraft/client/gui/font/glyphs/BakedGlyph.java.patch b/patches/net/minecraft/client/gui/font/glyphs/BakedGlyph.java.patch new file mode 100644 index 0000000000..997f0efa02 --- /dev/null +++ b/patches/net/minecraft/client/gui/font/glyphs/BakedGlyph.java.patch @@ -0,0 +1,15 @@ +--- a/net/minecraft/client/gui/font/glyphs/BakedGlyph.java ++++ b/net/minecraft/client/gui/font/glyphs/BakedGlyph.java +@@ -75,6 +_,12 @@ + p_95223_.addVertex(p_254370_, p_95221_.x0, p_95221_.y1, p_95221_.depth).setColor(p_95221_.color).setUv(this.u1, this.v0).setLight(p_95224_); + } + ++ public RenderType renderType(Font.DisplayMode p_181388_, boolean blur) { ++ return this.renderTypes.select(p_181388_, blur); ++ } ++ ++ /** @deprecated Neo: Use {@link #renderType(Font.DisplayMode, boolean)} instead */ ++ @Deprecated + public RenderType renderType(Font.DisplayMode p_181388_) { + return this.renderTypes.select(p_181388_); + } diff --git a/patches/net/minecraft/client/renderer/RenderType.java.patch b/patches/net/minecraft/client/renderer/RenderType.java.patch index 3186edd211..9f4bd0f613 100644 --- a/patches/net/minecraft/client/renderer/RenderType.java.patch +++ b/patches/net/minecraft/client/renderer/RenderType.java.patch @@ -1,52 +1,9 @@ --- a/net/minecraft/client/renderer/RenderType.java +++ b/net/minecraft/client/renderer/RenderType.java -@@ -1098,7 +_,7 @@ - } - - public static RenderType text(ResourceLocation p_110498_) { -- return TEXT.apply(p_110498_); -+ return net.neoforged.neoforge.client.NeoForgeRenderTypes.getText(p_110498_); - } - - public static RenderType textBackground() { -@@ -1106,19 +_,19 @@ - } - - public static RenderType textIntensity(ResourceLocation p_173238_) { -- return TEXT_INTENSITY.apply(p_173238_); -+ return net.neoforged.neoforge.client.NeoForgeRenderTypes.getTextIntensity(p_173238_); - } - - public static RenderType textPolygonOffset(ResourceLocation p_181445_) { -- return TEXT_POLYGON_OFFSET.apply(p_181445_); -+ return net.neoforged.neoforge.client.NeoForgeRenderTypes.getTextPolygonOffset(p_181445_); - } - - public static RenderType textIntensityPolygonOffset(ResourceLocation p_181447_) { -- return TEXT_INTENSITY_POLYGON_OFFSET.apply(p_181447_); -+ return net.neoforged.neoforge.client.NeoForgeRenderTypes.getTextIntensityPolygonOffset(p_181447_); - } - - public static RenderType textSeeThrough(ResourceLocation p_110501_) { -- return TEXT_SEE_THROUGH.apply(p_110501_); -+ return net.neoforged.neoforge.client.NeoForgeRenderTypes.getTextSeeThrough(p_110501_); - } - - public static RenderType textBackgroundSeeThrough() { -@@ -1126,7 +_,7 @@ - } - - public static RenderType textIntensitySeeThrough(ResourceLocation p_173241_) { -- return TEXT_INTENSITY_SEE_THROUGH.apply(p_173241_); -+ return net.neoforged.neoforge.client.NeoForgeRenderTypes.getTextIntensitySeeThrough(p_173241_); - } - - public static RenderType lightning() { -@@ -1622,5 +_,17 @@ - public String toString() { +@@ -1623,4 +_,16 @@ return this.name; } -+ } + } + + // Neo: Assign internal IDs for RenderType to be used in rendering + private int chunkLayerId = -1; @@ -58,5 +15,5 @@ + int i = 0; + for (var layer : chunkBufferLayers()) + layer.chunkLayerId = i++; - } ++ } } diff --git a/src/main/java/net/neoforged/neoforge/client/NeoForgeRenderTypes.java b/src/main/java/net/neoforged/neoforge/client/NeoForgeRenderTypes.java index 98988e55c7..bc467405ce 100644 --- a/src/main/java/net/neoforged/neoforge/client/NeoForgeRenderTypes.java +++ b/src/main/java/net/neoforged/neoforge/client/NeoForgeRenderTypes.java @@ -7,7 +7,6 @@ import com.mojang.blaze3d.vertex.DefaultVertexFormat; import com.mojang.blaze3d.vertex.VertexFormat; -import java.util.function.BooleanSupplier; import java.util.function.Function; import java.util.function.Supplier; import net.minecraft.Util; @@ -32,8 +31,6 @@ public enum NeoForgeRenderTypes { ITEM_UNSORTED_UNLIT_TRANSLUCENT(() -> getUnlitTranslucent(TextureAtlas.LOCATION_BLOCKS, false)), TRANSLUCENT_ON_PARTICLES_TARGET(() -> getTranslucentParticlesTarget(TextureAtlas.LOCATION_BLOCKS)); - public static boolean enableTextTextureLinearFiltering = false; - /** * @return A RenderType fit for multi-layer solid item rendering. */ @@ -94,45 +91,45 @@ public static RenderType getEntityCutoutMipped(ResourceLocation textureLocation) } /** - * @return Replacement of {@link RenderType#text(ResourceLocation)}, but with optional linear texture filtering. + * @return Replacement of {@link RenderType#text(ResourceLocation)}, but with linear texture filtering. */ - public static RenderType getText(ResourceLocation locationIn) { - return Internal.TEXT.apply(locationIn); + public static RenderType getTextFiltered(ResourceLocation locationIn) { + return Internal.TEXT_FILTERED.apply(locationIn); } /** - * @return Replacement of {@link RenderType#textIntensity(ResourceLocation)}, but with optional linear texture filtering. + * @return Replacement of {@link RenderType#textIntensity(ResourceLocation)}, but with linear texture filtering. */ - public static RenderType getTextIntensity(ResourceLocation locationIn) { - return Internal.TEXT_INTENSITY.apply(locationIn); + public static RenderType getTextIntensityFiltered(ResourceLocation locationIn) { + return Internal.TEXT_INTENSITY_FILTERED.apply(locationIn); } /** - * @return Replacement of {@link RenderType#textPolygonOffset(ResourceLocation)}, but with optional linear texture filtering. + * @return Replacement of {@link RenderType#textPolygonOffset(ResourceLocation)}, but with linear texture filtering. */ - public static RenderType getTextPolygonOffset(ResourceLocation locationIn) { - return Internal.TEXT_POLYGON_OFFSET.apply(locationIn); + public static RenderType getTextPolygonOffsetFiltered(ResourceLocation locationIn) { + return Internal.TEXT_POLYGON_OFFSET_FILTERED.apply(locationIn); } /** - * @return Replacement of {@link RenderType#textIntensityPolygonOffset(ResourceLocation)}, but with optional linear texture filtering. + * @return Replacement of {@link RenderType#textIntensityPolygonOffset(ResourceLocation)}, but with linear texture filtering. */ - public static RenderType getTextIntensityPolygonOffset(ResourceLocation locationIn) { - return Internal.TEXT_INTENSITY_POLYGON_OFFSET.apply(locationIn); + public static RenderType getTextIntensityPolygonOffsetFiltered(ResourceLocation locationIn) { + return Internal.TEXT_INTENSITY_POLYGON_OFFSET_FILTERED.apply(locationIn); } /** - * @return Replacement of {@link RenderType#textSeeThrough(ResourceLocation)}, but with optional linear texture filtering. + * @return Replacement of {@link RenderType#textSeeThrough(ResourceLocation)}, but with linear texture filtering. */ - public static RenderType getTextSeeThrough(ResourceLocation locationIn) { - return Internal.TEXT_SEETHROUGH.apply(locationIn); + public static RenderType getTextSeeThroughFiltered(ResourceLocation locationIn) { + return Internal.TEXT_SEETHROUGH_FILTERED.apply(locationIn); } /** - * @return Replacement of {@link RenderType#textIntensitySeeThrough(ResourceLocation)}, but with optional linear texture filtering. + * @return Replacement of {@link RenderType#textIntensitySeeThrough(ResourceLocation)}, but with linear texture filtering. */ - public static RenderType getTextIntensitySeeThrough(ResourceLocation locationIn) { - return Internal.TEXT_INTENSITY_SEETHROUGH.apply(locationIn); + public static RenderType getTextIntensitySeeThroughFiltered(ResourceLocation locationIn) { + return Internal.TEXT_INTENSITY_SEETHROUGH_FILTERED.apply(locationIn); } /** @@ -242,82 +239,82 @@ private static RenderType layeredItemTranslucent(ResourceLocation locationIn) { return RenderType.create("neoforge_item_entity_translucent_cull", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, true, true, rendertype$state); } - public static Function TEXT = Util.memoize(Internal::getText); + public static Function TEXT_FILTERED = Util.memoize(Internal::getTextFiltered); - private static RenderType getText(ResourceLocation locationIn) { + private static RenderType getTextFiltered(ResourceLocation locationIn) { var rendertype$state = RenderType.CompositeState.builder() .setShaderState(RenderType.RENDERTYPE_TEXT_SHADER) - .setTextureState(new CustomizableTextureState(locationIn, () -> NeoForgeRenderTypes.enableTextTextureLinearFiltering, () -> false)) + .setTextureState(new RenderStateShard.TextureStateShard(locationIn, TriState.TRUE, false)) .setTransparencyState(RenderType.TRANSLUCENT_TRANSPARENCY) .setLightmapState(RenderType.LIGHTMAP) .createCompositeState(false); - return RenderType.create("neoforge_text", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, true, rendertype$state); + return RenderType.create("neoforge_text", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, false, rendertype$state); } - public static Function TEXT_INTENSITY = Util.memoize(Internal::getTextIntensity); + public static Function TEXT_INTENSITY_FILTERED = Util.memoize(Internal::getTextIntensityFiltered); - private static RenderType getTextIntensity(ResourceLocation locationIn) { + private static RenderType getTextIntensityFiltered(ResourceLocation locationIn) { var rendertype$state = RenderType.CompositeState.builder() .setShaderState(RenderType.RENDERTYPE_TEXT_INTENSITY_SHADER) - .setTextureState(new CustomizableTextureState(locationIn, () -> NeoForgeRenderTypes.enableTextTextureLinearFiltering, () -> false)) + .setTextureState(new RenderStateShard.TextureStateShard(locationIn, TriState.TRUE, false)) .setTransparencyState(RenderType.TRANSLUCENT_TRANSPARENCY) .setLightmapState(RenderType.LIGHTMAP) .createCompositeState(false); - return RenderType.create("neoforge_text_intensity", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, true, rendertype$state); + return RenderType.create("neoforge_text_intensity", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, false, rendertype$state); } - public static Function TEXT_POLYGON_OFFSET = Util.memoize(Internal::getTextPolygonOffset); + public static Function TEXT_POLYGON_OFFSET_FILTERED = Util.memoize(Internal::getTextPolygonOffsetFiltered); - private static RenderType getTextPolygonOffset(ResourceLocation locationIn) { + private static RenderType getTextPolygonOffsetFiltered(ResourceLocation locationIn) { var rendertype$state = RenderType.CompositeState.builder() .setShaderState(RenderType.RENDERTYPE_TEXT_SHADER) - .setTextureState(new CustomizableTextureState(locationIn, () -> NeoForgeRenderTypes.enableTextTextureLinearFiltering, () -> false)) + .setTextureState(new RenderStateShard.TextureStateShard(locationIn, TriState.TRUE, false)) .setTransparencyState(RenderType.TRANSLUCENT_TRANSPARENCY) .setLightmapState(RenderType.LIGHTMAP) .setLayeringState(RenderType.POLYGON_OFFSET_LAYERING) .createCompositeState(false); - return RenderType.create("neoforge_text_polygon_offset", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, true, rendertype$state); + return RenderType.create("neoforge_text_polygon_offset", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, false, rendertype$state); } - public static Function TEXT_INTENSITY_POLYGON_OFFSET = Util.memoize(Internal::getTextIntensityPolygonOffset); + public static Function TEXT_INTENSITY_POLYGON_OFFSET_FILTERED = Util.memoize(Internal::getTextIntensityPolygonOffsetFiltered); - private static RenderType getTextIntensityPolygonOffset(ResourceLocation locationIn) { + private static RenderType getTextIntensityPolygonOffsetFiltered(ResourceLocation locationIn) { var rendertype$state = RenderType.CompositeState.builder() .setShaderState(RenderType.RENDERTYPE_TEXT_INTENSITY_SHADER) - .setTextureState(new CustomizableTextureState(locationIn, () -> NeoForgeRenderTypes.enableTextTextureLinearFiltering, () -> false)) + .setTextureState(new RenderStateShard.TextureStateShard(locationIn, TriState.TRUE, false)) .setTransparencyState(RenderType.TRANSLUCENT_TRANSPARENCY) .setLightmapState(RenderType.LIGHTMAP) .setLayeringState(RenderType.POLYGON_OFFSET_LAYERING) .createCompositeState(false); - return RenderType.create("neoforge_text_intensity_polygon_offset", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, true, rendertype$state); + return RenderType.create("neoforge_text_intensity_polygon_offset", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, false, rendertype$state); } - public static Function TEXT_SEETHROUGH = Util.memoize(Internal::getTextSeeThrough); + public static Function TEXT_SEETHROUGH_FILTERED = Util.memoize(Internal::getTextSeeThroughFiltered); - private static RenderType getTextSeeThrough(ResourceLocation locationIn) { + private static RenderType getTextSeeThroughFiltered(ResourceLocation locationIn) { var rendertype$state = RenderType.CompositeState.builder() .setShaderState(RenderType.RENDERTYPE_TEXT_SEE_THROUGH_SHADER) - .setTextureState(new CustomizableTextureState(locationIn, () -> NeoForgeRenderTypes.enableTextTextureLinearFiltering, () -> false)) + .setTextureState(new RenderStateShard.TextureStateShard(locationIn, TriState.TRUE, false)) .setTransparencyState(RenderType.TRANSLUCENT_TRANSPARENCY) .setLightmapState(RenderType.LIGHTMAP) .setDepthTestState(RenderType.NO_DEPTH_TEST) .setWriteMaskState(RenderType.COLOR_WRITE) .createCompositeState(false); - return RenderType.create("neoforge_text_see_through", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, true, rendertype$state); + return RenderType.create("neoforge_text_see_through", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, false, rendertype$state); } - public static Function TEXT_INTENSITY_SEETHROUGH = Util.memoize(Internal::getTextIntensitySeeThrough); + public static Function TEXT_INTENSITY_SEETHROUGH_FILTERED = Util.memoize(Internal::getTextIntensitySeeThroughFiltered); - private static RenderType getTextIntensitySeeThrough(ResourceLocation locationIn) { + private static RenderType getTextIntensitySeeThroughFiltered(ResourceLocation locationIn) { var rendertype$state = RenderType.CompositeState.builder() .setShaderState(RenderType.RENDERTYPE_TEXT_INTENSITY_SEE_THROUGH_SHADER) - .setTextureState(new CustomizableTextureState(locationIn, () -> NeoForgeRenderTypes.enableTextTextureLinearFiltering, () -> false)) + .setTextureState(new RenderStateShard.TextureStateShard(locationIn, TriState.TRUE, false)) .setTransparencyState(RenderType.TRANSLUCENT_TRANSPARENCY) .setLightmapState(RenderType.LIGHTMAP) .setDepthTestState(RenderType.NO_DEPTH_TEST) .setWriteMaskState(RenderType.COLOR_WRITE) .createCompositeState(false); - return RenderType.create("neoforge_text_see_through", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, true, rendertype$state); + return RenderType.create("neoforge_text_see_through", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP, VertexFormat.Mode.QUADS, 256, false, false, rendertype$state); } public static Function TRANSLUCENT_PARTICLES_TARGET = Util.memoize(Internal::getTranslucentParticlesTarget); @@ -333,23 +330,4 @@ private static RenderType getTranslucentParticlesTarget(ResourceLocation locatio return RenderType.create("neoforge_translucent_particles_target", DefaultVertexFormat.BLOCK, VertexFormat.Mode.QUADS, 2097152, true, true, rendertype$state); } } - - private static class CustomizableTextureState extends TextureStateShard { - private final BooleanSupplier blurSupplier; - private final BooleanSupplier mipmapSupplier; - - private CustomizableTextureState(ResourceLocation resLoc, BooleanSupplier blur, BooleanSupplier mipmap) { - super(resLoc, blur.getAsBoolean() ? TriState.TRUE : TriState.DEFAULT, mipmap.getAsBoolean()); - blurSupplier = blur; - mipmapSupplier = mipmap; - } - - @Override - public void setupRenderState() { - // must be done before super call as super uses the `blur` and `mipmap` fields within the `setupState` runnable | See super constructor - blur = blurSupplier.getAsBoolean() ? TriState.TRUE : TriState.DEFAULT; - mipmap = mipmapSupplier.getAsBoolean(); - super.setupRenderState(); - } - } } diff --git a/tests/src/main/java/net/neoforged/neoforge/oldtest/client/rendering/LinearTextTextureFilteringTest.java b/tests/src/main/java/net/neoforged/neoforge/oldtest/client/rendering/LinearTextTextureFilteringTest.java index 5cf62659e2..e8da3992f0 100644 --- a/tests/src/main/java/net/neoforged/neoforge/oldtest/client/rendering/LinearTextTextureFilteringTest.java +++ b/tests/src/main/java/net/neoforged/neoforge/oldtest/client/rendering/LinearTextTextureFilteringTest.java @@ -5,12 +5,12 @@ package net.neoforged.neoforge.oldtest.client.rendering; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.TitleScreen; import net.neoforged.api.distmarker.Dist; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.fml.common.Mod; -import net.neoforged.neoforge.client.NeoForgeRenderTypes; import net.neoforged.neoforge.client.event.ScreenEvent.Render; @Mod(LinearTextTextureFilteringTest.MODID) @@ -22,14 +22,14 @@ public class LinearTextTextureFilteringTest { @SubscribeEvent public static void onGuiRenderPre(Render.Pre event) { if (ENABLED && event.getScreen() instanceof TitleScreen) { - NeoForgeRenderTypes.enableTextTextureLinearFiltering = true; + Minecraft.getInstance().font.enableTextTextureLinearFiltering = true; } } @SubscribeEvent public static void onGuiRenderPost(Render.Post event) { if (ENABLED && event.getScreen() instanceof TitleScreen) { - NeoForgeRenderTypes.enableTextTextureLinearFiltering = false; + Minecraft.getInstance().font.enableTextTextureLinearFiltering = false; } } }