diff options
author | Linnea Gräf <nea@nea.moe> | 2025-01-25 01:23:46 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2025-01-25 01:23:46 +0100 |
commit | 297e15a48821168610ef6cb3432b0530495cf034 (patch) | |
tree | fbbbf9b9ec44cbe1978ca273a77c7fdd8d16d9b2 /src | |
parent | af991c28062e405a02c139d3d67c4f86a9043e35 (diff) | |
download | ultra-notifier-297e15a48821168610ef6cb3432b0530495cf034.tar.gz ultra-notifier-297e15a48821168610ef6cb3432b0530495cf034.tar.bz2 ultra-notifier-297e15a48821168610ef6cb3432b0530495cf034.zip |
Make 1.8.9 compile again
Diffstat (limited to 'src')
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 |