diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoBreed.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoBreed.java index 1aab0f9a7c..98c647ecd5 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoBreed.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoBreed.java @@ -16,6 +16,7 @@ import net.minecraft.entity.EntityType; import net.minecraft.entity.passive.AnimalEntity; import net.minecraft.util.Hand; +import net.minecraft.util.hit.EntityHitResult; import java.util.ArrayList; import java.util.List; @@ -85,6 +86,8 @@ private void onTick(TickEvent.Pre event) { continue; Rotations.rotate(Rotations.getYaw(entity), Rotations.getPitch(entity), -100, () -> { + EntityHitResult location = new EntityHitResult(animal, animal.getBoundingBox().getCenter()); + mc.interactionManager.interactEntityAtLocation(mc.player, animal, location, hand.get()); mc.interactionManager.interactEntity(mc.player, animal, hand.get()); mc.player.swingHand(hand.get()); animalsFed.add(animal); diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoMount.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoMount.java index 4198ec67f0..d57a89090d 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoMount.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoMount.java @@ -24,6 +24,7 @@ import net.minecraft.entity.passive.LlamaEntity; import net.minecraft.item.SpawnEggItem; import net.minecraft.util.Hand; +import net.minecraft.util.hit.EntityHitResult; import java.util.Set; @@ -66,13 +67,22 @@ private void onTick(TickEvent.Pre event) { if (!PlayerUtils.isWithin(entity, 4)) continue; if ((entity instanceof MobEntity mobEntity) && !(mobEntity.hasSaddleEquipped())) continue; if (!(entity instanceof LlamaEntity) && entity instanceof MobEntity mobEntity && checkSaddle.get() && !mobEntity.hasSaddleEquipped()) continue; - interact(entity); + interact(entity, rotate.get()); return; } } + private void interact(Entity entity, boolean rotate) { + if (rotate) { + Rotations.rotate(Rotations.getYaw(entity), Rotations.getPitch(entity), -100, () -> interact(entity)); + } else { + interact(entity); + } + } + private void interact(Entity entity) { - if (rotate.get()) Rotations.rotate(Rotations.getYaw(entity), Rotations.getPitch(entity), -100, () -> mc.interactionManager.interactEntity(mc.player, entity, Hand.MAIN_HAND)); - else mc.interactionManager.interactEntity(mc.player, entity, Hand.MAIN_HAND); + EntityHitResult location = new EntityHitResult(entity, entity.getBoundingBox().getCenter()); + mc.interactionManager.interactEntityAtLocation(mc.player, entity, location, Hand.MAIN_HAND); + mc.interactionManager.interactEntity(mc.player, entity, Hand.MAIN_HAND); } } diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoNametag.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoNametag.java index 3444077d42..5c93427b05 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoNametag.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoNametag.java @@ -22,6 +22,7 @@ import net.minecraft.entity.EntityType; import net.minecraft.item.Items; import net.minecraft.util.Hand; +import net.minecraft.util.hit.EntityHitResult; import java.util.Iterator; import java.util.Set; @@ -126,7 +127,10 @@ private void onTickPost(TickEvent.Post event) { } private void interact() { - mc.interactionManager.interactEntity(mc.player, target, offHand ? Hand.OFF_HAND : Hand.MAIN_HAND); + Hand hand = offHand ? Hand.OFF_HAND : Hand.MAIN_HAND; + EntityHitResult location = new EntityHitResult(target, target.getBoundingBox().getCenter()); + mc.interactionManager.interactEntityAtLocation(mc.player, target, location, hand); + mc.interactionManager.interactEntity(mc.player, target, hand); InvUtils.swapBack(); entityCooldowns.put(target, 20); diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoShearer.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoShearer.java index d8d008a8a0..1da38889d6 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoShearer.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoShearer.java @@ -21,6 +21,7 @@ import net.minecraft.entity.passive.SheepEntity; import net.minecraft.item.Items; import net.minecraft.util.Hand; +import net.minecraft.util.hit.EntityHitResult; public class AutoShearer extends Module { private final SettingGroup sgGeneral = settings.getDefaultGroup(); @@ -80,6 +81,8 @@ private void onTick(TickEvent.Pre event) { } private void interact() { + EntityHitResult location = new EntityHitResult(entity, entity.getBoundingBox().getCenter()); + mc.interactionManager.interactEntityAtLocation(mc.player, entity, location, hand); mc.interactionManager.interactEntity(mc.player, entity, hand); InvUtils.swapBack(); }