summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-01-25 01:23:46 +0100
committerLinnea Gräf <nea@nea.moe>2025-01-25 01:23:46 +0100
commit297e15a48821168610ef6cb3432b0530495cf034 (patch)
treefbbbf9b9ec44cbe1978ca273a77c7fdd8d16d9b2 /src
parentaf991c28062e405a02c139d3d67c4f86a9043e35 (diff)
downloadultra-notifier-297e15a48821168610ef6cb3432b0530495cf034.tar.gz
ultra-notifier-297e15a48821168610ef6cb3432b0530495cf034.tar.bz2
ultra-notifier-297e15a48821168610ef6cb3432b0530495cf034.zip
Make 1.8.9 compile again
Diffstat (limited to 'src')
-rw-r--r--src/main/java/moe/nea/ultranotifier/mixin/AccessorChatHud.java11
-rw-r--r--src/main/java/moe/nea/ultranotifier/mixin/AccessorChatHudImpl.java23
-rw-r--r--src/main/java/moe/nea/ultranotifier/mixin/ChatHudCategoryTracker.java24
-rw-r--r--src/main/java/moe/nea/ultranotifier/mixin/ChatScreenTabRenderer.java20
-rw-r--r--src/main/kotlin/datamodel/ChatType.kt12
-rw-r--r--src/main/kotlin/gui/ChatUi.kt4
-rw-r--r--src/main/kotlin/util/minecrat/infer.kt5
-rw-r--r--src/main/kotlin/util/render/ScreenRenderUtils.kt6
8 files changed, 75 insertions, 30 deletions
diff --git a/src/main/java/moe/nea/ultranotifier/mixin/AccessorChatHud.java b/src/main/java/moe/nea/ultranotifier/mixin/AccessorChatHud.java
deleted file mode 100644
index 25efbfe..0000000
--- a/src/main/java/moe/nea/ultranotifier/mixin/AccessorChatHud.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package moe.nea.ultranotifier.mixin;
-
-import net.minecraft.client.gui.hud.ChatHud;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.gen.Invoker;
-
-@Mixin(ChatHud.class)
-public interface AccessorChatHud {
- @Invoker("getLineHeight")
- int getLineHeight_ultranotifier();
-}
diff --git a/src/main/java/moe/nea/ultranotifier/mixin/AccessorChatHudImpl.java b/src/main/java/moe/nea/ultranotifier/mixin/AccessorChatHudImpl.java
new file mode 100644
index 0000000..ec30dcf
--- /dev/null
+++ b/src/main/java/moe/nea/ultranotifier/mixin/AccessorChatHudImpl.java
@@ -0,0 +1,23 @@
+package moe.nea.ultranotifier.mixin;
+
+import moe.nea.ultranotifier.util.minecrat.AccessorChatHud;
+import net.minecraft.client.gui.hud.ChatHud;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
+
+@Mixin(ChatHud.class)
+public abstract class AccessorChatHudImpl implements AccessorChatHud {
+
+ //#if MC>1.17
+ @Shadow
+ protected abstract int getLineHeight();
+ //#endif
+ @Override
+ public int getLineHeight_ultranotifier() {
+ //#if MC>1.17
+ return getLineHeight();
+ //#else
+ //$$return 9; // TODO: better typing here
+ //#endif
+ }
+}
diff --git a/src/main/java/moe/nea/ultranotifier/mixin/ChatHudCategoryTracker.java b/src/main/java/moe/nea/ultranotifier/mixin/ChatHudCategoryTracker.java
index 4d31bde..8538720 100644
--- a/src/main/java/moe/nea/ultranotifier/mixin/ChatHudCategoryTracker.java
+++ b/src/main/java/moe/nea/ultranotifier/mixin/ChatHudCategoryTracker.java
@@ -4,32 +4,38 @@ import moe.nea.ultranotifier.datamodel.CategorizedChatLine;
import moe.nea.ultranotifier.datamodel.ChatCategoryArbiter;
import moe.nea.ultranotifier.datamodel.HasCategorizedChatLine;
import net.minecraft.client.gui.hud.ChatHudLine;
-import net.minecraft.client.gui.hud.MessageIndicator;
-import net.minecraft.network.message.MessageSignatureData;
import net.minecraft.text.Text;
import org.jetbrains.annotations.NotNull;
-import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-@Mixin(ChatHudLine.class)
-public class ChatHudCategoryTracker implements HasCategorizedChatLine {
- @Shadow
- @Final
- private Text content;
+//#if MC> 1.20
+import net.minecraft.client.gui.hud.MessageIndicator;
+import net.minecraft.network.message.MessageSignatureData;
+//#endif
+@Mixin(ChatHudLine.class)
+public class ChatHudCategoryTracker<T> implements HasCategorizedChatLine {
@Unique
CategorizedChatLine categorizedSelf;
@Inject(method = "<init>", at = @At("TAIL"))
private void onInit(
int creationTick,
+ //#if MC>1.20
Text content,
+ //#elseif MC<1.16
+ //$$net.minecraft.util.text.ITextComponent content,
+ //$$int weird,
+ //#else
+ //$$T content,
+ //#endif
+ //#if MC>1.20
MessageSignatureData signature, MessageIndicator tag,
+ //#endif
CallbackInfo ci
) {
categorizedSelf = ChatCategoryArbiter.INSTANCE.categorize(content);
diff --git a/src/main/java/moe/nea/ultranotifier/mixin/ChatScreenTabRenderer.java b/src/main/java/moe/nea/ultranotifier/mixin/ChatScreenTabRenderer.java
index 7a5a127..972e40c 100644
--- a/src/main/java/moe/nea/ultranotifier/mixin/ChatScreenTabRenderer.java
+++ b/src/main/java/moe/nea/ultranotifier/mixin/ChatScreenTabRenderer.java
@@ -2,7 +2,6 @@ package moe.nea.ultranotifier.mixin;
import moe.nea.ultranotifier.gui.ChatUi;
import moe.nea.ultranotifier.util.render.ScreenRenderUtils;
-import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ChatScreen;
import org.objectweb.asm.Opcodes;
import org.spongepowered.asm.mixin.Mixin;
@@ -11,6 +10,9 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+//#if MC>1.16
+import net.minecraft.client.gui.DrawContext;
+import net.minecraft.client.util.math.MatrixStack;
//#endif
@Mixin(ChatScreen.class)
@@ -49,12 +51,26 @@ public abstract class ChatScreenTabRenderer {
@Inject(
method = "mouseClicked",
- at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/Screen;mouseClicked(DDI)Z", opcode = Opcodes.INVOKESPECIAL)
+ at = @At(value = "INVOKE",
+ //#if MC > 1.16
+ target = "Lnet/minecraft/client/gui/screen/Screen;mouseClicked(DDI)Z",
+ //#else
+ //$$target = "Lnet/minecraft/client/gui/GuiScreen;mouseClicked(III)V",
+ //#endif
+ opcode = Opcodes.INVOKESPECIAL)
)
private void onMouseClick(
+ //#if MC > 1.16
double mouseX, double mouseY,
+ //#else
+ //$$int mouseX, int mouseY,
+ //#endif
int button,
+ //#if MC > 1.16
CallbackInfoReturnable<Boolean> cir
+ //#else
+ //$$CallbackInfo cir
+ //#endif
) {
chatUi().clickMouse(mouseX, mouseY, button);
}
diff --git a/src/main/kotlin/datamodel/ChatType.kt b/src/main/kotlin/datamodel/ChatType.kt
index 1fcc522..9f20c41 100644
--- a/src/main/kotlin/datamodel/ChatType.kt
+++ b/src/main/kotlin/datamodel/ChatType.kt
@@ -1,6 +1,7 @@
package moe.nea.ultranotifier.datamodel
import net.minecraft.text.Text
+import java.util.function.Predicate
import java.util.regex.Pattern
data class ChatTypeId(
@@ -17,7 +18,12 @@ data class ChatPattern(
val text: String
) {
val pattern = Pattern.compile(text)
- val predicate = pattern.asMatchPredicate()
+ val predicate: Predicate<String> =
+//#if JAVA > 11
+ pattern.asMatchPredicate()
+//#else
+//$$ Predicate { it: String -> pattern.matcher(it).matches() }
+//#endif
}
data class ChatCategory(
@@ -89,8 +95,8 @@ object ChatCategoryArbiter {
)
)
- fun categorize(content: Text): CategorizedChatLine {
- universe.categorize(content.lit)
+ fun categorize(content: Any): CategorizedChatLine {
+ TODO()
}
}
diff --git a/src/main/kotlin/gui/ChatUi.kt b/src/main/kotlin/gui/ChatUi.kt
index 0ec3063..e88c375 100644
--- a/src/main/kotlin/gui/ChatUi.kt
+++ b/src/main/kotlin/gui/ChatUi.kt
@@ -10,6 +10,8 @@ import java.awt.Color
class ChatUi(val chatScreen: ChatScreen) {
+ val Double.value get() = this
+ val Float.value get() = this
fun getChatBgOpacity(opacityMultiplier: Double = 1.0): Color {
return Color((MC.instance.options.textBackgroundOpacity.value * opacityMultiplier * 255).toInt() shl 24, true)
}
@@ -21,7 +23,7 @@ class ChatUi(val chatScreen: ChatScreen) {
40
val chatTop =
(chatScreen.height - chatOffset) / ch.chatScale - ch.visibleLineCount * ch.lineHeight_ultranotifier
- return chatTop
+ return chatTop.toDouble()
}
var selectedTab = "Bazaar"
diff --git a/src/main/kotlin/util/minecrat/infer.kt b/src/main/kotlin/util/minecrat/infer.kt
index a109bbd..79973b9 100644
--- a/src/main/kotlin/util/minecrat/infer.kt
+++ b/src/main/kotlin/util/minecrat/infer.kt
@@ -2,11 +2,14 @@
package moe.nea.ultranotifier.util.minecrat
-import moe.nea.ultranotifier.mixin.AccessorChatHud
import net.minecraft.client.gui.hud.ChatHud
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.contract
+interface AccessorChatHud {
+ val lineHeight_ultranotifier: Int
+}
+
fun ChatHud.accessor(): AccessorChatHud {
contract {
returns() implies (this@accessor is AccessorChatHud)
diff --git a/src/main/kotlin/util/render/ScreenRenderUtils.kt b/src/main/kotlin/util/render/ScreenRenderUtils.kt
index af8424a..959d0a8 100644
--- a/src/main/kotlin/util/render/ScreenRenderUtils.kt
+++ b/src/main/kotlin/util/render/ScreenRenderUtils.kt
@@ -1,15 +1,15 @@
package moe.nea.ultranotifier.util.render
-//#if MC > 1.16
import gg.essential.universal.UGraphics
import gg.essential.universal.UMatrixStack
import juuxel.libninepatch.NinePatch
import juuxel.libninepatch.TextureRenderer
import moe.nea.ultranotifier.util.minecrat.MC
-import net.minecraft.client.gui.DrawContext
-import net.minecraft.client.util.math.MatrixStack
import net.minecraft.util.Identifier
import java.awt.Color
+//#if MC > 1.16
+import net.minecraft.client.gui.DrawContext
+import net.minecraft.client.util.math.MatrixStack
//#endif