Skip to content

Commit 37c5c5c

Browse files
committed
please actually test the code next time :bruh:
1 parent 5720f8b commit 37c5c5c

File tree

3 files changed

+15
-19
lines changed

3 files changed

+15
-19
lines changed

src/main/java/meteordevelopment/meteorclient/mixin/GameRendererMixin.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package meteordevelopment.meteorclient.mixin;
77

88
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
9+
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
910
import com.llamalad7.mixinextras.sugar.Local;
1011
import com.mojang.blaze3d.systems.RenderSystem;
1112
import meteordevelopment.meteorclient.MeteorClient;
@@ -32,6 +33,7 @@
3233
import net.minecraft.entity.Entity;
3334
import net.minecraft.item.ItemStack;
3435
import net.minecraft.item.Items;
36+
import net.minecraft.util.hit.EntityHitResult;
3537
import net.minecraft.util.hit.HitResult;
3638
import org.joml.Matrix4f;
3739
import org.spongepowered.asm.mixin.Final;
@@ -42,7 +44,6 @@
4244
import org.spongepowered.asm.mixin.injection.Inject;
4345
import org.spongepowered.asm.mixin.injection.Redirect;
4446
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
45-
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
4647
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
4748

4849
@Mixin(GameRenderer.class)
@@ -122,11 +123,12 @@ private void onRenderWorldTail(CallbackInfo info) {
122123
MeteorClient.EVENT_BUS.post(RenderAfterWorldEvent.get());
123124
}
124125

125-
@Inject(method = "findCrosshairTarget", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/projectile/ProjectileUtil;raycast(Lnet/minecraft/entity/Entity;Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Box;Ljava/util/function/Predicate;D)Lnet/minecraft/util/hit/EntityHitResult;"), cancellable = true)
126-
private void onUpdateTargetedEntity(Entity camera, double blockInteractionRange, double entityInteractionRange, float tickDelta, CallbackInfoReturnable<HitResult> cir, @Local HitResult hitResult) {
127-
if (Modules.get().get(NoMiningTrace.class).canWork() && hitResult.getType() == HitResult.Type.BLOCK) {
128-
cir.setReturnValue(hitResult);
126+
@ModifyReturnValue(method = "findCrosshairTarget", at = @At("RETURN"))
127+
private HitResult onUpdateTargetedEntity(HitResult original, @Local HitResult hitResult) {
128+
if (Modules.get().get(NoMiningTrace.class).canWork(original instanceof EntityHitResult ehr ? ehr.getEntity() : null) && hitResult.getType() == HitResult.Type.BLOCK) {
129+
return hitResult;
129130
}
131+
return original;
130132
}
131133

132134
@Redirect(method = "findCrosshairTarget", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;raycast(DFZ)Lnet/minecraft/util/hit/HitResult;"))

src/main/java/meteordevelopment/meteorclient/mixin/baritone/ComeCommandMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public abstract class ComeCommandMixin {
2222
private void getComeCommandTarget(Args args) {
2323
Freecam freecam = Modules.get().get(Freecam.class);
2424
if (freecam.isActive()) {
25-
float tickDelta = mc.getRenderTickCounter().getTickDelta(true); // todo unsure if true or false
25+
float tickDelta = mc.getRenderTickCounter().getTickDelta(true);
2626
args.set(0, new GoalBlock((int) freecam.getX(tickDelta), (int) freecam.getY(tickDelta), (int) freecam.getZ(tickDelta)));
2727
}
2828
}

src/main/java/meteordevelopment/meteorclient/systems/modules/player/NoMiningTrace.java

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,28 @@
55

66
package meteordevelopment.meteorclient.systems.modules.player;
77

8-
import meteordevelopment.meteorclient.events.world.TickEvent;
98
import meteordevelopment.meteorclient.settings.BoolSetting;
109
import meteordevelopment.meteorclient.settings.EntityTypeListSetting;
1110
import meteordevelopment.meteorclient.settings.Setting;
1211
import meteordevelopment.meteorclient.settings.SettingGroup;
1312
import meteordevelopment.meteorclient.systems.modules.Categories;
1413
import meteordevelopment.meteorclient.systems.modules.Module;
15-
import meteordevelopment.orbit.EventHandler;
1614
import net.minecraft.entity.Entity;
1715
import net.minecraft.entity.EntityType;
1816
import net.minecraft.item.PickaxeItem;
1917

2018
import java.util.Set;
19+
2120
public class NoMiningTrace extends Module {
2221
private final SettingGroup sgGeneral = settings.getDefaultGroup();
2322

2423
private final Setting<Set<EntityType<?>>> entities = sgGeneral.add(new EntityTypeListSetting.Builder()
25-
.name("entities")
26-
.description("Entity blacklist")
24+
.name("blacklisted-entities")
25+
.description("Entities you will interact with as normal.")
2726
.defaultValue()
2827
.build()
2928
);
29+
3030
private final Setting<Boolean> onlyWhenHoldingPickaxe = sgGeneral.add(new BoolSetting.Builder()
3131
.name("only-when-holding-a-pickaxe")
3232
.description("Whether or not to work only when holding a pickaxe.")
@@ -38,16 +38,10 @@ public NoMiningTrace() {
3838
super(Categories.Player, "no-mining-trace", "Allows you to mine blocks through entities.");
3939
}
4040

41-
public boolean canWork() {
41+
public boolean canWork(Entity entity) {
4242
if (!isActive()) return false;
4343

44-
if (onlyWhenHoldingPickaxe.get()) {
45-
return mc.player.getMainHandStack().getItem() instanceof PickaxeItem || mc.player.getOffHandStack().getItem() instanceof PickaxeItem;
46-
}
47-
48-
Entity target = mc.targetedEntity;
49-
if (target == null) return false;
50-
if (entities.get().contains(target.getType())) return false;
51-
return true;
44+
return (!onlyWhenHoldingPickaxe.get() || mc.player.getMainHandStack().getItem() instanceof PickaxeItem || mc.player.getOffHandStack().getItem() instanceof PickaxeItem) &&
45+
(entity == null || !entities.get().contains(entity.getType()));
5246
}
5347
}

0 commit comments

Comments
 (0)