diff --git a/.github/workflows/dev_build.yml b/.github/workflows/dev_build.yml index 2147b5d..27ba7c9 100644 --- a/.github/workflows/dev_build.yml +++ b/.github/workflows/dev_build.yml @@ -26,8 +26,8 @@ jobs: uses: marvinpinto/action-automatic-releases@latest with: repo_token: '${{ secrets.GITHUB_TOKEN }}' - automatic_release_tag: "1.21.10_1.0.9.5" + automatic_release_tag: "1.21.11_1.0.9.5" prerelease: true - title: "1.21.10 | 1.0.9.5" + title: "1.21.11 | 1.0.9.5" files: | ./build/libs/*.jar diff --git a/README.md b/README.md index 7e99cdf..fe3fe09 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Minecraft version
Verified Addon - Minecraft version + Minecraft version Downloads GitHub stars
@@ -30,7 +30,7 @@ | **Spider+** | **Spider for Anti-Cheats** | **Matrix, Vulcan** | | **Jesus+** | **Jesus for Anti-Cheats** | **Matrix, Vulcan** | | **No Slow+** | **No Slow for Anti-Cheats** | **Matrix, Vulcan, Grim, NCP** | -| **Fast Climb+** | **Fast Climb for Anti-Cheats** | **Spartan** | +| **Fast Climb+** | **Fast Climb for Anti-Cheats** | **Spartan** | | **Gui Move+** | **Gui Move for Anti-Cheats** | **Matrix, NCP** | | **Timer+** | **Timer for Anti-Cheats** | **NCP, Intave, Vulcan** | | **Safe mine** | **Prevents player from lava** | **Matrix** | @@ -46,16 +46,15 @@ | **Teams** | **Does not beat teammates on BedWars and other modes** | | ## Integrations -| Module | Description | -|---------------------|---------------------------------------------------| -| **Chest Tracker** | **Colors support, background disabler, y offset** | -| **Xaero's MiniMap** | **Support baritone control on context** | +| Module | Description | +|---------------------------------------|---------------------------------------------------| +| **Chest Tracker (Unofficial Port)** | **Colors support, background disabler, y offset** | +| **Xaero's MiniMap** | **Support baritone control on context** | ## Commands | Command | Description | Bypasses anti cheats | |----------------|---------------------------------------------------|-----------------------------------------| | **eclip** | **Vertical clip** | **Matrix, Wraith, Spartan, Negativity** | -| **gpt** | **Use ChatGPT module** | | | **clearinv** | **Clear inventory exploit not work after 1.20.3** | **NCP** | | **rawitemid** | **Get raw item id for holograms module** | | | **rawblockid** | **Get raw block id for custom blocks module** | | @@ -77,10 +76,10 @@ | **KeyBinds** | **Now allow binding function to LMB, RMB, ESC** | # Installation Guide -1. Install [minecraft](https://www.minecraft.net) -2. Install [fabric](https://fabricmc.net) and [fabric api](https://www.curseforge.com/minecraft/mc-mods/fabric-api) for your version of minecraft -3. Download [meteor client](https://meteorclient.com) for your version of minecraft -4. Download [meteor plus](https://github.com/MeteorClientPlus/MeteorPlus/releases) for your version of minecraft -5. Place the meteor client and meteor plus in your mods folder +1. Install [Minecraft](https://www.minecraft.net) +2. Install [Fabric](https://fabricmc.net) and [Fabric API](https://www.curseforge.com/minecraft/mc-mods/fabric-api) for your version of minecraft +3. Download [Meteor Client](https://meteorclient.com) for your version of minecraft +4. Download [Meteor Plus](https://github.com/MeteorClientPlus/MeteorPlus/releases) for your version of minecraft +5. Place the Meteor Client and Meteor Plus in your mods folder A: Make Commit we welcome anyone who makes a useful contribution to our free open source product diff --git a/build.gradle b/build.gradle deleted file mode 100644 index fa843d3..0000000 --- a/build.gradle +++ /dev/null @@ -1,105 +0,0 @@ -plugins { - id 'fabric-loom' version "${loom_version}" - id "maven-publish" -} - -java { - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 -} - -base.archivesName = project.archives_name -version = project.mod_version -group = project.maven_group - -configurations.all { - // Check for snapshots more frequently than Gradle's default of 1 day. 0 = every build. - resolutionStrategy.cacheChangingModulesFor 0, 'seconds' -} - -repositories { - maven { - url "https://jm.gserv.me/repository/maven-public/" - content { - includeGroup "info.journeymap" - } - } - maven { - url "https://api.modrinth.com/maven/" - content { - includeGroup "maven.modrinth" - } - } - maven { url = "https://www.cursemaven.com" } - maven { url = "https://masa.dy.fi/maven" } - // YACL - maven { - url = uri("https://maven.isxander.dev/releases") - } - // YACL Snapshots - maven { - name = "Xander Snapshot Maven" - url = uri("https://maven.isxander.dev/snapshots") - } - // Where Is It, JackFredLib - maven { - url = uri("https://maven.jackf.red/releases/") - // Meteor Client - } - maven { - name = "meteor-maven" - url = "https://maven.meteordev.org/releases" - } - maven { - name = "meteor-maven-snapshots" - url = "https://maven.meteordev.org/snapshots" - } - mavenCentral() - gradlePluginPortal() -} - -dependencies { - // Fabric - minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - - // Fabric API - modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - - // Mixin extras - include(implementation(annotationProcessor("io.github.llamalad7:mixinextras-fabric:0.5.0"))) - - // Meteor Client - modImplementation("meteordevelopment:baritone:1.21.10-SNAPSHOT") - modImplementation("meteordevelopment:meteor-client:${project.minecraft_version}-SNAPSHOT") - implementation "org.meteordev:starscript:0.2.5" - implementation "meteordevelopment:orbit:0.2.4" - - // Xaero's Mods - modCompileOnly "maven.modrinth:xaeros-world-map:${project.xwm_fabric_version}" // Xaero's World Map - modCompileOnly "maven.modrinth:xaeros-minimap:${project.xmm_fabric_version}" // Xaero's Minimap - - // Chest Tracker - modImplementation("red.jackf:whereisit:${project.where_is_it_version}") -} - -loom { - accessWidenerPath = file("src/main/resources/meteorplus.accesswidener") -} - -jar { - from("LICENSE") { - rename { "${it}_${project.base.archivesName}" } - } -} - -processResources { - filesMatching("fabric.mod.json") { - expand "version": project.mod_version, "mc_version": project.minecraft_version, "gh_hash": (System.getenv("GITHUB_SHA") ?: "") - } -} - -tasks.withType(JavaCompile).configureEach { - it.options.encoding("UTF-8") -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..9513277 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,119 @@ +plugins { + alias(libs.plugins.fabric.loom) + id("maven-publish") +} + +base { + archivesName = properties["archives_name"] as String + version = libs.versions.mod.version.get() + group = properties["maven_group"] as String +} + +configurations.all { + // Check for snapshots more frequently than Gradle's default of 1 day. 0 = every build. + resolutionStrategy.cacheChangingModulesFor(0, "seconds") +} + +repositories { + maven { + url = uri("https://jm.gserv.me/repository/maven-public/") + content { + includeGroup("info.journeymap") + } + } + maven { + url = uri("https://api.modrinth.com/maven/") + content { + includeGroup("maven.modrinth") + } + } + maven { + url = uri("https://www.cursemaven.com") + } + maven { + url = uri("https://masa.dy.fi/maven") + } + // YACL + maven { + url = uri("https://maven.isxander.dev/releases") + } + // YACL Snapshots + maven { + name = "Xander Snapshot Maven" + url = uri("https://maven.isxander.dev/snapshots") + } + // Where Is It, JackFredLib + maven { + url = uri("https://maven.jackf.red/releases/") + } + // Meteor Client + maven { + name = "meteor-maven" + url = uri("https://maven.meteordev.org/releases") + } + maven { + name = "meteor-maven-snapshots" + url = uri("https://maven.meteordev.org/snapshots") + } + mavenCentral() + gradlePluginPortal() +} + +dependencies { + // Fabric + minecraft(libs.minecraft) + mappings(variantOf(libs.yarn) { classifier("v2") }) + modImplementation(libs.fabric.loader) + + // Fabric API + modImplementation(libs.fabric.api) + + // Mixin extras + annotationProcessor("io.github.llamalad7:mixinextras-fabric:0.5.0") + + // Meteor Client + modImplementation(files("libs\\baritone-unoptimized-fabric-1.15.0-2-gf7a53504.jar")) + modImplementation(libs.meteor.client) + implementation(libs.starscript) + implementation(libs.orbit) + + // Xaero's Mods + modCompileOnly(libs.xwm) // Xaero's World Map + modCompileOnly(libs.xmm) // Xaero's Minimap + modCompileOnly(files("libs\\xaerolib-fabric-1.21.11-1.0.38.jar")) + + // Chest Tracker + modImplementation(libs.whereisit) +} + +loom { + accessWidenerPath = file("src/main/resources/meteorplus.accesswidener") +} + +tasks { + processResources { + val propertyMap = mapOf( + "version" to project.version, + "mc_version" to libs.versions.minecraft.get(), + "gh_hash" to (System.getenv("GITHUB_SHA") ?: ""), + ) + + filesMatching("fabric.mod.json") { + expand (propertyMap) + } + } + jar { + val licenseSuffix = project.base.archivesName.get() + from("LICENSE") { + rename { "${it}_${licenseSuffix}" } + } + } + java { + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 + } + withType { + options.encoding = "UTF-8" + options.release = 21 + } +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 809f6de..2302b6f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,32 +1,5 @@ org.gradle.jvmargs=-Xmx4G -# Fabric (https://fabricmc.net/versions.html) -minecraft_version=1.21.10 -yarn_mappings=1.21.10+build.2 -loader_version=0.17.3 -loom_version=1.13-SNAPSHOT - -# Fabric API -fabric_version=0.135.0+1.21.10 - # Mod Properties -mod_version=1.21.10_1.0.9.5 maven_group=nekiplay.meteorplus -archives_name=meteor-plus - -# Dependency Versions - -# Xaero's Mods -# Xaero's World Map (https://modrinth.com/mod/xaeros-world-map/versions) -xwm_fabric_version=1.39.17_Fabric_1.21.9 -# Xaero's Minimap (https://modrinth.com/mod/xaeros-minimap/versions) -xmm_fabric_version=25.2.15_Fabric_1.21.9 - -# Where Is It (https://modrinth.com/mod/where-is-it/versions) -where_is_it_version=2.6.4+1.21.2 -# YetAnotherConfigLib (https://github.com/JackFred2/WhereIsIt/blob/1.20.6/gradle.properties) -yacl_version=3.3.2+1.20.4+update.1.20.5-SNAPSHOT+update.1.20.5-SNAPSHOT - -# MaLiLib (https://www.curseforge.com/minecraft/mc-mods/malilib/files/all?page=1&pageSize=20) -malilib_fileid=4946328 -malilib_projectid=303119 +archives_name=meteor-plus \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..aa8935b --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,62 @@ +[versions] +mod-version = "1.21.11_1.0.9.5" + +# Fabric (https://fabricmc.net/develop) +minecraft = "1.21.11" +yarn-mappings = "1.21.11+build.3" +fabric-loader = "0.18.4" +fabric-api = "0.140.2+1.21.11" + +# Plugins +# Loom (https://github.com/FabricMC/fabric-loom) +loom = "1.14-SNAPSHOT" + +# Meteor (https://github.com/MeteorDevelopment/meteor-client) +meteor = "1.21.11-SNAPSHOT" +# Starscript (https://github.com/MeteorDevelopment/starscript) +starscript = "0.2.5" +# Orbit (https://github.com/MeteorDevelopment/orbit) +orbit = "0.2.4" + +# Xaero's Mods +# Xaero's World Map (https://modrinth.com/mod/xaeros-world-map/versions) +xwm = "1.40.1_Fabric_1.21.11" +# Xaero's Minimap (https://modrinth.com/mod/xaeros-minimap/versions) +xmm = "25.3.1_Fabric_1.21.11" + +# Where Is It (https://modrinth.com/mod/where-is-it-port/versions) +whereisit = "2.6.8+1.21.11" +# YetAnotherConfigLib (https://github.com/ponuing/WhereIsIt/blob/1.21.11/gradle.properties) +yacl = "3.8.1+1.21.11-fabric" + +# MaLiLib (https://www.curseforge.com/minecraft/mc-mods/malilib) +malilib = "7130809" + +[libraries] +# Fabric base +minecraft = { module = "com.mojang:minecraft", version.ref = "minecraft" } +yarn = { module = "net.fabricmc:yarn", version.ref = "yarn-mappings" } +fabric-loader = { module = "net.fabricmc:fabric-loader", version.ref = "fabric-loader" } + +# Fabric API +fabric-api = { module = "net.fabricmc.fabric-api:fabric-api", version.ref = "fabric-api" } + +# Meteor Client +meteor-client = { module = "meteordevelopment:meteor-client", version.ref = "meteor" } +starscript = { module = "org.meteordev:starscript", version.ref = "starscript" } +orbit = { module = "meteordevelopment:orbit", version.ref = "orbit" } + +# Xaero's Mods +xwm = { module = "maven.modrinth:xaeros-world-map", version.ref = "xwm" } +xmm = { module = "maven.modrinth:xaeros-minimap", version.ref = "xmm" } + +# Where Is It +whereisit = { module = "maven.modrinth:where-is-it-port", version.ref = "whereisit" } +# YetAnotherConfigLib +yacl = { module = "dev.isxander.yacl:yet-another-config-lib-fabric", version.ref = "yacl" } + +# MaLiLib +malilib = { module = "curse.maven:malilib-303119", version.ref = "malilib" } + +[plugins] +fabric-loom = { id = "fabric-loom", version.ref = "loom" } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 8bdaf60..f8e1ee3 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2e11132..bad7c24 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/libs/baritone-unoptimized-fabric-1.15.0-2-gf7a53504.jar b/libs/baritone-unoptimized-fabric-1.15.0-2-gf7a53504.jar new file mode 100644 index 0000000..f857ee9 Binary files /dev/null and b/libs/baritone-unoptimized-fabric-1.15.0-2-gf7a53504.jar differ diff --git a/libs/xaerolib-fabric-1.21.11-1.0.38.jar b/libs/xaerolib-fabric-1.21.11-1.0.38.jar new file mode 100644 index 0000000..b627635 Binary files /dev/null and b/libs/xaerolib-fabric-1.21.11-1.0.38.jar differ diff --git a/meteor-addon-list.json b/meteor-addon-list.json index 7c8b720..f5ac010 100644 --- a/meteor-addon-list.json +++ b/meteor-addon-list.json @@ -15,7 +15,8 @@ "1.21.6", "1.21.8", "1.21.9", - "1.21.10" + "1.21.10", + "1.21.11" ], "icon": "https://github.com/MeteorClientPlus/MeteorPlus/blob/1.21.9/src/main/resources/assets/meteorplus/logo.png?raw=true", "discord": "https://discord.gg/N3gqYc7GRS", diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index dfacbd1..0000000 --- a/settings.gradle +++ /dev/null @@ -1,10 +0,0 @@ -pluginManagement { - repositories { - maven { - name = 'Fabric' - url = 'https://maven.fabricmc.net/' - } - mavenCentral() - gradlePluginPortal() - } -} diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..7eba49c --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,12 @@ +pluginManagement { + repositories { + maven { + name = "Fabric" + url = uri("https://maven.fabricmc.net/") + } + mavenCentral() + gradlePluginPortal() + } +} + +rootProject.name = "meteor-plus" \ No newline at end of file diff --git a/src/main/java/nekiplay/meteorplus/MeteorPlusAddon.java b/src/main/java/nekiplay/meteorplus/MeteorPlusAddon.java index 96aea7b..18aaa6f 100644 --- a/src/main/java/nekiplay/meteorplus/MeteorPlusAddon.java +++ b/src/main/java/nekiplay/meteorplus/MeteorPlusAddon.java @@ -227,7 +227,7 @@ public String getWebsite() { @Override public GithubRepo getRepo() { - return new GithubRepo("MeteorClientPlus", "MeteorPlus", "1.21.10", null); + return new GithubRepo("MeteorClientPlus", "MeteorPlus", "1.21.11", null); } @Override diff --git a/src/main/java/nekiplay/meteorplus/features/modules/combat/killaura/KillAuraPlus.java b/src/main/java/nekiplay/meteorplus/features/modules/combat/killaura/KillAuraPlus.java index 5b31bfe..de843fd 100644 --- a/src/main/java/nekiplay/meteorplus/features/modules/combat/killaura/KillAuraPlus.java +++ b/src/main/java/nekiplay/meteorplus/features/modules/combat/killaura/KillAuraPlus.java @@ -36,16 +36,16 @@ public KillAuraPlus() { // General - public final Setting weapon = sgGeneral.add(new EnumSetting.Builder() + public final Setting weapon = sgGeneral.add(new EnumSetting.Builder() .name("weapon") .description("Only attacks an entity when a specified weapon is in your hand.") - .defaultValue(KillAura.Weapon.All) + .defaultValue(KillAura.AttackItems.All) .build() ); public final Setting autoSwitch = sgGeneral.add(new BoolSetting.Builder() .name("auto-switch") - .description("Switches to your selected weapon when attacking the target.") + .description("Switches to an acceptable weapon when attacking the target.") .defaultValue(false) .build() ); @@ -54,7 +54,7 @@ public KillAuraPlus() { .name("shield-mode") .description("Will try and use an axe to break target shields.") .defaultValue(KillAura.ShieldMode.Break) - .visible(() -> autoSwitch.get() && weapon.get() != KillAura.Weapon.Axe) + .visible(autoSwitch::get) .build() ); diff --git a/src/main/java/nekiplay/meteorplus/features/modules/combat/killaura/modes/Matrix.java b/src/main/java/nekiplay/meteorplus/features/modules/combat/killaura/modes/Matrix.java index 1fb7616..27f0573 100644 --- a/src/main/java/nekiplay/meteorplus/features/modules/combat/killaura/modes/Matrix.java +++ b/src/main/java/nekiplay/meteorplus/features/modules/combat/killaura/modes/Matrix.java @@ -53,7 +53,7 @@ public void onTickPre(TickEvent.Pre event) { if (target != null && target.isAlive()) { isRotated = false; - EntityHitResult result = raycastEntity(settings.range.get(), rotateVector.getX(), rotateVector.getY(), 0f); + EntityHitResult result = raycastEntity(settings.range.get(), rotateVector.x(), rotateVector.y(), 0f); if (result != null) { ChatUtils.info(result.getType().name()); } @@ -70,7 +70,7 @@ else if (delayCheck() && result != null && result.getType() == HitResult.Type.EN if (settings.rotationType.get() == Type.Fast) { if (ticks > 0) { updateRotation(true, 180, 90); - Rotations.rotate(rotateVector.getX(), rotateVector.getY()); + Rotations.rotate(rotateVector.x(), rotateVector.y()); ticks--; } else { reset(); @@ -78,7 +78,7 @@ else if (delayCheck() && result != null && result.getType() == HitResult.Type.EN } else { if (!isRotated) { updateRotation(false, 80, 35); - Rotations.rotate(rotateVector.getX(), rotateVector.getY()); + Rotations.rotate(rotateVector.x(), rotateVector.y()); } } } @@ -155,8 +155,8 @@ private void updateRotation(boolean attack, float rotationYawSpeed, float rotati float yawToTarget = (float) wrapDegrees(Math.toDegrees(Math.atan2(vec.z, vec.x)) - 90); float pitchToTarget = (float) (-Math.toDegrees(Math.atan2(vec.y, hypot(vec.x, vec.z)))); - float yawDelta = (wrapDegrees(yawToTarget - rotateVector.getX())); - float pitchDelta = (wrapDegrees(pitchToTarget - rotateVector.getY())); + float yawDelta = (wrapDegrees(yawToTarget - rotateVector.x())); + float pitchDelta = (wrapDegrees(pitchToTarget - rotateVector.y())); int roundedYaw = (int) yawDelta; switch (settings.rotationType.get()) { @@ -175,13 +175,13 @@ private void updateRotation(boolean attack, float rotationYawSpeed, float rotati clampedYaw = this.lastYaw + 3.1f; } - float yaw = rotateVector.getX() + (yawDelta > 0 ? clampedYaw : -clampedYaw); - float pitch = clamp(rotateVector.getY() + (pitchDelta > 0 ? clampedPitch : -clampedPitch), -89.0F, 89.0F); + float yaw = rotateVector.x() + (yawDelta > 0 ? clampedYaw : -clampedYaw); + float pitch = clamp(rotateVector.y() + (pitchDelta > 0 ? clampedPitch : -clampedPitch), -89.0F, 89.0F); float gcd = GameSensitivityUtils.getGCDValue(); - yaw -= (yaw - rotateVector.getX()) % gcd; - pitch -= (pitch - rotateVector.getY()) % gcd; + yaw -= (yaw - rotateVector.x()) % gcd; + pitch -= (pitch - rotateVector.y()) % gcd; rotateVector = new Vector2f(yaw, pitch); @@ -192,12 +192,12 @@ private void updateRotation(boolean attack, float rotationYawSpeed, float rotati //} } case Fast -> { - float yaw = rotateVector.getX() + roundedYaw; - float pitch = clamp(rotateVector.getY() + pitchDelta, -90, 90); + float yaw = rotateVector.x() + roundedYaw; + float pitch = clamp(rotateVector.y() + pitchDelta, -90, 90); float gcd = GameSensitivityUtils.getGCDValue(); - yaw -= (yaw - rotateVector.getX()) % gcd; - pitch -= (pitch - rotateVector.getY()) % gcd; + yaw -= (yaw - rotateVector.x()) % gcd; + pitch -= (pitch - rotateVector.y()) % gcd; rotateVector = new Vector2f(yaw, pitch); diff --git a/src/main/java/nekiplay/meteorplus/features/modules/render/holograms/HologramModule.java b/src/main/java/nekiplay/meteorplus/features/modules/render/holograms/HologramModule.java index 55cde55..586ec45 100644 --- a/src/main/java/nekiplay/meteorplus/features/modules/render/holograms/HologramModule.java +++ b/src/main/java/nekiplay/meteorplus/features/modules/render/holograms/HologramModule.java @@ -65,7 +65,7 @@ private void onTick(TickEvent.Post event) { @EventHandler private void on2DRender(Render2DEvent event) { - Vec3d camera_pos = mc.gameRenderer.getCamera().getPos(); + Vec3d camera_pos = mc.gameRenderer.getCamera().getCameraPos(); for (HologramDataListed hologramData : inWorldHolograms) { Vector3d pos = new Vector3d(hologramData.x, hologramData.y, hologramData.z); if (pos.distance(camera_pos.x, camera_pos.y, camera_pos.z) <= hologramData.max_render_distance) { diff --git a/src/main/java/nekiplay/meteorplus/mixin/minecraft/entity/ClientPlayerEntityMixin.java b/src/main/java/nekiplay/meteorplus/mixin/minecraft/entity/ClientPlayerEntityMixin.java index 0e6caef..834bb84 100644 --- a/src/main/java/nekiplay/meteorplus/mixin/minecraft/entity/ClientPlayerEntityMixin.java +++ b/src/main/java/nekiplay/meteorplus/mixin/minecraft/entity/ClientPlayerEntityMixin.java @@ -1,33 +1,24 @@ package nekiplay.meteorplus.mixin.minecraft.entity; +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import meteordevelopment.meteorclient.MeteorClient; import nekiplay.main.events.PlayerUseMultiplierEvent; -import net.minecraft.client.input.Input; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.util.math.Vec2f; 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; @Mixin(value = ClientPlayerEntity.class, priority = 1003) public abstract class ClientPlayerEntityMixin { - @Shadow - public Input input; - @Inject(method = "tickMovement", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayerEntity;isUsingItem()Z", ordinal = 0)) - private void hookCustomMultiplier(CallbackInfo ci) { - final Input input = this.input; - - - final PlayerUseMultiplierEvent playerUseMultiplier = new PlayerUseMultiplierEvent(0.2f, 0.2f); - MeteorClient.EVENT_BUS.post(playerUseMultiplier); - if (playerUseMultiplier.getForward() == 0.2f && playerUseMultiplier.getSideways() == 0.2f) { - return; - } - input.movementVector = new Vec2f(input.movementVector.x / 0.2f, input.movementVector.y / 0.2f); - // reverse - input.movementVector = new Vec2f(input.movementVector.x * playerUseMultiplier.getForward(), input.movementVector.y * playerUseMultiplier.getSideways()); - } + @WrapOperation(method = "applyMovementSpeedFactors", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/Vec2f;multiply(F)Lnet/minecraft/util/math/Vec2f;", ordinal = 1)) + private Vec2f hookCustomMultiplier(Vec2f instance, float value, Operation original) { + PlayerUseMultiplierEvent playerUseMultiplier = new PlayerUseMultiplierEvent(value, value); + MeteorClient.EVENT_BUS.post(playerUseMultiplier); + return new Vec2f( + instance.x * playerUseMultiplier.getSideways(), + instance.y * playerUseMultiplier.getForward() + ); + } } diff --git a/src/main/java/nekiplay/meteorplus/mixin/whereisit/RenderingMixin.java b/src/main/java/nekiplay/meteorplus/mixin/whereisit/RenderingMixin.java index 00fc9d1..e83a1de 100644 --- a/src/main/java/nekiplay/meteorplus/mixin/whereisit/RenderingMixin.java +++ b/src/main/java/nekiplay/meteorplus/mixin/whereisit/RenderingMixin.java @@ -17,7 +17,7 @@ public class RenderingMixin { @Unique private static WhereIsIt whereIsIt; - @ModifyArgs(method = "renderLabel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/text/Text;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/client/font/TextRenderer$TextLayerType;II)I")) + @ModifyArgs(method = "renderLabel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/font/TextRenderer;draw(Lnet/minecraft/text/Text;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/client/font/TextRenderer$TextLayerType;II)V")) private static void changeColor(Args args) { if (whereIsIt == null) { whereIsIt = Modules.get().get(WhereIsIt.class); @@ -54,7 +54,7 @@ private static void translatePosition(Args args) { } } - @ModifyArgs(method = "renderLabel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/VertexConsumer;vertex(Lorg/joml/Matrix4f;FFF)Lnet/minecraft/client/render/VertexConsumer;")) + @ModifyArgs(method = "renderLabel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/VertexConsumer;vertex(Lorg/joml/Matrix4fc;FFF)Lnet/minecraft/client/render/VertexConsumer;")) private static void backgroundModifer(Args args) { if (whereIsIt == null) { whereIsIt = Modules.get().get(WhereIsIt.class); diff --git a/src/main/java/nekiplay/meteorplus/mixin/xaero/worldmap/WaypointRendererMixin.java b/src/main/java/nekiplay/meteorplus/mixin/xaero/worldmap/WaypointRendererMixin.java index 340241d..7113e3f 100644 --- a/src/main/java/nekiplay/meteorplus/mixin/xaero/worldmap/WaypointRendererMixin.java +++ b/src/main/java/nekiplay/meteorplus/mixin/xaero/worldmap/WaypointRendererMixin.java @@ -16,6 +16,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; +import xaero.map.common.config.option.WorldMapProfiledConfigOptions; import xaero.map.WorldMap; import xaero.map.gui.GuiMap; import xaero.map.gui.IRightClickableElement; @@ -42,7 +43,7 @@ public void onAction(Screen screen) { SupportMods.xaeroMinimap.openWaypoint((GuiMap) screen, element); } }); - if (WorldMap.settings.coordinates && !SupportMods.xaeroMinimap.hidingWaypointCoordinates()) { + if ((Boolean)WorldMap.INSTANCE.getConfigs().getClientConfigManager().getEffective(WorldMapProfiledConfigOptions.COORDINATES) && !SupportMods.xaeroMinimap.hidingWaypointCoordinates()) { rightClickOptions.add(new RightClickOption(String.format("X: %d, Y: %s, Z: %d", element.getX(), element.isyIncluded() ? "" + element.getY() : "~", element.getZ()), rightClickOptions.size(), target) { public void onAction(Screen screen) { SupportMods.xaeroMinimap.openWaypoint((GuiMap) screen, element); diff --git a/src/main/java/nekiplay/meteorplus/settings/ConfigModifier.java b/src/main/java/nekiplay/meteorplus/settings/ConfigModifier.java index 395b9f6..c7b39a7 100644 --- a/src/main/java/nekiplay/meteorplus/settings/ConfigModifier.java +++ b/src/main/java/nekiplay/meteorplus/settings/ConfigModifier.java @@ -98,14 +98,14 @@ private void changedProtection() { ss.set("camera", new ValueMap() .set("pos", new ValueMap() .set("_toString", () -> posString(false, true)) - .set("x", () -> Value.number(mc.gameRenderer.getCamera().getPos().x + ConfigModifier.get().x_spoof.get())) - .set("y", () -> Value.number(mc.gameRenderer.getCamera().getPos().y)) - .set("z", () -> Value.number(mc.gameRenderer.getCamera().getPos().z + ConfigModifier.get().z_spoof.get())) + .set("x", () -> Value.number(mc.gameRenderer.getCamera().getCameraPos().x + ConfigModifier.get().x_spoof.get())) + .set("y", () -> Value.number(mc.gameRenderer.getCamera().getCameraPos().y)) + .set("z", () -> Value.number(mc.gameRenderer.getCamera().getCameraPos().z + ConfigModifier.get().z_spoof.get())) ) .set("opposite_dim_pos", new ValueMap() .set("_toString", () -> posString(true, true)) .set("x", () -> oppositeX(true)) - .set("y", () -> Value.number(mc.gameRenderer.getCamera().getPos().y)) + .set("y", () -> Value.number(mc.gameRenderer.getCamera().getCameraPos().y)) .set("z", () -> oppositeZ(true)) ) @@ -177,13 +177,13 @@ private void changedProtection() { .set("pos", new ValueMap() .set("_toString", () -> posString(false, true)) .set("x", () -> Value.number(0)) - .set("y", () -> Value.number(mc.gameRenderer.getCamera().getPos().y)) + .set("y", () -> Value.number(mc.gameRenderer.getCamera().getCameraPos().y)) .set("z", () -> Value.number(0)) ) .set("opposite_dim_pos", new ValueMap() .set("_toString", () -> posString(true, true)) .set("x", () -> Value.number(0)) - .set("y", () -> Value.number(mc.gameRenderer.getCamera().getPos().y)) + .set("y", () -> Value.number(mc.gameRenderer.getCamera().getCameraPos().y)) .set("z", () -> Value.number(0)) ) @@ -255,14 +255,14 @@ private void changedProtection() { ss.set("camera", new ValueMap() .set("pos", new ValueMap() .set("_toString", () -> posString(false, true)) - .set("x", () -> Value.number(mc.gameRenderer.getCamera().getPos().x)) - .set("y", () -> Value.number(mc.gameRenderer.getCamera().getPos().y)) - .set("z", () -> Value.number(mc.gameRenderer.getCamera().getPos().z)) + .set("x", () -> Value.number(mc.gameRenderer.getCamera().getCameraPos().x)) + .set("y", () -> Value.number(mc.gameRenderer.getCamera().getCameraPos().y)) + .set("z", () -> Value.number(mc.gameRenderer.getCamera().getCameraPos().z)) ) .set("opposite_dim_pos", new ValueMap() .set("_toString", () -> posString(true, true)) .set("x", () -> oppositeX(true)) - .set("y", () -> Value.number(mc.gameRenderer.getCamera().getPos().y)) + .set("y", () -> Value.number(mc.gameRenderer.getCamera().getCameraPos().y)) .set("z", () -> oppositeZ(true)) ) @@ -333,10 +333,10 @@ private void changedProtection() { private Value oppositeX(boolean camera) { double x = 0; if (positionProtection.get()) { - x = camera ? mc.gameRenderer.getCamera().getPos().x + ConfigModifier.get().x_spoof.get() : (mc.player != null ? mc.player.getX() + ConfigModifier.get().x_spoof.get() : 0); + x = camera ? mc.gameRenderer.getCamera().getCameraPos().x + ConfigModifier.get().x_spoof.get() : (mc.player != null ? mc.player.getX() + ConfigModifier.get().x_spoof.get() : 0); } else { - x = camera ? mc.gameRenderer.getCamera().getPos().x : (mc.player != null ? mc.player.getX() : 0); + x = camera ? mc.gameRenderer.getCamera().getCameraPos().x : (mc.player != null ? mc.player.getX() : 0); } Dimension dimension = PlayerUtils.getDimension(); @@ -349,10 +349,10 @@ private Value oppositeX(boolean camera) { private Value oppositeZ(boolean camera) { double z = 0; if (positionProtection.get()) { - z = camera ? mc.gameRenderer.getCamera().getPos().z + ConfigModifier.get().z_spoof.get() : (mc.player != null ? mc.player.getZ() + ConfigModifier.get().z_spoof.get() : 0); + z = camera ? mc.gameRenderer.getCamera().getCameraPos().z + ConfigModifier.get().z_spoof.get() : (mc.player != null ? mc.player.getZ() + ConfigModifier.get().z_spoof.get() : 0); } else { - z = camera ? mc.gameRenderer.getCamera().getPos().z : (mc.player != null ? mc.player.getZ() : 0); + z = camera ? mc.gameRenderer.getCamera().getCameraPos().z : (mc.player != null ? mc.player.getZ() : 0); } Dimension dimension = PlayerUtils.getDimension(); @@ -421,7 +421,7 @@ private static Value ping() { } private Value posString(boolean opposite, boolean camera) { Vec3d pos; - if (camera) pos = mc.gameRenderer.getCamera().getPos(); + if (camera) pos = mc.gameRenderer.getCamera().getCameraPos(); else pos = mc.player != null ? mc.player.getEntityPos() : Vec3d.ZERO; double x = pos.x;