From 66daee9502554e61ea827d7eda05783f4cf82614 Mon Sep 17 00:00:00 2001 From: noramibu <50046813+noramibu@users.noreply.github.com> Date: Tue, 27 Jan 2026 23:21:45 +0300 Subject: [PATCH 1/3] add other entity variants to age filter check --- .../systems/modules/combat/KillAura.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java index 37835d3fff..5e30b007e6 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java @@ -29,9 +29,13 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.entity.Tameable; import net.minecraft.entity.mob.EndermanEntity; +import net.minecraft.entity.mob.HoglinEntity; import net.minecraft.entity.mob.PiglinEntity; +import net.minecraft.entity.mob.ZoglinEntity; +import net.minecraft.entity.mob.ZombieEntity; import net.minecraft.entity.mob.ZombifiedPiglinEntity; import net.minecraft.entity.passive.AnimalEntity; +import net.minecraft.entity.passive.VillagerEntity; import net.minecraft.entity.passive.WolfEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.*; @@ -418,10 +422,14 @@ private boolean entityCheck(Entity entity) { if (shieldMode.get() == ShieldMode.Ignore && player.isBlocking()) return false; if (player instanceof FakePlayerEntity fakePlayer && fakePlayer.noHit) return false; } - if (entity instanceof AnimalEntity animal) { + // those are the entities with baby variants + if (entity instanceof AnimalEntity || entity instanceof ZombieEntity + || entity instanceof VillagerEntity || entity instanceof PiglinEntity + || entity instanceof HoglinEntity || entity instanceof ZoglinEntity) { + LivingEntity livingEntity = (LivingEntity) entity; return switch (mobAgeFilter.get()) { - case Baby -> animal.isBaby(); - case Adult -> !animal.isBaby(); + case Baby -> livingEntity.isBaby(); + case Adult -> !livingEntity.isBaby(); case Both -> true; }; } From 0bd08d6ff93b30ec68ebd2c19bb9ca390e6cf423 Mon Sep 17 00:00:00 2001 From: noramibu <50046813+noramibu@users.noreply.github.com> Date: Wed, 28 Jan 2026 00:08:54 +0300 Subject: [PATCH 2/3] split age filters for passive and aggresive mobs --- .../systems/modules/combat/KillAura.java | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java index 5e30b007e6..733a0dcf9a 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java @@ -173,13 +173,20 @@ public class KillAura extends Module { .build() ); - private final Setting mobAgeFilter = sgTargeting.add(new EnumSetting.Builder() - .name("mob-age-filter") - .description("Determines the age of the mobs to target (baby, adult, or both).") + private final Setting passiveMobAgeFilter = sgTargeting.add(new EnumSetting.Builder() + .name("passive-mob-age-filter") + .description("Determines the age of passive mobs to target (animals, villagers).") .defaultValue(EntityAge.Adult) .build() ); + private final Setting hostileMobAgeFilter = sgTargeting.add(new EnumSetting.Builder() + .name("hostile-mob-age-filter") + .description("Determines the age of hostile mobs to target (zombies, piglins, hoglins, zoglins).") + .defaultValue(EntityAge.Both) + .build() + ); + private final Setting ignoreNamed = sgTargeting.add(new BoolSetting.Builder() .name("ignore-named") .description("Whether or not to attack mobs with a name.") @@ -422,12 +429,20 @@ private boolean entityCheck(Entity entity) { if (shieldMode.get() == ShieldMode.Ignore && player.isBlocking()) return false; if (player instanceof FakePlayerEntity fakePlayer && fakePlayer.noHit) return false; } - // those are the entities with baby variants - if (entity instanceof AnimalEntity || entity instanceof ZombieEntity - || entity instanceof VillagerEntity || entity instanceof PiglinEntity + // Passive mobs with baby variants (animals, villagers) + if (entity instanceof AnimalEntity || entity instanceof VillagerEntity) { + LivingEntity livingEntity = (LivingEntity) entity; + return switch (passiveMobAgeFilter.get()) { + case Baby -> livingEntity.isBaby(); + case Adult -> !livingEntity.isBaby(); + case Both -> true; + }; + } + // Hostile mobs with baby variants (zombies, piglins, hoglins, zoglins) + if (entity instanceof ZombieEntity || entity instanceof PiglinEntity || entity instanceof HoglinEntity || entity instanceof ZoglinEntity) { LivingEntity livingEntity = (LivingEntity) entity; - return switch (mobAgeFilter.get()) { + return switch (hostileMobAgeFilter.get()) { case Baby -> livingEntity.isBaby(); case Adult -> !livingEntity.isBaby(); case Both -> true; From 6d6698a882985fe708ba641132ab765b47bb85d4 Mon Sep 17 00:00:00 2001 From: Wide_Cat Date: Mon, 2 Feb 2026 13:29:18 +0000 Subject: [PATCH 3/3] refactor --- .../systems/modules/combat/KillAura.java | 52 ++++++++----------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java index 733a0dcf9a..e703fb109a 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/KillAura.java @@ -28,14 +28,10 @@ import net.minecraft.entity.EntityType; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.Tameable; -import net.minecraft.entity.mob.EndermanEntity; -import net.minecraft.entity.mob.HoglinEntity; -import net.minecraft.entity.mob.PiglinEntity; -import net.minecraft.entity.mob.ZoglinEntity; -import net.minecraft.entity.mob.ZombieEntity; -import net.minecraft.entity.mob.ZombifiedPiglinEntity; -import net.minecraft.entity.passive.AnimalEntity; -import net.minecraft.entity.passive.VillagerEntity; +import net.minecraft.entity.mob.*; +import net.minecraft.entity.passive.FrogEntity; +import net.minecraft.entity.passive.ParrotEntity; +import net.minecraft.entity.passive.PassiveEntity; import net.minecraft.entity.passive.WolfEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.*; @@ -419,9 +415,7 @@ private boolean entityCheck(Entity entity) { } if (ignorePassive.get()) { if (entity instanceof EndermanEntity enderman && !enderman.isAngry()) return false; - if (entity instanceof PiglinEntity piglin && !piglin.isAttacking()) return false; - if (entity instanceof ZombifiedPiglinEntity zombifiedPiglin && !zombifiedPiglin.isAttacking()) return false; - if (entity instanceof WolfEntity wolf && !wolf.isAttacking()) return false; + if ((entity instanceof PiglinEntity || entity instanceof ZombifiedPiglinEntity || entity instanceof WolfEntity) && !((MobEntity) entity).isAttacking()) return false; } if (entity instanceof PlayerEntity player) { if (player.isCreative()) return false; @@ -429,24 +423,24 @@ private boolean entityCheck(Entity entity) { if (shieldMode.get() == ShieldMode.Ignore && player.isBlocking()) return false; if (player instanceof FakePlayerEntity fakePlayer && fakePlayer.noHit) return false; } - // Passive mobs with baby variants (animals, villagers) - if (entity instanceof AnimalEntity || entity instanceof VillagerEntity) { - LivingEntity livingEntity = (LivingEntity) entity; - return switch (passiveMobAgeFilter.get()) { - case Baby -> livingEntity.isBaby(); - case Adult -> !livingEntity.isBaby(); - case Both -> true; - }; - } - // Hostile mobs with baby variants (zombies, piglins, hoglins, zoglins) - if (entity instanceof ZombieEntity || entity instanceof PiglinEntity - || entity instanceof HoglinEntity || entity instanceof ZoglinEntity) { - LivingEntity livingEntity = (LivingEntity) entity; - return switch (hostileMobAgeFilter.get()) { - case Baby -> livingEntity.isBaby(); - case Adult -> !livingEntity.isBaby(); - case Both -> true; - }; + if (entity instanceof LivingEntity livingEntity) { + // Hostile mobs with baby variants (zombies, piglins, hoglins, zoglins) + if (entity instanceof ZombieEntity || entity instanceof PiglinEntity + || entity instanceof HoglinEntity || entity instanceof ZoglinEntity) { + return switch (hostileMobAgeFilter.get()) { + case Baby -> livingEntity.isBaby(); + case Adult -> !livingEntity.isBaby(); + case Both -> true; + }; + } + // Passive mobs with baby variants (animals, villagers) + if (entity instanceof PassiveEntity && (!(entity instanceof FrogEntity || entity instanceof ParrotEntity))) { + return switch (passiveMobAgeFilter.get()) { + case Baby -> livingEntity.isBaby(); + case Adult -> !livingEntity.isBaby(); + case Both -> true; + }; + } } return true; }