跳到主要内容

Mécaniques critiques alignées sur MythicMobs

Ce document décrit les mécaniques fondamentales ajoutées à btcMobs-core pour faciliter la migration depuis MythicMobs. Chaque section inclut un aperçu fonctionnel et un exemple YAML prêt à l’emploi.

Command

  • Exécute des commandes serveur en tenant compte du contexte (caster/target).
  • Prend en charge asConsole, sudo, sender=target et perTarget.
Skills:
LaunchCommand:
Skills:
- command{command="give <target.name> minecraft:emerald 1";perTarget=true;sender=caster}

Message

  • Envoie des messages de chat, d’action bar ou de titre.
  • Supporte les codes couleur & et les tokens <caster.name>, <target.name>
Skills:
WarnPlayers:
Skills:
- message{type=title;message="&cAttention !";subtitle="&7<caster.name> arrive";self=true}

Heal

  • Restaure une quantité fixe (amount) ou un pourcentage (percent) de vie.
  • Option overheal=true pour dépasser la vie maximale Bukkit.
Skills:
EmergencyHeal:
Skills:
- heal{percent=25;overheal=false}

Explosion

  • Crée une explosion au niveau des cibles ou d’une localisation.
  • Paramètres : power, fire, breakBlocks, damage.
Skills:
Fireburst:
Skills:
- explosion{power=4;fire=true;breakBlocks=false;damage=true}

Lightning

  • Frappe de la foudre réelle (damage=true) ou visuelle (damage=false).
  • Peut être silencieuse via silent=true.
Skills:
ThunderCall:
Skills:
- lightning{damage=false;silent=true}

Velocity

  • Définit ou additionne une vélocité précise (x, y, z).
  • Supporte add, normalize, limit.
Skills:
LeapForward:
Skills:
- velocity{x=0;y=0.6;z=1.2;normalize=true;limit=1.5}

Pull & Push

  • Applique une force radiale depuis/vers un point (origin, offsets origin.x/y/z).
  • Compatibles avec ModelEngine/BetterModel : la vélocité est appliquée au porteur sans détacher les modèles.
Skills:
GravityWell:
Skills:
- pull{power=1.8;origin=location;origin.y=1.0}
Repulse:
Skills:
- push{power=1.2;add=true;limit=2.5}

Variables

  • Définit ou supprime des variables Btc (scope=global|mob|target|world).
  • Types supportés : string, boolean, double, long. Durée optionnelle via expires.
Skills:
FlagTarget:
Skills:
- setvariable{name="aggro";value="true";type=boolean;scope=target;expires=10s}

Scoreboard

  • Modifie un objectif existant sur le scoreboard principal.
  • Opérations : set, add, subtract, reset. Cible par joueur (player) ou par entité.
Skills:
AwardPoints:
Skills:
- scoreboard{objective=raid_points;operation=add;value=5}

💡 Toutes ces mécaniques utilisent les utilitaires de MechanicSupport, garantissant la compatibilité ModelEngine/BetterModel et la cohérence des offsets/durées.