Capture. Train. Equip. Revive. Adventure together.
Turn friendly mobs into loyal companions with levels, skills, inventories, gear, rarity, accessories, behavior modes, HUDs, healing items, shrine-based revival, and modded mob compatibility.
Loyal Companions adds a full companion progression system to Minecraft. Friendly mobs can become personal pets with their own levels, XP, skill points, inventory, gear, rarity, accessories, behavior modes, HUD, and revival mechanics.
Your companions can follow you, fight beside you, carry items, wear special gear, equip magical gems and amulets, be stored as transferable totems, and return through a magical shrine if they fall in battle.
Loyal Companions also includes a compatibility API and config whitelist system, allowing mod developers and modpack creators to add support for friendly mobs from other mods.
Use a Capture Charm on a friendly mob to bind it as your companion. Your pet will follow you, gain XP, level up, and become stronger over time.
Each level grants 1 skill point, which can be spent in the companion menu. Build your pet as a stronger fighter, tougher guardian, faster attacker, or more durable travel partner.
Companions can have a rarity, giving them additional base stat bonuses and colored visual effects. Enhanced status is separate from rarity, so a companion can be both Enhanced and Legendary.
Enhanced companions are smaller, visually special, and can unlock additional inventory space at higher levels.
Companions have their own inventory screen with custom slots and tooltips. The active companion inventory can also be opened directly with a configurable keybind.
The inventory includes the player inventory and hotbar for easy item movement. Item names and descriptions are shown directly in custom screens.
Equip your companion with special gear to improve its power and survivability.
Gear can provide bonuses such as armor, health, and attack speed. Equipped gear also adds a small visual effect to your companion.
Loyal Companions adds magical gems and amulets for your pet. These accessories provide additional stat bonuses and can be found through crafting, village loot, dungeon loot, Nether enemies, bosses, and the Ender Dragon.
The strongest accessories are designed as rare boss rewards, giving the Ender Dragon a valuable companion-focused loot progression.
Companions can be healed with dedicated bandages.
These items make long adventures, dungeon runs, and boss fights much safer for your companion.
This allows you to choose between a safe monster-only mode and a stronger aggressive mode for hunting.
The Companion Whistle opens a pet selection menu. Depending on the config, players can manage multiple companion slots.
For stability and balance, only one companion can be active at a time. Despawn your current pet before summoning another stored companion.
When a companion falls, it can be stored inside a Companion Totem. The totem contains important pet data such as name, mob type, level, stats, inventory, rarity, Enhanced status, and supported special mob data such as fox type, wolf type, horse color, saddle, armor, and ownership.
To revive a fallen companion, place a Companion Totem and a Companion Heart into the Companion Shrine. The shrine plays a short revival animation and restores the pet afterward.
You can also use the shrine to store your active companion as a totem without killing it. This makes it possible to trade or transfer pets between players.
Loyal Companions includes two ways to support friendly mobs from other mods:
This system is useful for mods that add friendly animals, wildlife, fantasy creatures, or tamable mobs. As an example, this description uses WildCreatures.
Add entries like this to your Loyal Companions config:
companion_entity_whitelist=wildcreatures:crab companion_entity_blacklist=wildcreatures:shark,wildcreatures:jellyfish,wildcreatures:mussel companion_food_overrides=wildcreatures:crab=minecraft:wheat
In this example:
A simple single-item food override:
companion_food_overrides=wildcreatures:crab=minecraft:wheat
Multiple accepted food items:
companion_food_overrides=wildcreatures:crab=minecraft:wheat|minecraft:apple|minecraft:carrot
Custom display text with a translation key:
companion_food_overrides=wildcreatures:crab=food.wildcreatures.crab|minecraft:wheat|minecraft:apple
When only one food item is configured, the companion menu will display the item name automatically, for example Wheat instead of a generic “Configured Food” label.
Other mods can register their own companion support directly:
LoyalCompanionsApi.allowCompanionEntity("wildcreatures:crab");
LoyalCompanionsApi.setCompanionFood( "wildcreatures:crab", "food.wildcreatures.crab", "minecraft:wheat", "minecraft:apple" );
LoyalCompanionsApi.blockCompanionEntity("wildcreatures:shark"); LoyalCompanionsApi.blockCompanionEntity("wildcreatures:jellyfish");
Blacklist entries always win over whitelist or API registrations. The entity still needs to be a valid mob entity, so technical or unsafe entities are not made companion-compatible accidentally.
Loyal Companions provides a public read-only API so other mods can safely detect companions, check ownership, read companion stats, and identify companion damage sources without accessing internal mod classes.
This is useful for dungeon mods, boss mods, combat balancing mods, party systems, claim protection mods, and mods such as Solo Mining that need to treat companion damage differently from player damage.
API class:
com.mki.loyalcompanions.api.LoyalCompanionsApi
Other mods can check if an entity is a Loyal Companions pet:
if (LoyalCompanionsApi.isCompanion(attacker)) {
// Companion damage can be handled here
}
Available methods:
public static boolean isCompanion(Entity entity) public static boolean isOwnedCompanion(Entity entity, UUID ownerUuid) public static Optional<UUID> getCompanionOwner(Entity entity) public static boolean isOwnedByPlayer(Entity entity, ServerPlayer player)
Other mods can safely read companion progression values:
public static int getCompanionLevel(Entity entity) public static int getCompanionAttack(Entity entity) public static int getCompanionStrength(Entity entity) public static int getCompanionDefense(Entity entity) public static int getCompanionVitality(Entity entity)
These values are read-only and do not modify the companion.
For combat-related mods, the API also provides helper methods for checking whether damage came from a companion:
public static boolean isCompanionDamageSource(DamageSource source) public static Optional<LivingEntity> getCompanionAttacker(DamageSource source)
Example:
LoyalCompanionsApi.getCompanionAttacker(source).ifPresent(companion -> {
// Damage was caused by a Loyal Companions pet
});
Other mods can also check if an item stack contains a stored companion:
public static boolean isStoredCompanion(ItemStack stack)
The public API is intentionally read-only. It is designed for compatibility and detection only.
Other mods should use:
com.mki.loyalcompanions.api.LoyalCompanionsApi
and should not directly access internal classes such as:
com.mki.loyalcompanions.companion.CompanionData
Loyal Companions includes optional compatibility with PartyLink. If PartyLink is installed, party companions are protected from friendly fire.
Loyal Companions supports separate configuration handling for dedicated servers and local singleplayer worlds.
Loyal Companions makes pets more than decoration. They grow with you, fight beside you, carry items, wear gear, equip magical accessories, and become part of your journey.