diff --git a/build.gradle b/build.gradle index 9249a2c9..db9a8152 100644 --- a/build.gradle +++ b/build.gradle @@ -61,7 +61,7 @@ dependencies { include "com.viaversion:viaversion:${project.viaversion_version}" include "com.viaversion:viabackwards:${project.viabackwards_version}" - include "com.viaversion:viarewind-universal:${project.viarewind_version}" + include "com.viaversion:viarewind:${project.viarewind_version}" include ("net.raphimc:ViaLegacy:${project.vialegacy_version}") { exclude group: "com.google.code.gson", module: "gson" } diff --git a/gradle.properties b/gradle.properties index 01f34694..e6a94794 100644 --- a/gradle.properties +++ b/gradle.properties @@ -19,8 +19,8 @@ okhttp_version=4.9.1 snake_yml_version=2.2 slf4j_version=2.0.12 -viaversion_version=4.9.3 -viabackwards_version=4.9.2 -viarewind_version=3.0.6 -vialoader_version=2.2.12 -vialegacy_version=2.2.22-SNAPSHOT \ No newline at end of file +viaversion_version=4.10.1-SNAPSHOT +viabackwards_version=4.10.0 +viarewind_version=3.1.0 +vialoader_version=2.2.14-SNAPSHOT +vialegacy_version=2.2.23-SNAPSHOT \ No newline at end of file diff --git a/src/main/java/net/aspw/client/Launch.kt b/src/main/java/net/aspw/client/Launch.kt index e82a3be8..faec37b6 100644 --- a/src/main/java/net/aspw/client/Launch.kt +++ b/src/main/java/net/aspw/client/Launch.kt @@ -30,9 +30,9 @@ object Launch { // Client information const val CLIENT_BEST = "NightX" const val CLIENT_FOLDER = "NightX-Client" - const val CLIENT_VERSION = "B108" + const val CLIENT_VERSION = "B109" const val CLIENT_CHAT = "§c[$CLIENT_BEST] §r" - const val CLIENT_PROTOCOL_RANGE = "1.7.2 to 1.20.4" + const val CLIENT_PROTOCOL_RANGE = "1.7.2 to 1.20.6" var isStarting = false diff --git a/src/main/java/net/aspw/client/features/api/McUpdatesHandler.java b/src/main/java/net/aspw/client/features/api/McUpdatesHandler.java index 2fd7ed89..f4c320e7 100644 --- a/src/main/java/net/aspw/client/features/api/McUpdatesHandler.java +++ b/src/main/java/net/aspw/client/features/api/McUpdatesHandler.java @@ -4,7 +4,6 @@ import net.aspw.client.protocol.api.ProtocolFixer; import net.aspw.client.utils.AnimationUtils; import net.aspw.client.utils.MinecraftInstance; -import net.aspw.client.utils.render.RenderUtils; import net.minecraft.block.material.Material; import net.minecraft.client.settings.GameSettings; import net.minecraft.entity.item.EntityBoat; @@ -68,10 +67,10 @@ public void onMotion(MotionEvent event) { delta = 0.085f; if (shouldAnimation()) { - eyeHeight = AnimationUtils.animate(END_HEIGHT, eyeHeight, RenderUtils.deltaTime * delta); + eyeHeight = AnimationUtils.animate(END_HEIGHT, eyeHeight, 2 * delta); doingEyeRot = true; } else if (eyeHeight < START_HEIGHT) - eyeHeight = AnimationUtils.animate(START_HEIGHT, eyeHeight, RenderUtils.deltaTime * delta); + eyeHeight = AnimationUtils.animate(START_HEIGHT, eyeHeight, 2 * delta); if (eyeHeight >= START_HEIGHT && doingEyeRot) doingEyeRot = false; diff --git a/src/main/java/net/aspw/client/features/api/PacketManager.java b/src/main/java/net/aspw/client/features/api/PacketManager.java index 36160798..3ff03127 100644 --- a/src/main/java/net/aspw/client/features/api/PacketManager.java +++ b/src/main/java/net/aspw/client/features/api/PacketManager.java @@ -12,7 +12,6 @@ import net.aspw.client.utils.AnimationUtils; import net.aspw.client.utils.MinecraftInstance; import net.aspw.client.utils.RotationUtils; -import net.aspw.client.utils.render.RenderUtils; import net.aspw.client.utils.timer.MSTimer; import net.minecraft.network.Packet; import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement; @@ -73,9 +72,9 @@ else if (ProtocolFixer.newerThanOrEqualsTo1_14()) else delta = 0.154f; if (mc.thePlayer.isSneaking()) - eyeHeight = AnimationUtils.animate(END_HEIGHT, eyeHeight, RenderUtils.deltaTime * delta); + eyeHeight = AnimationUtils.animate(END_HEIGHT, eyeHeight, 2 * delta); else if (eyeHeight < START_HEIGHT) - eyeHeight = AnimationUtils.animate(START_HEIGHT, eyeHeight, RenderUtils.deltaTime * delta); + eyeHeight = AnimationUtils.animate(START_HEIGHT, eyeHeight, 2 * delta); if (!Objects.requireNonNull(Launch.moduleManager.getModule(SilentRotations.class)).getState()) Objects.requireNonNull(Launch.moduleManager.getModule(SilentRotations.class)).setState(true); diff --git a/src/main/java/net/aspw/client/features/command/impl/FriendCommand.kt b/src/main/java/net/aspw/client/features/command/impl/FriendCommand.kt index b08e7d0b..749f53f9 100644 --- a/src/main/java/net/aspw/client/features/command/impl/FriendCommand.kt +++ b/src/main/java/net/aspw/client/features/command/impl/FriendCommand.kt @@ -57,7 +57,7 @@ class FriendCommand : Command("friend", arrayOf("friends")) { val friends = friendsConfig.friends.size friendsConfig.clearFriends() Launch.fileManager.saveConfig(friendsConfig) - chat("Removed $friends friend(s).") + chat("Removed $friends friend (s).") return } diff --git a/src/main/java/net/aspw/client/features/module/impl/combat/KillAura.kt b/src/main/java/net/aspw/client/features/module/impl/combat/KillAura.kt index d031d5fe..b40a2bec 100644 --- a/src/main/java/net/aspw/client/features/module/impl/combat/KillAura.kt +++ b/src/main/java/net/aspw/client/features/module/impl/combat/KillAura.kt @@ -1,10 +1,5 @@ package net.aspw.client.features.module.impl.combat -import com.viaversion.viarewind.protocol.protocol1_8to1_9.Protocol1_8To1_9 -import com.viaversion.viarewind.utils.PacketUtil -import com.viaversion.viaversion.api.Via -import com.viaversion.viaversion.api.protocol.packet.PacketWrapper -import com.viaversion.viaversion.api.type.Type import net.aspw.client.Launch import net.aspw.client.event.* import net.aspw.client.features.module.Module @@ -195,7 +190,6 @@ class KillAura : Module() { "Vanilla", "ReBlock", "Perfect", - "1.9+", "Fake", "None" ), @@ -295,7 +289,7 @@ class KillAura : Module() { } } - "vanilla", "1.9+" -> { + "vanilla" -> { if (mc.thePlayer.isBlocking || canBlock) startBlocking(target!!, interactAutoBlockValue.get()) } @@ -609,7 +603,7 @@ class KillAura : Module() { // Call attack event Launch.eventManager.callEvent(AttackEvent(entity)) - if (autoBlockModeValue.get().equals("vanilla", true) || autoBlockModeValue.get().equals("1.9+", true)) { + if (autoBlockModeValue.get().equals("vanilla", true)) { if (blockingStatus && canBlock && endTimer.hasTimePassed(1)) { blockingStatus = false PacketUtils.sendPacketNoEvent( @@ -793,16 +787,6 @@ class KillAura : Module() { blockingStatus = true } - "1.9+" -> { - if (ProtocolFixer.newerThanOrEqualsTo1_9()) { - val useItem = - PacketWrapper.create(29, null, Via.getManager().connectionManager.connections.iterator().next()) - useItem.write(Type.VAR_INT, 1) - PacketUtil.sendToServer(useItem, Protocol1_8To1_9::class.java, true, true) - blockingStatus = true - } - } - "fake" -> { fakeBlock = true } diff --git a/src/main/java/net/aspw/client/features/module/impl/movement/speeds/watchdog/WatchdogGround.kt b/src/main/java/net/aspw/client/features/module/impl/movement/speeds/watchdog/WatchdogGround.kt index 500934c5..44d17377 100644 --- a/src/main/java/net/aspw/client/features/module/impl/movement/speeds/watchdog/WatchdogGround.kt +++ b/src/main/java/net/aspw/client/features/module/impl/movement/speeds/watchdog/WatchdogGround.kt @@ -36,8 +36,6 @@ class WatchdogGround : SpeedMode("WatchdogGround") { else MovementUtils.strafe(baseSpeed) } } else { - if (mc.thePlayer.hurtTime >= 8) - MovementUtils.strafe(MovementUtils.getSpeed() * 0.75f) if (mc.thePlayer.isPotionActive(Potion.moveSpeed)) { mc.thePlayer.motionX *= (1.0002 + 0.0008 * (mc.thePlayer.getActivePotionEffect(Potion.moveSpeed).amplifier + 1)) mc.thePlayer.motionZ *= (1.0002 + 0.0008 * (mc.thePlayer.getActivePotionEffect(Potion.moveSpeed).amplifier + 1)) diff --git a/src/main/java/net/aspw/client/features/module/impl/other/MurdererDetector.kt b/src/main/java/net/aspw/client/features/module/impl/other/MurdererDetector.kt index 7af1d4b6..774b8e85 100644 --- a/src/main/java/net/aspw/client/features/module/impl/other/MurdererDetector.kt +++ b/src/main/java/net/aspw/client/features/module/impl/other/MurdererDetector.kt @@ -10,6 +10,7 @@ import net.aspw.client.features.module.ModuleCategory import net.aspw.client.features.module.ModuleInfo import net.aspw.client.features.module.impl.visual.Interface import net.aspw.client.value.BoolValue +import net.minecraft.entity.EntityLivingBase import net.minecraft.entity.player.EntityPlayer import net.minecraft.item.Item @@ -17,8 +18,16 @@ import net.minecraft.item.Item class MurdererDetector : Module() { private val chatValue = BoolValue("Chat", true) - var murderer1: EntityPlayer? = null - var murderer2: EntityPlayer? = null + companion object { + var murderers = mutableListOf() + + @JvmStatic + fun isMurderer(entity: EntityLivingBase): Boolean { + if (entity !is EntityPlayer) return false + if (entity in murderers) return true + return false + } + } // Murderer Items Updated 2024 04/21 private val murdererItems = mutableListOf( @@ -65,14 +74,12 @@ class MurdererDetector : Module() { ) override fun onDisable() { - murderer1 = null - murderer2 = null + murderers.clear() } @EventTarget fun onWorld(event: WorldEvent) { - murderer1 = null - murderer2 = null + murderers.clear() } @EventTarget @@ -83,24 +90,14 @@ class MurdererDetector : Module() { "Knife", ignoreCase = true ) || murdererItems.contains(Item.getIdFromItem(player.heldItem.item))) + && player !in murderers ) { - if (murderer1 == null) { - if (Launch.moduleManager.getModule(Interface::class.java)?.flagSoundValue!!.get()) { - Launch.tipSoundManager.popSound.asyncPlay(Launch.moduleManager.popSoundPower) - } - if (chatValue.get()) - chat("§e" + player.name + "§r is Murderer!") - murderer1 = player - return - } - if (murderer2 == null && player != murderer1) { - if (Launch.moduleManager.getModule(Interface::class.java)?.flagSoundValue!!.get()) { - Launch.tipSoundManager.popSound.asyncPlay(Launch.moduleManager.popSoundPower) - } - if (chatValue.get()) - chat("§e" + player.name + "§r is Murderer!") - murderer2 = player + if (Launch.moduleManager.getModule(Interface::class.java)?.flagSoundValue!!.get()) { + Launch.tipSoundManager.popSound.asyncPlay(Launch.moduleManager.popSoundPower) } + if (chatValue.get()) + chat("§e" + player.name + "§r is Murderer!") + murderers.add(player) } } } diff --git a/src/main/java/net/aspw/client/features/module/impl/player/Scaffold.kt b/src/main/java/net/aspw/client/features/module/impl/player/Scaffold.kt index 00b09372..3c93a8d5 100644 --- a/src/main/java/net/aspw/client/features/module/impl/player/Scaffold.kt +++ b/src/main/java/net/aspw/client/features/module/impl/player/Scaffold.kt @@ -154,7 +154,7 @@ class Scaffold : Module() { private val placeSlowDownValue = BoolValue("Place-SlowDown", false) private val speedModifierValue = FloatValue("Speed-Multiplier", 0.8f, 0f, 1.4f, "x") { placeSlowDownValue.get() } private val slowDownValue = BoolValue("SlowDown", false) - private val xzMultiplier = FloatValue("XZ-Multiplier", 0.6f, 0f, 1.1f, "x") { slowDownValue.get() } + private val xzMultiplier = FloatValue("XZ-Multiplier", 0.7f, 0f, 1.2f, "x") { slowDownValue.get() } private val noSpeedPotValue = BoolValue("NoSpeedPot", false) private val speedSlowDown = FloatValue("SpeedPot-SlowDown", 0.8f, 0.0f, 1.1f, "x") { noSpeedPotValue.get() } private val customSpeedValue = BoolValue("CustomSpeed", false) diff --git a/src/main/java/net/aspw/client/features/module/impl/visual/ESP.java b/src/main/java/net/aspw/client/features/module/impl/visual/ESP.java index f791f375..490d577c 100644 --- a/src/main/java/net/aspw/client/features/module/impl/visual/ESP.java +++ b/src/main/java/net/aspw/client/features/module/impl/visual/ESP.java @@ -112,7 +112,7 @@ public void onRender2D(Render2DEvent event) { final AntiBots antiBots = Objects.requireNonNull(Launch.moduleManager.getModule(AntiBots.class)); entityLivingBase = (EntityLivingBase) entity; String entName; - if (murdererDetector.getState() && (entity == murdererDetector.getMurderer1() || entity == murdererDetector.getMurderer2())) { + if (murdererDetector.getState() && MurdererDetector.isMurderer(entityLivingBase)) { entName = "§c[Murderer] §7- §r" + entityLivingBase.getDisplayName().getFormattedText(); } else if (EntityUtils.isFriend(entity)) { entName = "§e[Friend] §7- §r" + entityLivingBase.getDisplayName().getFormattedText(); diff --git a/src/main/java/net/aspw/client/features/module/impl/visual/Interface.kt b/src/main/java/net/aspw/client/features/module/impl/visual/Interface.kt index 3f83f825..d2d2a603 100644 --- a/src/main/java/net/aspw/client/features/module/impl/visual/Interface.kt +++ b/src/main/java/net/aspw/client/features/module/impl/visual/Interface.kt @@ -163,7 +163,7 @@ class Interface : Module() { if (targetHudValue.get()) { val xPos = (ScaledResolution(mc).scaledWidth / 2) - 214f + targetHudXPosValue.get() val yPos = (ScaledResolution(mc).scaledHeight / 2) - 90f + targetHudYPosValue.get() - val font = Fonts.minecraftFont + val font = FontLoaders.SF21 val killAura = Launch.moduleManager.getModule(KillAura::class.java) val tpAura = Launch.moduleManager.getModule(TPAura::class.java) val killAuraRecode = Launch.moduleManager.getModule(KillAuraRecode::class.java) @@ -200,7 +200,12 @@ class Interface : Module() { yPos + 36F, Color(245, healthColor, 1).rgb ) - font.drawStringWithShadow(healthString, xPos + 64.5F, yPos + 27F, Color(245, healthColor, 1).rgb) + Fonts.minecraftFont.drawStringWithShadow( + healthString, + xPos + 64.5F, + yPos + 27F, + Color(245, healthColor, 1).rgb + ) RenderUtils.newDrawRect(xPos - 1, yPos + 3, xPos + 33F, yPos + 37F, Color(0, 0, 0).rgb) @@ -211,18 +216,38 @@ class Interface : Module() { yPos.toInt() + 4 ) else { - font.drawStringWithShadow("No", xPos + 9, yPos + 7F, Color(120, 120, 120).rgb) - font.drawStringWithShadow("Image", xPos + 2, yPos + 16F, Color(120, 120, 120).rgb) - font.drawStringWithShadow("Found", xPos + 1, yPos + 25F, Color(120, 120, 120).rgb) + font.drawStringWithShadow( + "No", + (xPos + 9).toDouble(), + (yPos + 7F).toDouble(), + Color(120, 120, 120).rgb + ) + font.drawStringWithShadow( + "Image", + (xPos + 2).toDouble(), + (yPos + 16F).toDouble(), + Color(120, 120, 120).rgb + ) + font.drawStringWithShadow( + "Found", + (xPos + 1).toDouble(), + (yPos + 25F).toDouble(), + Color(120, 120, 120).rgb + ) } updateAnim(entity.health) - font.drawStringWithShadow(entity.name, xPos + 36F, yPos + 4F, Color(255, 255, 255).rgb) + font.drawStringWithShadow( + entity.name, + (xPos + 36F).toDouble(), + (yPos + 4F).toDouble(), + Color(255, 255, 255).rgb + ) font.drawStringWithShadow( mc.thePlayer.getDistanceToEntity(entity).toInt().toString() + " blocks away", - xPos + 36F, - yPos + 15F, + (xPos + 36F).toDouble(), + (yPos + 15F).toDouble(), Color(255, 255, 255).rgb ) } else if (easingHealth != 0F) easingHealth = 0F @@ -288,7 +313,7 @@ class Interface : Module() { } private fun updateAnim(targetHealth: Float) { - easingHealth += ((targetHealth - easingHealth) / 2.0F.pow(10.0F - targetHudSpeedValue.get())) * RenderUtils.deltaTime + easingHealth += ((targetHealth - easingHealth) / 2.0F.pow(10.0F - targetHudSpeedValue.get())) * 2 } private fun getModName(mod: Module): String { diff --git a/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiDisconnected.java b/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiDisconnected.java index fa3e420c..7d11846f 100644 --- a/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiDisconnected.java +++ b/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiDisconnected.java @@ -1,6 +1,7 @@ package net.aspw.client.injection.forge.mixins.gui; import com.google.gson.JsonObject; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import net.aspw.client.Launch; import net.aspw.client.auth.account.CrackedAccount; import net.aspw.client.auth.account.MinecraftAccount; @@ -21,7 +22,6 @@ import net.minecraft.client.gui.GuiScreen; import net.minecraft.util.IChatComponent; import net.minecraft.util.Session; -import net.raphimc.vialoader.util.VersionEnum; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -104,7 +104,7 @@ private void actionPerformed(GuiButton button, CallbackInfo callbackInfo) { @Inject(method = "drawScreen", at = @At("RETURN")) private void drawScreen(CallbackInfo callbackInfo) { - final VersionEnum version = ProtocolBase.getManager().getTargetVersion(); + final ProtocolVersion version = ProtocolBase.getManager().getTargetVersion(); Fonts.minecraftFont.drawStringWithShadow( "§7Username: §d" + mc.getSession().getUsername(), diff --git a/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiIngameMenu.java b/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiIngameMenu.java index af76d510..345e725f 100644 --- a/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiIngameMenu.java +++ b/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiIngameMenu.java @@ -1,5 +1,6 @@ package net.aspw.client.injection.forge.mixins.gui; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import net.aspw.client.features.api.PacketManager; import net.aspw.client.protocol.ProtocolBase; import net.aspw.client.utils.MinecraftInstance; @@ -7,7 +8,6 @@ import net.aspw.client.visual.font.semi.Fonts; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiIngameMenu; -import net.raphimc.vialoader.util.VersionEnum; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -31,7 +31,7 @@ private void actionPerformed(GuiButton button, CallbackInfo callbackInfo) { @Inject(method = "drawScreen", at = @At("RETURN")) private void drawScreen(CallbackInfo callbackInfo) { try { - final VersionEnum version = ProtocolBase.getManager().getTargetVersion(); + final ProtocolVersion version = ProtocolBase.getManager().getTargetVersion(); Fonts.minecraftFont.drawStringWithShadow("§7Username: §d" + mc.getSession().getUsername(), 6f, 6f, 0xffffff); diff --git a/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiMultiplayer.java b/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiMultiplayer.java index dd295754..e10413b5 100644 --- a/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiMultiplayer.java +++ b/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiMultiplayer.java @@ -1,5 +1,6 @@ package net.aspw.client.injection.forge.mixins.gui; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import net.aspw.client.protocol.ProtocolBase; import net.aspw.client.protocol.api.ProtocolSelector; import net.aspw.client.visual.client.altmanager.GuiAltManager; @@ -7,7 +8,6 @@ import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiMultiplayer; import net.minecraft.client.gui.GuiScreen; -import net.raphimc.vialoader.util.VersionEnum; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -27,7 +27,7 @@ private void initGui(CallbackInfo callbackInfo) { @Inject(method = "drawScreen", at = @At("RETURN")) private void drawScreen(CallbackInfo callbackInfo) { - final VersionEnum version = ProtocolBase.getManager().getTargetVersion(); + final ProtocolVersion version = ProtocolBase.getManager().getTargetVersion(); Fonts.minecraftFont.drawStringWithShadow("§7Username: §d" + mc.getSession().getUsername(), 6f, 6f, 0xffffff); diff --git a/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiOverlayDebug.java b/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiOverlayDebug.java index 68c1f6ab..b981ceb0 100644 --- a/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiOverlayDebug.java +++ b/src/main/java/net/aspw/client/injection/forge/mixins/gui/MixinGuiOverlayDebug.java @@ -1,10 +1,10 @@ package net.aspw.client.injection.forge.mixins.gui; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import net.aspw.client.Launch; import net.aspw.client.protocol.ProtocolBase; import net.aspw.client.utils.MinecraftInstance; import net.minecraft.client.gui.GuiOverlayDebug; -import net.raphimc.vialoader.util.VersionEnum; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -17,7 +17,7 @@ public class MixinGuiOverlayDebug { @Inject(method = "getDebugInfoRight", at = @At(value = "TAIL")) public void addProtocolVersion(CallbackInfoReturnable> cir) { - final VersionEnum version = ProtocolBase.getManager().getTargetVersion(); + final ProtocolVersion version = ProtocolBase.getManager().getTargetVersion(); cir.getReturnValue().add(""); diff --git a/src/main/java/net/aspw/client/injection/forge/mixins/item/MixinItemRenderer.java b/src/main/java/net/aspw/client/injection/forge/mixins/item/MixinItemRenderer.java index 467dc425..f67a9cca 100644 --- a/src/main/java/net/aspw/client/injection/forge/mixins/item/MixinItemRenderer.java +++ b/src/main/java/net/aspw/client/injection/forge/mixins/item/MixinItemRenderer.java @@ -533,7 +533,7 @@ public void renderItemInFirstPerson(final float partialTicks) { break; } case "Small": { - GL11.glTranslated(Animations.blockPosX.get().doubleValue() - 0.01, Animations.blockPosY.get().doubleValue() - 0.07, Animations.blockPosZ.get().doubleValue() - 0.24); + GL11.glTranslated(Animations.blockPosX.get().doubleValue() - 0.01, Animations.blockPosY.get().doubleValue() + 0.03, Animations.blockPosZ.get().doubleValue() - 0.24); if (Animations.cancelEquip.get()) this.transformFirstPersonItem(0.0F, f1); else this.transformFirstPersonItem(f, f1); diff --git a/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinGuiConnecting_1.java b/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinGuiConnecting_1.java index c002195e..fcce7135 100644 --- a/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinGuiConnecting_1.java +++ b/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinGuiConnecting_1.java @@ -1,10 +1,10 @@ package net.aspw.client.injection.forge.mixins.network; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import net.aspw.client.protocol.ProtocolBase; import net.aspw.client.protocol.api.ExtendedServerData; import net.aspw.client.utils.MinecraftInstance; import net.minecraft.network.NetworkManager; -import net.raphimc.vialoader.util.VersionEnum; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; @@ -17,7 +17,7 @@ public class MixinGuiConnecting_1 { @Redirect(method = "run", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/NetworkManager;func_181124_a(Ljava/net/InetAddress;IZ)Lnet/minecraft/network/NetworkManager;"), remap = false) public NetworkManager trackVersion(InetAddress address, int i, boolean b) { if (MinecraftInstance.mc.getCurrentServerData() instanceof ExtendedServerData) { - final VersionEnum version = ((ExtendedServerData) MinecraftInstance.mc.getCurrentServerData()).viaForge$getVersion(); + final ProtocolVersion version = ((ExtendedServerData) MinecraftInstance.mc.getCurrentServerData()).viaForge$getVersion(); if (version != null) { ProtocolBase.getManager().setTargetVersionSilent(version); } diff --git a/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinNetworkManager.java b/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinNetworkManager.java index 666e6b84..36a6d9cc 100644 --- a/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinNetworkManager.java +++ b/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinNetworkManager.java @@ -1,5 +1,6 @@ package net.aspw.client.injection.forge.mixins.network; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import net.aspw.client.Launch; @@ -13,7 +14,6 @@ import net.minecraft.network.Packet; import net.minecraft.network.ThreadQuickExitException; import net.minecraft.util.LazyLoadBase; -import net.raphimc.vialoader.util.VersionEnum; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.Shadow; @@ -39,7 +39,7 @@ public class MixinNetworkManager implements VFNetworkManager { private INetHandler packetListener; @Unique - private VersionEnum viaForge$targetVersion; + private ProtocolVersion viaForge$targetVersion; @Inject(method = "func_181124_a", at = @At(value = "INVOKE", target = "Lio/netty/bootstrap/Bootstrap;group(Lio/netty/channel/EventLoopGroup;)Lio/netty/bootstrap/AbstractBootstrap;"), locals = LocalCapture.CAPTURE_FAILHARD, remap = false) private static void trackSelfTarget(final InetAddress address, final int serverPort, final boolean useNativeTransport, final CallbackInfoReturnable cir, final NetworkManager networkmanager, final Class oclass, final LazyLoadBase lazyloadbase) { @@ -52,12 +52,12 @@ public void reorderPipeline(final int p_setCompressionTreshold_1_, final Callbac } @Override - public VersionEnum viaForge$getTrackedVersion() { + public ProtocolVersion viaForge$getTrackedVersion() { return viaForge$targetVersion; } @Override - public void viaForge$setTrackedVersion(final VersionEnum version) { + public void viaForge$setTrackedVersion(final ProtocolVersion version) { viaForge$targetVersion = version; } diff --git a/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinServerData.java b/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinServerData.java index 5409e21a..092e89ec 100644 --- a/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinServerData.java +++ b/src/main/java/net/aspw/client/injection/forge/mixins/network/MixinServerData.java @@ -1,9 +1,9 @@ package net.aspw.client.injection.forge.mixins.network; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import net.aspw.client.protocol.api.ExtendedServerData; import net.minecraft.client.multiplayer.ServerData; import net.minecraft.nbt.NBTTagCompound; -import net.raphimc.vialoader.util.VersionEnum; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; @@ -16,19 +16,25 @@ public class MixinServerData implements ExtendedServerData { @Unique - private VersionEnum viaForge$version; + private ProtocolVersion viaForge$version; @Inject(method = "getNBTCompound", at = @At(value = "INVOKE", target = "Lnet/minecraft/nbt/NBTTagCompound;setString(Ljava/lang/String;Ljava/lang/String;)V", ordinal = 0), locals = LocalCapture.CAPTURE_FAILHARD) public void saveVersion(CallbackInfoReturnable cir, NBTTagCompound nbttagcompound) { if (viaForge$version != null) { - nbttagcompound.setInteger("viaForge$version", viaForge$version.getVersion()); + nbttagcompound.setString("viaForge$version", viaForge$version.getName()); } } @Inject(method = "getServerDataFromNBTCompound", at = @At(value = "TAIL")) private static void getVersion(NBTTagCompound nbtCompound, CallbackInfoReturnable cir) { if (nbtCompound.hasKey("viaForge$version")) { - ((ExtendedServerData) cir.getReturnValue()).viaForge$setVersion(VersionEnum.fromProtocolId(nbtCompound.getInteger("viaForge$version"))); + ProtocolVersion version; + if (nbtCompound.getInteger("viaForge$version") != 0) { + version = ProtocolVersion.getProtocol(nbtCompound.getInteger("viaForge$version")); + } else { + version = ProtocolVersion.getClosest(nbtCompound.getString("viaForge$version")); + } + ((ExtendedServerData) cir.getReturnValue()).viaForge$setVersion(version); } } @@ -40,12 +46,12 @@ public void track(ServerData serverDataIn, CallbackInfo ci) { } @Override - public VersionEnum viaForge$getVersion() { + public ProtocolVersion viaForge$getVersion() { return viaForge$version; } @Override - public void viaForge$setVersion(VersionEnum version) { + public void viaForge$setVersion(ProtocolVersion version) { viaForge$version = version; } diff --git a/src/main/java/net/aspw/client/protocol/ProtocolBase.java b/src/main/java/net/aspw/client/protocol/ProtocolBase.java index 51d326bc..d102e102 100644 --- a/src/main/java/net/aspw/client/protocol/ProtocolBase.java +++ b/src/main/java/net/aspw/client/protocol/ProtocolBase.java @@ -1,6 +1,7 @@ package net.aspw.client.protocol; import com.viaversion.viaversion.api.connection.UserConnection; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.connection.UserConnectionImpl; import com.viaversion.viaversion.protocol.ProtocolPipelineImpl; import io.netty.channel.Channel; @@ -14,18 +15,17 @@ import net.raphimc.vialoader.impl.platform.ViaRewindPlatformImpl; import net.raphimc.vialoader.impl.platform.ViaVersionPlatformImpl; import net.raphimc.vialoader.netty.CompressionReorderEvent; -import net.raphimc.vialoader.util.VersionEnum; import java.util.ArrayList; import java.util.List; public class ProtocolBase { - private VersionEnum targetVersion = VersionEnum.r1_8; + private ProtocolVersion targetVersion = ProtocolVersion.v1_8; public static final AttributeKey LOCAL_VIA_USER = AttributeKey.valueOf("local_via_user"); public static final AttributeKey VF_NETWORK_MANAGER = AttributeKey.valueOf("encryption_setup"); private static ProtocolBase manager; - public static List versions = new ArrayList<>(); + public static List versions = new ArrayList<>(); public ProtocolBase() { } @@ -35,18 +35,18 @@ public static void init(final VFPlatform platform) { return; } - final VersionEnum version = VersionEnum.fromProtocolId(platform.getGameVersion()); + final ProtocolVersion version = ProtocolVersion.getProtocol(platform.getGameVersion()); - if (version == VersionEnum.UNKNOWN) + if (version == ProtocolVersion.unknown) throw new IllegalArgumentException("Unknown Protocol Found (" + platform.getGameVersion() + ")"); manager = new ProtocolBase(); ViaLoader.init(new ViaVersionPlatformImpl(null), new ProtocolVLLoader(platform), new ProtocolVLInjector(), null, ViaBackwardsPlatformImpl::new, ViaRewindPlatformImpl::new, ViaLegacyPlatformImpl::new, null); - versions.addAll(VersionEnum.SORTED_VERSIONS); + versions.addAll(ProtocolVersion.getProtocols()); - versions.removeIf(i -> i == VersionEnum.UNKNOWN || i.isOlderThan(VersionEnum.r1_7_2tor1_7_5)); + versions.removeIf(i -> i == ProtocolVersion.unknown || i.olderThan(ProtocolVersion.v1_7_2)); ClientUtils.getLogger().info("ViaVersion Injected"); } @@ -63,15 +63,15 @@ public void inject(final Channel channel, final VFNetworkManager networkManager) } } - public VersionEnum getTargetVersion() { + public ProtocolVersion getTargetVersion() { return targetVersion; } - public void setTargetVersionSilent(final VersionEnum targetVersion) { + public void setTargetVersionSilent(final ProtocolVersion targetVersion) { this.targetVersion = targetVersion; } - public void setTargetVersion(final VersionEnum targetVersion) { + public void setTargetVersion(final ProtocolVersion targetVersion) { this.targetVersion = targetVersion; } diff --git a/src/main/java/net/aspw/client/protocol/api/ExtendedServerData.java b/src/main/java/net/aspw/client/protocol/api/ExtendedServerData.java index 188b0eef..271e6705 100644 --- a/src/main/java/net/aspw/client/protocol/api/ExtendedServerData.java +++ b/src/main/java/net/aspw/client/protocol/api/ExtendedServerData.java @@ -1,14 +1,11 @@ package net.aspw.client.protocol.api; -import net.raphimc.vialoader.util.VersionEnum; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; -/** - * This interface is used to store the target version for a specific server in the server list. - */ public interface ExtendedServerData { - VersionEnum viaForge$getVersion(); + ProtocolVersion viaForge$getVersion(); - void viaForge$setVersion(final VersionEnum version); + void viaForge$setVersion(final ProtocolVersion version); } \ No newline at end of file diff --git a/src/main/java/net/aspw/client/protocol/api/ProtocolFixer.java b/src/main/java/net/aspw/client/protocol/api/ProtocolFixer.java index 7e4c5c6f..999035f8 100644 --- a/src/main/java/net/aspw/client/protocol/api/ProtocolFixer.java +++ b/src/main/java/net/aspw/client/protocol/api/ProtocolFixer.java @@ -1,12 +1,12 @@ package net.aspw.client.protocol.api; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import net.aspw.client.protocol.ProtocolBase; import net.aspw.client.utils.MinecraftInstance; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.MovingObjectPosition; -import net.raphimc.vialoader.util.VersionEnum; public class ProtocolFixer { private static final Minecraft mc = MinecraftInstance.mc; @@ -28,34 +28,34 @@ public static void sendFixedAttack(final EntityPlayer entityIn, final Entity tar } public static boolean newerThanOrEqualsTo1_8() { - return ProtocolBase.getManager().getTargetVersion().isNewerThanOrEqualTo(VersionEnum.r1_8) && !MinecraftInstance.mc.isIntegratedServerRunning() || MinecraftInstance.mc.isIntegratedServerRunning(); + return ProtocolBase.getManager().getTargetVersion().newerThanOrEqualTo(ProtocolVersion.v1_8) && !MinecraftInstance.mc.isIntegratedServerRunning() || MinecraftInstance.mc.isIntegratedServerRunning(); } public static boolean newerThan1_8() { - return ProtocolBase.getManager().getTargetVersion().isNewerThan(VersionEnum.r1_8) && !MinecraftInstance.mc.isIntegratedServerRunning(); + return ProtocolBase.getManager().getTargetVersion().newerThan(ProtocolVersion.v1_8) && !MinecraftInstance.mc.isIntegratedServerRunning(); } public static boolean newerThanOrEqualsTo1_9() { - return ProtocolBase.getManager().getTargetVersion().isNewerThanOrEqualTo(VersionEnum.r1_9) && !MinecraftInstance.mc.isIntegratedServerRunning(); + return ProtocolBase.getManager().getTargetVersion().newerThanOrEqualTo(ProtocolVersion.v1_9) && !MinecraftInstance.mc.isIntegratedServerRunning(); } public static boolean newerThanOrEqualsTo1_10() { - return ProtocolBase.getManager().getTargetVersion().isNewerThanOrEqualTo(VersionEnum.r1_10) && !MinecraftInstance.mc.isIntegratedServerRunning(); + return ProtocolBase.getManager().getTargetVersion().newerThanOrEqualTo(ProtocolVersion.v1_10) && !MinecraftInstance.mc.isIntegratedServerRunning(); } public static boolean newerThanOrEqualsTo1_13() { - return ProtocolBase.getManager().getTargetVersion().isNewerThanOrEqualTo(VersionEnum.r1_13) && !MinecraftInstance.mc.isIntegratedServerRunning(); + return ProtocolBase.getManager().getTargetVersion().newerThanOrEqualTo(ProtocolVersion.v1_13) && !MinecraftInstance.mc.isIntegratedServerRunning(); } public static boolean olderThanOrEqualsTo1_13_2() { - return ProtocolBase.getManager().getTargetVersion().isOlderThanOrEqualTo(VersionEnum.r1_13_2) && !MinecraftInstance.mc.isIntegratedServerRunning(); + return ProtocolBase.getManager().getTargetVersion().olderThanOrEqualTo(ProtocolVersion.v1_13_2) && !MinecraftInstance.mc.isIntegratedServerRunning(); } public static boolean newerThanOrEqualsTo1_14() { - return ProtocolBase.getManager().getTargetVersion().isNewerThanOrEqualTo(VersionEnum.r1_14) && !MinecraftInstance.mc.isIntegratedServerRunning(); + return ProtocolBase.getManager().getTargetVersion().newerThanOrEqualTo(ProtocolVersion.v1_14) && !MinecraftInstance.mc.isIntegratedServerRunning(); } public static boolean newerThanOrEqualsTo1_16() { - return ProtocolBase.getManager().getTargetVersion().isNewerThanOrEqualTo(VersionEnum.r1_14) && !MinecraftInstance.mc.isIntegratedServerRunning(); + return ProtocolBase.getManager().getTargetVersion().newerThanOrEqualTo(ProtocolVersion.v1_14) && !MinecraftInstance.mc.isIntegratedServerRunning(); } } \ No newline at end of file diff --git a/src/main/java/net/aspw/client/protocol/api/ProtocolSelector.java b/src/main/java/net/aspw/client/protocol/api/ProtocolSelector.java index 46d1b8ec..a14d2596 100644 --- a/src/main/java/net/aspw/client/protocol/api/ProtocolSelector.java +++ b/src/main/java/net/aspw/client/protocol/api/ProtocolSelector.java @@ -1,13 +1,13 @@ package net.aspw.client.protocol.api; import com.mojang.realmsclient.gui.ChatFormatting; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import net.aspw.client.protocol.ProtocolBase; import net.aspw.client.visual.font.smooth.FontLoaders; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiSlot; -import net.raphimc.vialoader.util.VersionEnum; import org.lwjgl.input.Keyboard; import java.io.IOException; @@ -94,8 +94,8 @@ protected void drawBackground() { @Override protected void drawSlot(int index, int x, int y, int slotHeight, int mouseX, int mouseY) { - final VersionEnum targetVersion = ProtocolBase.getManager().getTargetVersion(); - final VersionEnum version = ProtocolBase.versions.get(index); + final ProtocolVersion targetVersion = ProtocolBase.getManager().getTargetVersion(); + final ProtocolVersion version = ProtocolBase.versions.get(index); String color; if (targetVersion == version) { @@ -110,7 +110,7 @@ protected void drawSlot(int index, int x, int y, int slotHeight, int mouseX, int public interface FinishedCallback { - void finished(final VersionEnum version, final GuiScreen parent); + void finished(final ProtocolVersion version, final GuiScreen parent); } diff --git a/src/main/java/net/aspw/client/protocol/api/ProtocolVLLegacyPipeline.java b/src/main/java/net/aspw/client/protocol/api/ProtocolVLLegacyPipeline.java index a5291aa2..5573dd4e 100644 --- a/src/main/java/net/aspw/client/protocol/api/ProtocolVLLegacyPipeline.java +++ b/src/main/java/net/aspw/client/protocol/api/ProtocolVLLegacyPipeline.java @@ -1,12 +1,12 @@ package net.aspw.client.protocol.api; import com.viaversion.viaversion.api.connection.UserConnection; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import net.raphimc.vialoader.netty.VLLegacyPipeline; -import net.raphimc.vialoader.util.VersionEnum; public class ProtocolVLLegacyPipeline extends VLLegacyPipeline { - public ProtocolVLLegacyPipeline(UserConnection user, VersionEnum version) { + public ProtocolVLLegacyPipeline(UserConnection user, ProtocolVersion version) { super(user, version); } diff --git a/src/main/java/net/aspw/client/protocol/api/ProtocolVersionProvider.java b/src/main/java/net/aspw/client/protocol/api/ProtocolVersionProvider.java index ea9e46a7..c27b5cf9 100644 --- a/src/main/java/net/aspw/client/protocol/api/ProtocolVersionProvider.java +++ b/src/main/java/net/aspw/client/protocol/api/ProtocolVersionProvider.java @@ -1,6 +1,7 @@ package net.aspw.client.protocol.api; import com.viaversion.viaversion.api.connection.UserConnection; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.protocols.base.BaseVersionProvider; import net.aspw.client.protocol.ProtocolBase; import net.aspw.client.utils.MinecraftInstance; @@ -10,9 +11,9 @@ public class ProtocolVersionProvider extends BaseVersionProvider { @Override - public int getClosestServerProtocol(UserConnection connection) throws Exception { + public ProtocolVersion getClosestServerProtocol(UserConnection connection) throws Exception { if (connection.isClientSide() && !MinecraftInstance.mc.isIntegratedServerRunning()) { - return Objects.requireNonNull(connection.getChannel()).attr(ProtocolBase.VF_NETWORK_MANAGER).get().viaForge$getTrackedVersion().getVersion(); + return Objects.requireNonNull(connection.getChannel()).attr(ProtocolBase.VF_NETWORK_MANAGER).get().viaForge$getTrackedVersion(); } return super.getClosestServerProtocol(connection); } diff --git a/src/main/java/net/aspw/client/protocol/api/VFNetworkManager.java b/src/main/java/net/aspw/client/protocol/api/VFNetworkManager.java index 589c8817..1a870ba5 100644 --- a/src/main/java/net/aspw/client/protocol/api/VFNetworkManager.java +++ b/src/main/java/net/aspw/client/protocol/api/VFNetworkManager.java @@ -1,11 +1,11 @@ package net.aspw.client.protocol.api; -import net.raphimc.vialoader.util.VersionEnum; +import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; public interface VFNetworkManager { - VersionEnum viaForge$getTrackedVersion(); + ProtocolVersion viaForge$getTrackedVersion(); - void viaForge$setTrackedVersion(final VersionEnum version); + void viaForge$setTrackedVersion(final ProtocolVersion version); } \ No newline at end of file