Skip to content

Commit 1dd1651

Browse files
committed
PictureSign 1.1.0 - Iris Compat & Sign render distance
- Better Compatibility with Iris Shaders - Added sign render distance option (configurable in PictureSign config)
1 parent bc212c9 commit 1dd1651

File tree

5 files changed

+30
-12
lines changed

5 files changed

+30
-12
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G
88
loader_version=0.11.7
99

1010
# Mod Properties
11-
mod_version = 1.0.0
11+
mod_version = 1.1.0
1212
maven_group = eu.midnightdust
1313
archives_base_name = picturesign
1414

src/main/java/eu/midnightdust/picturesign/config/PictureSignConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ public class PictureSignConfig extends MidnightConfig {
66
@Entry public static boolean enabled = true;
77
@Entry public static boolean debug = false;
88
@Entry(min = 1, max = 10) public static int maxThreads = 4;
9+
@Entry(min = 0, max = 1024) public static int signRenderDistance = 64;
910
}

src/main/java/eu/midnightdust/picturesign/mixin/MixinSignBlockEntityRenderer.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import net.minecraft.client.render.block.entity.SignBlockEntityRenderer;
99
import net.minecraft.client.util.math.MatrixStack;
1010
import org.spongepowered.asm.mixin.Mixin;
11+
import org.spongepowered.asm.mixin.Unique;
1112
import org.spongepowered.asm.mixin.injection.At;
1213
import org.spongepowered.asm.mixin.injection.Inject;
1314
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@@ -27,4 +28,9 @@ public abstract class MixinSignBlockEntityRenderer implements BlockEntityRendere
2728
private static void shouldRender(SignBlockEntity sign, int signColor, CallbackInfoReturnable<Boolean> cir) {
2829
if (PictureSignConfig.enabled && sign.getTextOnRow(0,false).getString().matches("(!PS:.*)")) cir.setReturnValue(true);
2930
}
31+
@Unique
32+
@Override
33+
public int getRenderDistance() {
34+
return PictureSignConfig.signRenderDistance;
35+
}
3036
}

src/main/java/eu/midnightdust/picturesign/render/PictureSignRenderer.java

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

33
import com.mojang.blaze3d.systems.RenderSystem;
44
import eu.midnightdust.picturesign.PictureDownloader;
5+
import net.coderbot.iris.Iris;
6+
import net.fabricmc.loader.api.FabricLoader;
57
import net.minecraft.block.entity.SignBlockEntity;
68
import net.minecraft.client.render.*;
79
import net.minecraft.client.util.math.MatrixStack;
@@ -87,7 +89,15 @@ else if (signBlockEntity.getCachedState().contains(Properties.ROTATION)) {
8789

8890
matrixStack.push();
8991

90-
RenderSystem.setShader(GameRenderer::getPositionTexShader);
92+
int l;
93+
if (FabricLoader.getInstance().isModLoaded("iris") && Iris.getIrisConfig().areShadersEnabled() && Iris.getCurrentPack().isPresent()) {
94+
RenderSystem.setShader(GameRenderer::getRenderTypeCutoutShader);
95+
l = 230;
96+
}
97+
else {
98+
RenderSystem.setShader(GameRenderer::getPositionColorTexLightmapShader);
99+
l = light;
100+
}
91101
RenderSystem.setShaderTexture(0, data.identifier);
92102

93103
RenderSystem.disableBlend();
@@ -98,19 +108,19 @@ else if (signBlockEntity.getCachedState().contains(Properties.ROTATION)) {
98108
matrixStack.multiply(yRotation);
99109

100110
Matrix4f matrix4f = matrixStack.peek().getModel();
101-
buffer.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE_COLOR);
111+
buffer.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR_TEXTURE_LIGHT);
102112

103-
buffer.vertex(matrix4f, width, 0.0F, 1.0F).texture(1.0F, 1.0F).color(255, 255, 255, 255)
104-
.light(light).overlay(overlay).next();
113+
buffer.vertex(matrix4f, width, 0.0F, 1.0F).color(255, 255, 255, 255).texture(1.0F, 1.0F).light(l).overlay(overlay)
114+
.next();
105115

106-
buffer.vertex(matrix4f, width, height, 1.0F).texture(1.0F, 0.0F).color(255, 255, 255, 255)
107-
.light(light).overlay(overlay).next();
116+
buffer.vertex(matrix4f, width, height, 1.0F).color(255, 255, 255, 255).texture(1.0F, 0.0F).light(l).overlay(overlay)
117+
.next();
108118

109-
buffer.vertex(matrix4f, 0.0F, height, 1.0F).texture(0.0F, 0.0F).color(255, 255, 255, 255)
110-
.light(light).overlay(overlay).next();
119+
buffer.vertex(matrix4f, 0.0F, height, 1.0F).color(255, 255, 255, 255).texture(0.0F, 0.0F).light(l).overlay(overlay)
120+
.next();
111121

112-
buffer.vertex(matrix4f, 0.0F, 0.0F, 1.0F).texture(0.0F, 1.0F).color(255, 255, 255, 255)
113-
.light(light).overlay(overlay).next();
122+
buffer.vertex(matrix4f, 0.0F, 0.0F, 1.0F).color(255, 255, 255, 255).texture(0.0F, 1.0F).light(l).overlay(overlay)
123+
.next();
114124

115125
tessellator.draw();
116126
matrixStack.pop();

src/main/resources/assets/picturesign/lang/en_us.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@
33

44
"picturesign.midnightconfig.enabled":"Enabled",
55
"picturesign.midnightconfig.debug":"Send debug info",
6-
"picturesign.midnightconfig.maxThreads":"Max download threads"
6+
"picturesign.midnightconfig.maxThreads":"Max download threads",
7+
"picturesign.midnightconfig.signRenderDistance":"Sign render distance"
78
}

0 commit comments

Comments
 (0)