diff --git a/gradle.properties b/gradle.properties index 5d908ba..50c1080 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,7 +14,7 @@ loader_version=0.15.11 fabric_kotlin_version=1.11.0+kotlin.2.0.0 # Mod Properties -mod_version=0.1.7 +mod_version=0.2.0 maven_group=chickenmanfy.scify archives_base_name=scify diff --git a/src/client/java/chickenmanfy/scify/mixin/client/ActionBarMixin.java b/src/client/java/chickenmanfy/scify/mixin/client/ActionBarMixin.java deleted file mode 100644 index 1e579af..0000000 --- a/src/client/java/chickenmanfy/scify/mixin/client/ActionBarMixin.java +++ /dev/null @@ -1,55 +0,0 @@ -package chickenmanfy.scify.mixin.client; - - -import chickenmanfy.scify.BridgeMixins; -import org.spongepowered.asm.mixin.Mixin; -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; - -import net.minecraft.client.gui.hud.InGameHud; -import net.minecraft.text.Text; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -@Mixin(InGameHud.class) -public class ActionBarMixin { - @Unique - public int finale; - - @Inject(at = @At("HEAD"), method = "setOverlayMessage(Lnet/minecraft/text/Text;Z)V") - public void sendMessage(Text message, boolean tinted, CallbackInfo info) { - String actionBar = message.getString(); - - int num0 = 0; - int num1 = 0; - - // Fancy Regex - Pattern pattern = Pattern.compile("\\[(\\d+)/(\\d+)]"); - Matcher matcher = pattern.matcher(actionBar); - - int count = 0; - while (matcher.find() && count < 2) { - int firstNumber = Integer.parseInt(matcher.group(1)); - int secondNumber = Integer.parseInt(matcher.group(2)); - - float divided = (float) secondNumber / 20; - - finale = Math.round((float) firstNumber/divided); - - if (count == 0) { - num0 = finale; - } else { - num1 = finale; - } - - BridgeMixins.INSTANCE.setNum0(num0); - BridgeMixins.INSTANCE.setNum1(num1); - - - count++; - } - } -} \ No newline at end of file diff --git a/src/client/kotlin/chickenmanfy/scify/BridgeMixins.kt b/src/client/kotlin/chickenmanfy/scify/BridgeMixins.kt deleted file mode 100644 index d4e1593..0000000 --- a/src/client/kotlin/chickenmanfy/scify/BridgeMixins.kt +++ /dev/null @@ -1,30 +0,0 @@ -package chickenmanfy.scify - -object BridgeMixins { - private var num0: Int = 0 - private var num1: Int = 0 - - fun getNum0(): Int { - return num0 - } - - fun getStrNum0(): String { - if (num0 != 0) { - return num0.toString() - } - return "1" - } - fun getStrNum1(): String { - if (num1 != 0) { - return num1.toString() - } - return "1" - } - - fun setNum0(number: Int) { - num0 = number - } - fun setNum1(number: Int) { - num1 = number - } -} diff --git a/src/client/kotlin/chickenmanfy/scify/modules/AutoWelcome.kt b/src/client/kotlin/chickenmanfy/scify/modules/AutoWelcome.kt index 02d73ef..505875d 100644 --- a/src/client/kotlin/chickenmanfy/scify/modules/AutoWelcome.kt +++ b/src/client/kotlin/chickenmanfy/scify/modules/AutoWelcome.kt @@ -6,15 +6,17 @@ var autoWelcomeToggle: Boolean = false class AutoWelcome { fun toggleAutoWelcome() { autoWelcomeToggle = !autoWelcomeToggle + // Debug + println("Auto Welcome ${if (autoWelcomeToggle) "enabled" else "disabled"}") } fun autoWelcome() { if (MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "dungeonfy.minehut.gg" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "51.222.121.148:25599" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "minehut.com" || - MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "54.39.244.190:25608") { + MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "proxyfy.minehut.gg") { if (autoWelcomeToggle) { - return + return // TODO: Combine init{} with this function. } } } diff --git a/src/client/kotlin/chickenmanfy/scify/modules/Bars.kt b/src/client/kotlin/chickenmanfy/scify/modules/Bars.kt index c548d57..f6c19e0 100644 --- a/src/client/kotlin/chickenmanfy/scify/modules/Bars.kt +++ b/src/client/kotlin/chickenmanfy/scify/modules/Bars.kt @@ -1,15 +1,41 @@ package chickenmanfy.scify.modules -import chickenmanfy.scify.BridgeMixins import com.mojang.blaze3d.systems.RenderSystem +import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback import net.minecraft.client.MinecraftClient import net.minecraft.client.gui.DrawContext import net.minecraft.client.render.* import net.minecraft.util.Identifier +import java.util.regex.Pattern var barsToggle: Boolean = true class Bars { + private var mana = 0 + init { + ClientReceiveMessageEvents.GAME.register { actionbar, _ -> + + val pattern: Pattern = Pattern.compile("\\[(\\d+)/(\\d+)]") + val matcher = pattern.matcher(actionbar.string) + + var lastFirstNumber = 0 + var lastSecondNumber = 0 + + while (matcher.find()) { + lastFirstNumber = matcher.group(1).toInt() + lastSecondNumber = matcher.group(2).toInt() + } + + // Calculate finale for the last detected numbers + if (lastSecondNumber != 0) { + val divided = lastSecondNumber.toFloat() / 20 + val final = Math.round(lastFirstNumber.toFloat() / divided) + mana = final + } + + } + } + fun toggleBars() { barsToggle = !barsToggle } @@ -21,14 +47,14 @@ class Bars { val yHealth = 5f val xReality = 5f val yReality = 10f + height - HudRenderCallback.EVENT.register(HudRenderCallback { drawContext: DrawContext?, tickDelta: Float -> + HudRenderCallback.EVENT.register(HudRenderCallback { drawContext: DrawContext?, _: Float -> val tessellator: Tessellator = Tessellator.getInstance() val buffer: BufferBuilder = tessellator.buffer val positionMatrix = drawContext?.matrices?.peek()?.positionMatrix if (MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "dungeonfy.minehut.gg" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "51.222.121.148:25599" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "minehut.com" || - MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "54.39.244.190:25608") { + MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "proxyfy.minehut.gg") { if (barsToggle) { if (MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "51.222.121.148:25599") { buffer.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR_TEXTURE) @@ -38,7 +64,7 @@ class Bars { buffer.vertex(positionMatrix, xReality + width, yReality, 0f).color(1f, 1f, 1f, 1f).texture(1f, 0f).next() RenderSystem.setShader { GameRenderer.getPositionColorTexProgram() } - RenderSystem.setShaderTexture(0, Identifier("scify", "healthmana/mana/mana_${BridgeMixins.getStrNum1()}.png")) + RenderSystem.setShaderTexture(0, Identifier("scify", "healthmana/mana/mana_${mana}.png")) RenderSystem.setShaderColor(1f, 1f, 1f, 1f) tessellator.draw() @@ -52,10 +78,10 @@ class Bars { buffer.vertex(positionMatrix, xHealth, yHealth+height, 0f).color(1f, 1f, 1f, 1f).texture(0f, 1f).next() buffer.vertex(positionMatrix, xHealth+width, yHealth+height, 0f).color(1f, 1f, 1f, 1f).texture(1f, 1f).next() buffer.vertex(positionMatrix, xHealth+width, yHealth, 0f).color(1f, 1f, 1f, 1f).texture(1f, 0f).next() - - + val maxHealthDivided = MinecraftClient.getInstance().player?.maxHealth?.div(20)?.toInt() + val health = MinecraftClient.getInstance().player?.health?.toInt()?.div(maxHealthDivided!!) RenderSystem.setShader { GameRenderer.getPositionColorTexProgram() } - RenderSystem.setShaderTexture(0, Identifier("scify", "healthmana/health/health_${BridgeMixins.getStrNum0()}.png")) + RenderSystem.setShaderTexture(0, Identifier("scify", "healthmana/health/health_${health}.png")) RenderSystem.setShaderColor(1f, 1f, 1f, 1f) tessellator.draw() diff --git a/src/client/kotlin/chickenmanfy/scify/modules/FishingNotif.kt b/src/client/kotlin/chickenmanfy/scify/modules/FishingNotif.kt index b2489df..26e08e6 100644 --- a/src/client/kotlin/chickenmanfy/scify/modules/FishingNotif.kt +++ b/src/client/kotlin/chickenmanfy/scify/modules/FishingNotif.kt @@ -17,7 +17,7 @@ class FishingNotif { if (MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "dungeonfy.minehut.gg" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "51.222.121.148:25599" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "minehut.com" || - MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "54.39.244.190:25608") { + MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "proxyfy.minehut.gg") { if (fishingToggle) { return } diff --git a/src/client/kotlin/chickenmanfy/scify/modules/Hotkey.kt b/src/client/kotlin/chickenmanfy/scify/modules/Hotkey.kt index 86ff461..47c0cb6 100644 --- a/src/client/kotlin/chickenmanfy/scify/modules/Hotkey.kt +++ b/src/client/kotlin/chickenmanfy/scify/modules/Hotkey.kt @@ -61,7 +61,7 @@ class Hotkey { if (MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "dungeonfy.minehut.gg" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "51.222.121.148:25599" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "minehut.com" || - MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "54.39.244.190:25608") + MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "proxyfy.minehut.gg") { MinecraftClient.getInstance().networkHandler!!.sendChatCommand("warp") } @@ -71,7 +71,7 @@ class Hotkey { if (MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "dungeonfy.minehut.gg" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "51.222.121.148:25599" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "minehut.com" || - MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "54.39.244.190:25608") + MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "proxyfy.minehut.gg") { MinecraftClient.getInstance().networkHandler!!.sendChatCommand("ec") println(ClientReceiveMessageEvents.CHAT) @@ -81,7 +81,7 @@ class Hotkey { if (MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "dungeonfy.minehut.gg" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "51.222.121.148:25599" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "minehut.com" || - MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "54.39.244.190:25608") + MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "proxyfy.minehut.gg") { MinecraftClient.getInstance().networkHandler!!.sendChatCommand("guide") } @@ -90,7 +90,7 @@ class Hotkey { if (MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "dungeonfy.minehut.gg" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "51.222.121.148:25599" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "minehut.com" || - MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "54.39.244.190:25608") + MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "proxyfy.minehut.gg") { MinecraftClient.getInstance().setScreen(Menu()) } @@ -98,6 +98,7 @@ class Hotkey { while (debug.wasPressed()) { println(MinecraftClient.getInstance().networkHandler?.serverInfo?.address) println(MinecraftClient.getInstance().player?.name?.string) + MinecraftClient.getInstance().player?.networkHandler?.sendChatMessage("wb") } }) diff --git a/src/client/kotlin/chickenmanfy/scify/modules/LivelyMode.kt b/src/client/kotlin/chickenmanfy/scify/modules/LivelyMode.kt index 3eb5d76..0b2b5c1 100644 --- a/src/client/kotlin/chickenmanfy/scify/modules/LivelyMode.kt +++ b/src/client/kotlin/chickenmanfy/scify/modules/LivelyMode.kt @@ -12,7 +12,7 @@ class LivelyMode { if (MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "dungeonfy.minehut.gg" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "51.222.121.148:25599" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "minehut.com" || - MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "54.39.244.190:25608") { + MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "proxyfy.minehut.gg") { if (livelyModeToggle) { return } diff --git a/src/client/kotlin/chickenmanfy/scify/modules/Watermark.kt b/src/client/kotlin/chickenmanfy/scify/modules/Watermark.kt index 5a080e4..a740c45 100644 --- a/src/client/kotlin/chickenmanfy/scify/modules/Watermark.kt +++ b/src/client/kotlin/chickenmanfy/scify/modules/Watermark.kt @@ -16,10 +16,10 @@ class Watermark { if (MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "dungeonfy.minehut.gg" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "51.222.121.148:25599" || MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "minehut.com" || - MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "54.39.244.190:25608") { + MinecraftClient.getInstance().networkHandler?.serverInfo?.address == "proxyfy.minehut.gg") { if (watermarkToggle) { val minecraftClient = MinecraftClient.getInstance() - val scifyVersion = "0.1.7" + val scifyVersion = "0.2.0" drawContext?.drawTextWithShadow(minecraftClient.textRenderer,"§nSciFy v${scifyVersion}",minecraftClient.window.scaledWidth - minecraftClient.textRenderer.getWidth("SciFy v${scifyVersion}") - 5, minecraftClient.window.scaledHeight - minecraftClient.textRenderer.fontHeight - 5, 0xff00ff) } } diff --git a/src/client/resources/scify.client.mixins.json b/src/client/resources/scify.client.mixins.json index cc164df..b60a3a0 100644 --- a/src/client/resources/scify.client.mixins.json +++ b/src/client/resources/scify.client.mixins.json @@ -3,7 +3,6 @@ "package": "chickenmanfy.scify.mixin.client", "compatibilityLevel": "JAVA_17", "client": [ - "ActionBarMixin" ], "injectors": { "defaultRequire": 1