aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ControlTestHelper.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/shortcut/Shortcuts.java19
2 files changed, 17 insertions, 4 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ControlTestHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ControlTestHelper.java
index 2f616a1e..f63d2fa2 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ControlTestHelper.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ControlTestHelper.java
@@ -67,7 +67,7 @@ public class ControlTestHelper {
float tickDelta = context.tickCounter().getTickDelta(false);
//how long until net update
double updatePercent = (double) (System.currentTimeMillis() - lastUpdate) / 150;
- Vec3d aimPos = correctWitherSkeleton.getEyePos().add(pingOffset.multiply(updatePercent)).add(lastPingOffset.multiply(1 - updatePercent));
+ Vec3d aimPos = correctWitherSkeleton.getCameraPosVec(tickDelta).add(pingOffset.multiply(updatePercent)).add(lastPingOffset.multiply(1 - updatePercent));
Box targetBox = new Box(aimPos.add(-0.5, -0.5, -0.5), aimPos.add(0.5, 0.5, 0.5));
boolean playerLookingAtBox = targetBox.raycast(CLIENT.player.getCameraPosVec(tickDelta), CLIENT.player.getCameraPosVec(tickDelta).add(CLIENT.player.getRotationVec(tickDelta).multiply(30))).isPresent();
float[] boxColor = playerLookingAtBox ? Color.GREEN.getColorComponents(new float[]{0, 0, 0}) : Color.LIGHT_GRAY.getColorComponents(new float[]{0, 0, 0});
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/shortcut/Shortcuts.java b/src/main/java/de/hysky/skyblocker/skyblock/shortcut/Shortcuts.java
index 21d66805..dfde789e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/shortcut/Shortcuts.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/shortcut/Shortcuts.java
@@ -5,6 +5,7 @@ import com.google.gson.reflect.TypeToken;
import com.mojang.brigadier.Command;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.arguments.StringArgumentType;
+import com.mojang.brigadier.tree.CommandNode;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.utils.scheduler.Scheduler;
@@ -156,9 +157,21 @@ public class Shortcuts {
dispatcher.register(literal(key.substring(1)));
}
}
- for (String key : commandArgs.keySet()) {
- if (key.startsWith("/")) {
- dispatcher.register(literal(key.substring(1)).then(argument("args", StringArgumentType.greedyString())));
+ for (Map.Entry<String, String> set : commandArgs.entrySet()) {
+ if (set.getKey().startsWith("/")) {
+ CommandNode<FabricClientCommandSource> redirectLocation = dispatcher.getRoot();
+ for (String word : set.getValue().substring(1).split(" ")) {
+ redirectLocation = redirectLocation.getChild(word);
+ if (redirectLocation == null) {
+ break;
+ }
+ }
+ if (redirectLocation == null) {
+ dispatcher.register(literal(set.getKey().substring(1)).then(argument("args", StringArgumentType.greedyString())));
+ }
+ else {
+ dispatcher.register(literal(set.getKey().substring(1)).redirect(redirectLocation));
+ }
}
}
dispatcher.register(literal(SkyblockerMod.NAMESPACE).then(literal("help").executes(context -> {