Skip to content

Commit 21318c8

Browse files
committed
test fix iris (but need delete 1.16.5)
1 parent 2c703f6 commit 21318c8

File tree

4 files changed

+61
-41
lines changed

4 files changed

+61
-41
lines changed

.github/workflows/build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
strategy:
77
fail-fast: false
88
matrix:
9-
minecraft: [ 1.16.5, 1.17.1, 1.18.2, 1.19.2 ]
9+
minecraft: [ 1.17.1, 1.18.2, 1.19.2 ]
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Checkout repository
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,65 @@
11
package org.teacon.slides.renderer;
22

3-
import com.google.common.collect.ImmutableList;
3+
import com.mojang.blaze3d.systems.RenderSystem;
44
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
5-
import net.minecraft.client.renderer.RenderStateShard;
5+
import com.mojang.blaze3d.vertex.VertexFormat;
66
import net.minecraft.client.renderer.RenderType;
77
import net.minecraft.resources.ResourceLocation;
88
import org.teacon.slides.Slideshow;
9-
import org.teacon.slides.mappings.UtilitiesClient;
10-
11-
import java.util.Objects;
129

1310
/**
1411
* @author BloCamLimb
1512
*/
16-
public class SlideRenderType extends RenderType {
17-
18-
private static final ImmutableList<RenderStateShard> GENERAL_STATES = RenderUtils.getRenderStateShards();
19-
20-
private final int mHashCode;
21-
22-
public SlideRenderType(int texture) {
23-
super(Slideshow.ID, DefaultVertexFormat.BLOCK,
24-
RenderUtils.getMode(), 256, false, true,
25-
() -> {
26-
GENERAL_STATES.forEach(RenderStateShard::setupRenderState);
27-
RenderUtils.startDrawingTexture(texture);
28-
},
29-
() -> GENERAL_STATES.forEach(RenderStateShard::clearRenderState));
30-
mHashCode = Objects.hash(super.hashCode(), GENERAL_STATES, texture);
31-
}
32-
33-
SlideRenderType(ResourceLocation texture) {
34-
super(Slideshow.ID, DefaultVertexFormat.BLOCK,
35-
RenderUtils.getMode(), 256, false, true,
36-
() -> {
37-
GENERAL_STATES.forEach(RenderStateShard::setupRenderState);
38-
UtilitiesClient.beginDrawingTexture(texture);
39-
},
40-
() -> GENERAL_STATES.forEach(RenderStateShard::clearRenderState));
41-
mHashCode = Objects.hash(super.hashCode(), GENERAL_STATES, texture);
42-
}
13+
public class SlideRenderType extends RenderType.CompositeRenderType {
14+
public SlideRenderType(int texture) {
15+
super(Slideshow.ID, DefaultVertexFormat.BLOCK,
16+
VertexFormat.Mode.QUADS, 256, false, true,
17+
CompositeState.builder()
18+
.setShaderState(RENDERTYPE_TEXT_SEE_THROUGH_SHADER)
19+
.setTransparencyState(TRANSLUCENT_TRANSPARENCY)
20+
.setDepthTestState(LEQUAL_DEPTH_TEST)
21+
.setCullState(CULL)
22+
.setLightmapState(LIGHTMAP)
23+
.setOverlayState(NO_OVERLAY)
24+
.setLayeringState(NO_LAYERING)
25+
.setOutputState(MAIN_TARGET)
26+
.setTexturingState(DEFAULT_TEXTURING)
27+
.setWriteMaskState(COLOR_DEPTH_WRITE)
28+
.setLineState(DEFAULT_LINE)
29+
.createCompositeState(true)
30+
);
31+
var baseSetup = this.setupState;
32+
this.setupState = () -> {
33+
baseSetup.run();
34+
RenderSystem.setShaderTexture(0, texture);
35+
};
36+
}
4337

44-
@Override
45-
public int hashCode() {
46-
return mHashCode;
47-
}
38+
public SlideRenderType(ResourceLocation texture) {
39+
super(Slideshow.ID + "_icon", DefaultVertexFormat.BLOCK,
40+
VertexFormat.Mode.QUADS, 256, false, true,
41+
CompositeState.builder()
42+
.setShaderState(RENDERTYPE_TEXT_SEE_THROUGH_SHADER)
43+
.setTransparencyState(TRANSLUCENT_TRANSPARENCY)
44+
.setDepthTestState(LEQUAL_DEPTH_TEST)
45+
.setCullState(CULL)
46+
.setLightmapState(LIGHTMAP)
47+
.setOverlayState(NO_OVERLAY)
48+
.setLayeringState(NO_LAYERING)
49+
.setOutputState(MAIN_TARGET)
50+
.setTexturingState(DEFAULT_TEXTURING)
51+
.setWriteMaskState(COLOR_DEPTH_WRITE)
52+
.setLineState(DEFAULT_LINE)
53+
.createCompositeState(true));
54+
var baseSetup = this.setupState;
55+
this.setupState = () -> {
56+
baseSetup.run();
57+
RenderSystem.setShaderTexture(0, texture);
58+
};
59+
}
4860

49-
@Override
50-
public boolean equals(Object o) {
51-
return this == o;
52-
}
61+
@Override
62+
public boolean equals(Object o) {
63+
return this == o;
64+
}
5365
}

common/src/main/resources/slide_show.accesswidener

+4
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,7 @@ accessible field com/mojang/math/Matrix4f m30 F
1616
accessible field com/mojang/math/Matrix4f m31 F
1717
accessible field com/mojang/math/Matrix4f m32 F
1818
accessible field com/mojang/math/Matrix4f m33 F
19+
extendable class net/minecraft/client/renderer/RenderType$CompositeRenderType
20+
accessible method net/minecraft/client/renderer/RenderType$CompositeRenderType <init> (Ljava/lang/String;Lcom/mojang/blaze3d/vertex/VertexFormat;Lcom/mojang/blaze3d/vertex/VertexFormat$Mode;IZZLnet/minecraft/client/renderer/RenderType$CompositeState;)V
21+
accessible field net/minecraft/client/renderer/RenderStateShard setupState Ljava/lang/Runnable;
22+
mutable field net/minecraft/client/renderer/RenderStateShard setupState Ljava/lang/Runnable;

fabric/src/main/resources/slide_show.accesswidener

+4
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,7 @@ accessible field com/mojang/math/Matrix4f m30 F
1616
accessible field com/mojang/math/Matrix4f m31 F
1717
accessible field com/mojang/math/Matrix4f m32 F
1818
accessible field com/mojang/math/Matrix4f m33 F
19+
extendable class net/minecraft/client/renderer/RenderType$CompositeRenderType
20+
accessible method net/minecraft/client/renderer/RenderType$CompositeRenderType <init> (Ljava/lang/String;Lcom/mojang/blaze3d/vertex/VertexFormat;Lcom/mojang/blaze3d/vertex/VertexFormat$Mode;IZZLnet/minecraft/client/renderer/RenderType$CompositeState;)V
21+
accessible field net/minecraft/client/renderer/RenderStateShard setupState Ljava/lang/Runnable;
22+
mutable field net/minecraft/client/renderer/RenderStateShard setupState Ljava/lang/Runnable;

0 commit comments

Comments
 (0)