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 @@
-
+
@@ -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;