1
1
package com .terraformersmc .vistas .mixin ;
2
2
3
- import com .llamalad7 .mixinextras .injector .wrapoperation .Operation ;
4
- import com .llamalad7 .mixinextras .injector .wrapoperation .WrapOperation ;
5
- import com .mojang .blaze3d .platform .GlStateManager ;
6
- import com .mojang .blaze3d .systems .RenderSystem ;
7
3
import com .terraformersmc .vistas .Vistas ;
8
4
import com .terraformersmc .vistas .config .VistasConfig ;
9
5
import com .terraformersmc .vistas .resource .PanoramaResourceReloader ;
10
- import com .terraformersmc .vistas .title .BenignCubemapRenderer ;
11
6
import com .terraformersmc .vistas .title .LogoDrawerAccessor ;
12
- import com .terraformersmc .vistas .title .PanoramaRenderer ;
13
7
import com .terraformersmc .vistas .title .VistasTitle ;
14
8
import net .fabricmc .api .EnvType ;
15
9
import net .fabricmc .api .Environment ;
16
- import net .minecraft .client .gui .DrawContext ;
17
10
import net .minecraft .client .gui .LogoDrawer ;
18
- import net .minecraft .client .gui .RotatingCubeMapRenderer ;
19
11
import net .minecraft .client .gui .screen .Screen ;
20
12
import net .minecraft .client .gui .screen .SplashTextRenderer ;
21
13
import net .minecraft .client .gui .screen .TitleScreen ;
22
14
import net .minecraft .text .Text ;
23
- import net .minecraft .util .Identifier ;
24
- import net .minecraft .util .math .MathHelper ;
25
15
import org .jetbrains .annotations .Nullable ;
26
16
import org .spongepowered .asm .mixin .Final ;
27
17
import org .spongepowered .asm .mixin .Mixin ;
28
- import org .spongepowered .asm .mixin .Mutable ;
29
18
import org .spongepowered .asm .mixin .Shadow ;
30
19
import org .spongepowered .asm .mixin .injection .At ;
31
20
import org .spongepowered .asm .mixin .injection .Inject ;
37
26
@ Mixin (TitleScreen .class )
38
27
public abstract class TitleScreenMixin extends Screen {
39
28
@ Shadow
40
- @ Mutable
41
29
@ Final
42
- private RotatingCubeMapRenderer backgroundRenderer ;
43
-
44
- @ Shadow
45
- @ Final
46
- private boolean doBackgroundFade ;
30
+ private LogoDrawer logoDrawer ;
47
31
48
32
@ Nullable
49
33
@ Shadow
50
34
private SplashTextRenderer splashText ;
51
35
52
- @ Shadow
53
- @ Final
54
- private LogoDrawer logoDrawer ;
55
-
56
36
protected TitleScreenMixin (Text title ) {
57
37
super (title );
58
38
}
59
39
60
40
@ Inject (method = "<init>(Z)V" , at = @ At ("TAIL" ))
61
41
private void vistas$init (boolean doBackgroundFade , CallbackInfo ci ) {
62
- this .backgroundRenderer = new BenignCubemapRenderer ();
63
42
((LogoDrawerAccessor )this .logoDrawer ).vistas$setIsVistas (new Random ().nextDouble () < 1.0E-4D && VistasTitle .CURRENT .getValue ().equals (VistasTitle .PANORAMAS .get (Vistas .DEFAULT )));
64
43
}
65
44
@@ -73,30 +52,4 @@ protected TitleScreenMixin(Text title) {
73
52
this .splashText = null ;
74
53
}
75
54
}
76
-
77
- @ WrapOperation (
78
- method = "render" ,
79
- at = @ At (
80
- value = "INVOKE" ,
81
- target = "Lnet/minecraft/client/gui/RotatingCubeMapRenderer;render(FF)V"
82
- )
83
- )
84
- @ SuppressWarnings ("unused" )
85
- private void vistas$render (RotatingCubeMapRenderer instance , float delta , float fade , Operation <Void > operation , DrawContext context ) {
86
- assert this .client != null ;
87
- PanoramaRenderer .time += delta ;
88
- VistasTitle .CURRENT .getValue ().getCubemaps ().forEach ((cubemap ) -> {
89
- PanoramaRenderer panoramaRenderer = new PanoramaRenderer (cubemap );
90
- panoramaRenderer .render (delta , fade );
91
- Identifier overlayId = new Identifier (panoramaRenderer .getCubemap ().getCubemapId () + "_overlay.png" );
92
- if (this .client .getResourceManager ().getResource (overlayId ).isPresent ()) {
93
- RenderSystem .enableBlend ();
94
- RenderSystem .blendFunc (GlStateManager .SrcFactor .SRC_ALPHA , GlStateManager .DstFactor .ONE_MINUS_SRC_ALPHA );
95
- RenderSystem .setShaderColor (1.0F , 1.0F , 1.0F , this .doBackgroundFade ? (float ) MathHelper .ceil (fade ) : 1.0F );
96
- context .drawTexture (overlayId , 0 , 0 , this .width , this .height , 0.0F , 0.0F , 16 , 128 , 16 , 128 );
97
- }
98
- });
99
-
100
- operation .call (instance , delta , fade );
101
- }
102
55
}
0 commit comments