Skip to content

Commit 6eafe0f

Browse files
authored
Misc: Add remaining methods used by Elementa and Vigilance
GitHub: #76
1 parent 34cec8d commit 6eafe0f

File tree

4 files changed

+70
-4
lines changed

4 files changed

+70
-4
lines changed

api/UniversalCraft.api

+15-4
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ public class gg/essential/universal/UGraphics {
102102
@1.12.2-forge,1.16.2-forge
103103
public fun <init> (Lnet/minecraft/client/renderer/BufferBuilder;)V
104104
public static fun activeTexture (I)V
105+
public static fun alphaFunc (IF)V
105106
public static fun areShadersSupported ()Z
106107
public fun asUVertexConsumer ()Lgg/essential/universal/vertex/UVertexConsumer;
107108
@1.17.1-forge,1.18.1-forge,1.19.2-forge,1.19.3-forge,1.19.4-forge,1.20.1-forge,1.20.2-forge,1.20.4-forge
@@ -174,6 +175,7 @@ public class gg/essential/universal/UGraphics {
174175
public static fun enableDepth ()V
175176
public static fun enableLight (I)V
176177
public static fun enableLighting ()V
178+
public static fun enableStencil ()V
177179
public static fun enableTexture2D ()V
178180
public fun endVertex ()Lgg/essential/universal/UGraphics;
179181
public static fun getActiveTexture ()I
@@ -202,6 +204,7 @@ public class gg/essential/universal/UGraphics {
202204
public static fun glGetShaderi (II)I
203205
public static fun glLinkProgram (I)V
204206
public static fun glUseProgram (I)V
207+
public static fun isCoreProfile ()Z
205208
public static fun isOpenGl21Supported ()Z
206209
public fun light (II)Lgg/essential/universal/UGraphics;
207210
public static fun listFormattedStringToWidth (Ljava/lang/String;I)Ljava/util/List;
@@ -304,6 +307,11 @@ public final class gg/essential/universal/UGuiButton {
304307
public static final fun getY (Lnet/minecraft/client/gui/GuiButton;)I
305308
}
306309

310+
public final class gg/essential/universal/UI18n {
311+
public static final field INSTANCE Lgg/essential/universal/UI18n;
312+
public final fun i18n (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
313+
}
314+
307315
public final class gg/essential/universal/UImage {
308316
public static final field Companion Lgg/essential/universal/UImage$Companion;
309317
@1.17.1-forge,1.18.1-forge,1.19.2-forge,1.19.3-forge,1.19.4-forge,1.20.1-forge,1.20.2-forge,1.20.4-forge
@@ -645,16 +653,17 @@ public final class gg/essential/universal/UMinecraft {
645653
public static final field isRunningOnMac Z
646654
@1.17.1-forge,1.18.1-forge,1.19.2-forge,1.19.3-forge,1.19.4-forge,1.20.1-forge,1.20.2-forge,1.20.4-forge
647655
public static final fun getChatGUI ()Lnet/minecraft/client/gui/components/ChatComponent;
648-
@1.17.1-forge,1.18.1-forge,1.19.2-forge,1.19.3-forge,1.19.4-forge,1.20.1-forge,1.20.2-forge,1.20.4-forge
649-
public static final fun getFontRenderer ()Lnet/minecraft/client/gui/Font;
650656
@1.16.2-forge
651657
public static final fun getChatGUI ()Lnet/minecraft/client/gui/NewChatGui;
652658
@1.16.2-fabric,1.17.1-fabric,1.18.1-fabric,1.19-fabric,1.19.1-fabric,1.19.2-fabric,1.19.3-fabric,1.19.4-fabric,1.20-fabric,1.20.1-fabric,1.20.2-fabric,1.20.4-fabric,1.20.6-fabric,1.21-fabric
653659
public static final fun getChatGUI ()Lnet/minecraft/client/gui/hud/ChatHud;
654-
@1.16.2-fabric,1.17.1-fabric,1.18.1-fabric,1.19-fabric,1.19.1-fabric,1.19.2-fabric,1.19.3-fabric,1.19.4-fabric,1.20-fabric,1.20.1-fabric,1.20.2-fabric,1.20.4-fabric,1.20.6-fabric,1.21-fabric
655-
public static final fun getFontRenderer ()Lnet/minecraft/client/font/TextRenderer;
656660
@1.12.2-forge,1.8.9-forge
657661
public static final fun getChatGUI ()Lnet/minecraft/client/gui/GuiNewChat;
662+
public static final fun getCurrentScreenObj ()Ljava/lang/Object;
663+
@1.17.1-forge,1.18.1-forge,1.19.2-forge,1.19.3-forge,1.19.4-forge,1.20.1-forge,1.20.2-forge,1.20.4-forge
664+
public static final fun getFontRenderer ()Lnet/minecraft/client/gui/Font;
665+
@1.16.2-fabric,1.17.1-fabric,1.18.1-fabric,1.19-fabric,1.19.1-fabric,1.19.2-fabric,1.19.3-fabric,1.19.4-fabric,1.20-fabric,1.20.1-fabric,1.20.2-fabric,1.20.4-fabric,1.20.6-fabric,1.21-fabric
666+
public static final fun getFontRenderer ()Lnet/minecraft/client/font/TextRenderer;
658667
@1.12.2-forge,1.16.2-forge,1.8.9-forge
659668
public static final fun getFontRenderer ()Lnet/minecraft/client/gui/FontRenderer;
660669
public static final fun getGuiScale ()I
@@ -695,6 +704,8 @@ public final class gg/essential/universal/UMinecraft {
695704
public static final fun getWorld ()Lnet/minecraft/client/world/ClientWorld;
696705
@1.12.2-forge,1.8.9-forge
697706
public static final fun getWorld ()Lnet/minecraft/client/multiplayer/WorldClient;
707+
public static final fun isCallingFromMinecraftThread ()Z
708+
public static final fun setCurrentScreenObj (Ljava/lang/Object;)V
698709
public static final fun setGuiScale (I)V
699710
}
700711

src/main/java/gg/essential/universal/UGraphics.java

+26
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import gg.essential.universal.utils.ReleasedDynamicTexture;
1313
import gg.essential.universal.vertex.UVertexConsumer;
14+
import net.minecraft.client.Minecraft;
1415
import net.minecraft.client.renderer.GlStateManager;
1516
import net.minecraft.client.renderer.Tessellator;
1617
import net.minecraft.client.renderer.WorldRenderer;
@@ -19,6 +20,7 @@
1920
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
2021
import net.minecraft.client.renderer.vertex.VertexFormat;
2122
import net.minecraft.client.renderer.vertex.VertexFormatElement;
23+
import net.minecraft.client.shader.Framebuffer;
2224
import net.minecraft.util.ResourceLocation;
2325
import org.lwjgl.opengl.GL11;
2426

@@ -176,6 +178,24 @@ public static void draw() {
176178
}
177179
//#endif
178180

181+
public static boolean isCoreProfile() {
182+
//#if MC>=11700
183+
//$$ return true;
184+
//#else
185+
return false;
186+
//#endif
187+
}
188+
189+
@Deprecated // only works on Forge 1.12.2 and below (relies on a Forge patch)
190+
public static void enableStencil() {
191+
//#if MC<11400
192+
Framebuffer framebuffer = Minecraft.getMinecraft().getFramebuffer();
193+
if (!framebuffer.isStencilEnabled()) {
194+
framebuffer.enableStencil();
195+
}
196+
//#endif
197+
}
198+
179199
public static void cullFace(int mode) {
180200
//#if MC>=11502
181201
//$$ GL11.glCullFace(mode);
@@ -241,6 +261,12 @@ public static void disableAlpha() {
241261
//#endif
242262
}
243263

264+
public static void alphaFunc(int func, float ref) {
265+
//#if MC<11700
266+
GlStateManager.alphaFunc(func, ref);
267+
//#endif
268+
}
269+
244270
public static void shadeModel(int mode) {
245271
//#if MC<11700
246272
GlStateManager.shadeModel(mode);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package gg.essential.universal
2+
3+
import net.minecraft.client.resources.I18n
4+
5+
object UI18n {
6+
fun i18n(key: String, vararg arguments: Any?): String {
7+
return I18n.format(key, *arguments)
8+
}
9+
}

src/main/kotlin/gg/essential/universal/UMinecraft.kt

+20
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import net.minecraft.client.Minecraft
44
import net.minecraft.client.entity.EntityPlayerSP
55
import net.minecraft.client.gui.FontRenderer
66
import net.minecraft.client.gui.GuiNewChat
7+
import net.minecraft.client.gui.GuiScreen
78
import net.minecraft.client.multiplayer.WorldClient
89
import net.minecraft.client.network.NetHandlerPlayClient
910
import net.minecraft.client.settings.GameSettings
@@ -79,4 +80,23 @@ object UMinecraft {
7980

8081
@JvmStatic
8182
fun getSettings(): GameSettings = getMinecraft().gameSettings
83+
84+
@JvmStatic
85+
var currentScreenObj: Any?
86+
get() = getMinecraft().currentScreen
87+
set(value) {
88+
//#if MC<11200
89+
@Suppress("NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS")
90+
//#endif
91+
getMinecraft().displayGuiScreen(value as GuiScreen?)
92+
}
93+
94+
@JvmStatic
95+
fun isCallingFromMinecraftThread(): Boolean {
96+
//#if MC>=11400
97+
//$$ return Minecraft.getInstance().isOnExecutionThread
98+
//#else
99+
return Minecraft.getMinecraft().isCallingFromMinecraftThread
100+
//#endif
101+
}
82102
}

0 commit comments

Comments
 (0)