diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/crimson/dojo/ControlTestHelper.java | 2 | ||||
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/shortcut/Shortcuts.java | 19 |
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 -> { |