Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/qualk/take-care/llms.txt

Use this file to discover all available pages before exploring further.

Accidents happen — a stray sword swing while fighting mobs can instantly kill a tamed animal sitting nearby, or upset a villager you depend on for trades. Asset Protection intercepts every attack event before it reaches the server and cancels it if the target is one of your tamed animals or any villager, keeping your companions and trading partners safe without requiring you to re-bind or sheathe your weapon.

Enabling the module

1

Open Meteor Client

Press the Meteor Client GUI key (default: Right Shift) to open the module list.
2

Navigate to the Take Care category

Click the Take Care category tab in the left-hand panel.
3

Toggle Asset Protection

Click Asset Protection to enable it. The module name will highlight to confirm it is active.

Settings

All three settings are enabled by default and can be toggled independently to suit your playstyle.
protect-tamed
boolean
default:"true"
Protects your tamed animals from your attacks. When enabled, any attack you land on an OwnableEntity whose owner UUID matches your own player UUID is silently cancelled, covering all tameable mob types.
protect-villagers
boolean
default:"true"
Protects villagers from your attacks. When enabled, attacks against any AbstractVillager — including regular villagers and wandering traders — are cancelled regardless of ownership.
mimic-invulnerability
boolean
default:"true"
Plays the invulnerable hit sound (PLAYER_ATTACK_NODAMAGE) when you try to attack a protected entity. This provides immediate audio confirmation that the attack was blocked, so you are never left wondering whether the module is working or the entity simply has high health.

Sound feedback

When mimic-invulnerability is enabled, Meteor plays the standard Minecraft “no damage” hit sound locally on your client the moment a protected attack is cancelled. This is the same dull thud you hear when hitting an entity that is temporarily invulnerable after taking damage, so it blends in naturally without being jarring. The sound is played only for you — no packet is sent to the server — and it fires at full volume (1.0) and default pitch (1.0).
Keep both protect-tamed and protect-villagers enabled at the same time. Even if you rarely trade with villagers, an accidental hit can trigger an iron golem attack or permanently raise the prices in that village — protection costs nothing.

How it works

Asset Protection registers a Meteor event handler on AttackEntityEvent. The event is fired client-side before the attack packet is sent, so cancelling it prevents any damage from reaching the server entirely.
AssetProtection.java
@EventHandler
private void onAttackEntity(AttackEntityEvent event) {
    boolean protect = false;

    if (protectTamed.get() && event.entity instanceof OwnableEntity owned) {
        EntityReference<LivingEntity> ownerRef = owned.getOwnerReference();
        if (ownerRef != null && ownerRef.getUUID().equals(mc.player.getUUID())) {
            protect = true;
        }
    }

    if (!protect && protectVillagers.get() && event.entity instanceof AbstractVillager) {
        protect = true;
    }

    if (protect) {
        if (mimicInvulnerability.get()) {
            mc.player.playSound(SoundEvents.PLAYER_ATTACK_NODAMAGE, 1.0F, 1.0F);
        }
        event.cancel();
    }
}
The ownership check uses OwnableEntity#getOwnerReference() and compares the stored UUID against mc.player.getUUID(), so only animals you personally tamed are protected — other players’ pets on a multiplayer server are unaffected.

Build docs developers (and LLMs) love