FoxPets ajoute un système complet de familiers et d'oeufs sur Minecraft, avec un principe d'éclosion, d'évolution, de niveaux, de nourriture et bien d'autres objets spéciaux. Ce plugin vise également à rendre les familiers échangeables afin de favoriser les échanges entre joueurs.
Fonctionnalités
Compatible 1.21+
Support Folia
Système de familiers configurables (modèles via MythicMobs)
Système d'œufs configurables avec pool de familiers obtenable
Rangs et progression par XP (D, C, B, A, S)
Nourritures par rang (items configurables)
Statistiques configurables via statistics.yml + assignation par rang/pet
Hologrammes custom (contenu, offset, progress bar par états)
GUI des familiers (slots configurables, boutons, pagination, filtre)
Protection PvP pour bloquer l'ouverture du menu en combat et cacher le familier
Système de reroll de familier
Stockage YAML ou MySQL (avec cache)
De nombreux objets bonus pour les familiers.
Dépendances
Requises
MythicMobs
ProtocolLib
Soft-depend (intégrations optionnelles)
EpicCraftingsPlus
AuroraLevels
FoxJobs
EconomyShopGUI / EconomyShopGUI-Premium
ShopGUIPlus
AxAFKZone
CrazyCrates
VirtualSpawner
Glossaire
Système
Fonction
Description
Œufs
Éclosion
Les œufs gagnent de l'XP (nourriture) puis éclosent en familier (pool pondéré).
Familiers
Suivi
Les familiers suivent le joueur (distance, vitesse, radius).
Rangs
D → S
Chaque rang débloque une statistique (et des valeurs) selon la config du pet.
Statistiques
Boosts / chances
Bonus d'XP, vente shop, jobs, reroll caisses, immunité chute, etc.
Hologrammes
Progress bar
Hologrammes pour œufs et familiers avec barres d'états configurables.
Menu
Filtres + pages
Menu paginé, boutons filtre, informations, page suivante/précédente.
PvP Protection
Anti-combat
Empêche l'accès au menu et cacher le familier pendant un délai après avoir subis des dégâts d'un joueur.
Reroll
Re-roll stats
Menu dédié pour reroll une statistique (sacrifice ou parchemins).
Statistiques disponibles (statistics.yml)
Les statistiques sont définies dans statistics.yml puis utilisées dans config.yml via stat_id.
Stat ID
Effet
Type
Intégration
adventure_xp_boost
Octroie un boost d'XP
% + flat
AuroraLevels
crafting_speed_boost
Augmente la vitesse de craft
%
EpicCraftingsPlus
economy_sell_boost
Augmente le prix de vente d'une ressource / catégorie
%
EconomyShopGUI
shop_sell_boost
Augmente le prix de vente d'une ressource / catégorie
%
ShopGUIPlus
job_exp_boost
Boost l'XP de métier obtenu
%
FoxJobs
enchant_no_xp_loss
Chance de ne pas perdre d'XP en faisant un enchantement
%
Vanilla
fall_damage_immunity
Immunité aux dégâts de chute
%
Vanilla
health_boost
Bonus de vie
flat
Vanilla
afk_zone_reward_reduction
Réduction du temps pour recevoir une récompense
%
AxAFKZone
crazy_crates_reroll_chance
Chance de laisser un joueur reroll une caisse
%
CrazyCrates
virtual_spawner_sell_boost
Augmente le prix de vente
%
VirtualSpawner
mythic_mob_drop_boost
Double le drop d'un mob
%
MythicMobs
Commandes et permissions
Commande
Description
Permission
/pets
Ouvre le menu des familiers (si joueur)
/
/pet
Alias/commande de gestion (selon config serveur)
/
/eggs
Ouvre le menu (actuellement relié au menu pets)
/
/pets give <pet_id> <player>
Donne un familier à un joueur
foxpets.give
/pets give reroll-item <player> <amount>
Donne des parchemins de reroll
foxpets.give
/pets foodgive <player> <rank> [amount]
Donne une nourriture de rang (D/C/B/A)
foxpets.givefood
/givefood <player> <food_type>
Donne une nourriture (commande dédiée)
foxpets.givefood
/pets egg <player> <egg_type>
Donne un œuf (ex: common, rare, legendary)
foxpets.egg
/pets reroll
Ouvre le menu de reroll
foxpets.reroll
/pets reload
Recharge la configuration
foxpets.reload
Œufs
Chaque œuf a :
xp_required (XP pour éclore)
pet_pool (pool pondéré des familiers possibles)
hologram (contenu + progress bar)
item (apparence de l'œuf en item)
Familiers
Chaque familier a :
mythicmob_id (entité affichée via MythicMobs)
paramètres de follow
statistics par rang (stat_id + min/max + hologram)
item (objet récupérable/échangeable)
Rangs et nourritures
La nourriture permet d'augmenter la barre d'expérience du familier, lui permettant de franchir différents paliers de rang afin de débloquer de nouvelles lignes de statistiques bonus. À chaque nouveau rang, une statistique est dévoilée avec une valeur aléatoire.
default_rank définit le rang de départ.
xp_required définit les paliers d'XP (par rang).
food définit les items de nourriture par rang.
Reroll
Le reroll (ou relance) permet de relancer la valeur d'une statistique d'un familier en obtenant un nouveau pourcentage aléatoire, en sacrifiant un familier du même rang.
item définit le parchemin de reroll
costs définit le coût par rang
menu définit l'UI en 2 phases : selection puis stats
# =====================================================
# FoxPets - Statistics Configuration
# =====================================================
# Ce fichier définit toutes les statistiques disponibles pour les pets
# Chaque statistique peut être assignée à un rang de pet dans config.yml
# Format d'affichage des statistiques dans la lore
display:
# Format pour une stat débloquée
unlocked_format: "<gray>{rank}: <yellow>{stat_name} {value}"
# Format pour une stat verrouillée
locked_format: "<gray>{rank}: <dark_gray>[Verrouillé]"
# Séparateur entre les stats dans la lore
separator: ""
# En-tête avant la liste des stats
header: "<gold><bold>⚡ Statistiques:"
# Pied de page après la liste des stats
footer: ""
# Définitions des statistiques disponibles
statistics:
# Augmentation de l'XP d'aventure (AuroraLevels)
adventure_xp_boost:
display_name: "Bonus XP d'Aventure"
description: "Augmente l'XP d'aventure obtenue"
boost_type: "percentage" # flat ou percentage
category: "progression"
# Réduction du temps de fabrication (EpicCraftingsPlus)
crafting_speed_boost:
display_name: "Vitesse de Craft"
description: "Réduit le temps de fabrication des crafts customs"
boost_type: "percentage" # flat ou percentage
category: "crafting"
# Boost prix de vente au shop (EconomyShopGUI)
economy_sell_boost:
display_name: "Prix de Vente ({target})"
description: "Augmente le prix de vente des items au shop"
boost_type: "percentage"
category: "economy"
# Boost prix de vente au shop (ShopGUIPlus)
shop_sell_boost:
display_name: "Prix de Vente ({target})"
description: "Augmente le prix de vente des items au shop"
boost_type: "percentage"
category: "economy"
# Boost XP de Job (FoxJobs)
job_exp_boost:
display_name: "XP de Job ({job})"
description: "Augmente l'XP gagnée dans les jobs"
boost_type: "percentage"
category: "progression"
# Chance de ne pas perdre d'XP à l'enchantement (Vanilla)
enchant_no_xp_loss:
display_name: "Économie d'XP Enchant"
description: "Chance de ne pas consommer d'XP lors d'un enchantement"
boost_type: "percentage"
category: "magic"
# Chance d'annuler les dégâts de chute (Vanilla)
fall_damage_immunity:
display_name: "Immunité Chute"
description: "Chance d'annuler les dégâts de chute"
boost_type: "percentage"
category: "defense"
# Bonus de vie (Vanilla)
health_boost:
display_name: "Bonus de Vie"
description: "Ajoute des cœurs supplémentaires"
boost_type: "flat"
category: "defense"
# Réduction du temps de récompense AFK (AxAFKZone)
afk_zone_reward_reduction:
display_name: "Réduction Temps AFK ({target})"
description: "Réduit le temps nécessaire pour obtenir une récompense AFK"
boost_type: "percentage"
category: "utility"
# Chance de relancer une caisse (CrazyCrates)
crazy_crates_reroll_chance:
display_name: "Chance Reroll Caisse ({target})"
description: "Chance de pouvoir relancer une caisse ouverte"
boost_type: "percentage"
category: "luck"
# Boost prix de vente spawner (VirtualSpawner)
virtual_spawner_sell_boost:
display_name: "Prix de Vente Spawner"
description: "Augmente le prix de vente des items du spawner"
boost_type: "percentage"
category: "economy"
# Boost drop mythic mobs (MythicMobs)
mythic_mob_drop_boost:
display_name: "Double Drop ({target})"
description: "Chance de doubler les drops des mobs mythiques"
boost_type: "percentage"
category: "luck"
messages.yml
# Messages for commands
commands:
player-only: "<red>Cette commande ne peut être exécutée que par un joueur!"
no-permission: "<red>Vous n'avez pas la permission d'utiliser cette commande!"
player-offline: "<red>Le joueur {player} n'est pas connecté!"
unknown-subcommand: "<red>Sous-commande inconnue!"
give:
usage: "<red>Usage: /pets give <pet_id> <player>"
sender: "<green>Vous avez donné le familier {pet_name} <green>à {player}!"
receiver: "<green>Vous avez reçu le familier {pet_name} <green>!"
error: "<red>Erreur lors de l'attribution du familier: {error}"
foodgive:
usage: "<red>Usage: /pets foodgive <player> <rank> [amount]"
invalid-rank: "<red>Rank invalide! Utilisez: D, C, B ou A"
invalid-amount: "<red>Le montant doit être un nombre!"
sender: "<green>Vous avez donné {amount} nourriture de rang {rank} à {player}!"
receiver: "<green>Vous avez reçu {amount} nourriture de rang {rank}!"
egg:
usage: "<red>Usage: /pets egg <player> <egg_type>"
not-exists: "<red>Le type d'œuf '{egg_type}' n'existe pas!"
reload:
success: "<green>Configuration rechargée avec succès!"
# Messages for pets
pet:
not-exists: "<red>Ce familier n'existe pas!"
not-owned: "<red>Vous ne possédez pas ce familier!"
no-active-pet: "<red>Vous n'avez pas de familier actif."
activated: "<green>Vous avez activé votre familier {pet_name} <green>!"
deactivated: "<green>Votre familier a été désactivé."
deactivated-named: "<green>Votre familier {pet_name} <green>a été désactivé."
deactivate-before-retrieve: "<red>Vous devez d'abord désactiver ce familier avant de le récupérer."
retrieved: "<green>Vous avez récupéré votre familier {pet_name} <green>sous forme d'objet."
# Legacy messages (kept for backward compatibility)
withdrawn: "<green>Vous avez retiré {pet} {rank}<green>! Il est maintenant dans votre inventaire."
received: "<green>Vous avez obtenu {pet} {rank}<green>!"
already_owned: "<red>Vous possédez déjà ce familier!"
not_found: "<red>Ce familier n'existe plus!"
limit_reached: "<red>Vous avez atteint la limite de {limit} familiers stockables!"
# Messages for menus
menu:
pet:
active: "<green>Actuellement Actif"
click-deactivate: "<gray>Clic gauche pour désactiver"
click-spawn: "<gray>Clic gauche pour activer"
egg:
active: "<green>Actuellement Actif"
click-deactivate: "<gray>Clic gauche pour désactiver"
click-spawn: "<gray>Clic gauche pour faire apparaître"
eggs:
no-eggs:
title: "<red>Aucun Œuf"
description: "<gray>Vous n'avez aucun œuf pour le moment"
# PvP Protection messages
pvp:
combat-message: "<red>You cannot open this menu while in combat! ({time}s remaining)"
# Ranking messages
ranking:
rank-up: "<green>{pet} est maintenant rang {rank}!"
wrong-food: "<red>Ce familier nécessite de la nourriture rang {required_rank}!"
max-rank: "<red>Ce familier est déjà au rang maximum (S)!"
# Egg messages
egg:
received: "<green>Vous avez reçu un {egg_name}<green>!"
given: "<green>Vous avez donné un {egg_name} <green>à {player}!"
added: "<green>Un {egg_name} <green>a été ajouté à votre collection!"
spawned: "<green>Votre {egg_name} <green>est apparu!"
despawned: "<green>Votre œuf a été retiré."
hatched: "<green><bold>Votre œuf a éclos! Faites /pets pour découvrir votre nouveau familier!"
# Economy messages
economy:
sell-boost-applied: "<green>Bonus de vente appliqué! (+{amount}$)"
# Virtual Spawner messages
virtual_spawner:
sell-boost-applied: "<green>Bonus de vente spawner appliqué! (+{amount}$)"
# Mythic Mobs messages
mythic_mobs:
drop-boost-applied: "<green>Votre familier a doublé les drops du monstre!"
# Job messages
job:
exp-boost-applied: "<green>Bonus d'XP Job appliqué! (+{boost}%)"
# Statistics messages
statistics:
enchant-saved: "<green>Votre familier a préservé votre XP lors de l'enchantement!"
fall-damage-prevented: "<green>Votre familier a amorti votre chute!"
afk-time-reduced: "<green>Votre familier a réduit votre temps AFK de {seconds}s!"
crate-reroll-available: "<green>Votre familier vous offre une chance de relancer votre caisse!"
# Error messages
error:
data-load-failed: "<red>Erreur lors du chargement de vos données. Veuillez réessayer."
inventory_full: "<red>Votre inventaire est plein!"
# Reroll messages
reroll:
invalid-sacrifice: "<red>Sacrifice invalide! Vous devez utiliser un familier du même type et du même rang ou des parchemins."
not-enough-scrolls: "<red>Pas assez de parchemins! Il en faut {amount}."
inventory-full: "<red>Inventaire plein! Les objets ont été déposés au sol."
success: "<green>Reroll effectué avec succès!"
give-usage: "<red>Usage: /pets give reroll-item <player> <amount>"
give-success: "<green>Vous avez donné {amount} parchemins de reroll à {player}."
give-received: "<green>Vous avez reçu {amount} parchemins de reroll."