From e950575d4e11d27acbb6682b248de8f477a9ba50 Mon Sep 17 00:00:00 2001 From: olim Date: Tue, 23 Apr 2024 17:09:31 +0100 Subject: create mixin to render to the sign input screen and basic converter for k,m,b --- .../skyblocker/mixins/SignEditScreenMixin.java | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java (limited to 'src/main/java/de/hysky/skyblocker/mixins') diff --git a/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java new file mode 100644 index 00000000..a88f97ef --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/mixins/SignEditScreenMixin.java @@ -0,0 +1,32 @@ +package de.hysky.skyblocker.mixin; + + +import de.hysky.skyblocker.skyblock.SignCalculator; +import net.minecraft.block.entity.SignBlockEntity; +import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.gui.screen.ingame.AbstractSignEditScreen; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.util.Objects; + +@Mixin(AbstractSignEditScreen.class) +public abstract class SignEditScreenMixin{ + @Shadow + @Final + private String[] messages; + + @Inject(method = "render", at = @At("HEAD")) + private void skyblocker$render(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci) { + //if the sign is being used to enter number send it to the sign calculator + if (Objects.equals(messages[1], "^^^^^^^^^^^^^^^")) { + SignCalculator.renderSign(context, messages); + } + + } + +} -- cgit