Aller au contenu principal

Désactiver les dégâts d'explosion

Comparaison des méthodes​

Choisissez les contrôles selon l'origine des dégâts. Les explosions natives d'entités ou de projectiles utilisent l'événement Bukkit EntityExplodeEvent ; le flag WorldGuard d'EliteMobs relatif aux dégâts des blocs vide la liste des blocs de cet événement pour les élites et projectiles suivis. Les explosions simulées et les modifications scriptées peuvent changer directement les blocs. La régénération répare les dégâts en attente ; ce n'est pas une protection générale des blocs.

Désactiver les dégâts aux blocs​

Utiliser gamerule​

/gamerule mobGriefing false contrôle les dégradations vanilla des mobs. Il n’intercepte pas les modifications directes de blocs par un plugin ou un script.

Utiliser WorldGuard​

Avec EliteMobs et WorldGuard installés, réglez elitemobs-explosion-block-damage sur deny dans la région. Cela protège contre les explosions natives suivies décrites ci-dessus. Ce flag n'intercepte pas les modifications arbitraires de blocs Lua/EliteScript ni tous les appels d'explosion simulée. Testez le pouvoir que vous comptez réellement utiliser dans la zone protégée.

Empêcher les boules de feu d'EliteMobs d'endommager les blocs​

Les pouvoirs intégrés sont des scripts Lua dans plugins/EliteMobs/powers/. Leurs entrées dans le registre des pouvoirs fournis sont réappliquées après la découverte des pouvoirs personnalisés : ajouter un fichier de métadonnées YAML contenant isEnabled: false ne permet donc pas de désactiver un pouvoir intégré. Retirez les pouvoirs indésirables des définitions de boss et des listes d'apparition naturelle dans EliteMobPowers.yml. Pour un pouvoir Lua personnalisé, les métadonnées YAML de même nom de base peuvent désactiver son chargement ; consultez les pouvoirs Lua autonomes. Pour conserver un pouvoir d'explosion tout en protégeant le terrain, choisissez les contrôles selon qu'il utilise une explosion native de projectile suivi ou des modifications directes de blocs.

Configurer la régénération des explosions d'EliteMobs​

Modifiez plugins/EliteMobs/config.yml. Avec la régénération activée (par défaut), les blocs en attente commencent à être réparés après environ une minute ; les exclusions et les flags régionaux de régénération restent applicables.

Lorsque le gestionnaire prend en charge une explosion provenant d'un élite, d'un projectile suivi ou d'une explosion simulée, EliteMobs retire lui-même les blocs et vide la liste de blocs de l'explosion native : seuls les blocs qu'il a enregistrés sont donc détruits. Un plugin qui annule l'EliteExplosionEvent annule les dégâts aux blocs de toute l'explosion.

Les réparations restaurent un bloc par tick, en commençant par les plus bas. Une entité qui se trouve dans un bloc en cours de restauration est soulevée au-dessus de celui-ci ; si ce passage est bloqué, la réparation attend et réessaie au tick suivant. Lorsqu'un monde est déchargé, EliteMobs restaure d'abord immédiatement ses blocs en attente ; si certains ne peuvent toujours pas être posés, le déchargement est annulé. Les mondes de donjons instanciés en cours de suppression sautent cette étape.

  • doExplosionRegen : réglez sur false pour désactiver ce gestionnaire de régénération. Les explosions natives peuvent toujours détruire des blocs sans réparation. Les explosions simulées ou scriptées utilisant ce gestionnaire s'arrêtent avant leur suppression directe des blocs.
  • doRegenerateContainers : réglez sur false pour exclure les conteneurs des explosions prises en charge par le gestionnaire : ils ne sont alors ni détruits ni restaurés. Lorsque le gestionnaire est contourné, par exemple avec doExplosionRegen: false ou le flag elitemobs-explosion-regen réglé sur deny, les explosions natives peuvent toujours détruire les conteneurs.

Autres pouvoirs d'explosion ou de feu​

EliteMobs fournit plusieurs autres pouvoirs causant des explosions ou du feu. Ce sont des scripts Lua dans le dossier plugins/EliteMobs/powers/ :

Pouvoirs de l'Ender Dragon :

  • ender_dragon_aimed_fireball.lua
  • ender_dragon_disco_fireballs.lua
  • ender_dragon_fireball_bombardment.lua
  • ender_dragon_ender_fireball_bombardment.lua

Autres pouvoirs d'explosion :

  • gold_explosion.lua
  • arrow_fireworks.lua
  • fireworks_barrage.lua

Pouvoirs de feu :

  • firestorm.lua
  • flame_pyre.lua
  • flamethrower.lua
  • attack_fire.lua

Examinez le script de chaque pouvoir avant de choisir une règle de protection. Activer la régénération n'empêche pas les dégâts initiaux aux blocs, et modifier un pouvoir ne change pas les autres scripts produisant des effets similaires.

Contrôle régional des explosions (WorldGuard requis)​

Installez les deux plugins et créez une région WorldGuard couvrant la zone souhaitée. Pour les explosions natives suivies, exécutez :

/region flag <region-name> elitemobs-explosion-block-damage deny

Dépannage​

Vérifiez le pouvoir exact et déterminez s'il utilise l'événement natif ou modifie directement les blocs. Pour les événements natifs, confirmez que la région couvre l'explosion, que le flag est refusé et que les deux plugins sont chargés. Si les réparations manquent, vérifiez doExplosionRegen, les flags de régénération et les exclusions de conteneurs. Une réparation réussie ne prouve pas que les dégâts aux blocs ont été empêchés.