Changelog
1.2
- Dungeon Mob Spawn :
lootTable,spawnParticle, adaptation au nombre de joueurs (perExtraPlayer,maxCount,playerCountSource),maxSimultaneous,waves, et les déclencheursonWaveClearedetonCleared. - Nouvelle entrée Dungeon Loot Table : une table de butin partagée par des coffres et des mobs.
- Dungeon Loot Chest :
lootTableRef, etadditionalLocationspour poser plusieurs coffres depuis une seule entrée (ignoré dans un donjon généré). - Loot Chest Trigger :
particleEffect, avec des axes X, Y et Z séparés et un centre. Les quatre champstriggerParticlesont hérités : ils ne s'appliquent que siparticleEffectne nomme aucune particule. - Nouvel événement On Dungeon Mobs Cleared.
- Nouvelle entrée Dungeon Restrictions, reliée par
restrictionsà une Dungeon Instance ou une Dungeon Room : ni élytre, ni bateau ou wagonnet, ni perle de l'Ender, fruit de chorus ou impulsion du trident, commandes bloquées, message de refus et permission de contournement. - Requiert GUI (OmniGUI) 0.20. La nouvelle Dungeon Leaderboard Source utilise le contrat de source de classement de GUI 0.20 : avec un GUI plus ancien, le classement de Dungeon ne se charge pas. Mettez d'abord GUI à jour.
- Rupture d'API pour les addons :
DungeonArtifactData,DungeonStatsetPlayerDungeonStatspassent dans le packagebtcrenaud.dungeons.core, etDungeonArtifactEntry.getPlayerStatsetDungeonArtifactEntry.updatechangent de signature. Un addon compilé contre Dungeon 1.1.x doit être recompilé. Les donjons construits dans le panneau web ne sont pas concernés. - Statistiques : 22 statistiques par joueur (dégâts infligés et subis, kills de mobs, morts, temps joué, salles et vagues nettoyées, records, réussites en solo et sans mort...). Elles sont comptées pendant la run et versées une seule fois par membre, par artefact, avec un total sur plusieurs artefacts. Les dégâts sont ceux qui ont réellement retiré de la vie, plafonnés aux PV de la cible.
- Dungeon Instance :
statsMobScopechoisit les mobs comptés dans les statistiques,MARKED_ONLY(par défaut, les mobs créés par la run) ouANY_MOB_IN_RUN_WORLD. - Nouveau fact Player Dungeon Statistic, et les placeholders
dungeon_stat_<key>(avec_rawpour le nombre brut),dungeon_total_<key>etdungeon_inst_<id>_<key>. Les snippetscontent.dungeon_stats.duration_formatetcontent.dungeon_stats.missing_valueen règlent l'écriture. - Nouvelle entrée Dungeon Leaderboard Source, à brancher sur le champ
sourced'un classement GUI (GUI 0.20) : artefacts,scope(LIFETIMEouCURRENT_RUN),rankBy,values,durationFormat,decimals,missingValueetunknownName. Jetons de ligne :{value_<key>},{value_<key>_raw}et{score_raw}. - Dungeon Instance :
reconnectGrace(2 minutes par défaut). Un membre qui se déconnecte garde sa place pendant ce délai et, de retour à temps, reprend avec sa sidebar, ses masquages et son mode de jeu. Au-delà, il quitte la run et revient à son point d'entrée à la reconnexion. Voir Déconnexions. - Dungeon Restrictions :
gameMode(optionnel, par exempleADVENTURE; le mode d'origine du joueur est rendu à la sortie ;CREATIVEetSPECTATORcoupent les statistiques de combat),limitInteractionsavecallowedInteractions(CHEST,TRAPPED_CHESTetBARRELpar défaut) etprotectedEntities(cadres, armor stands, tableaux), etmessageRepeatDelay(2 secondes).limitInteractionsrefuse aussi de poser des blocs, des seaux, des véhicules, des œufs d'apparition, du feu, de la poudre d'os et d'utiliser des outils sur les blocs. - Dungeon Restrictions : l'impulsion du trident et le fruit de chorus sont désormais refusés dès le clic, et plus seulement leur effet. Seule la permission de contournement exempte un joueur : un opérateur l'a tant que le nœud n'est pas explicitement à
false. - Dungeon Category : les champs d'emplacement
unlockedLoreetlockedLoredeviennentunlockLoreetlockLore. Les pages enregistrées avec les anciens noms se lisent toujours ; si les deux sont présents, le nouveau l'emporte. - MMOProfiles : une fois le profil choisi par le joueur, le retour au point d'entrée et le mode de jeu d'origine sont réappliqués.
- Correctifs :
runs_leftne compte plus une mort qui fait sortir le joueur de la run (elle reste dansdeaths) ;waves_clearedne compte que les groupes qui définissentwaves;%typewriter_dungeon_stat_current_health%affiche les PV du joueur pendant une run ; l'écriture des statistiques ne s'arrête plus de sauvegarder après une erreur ; une run fermée à un rechargement parce qu'aucun de ses membres n'est en ligne compte le temps joué de ses membres absents. - Rien ne change pour un donjon existant tant qu'il n'utilise pas ces champs. Pour un coffre qui apparaît quand tous les mobs sont vaincus, voir Entités dans les donjons.
1.1.1
- Paper 26.x : une partie en
WORLD_PER_RUNpouvait échouer avecThe server did not create world 'dungeon_classic_...'. La copie du modèle gardait l'identifiant de monde du modèle (data/paper/metadata.dat), et le serveur la refusait comme doublon. La copie reçoit désormais son propre identifiant.
1.1
- Version publique de la refonte décrite ci-dessous. Correctif depuis la 1.0 :
WORLD_PER_RUNcopie désormais un monde modèle rangé à la façon de Paper 26.x (dimensions/minecraft/<name>).
1.0
Il s'agit d'une refonte de l'extension, construite autour d'un modèle de parties. Consultez la note de migration avant de mettre à jour un serveur qui utilisait la 0.10.
Parties et mondes
- Une partie a désormais sa propre machine à états, son registre et son journal. Démarrer une partie est tout ou rien : si une étape échoue, rien n'est conservé et le coût d'entrée est remboursé.
- Trois modes d'isolation, définis par donjon avec
isolation:SLIME_CLONE,WORLD_PER_RUN,SHARED_WORLD_SLOTS, etAUTO(par défaut). Un mode qui ne peut pas fonctionner refuse la partie. Voir Parties et isolation des mondes. - Les mondes rangés à la manière de Paper 26.x (
dimensions/minecraft/<name>) sont trouvés pourSHARED_WORLD_SLOTSet copiés pourWORLD_PER_RUN; un problème de préparation du monde est journalisé sur une seule ligne au lieu d'une pile d'erreur complète. - Un
typewriter reloadou une publication réadopte les parties en cours. Un redémarrage du serveur les termine proprement. cooldownSecondsest une vraie limite de temps :0ou vide signifie aucune limite.- Les mondes de partie orphelins sont purgés au démarrage avec des garde-fous (nom, fichier témoin, jamais un monde chargé).
- Les statistiques sont écrites : tentatives, réussites et meilleur temps, par donjon et par joueur.
damageMultiplieret lescriteriadu donjon sont appliqués.
Donjons générés
- Nouvelles entrées : Dungeon Room Template, Dungeon Connector Type, Dungeon Room Pool, Dungeon Generator, Dungeon Affix, et un éditeur en jeu pour les portes et les marqueurs. Un donjon avec un
generatorest assemblé pour chaque partie. La même graine donne le même donjon. Voir Donjons générés.
Salles, événements et facts
- Les déclencheurs
onEnteretonLeavedes salles,enterOnce,leaveOnce,priority,criteriaetmodifiersfonctionnent désormais. Nouveau champverticalMargin. - Nouveaux événements : on_dungeon_start, on_dungeon_complete, on_dungeon_room_enter, on_dungeon_room_leave, on_dungeon_mob_death.
- Les facts
indungeonetindungeon_instancefonctionnent désormais. Nouveau fact dungeon_mobs_alive. - Nouvelles actions : Dungeon Complete, Dungeon Clear Room, Dungeon Spawn Mobs.
- Nouveaux Dungeon Run Audience et Dungeon Run Group.
Menus et lobbies
- Les menus se rafraîchissent en direct (
autoRefreshTicks) et quand un lobby change. - Le scoreboard d'attente fonctionne. Les marqueurs
DUNGEON_LOBBY_SLOTplacent les lobbies. Lescriteriades emplacements sont évalués pour chaque joueur. - Un menu de groupe peut nommer son donjon (
dungeonInstance) ; un menu vide sert tous les donjons qu'aucun autre menu ne nomme. - Les groupes de MMOCore, Parties et de l'extension de groupe Typewriter sont en lecture seule.
Coffres
- Un tirage par joueur et par coffre,
visibility(AUTO,PER_PLAYER,SHARED),onDisappear,lootSelectionetweightedPicks, animation de coffre, orientation selon le yaw, blocs CraftEngine et Nexo, coffres restaurés après un rechargement.
Entités dans les donjons
- Dungeon NPC Instance : un PNJ par partie à partir de n'importe quelle définition d'entité, désormais montré aux membres de sa partie.
- Dungeon Mob Spawn : mobs de combat vanilla, une fois par partie, avec un plafond (
maxAliveMobs). Voir Entités dans les donjons.
Textes des joueurs et nouveaux champs
- Les textes des menus, lobbies, barre latérale de partie, coffres de butin et refus de lancement sont des snippets (
content.dungeon_menu.,content.dungeon_lobby.,content.dungeon_run.sidebar.,content.dungeon_chest.,content.dungeon_launch.). Les valeurs par défaut sont inchangées. Les réponses des commandes/typewriter dungeon ...sont aussi des snippets (content.dungeon_command.). - Nouveau champ
lobbyIdleKickSecondssur la Dungeon Instance (par défaut120). - Nouveaux champs sur Loot Chest Trigger :
triggerSoundVolume,triggerSoundPitch,triggerParticleCount,triggerParticleSpread,triggerParticleSpeed.broadcastMessageaccepte les codes couleur.
Commandes
- Suppression de la sous-commande
start, qui n'a jamais fonctionné. Les commandes sont documentées dans l'index.
Limites connues
- Paper uniquement. Folia n'est pas pris en charge.
- Les donjons générés n'utilisent que
WORLD_PER_RUN. - Une cinématique MythicMobsNPC dans un donjon n'a pas été testée.
0.10
Le build autonome. Les déclencheurs de salle, les deux facts « dans un donjon », l'instance de PNJ et les statistiques étaient déclarés mais pas actifs.