Module Ultimate — Documentation
Extension du Core NovaUHC ajoutant
18 modes de jeu supplémentaires. Le module se greffe sur le Core sans le modifier et enregistre ses scénarios automatiquement au démarrage du serveur.
Structure
ultimate/
├── Main.java ← Point d'entrée, enregistrement des scénarios
├── beatthesanta/ ← Beat The Santa
├── fallenkigdom/ ← Fallen Kingdom
├── flowerpower/ ← Flower Power
├── gonefish/ ← Gone Fish
├── king/ ← King
├── legend/ ← UHC Legends (18 rôles)
│ └── roles/
│ └── abilities/ ← Capacités des rôles
├── mysteryteam/ ← Mystery Team
├── netheribus/ ← Nether i Bus
├── random/ ← Random Craft & Random Drop
├── skydef/ ← Sky Def
├── skyhigt/ ← Sky High
├── slavemarket/ ← Slave Market
├── soulbrother/ ← Soul Brother
├── superheros/ ← Super Héros
├── taupegun/ ← Taupe Gun
└── truelove/ ← True Love
️ Scénarios
Beat The Santa
Item : Cookie |
Spécial : Oui
Mode asymétrique Noël. Une petite équipe (les
Santas) fait face à tous les autres joueurs (les
Lutins). Le Santa reçoit autant de points de vie supplémentaires qu'il y a de joueurs en jeu, et peut être équipé d'effets de potion au démarrage.
Variable
Type
Défaut
Description
team_size INTEGER 1 Nombre de joueurs dans l'équipe Santa
strength_santa BOOLEAN false Force pour le Santa
speed_santa BOOLEAN false Vitesse pour le Santa
fire_santa BOOLEAN false Résistance au feu pour le Santa
haste_santa BOOLEAN false Célérité pour le Santa
resi_santa BOOLEAN false Résistance pour le Santa
Fallen Kingdom
Item : Plume |
Spécial : Oui
Mode en
épisodes. Chaque équipe possède une zone définie sur la carte. Des caisses d'épisode apparaissent à intervalles réguliers pour forcer les affrontements. Le Nether et l'End s'activent selon l'avancement des épisodes. Capturer la zone d'une équipe adverse lui fait perdre des points d'épisodes.
Variable
Type
Défaut
Description
zoneSize INTEGER 30 Taille des zones d'équipe (en blocs)
epTimer TIME 1200 Durée de chaque épisode (secondes)
assautep INTEGER 8 Épisode d'activation des assauts
netherep INTEGER 4 Épisode d'ouverture du Nether
endep INTEGER 6 Épisode d'ouverture de l'End
Flower Power
Item : Fleur jaune |
Spécial : Oui
Casser une fleur (jaune ou rouge) détruit le bloc et génère un
drop aléatoire à la place. L'item obtenu peut être commun ou rare (minerais, livres enchantés, diamants, etc.). Chaque type de fleur donne un résultat potentiellement différent.
Variable
Type
Défaut
Description
goldenAppleAmount INTEGER 3 Quantité de pommes d'or si tirage
ingotAmount INTEGER 16 Quantité de lingots si tirage
normalDropAmount INTEGER 16 Quantité d'items communs
maxEnchantLevel INTEGER 3 Niveau max des enchantements aléatoires
Gone Fish
Item : Canne à pêche |
Spécial : Oui
Tous les joueurs reçoivent au démarrage une
canne à pêche surenchantée (Luck et Lure de niveau 250 par défaut) et un lot d'enclumes. La pêche devient le moyen principal d'obtenir des ressources.
Variable
Type
Défaut
Description
luckLevel INTEGER 250 Niveau de l'enchantement Chance
lureLevel INTEGER 250 Niveau de l'enchantement Appât
anvilAmount INTEGER 20 Nombre d'enclumes données au démarrage
King
Item : Bloc d'or |
Spécial : Oui
Chaque équipe désigne un
Roi (le joueur avec le plus d'XP). Le Roi reçoit une augmentation de points de vie et des effets de potion permanents (vitesse, force, résistance configurables). Si le Roi est tué, son assassin reçoit un effet de
poison temporaire, et un nouveau Roi est élu dans l'équipe.
Variable
Type
Défaut
Description
kingMaxHealth INTEGER 40 Points de vie max du Roi
speedEnabled BOOLEAN true Activer la vitesse
speedLevel INTEGER 1 Niveau de l'effet Vitesse
strengthEnabled BOOLEAN true Activer la force
strengthLevel INTEGER 1 Niveau de l'effet Force
resistanceEnabled BOOLEAN true Activer la résistance
resistanceLevel INTEGER 1 Niveau de l'effet Résistance
poisonEnabled BOOLEAN true Poison au tueur du Roi
poisonDuration TIME 120 Durée du poison (secondes)
poisonLevel INTEGER 1 Niveau de l'effet Poison
⚔️ UHC Legends
Item : Œuf de dragon |
Spécial : Non
Chaque joueur reçoit un
rôle légendaire aléatoire parmi 18 classes. Chaque rôle possède des capacités passives ou actives uniques. Un menu de sélection (/legend) permet de voir et choisir son rôle. Les capacités sont distinctement déclenchées selon le type d'attaque (mêlée vs arc).
18 rôles disponibles
Rôle
Type
Capacité
Archer Passif Dégâts supplémentaires avec l'arc
Assassin Passif Invisibilité temporaire après un kill
Cavalier Actif Boost de vitesse en monture
Corne Actif (×4) Mélodies : Air, Feu, Soin, Métal
Dragon Passif + Actif Feu passif en mêlée + boule de feu active
Mage Passif Lance des potions à chaque coup
Marionnettiste Passif Contrôle une entité à distance
Médecin Passif Soigne les alliés proches en permanence
Nain Actif Armure bonus sous terre
Nécromancien Actif Invoque un squelette à chaque mort ennemie
Ogre Passif Force permanente en mêlée
Paladin Passif + Actif Résistance à faible vie + bénédiction active
Princesse Passif Immunité aux chutes
Prisonnier Passif + Actif Vitesse passive + chaîne active sur la cible
Soldat Passif Armure supplémentaire permanente
Succube Passif + Actif Vol de vie en mêlée + absorption active
Tank Passif Réduction de dégâts permanente
Zeus Passif + Actif Foudre à chaque coup + effets actifs
❓ Mystery Team
Item : Bannière personnalisée |
Spécial : Oui
Les équipes sont
assignées aléatoirement au scatter. Chaque joueur reçoit la bannière de son équipe mais ne connaît pas ses coéquipiers. Il doit les retrouver grâce aux bannières pendant la partie.
Variable
Type
Défaut
Description
giveBannerOnStart BOOLEAN true Donner la bannière au démarrage
resetTeamOnScatter BOOLEAN true Réinitialiser les équipes au scatter
Nether i Bus
Item : Minecart |
Spécial : Oui
Après un délai configurable, les joueurs qui
ne sont pas dans le Nether subissent des dégâts constants à chaque seconde. Ils sont contraints de se battre sur le territoire du Nether.
Variable
Type
Défaut
Description
startTimer TIME 600 Délai avant activation (secondes)
damageOutsideNether INTEGER 2 Dégâts par seconde hors du Nether
Random Craft
Item : Table de craft |
Spécial : Oui
Chaque résultat de craft ou de fusion au four est remplacé par un
item aléatoire unique. Une fois qu'un item source est associé à un résultat, cette association est permanente pour toute la partie (système de cache).
Variable
Type
Défaut
Description
giveStarterKit BOOLEAN true Donner un kit de démarrage
allowRareItems BOOLEAN true Autoriser les items rares
maxIngotAmount INTEGER 16 Quantité max de lingots
goldenAppleAmount INTEGER 3 Quantité de pommes d'or
maxEnchantLevel INTEGER 3 Niveau max d'enchantement
allowDuplicateDrops BOOLEAN false Autoriser les résultats en double
Random Drop
Item : Chair pourrie |
Spécial : Oui
Les drops de
blocs cassés et de
monstres tués sont remplacés par des items aléatoires. Comme RandomCraft, chaque association source → résultat est mise en cache pour la durée de la partie.
Variable
Type
Défaut
Description
giveStarter BOOLEAN true Donner un kit de démarrage
allowRare BOOLEAN true Autoriser les items rares
maxIngotAmount INTEGER 16 Quantité max de lingots
gappleAmount INTEGER 3 Quantité de pommes d'or
maxEnchantLevel INTEGER 3 Niveau max d'enchantement
allowDuplicate BOOLEAN false Autoriser les drops en double
️ Sky Def
Item : Bannière |
Spécial : Oui
Mode asymétrique. Une équipe de
Défenseurs se positionne sur une structure en hauteur générée depuis un schématique et doit protéger une bannière. Les autres équipes cherchent à la détruire. Détruire la bannière élimine les défenseurs.
Variable
Type
Défaut
Description
team_size INTEGER 3 Taille de l'équipe défenseur
cooldownTime INTEGER 5 Cooldown de téléportation (secondes)
tpRadius INTEGER 1 Rayon de téléportation
bannerPlaceRadius INTEGER 5 Rayon de pose de bannière
armorEnchantLevel INTEGER 2 Niveau d'enchantement de l'armure de départ
goldenCarrotAmount INTEGER 64 Carottes dorées données aux défenseurs
bookAmount INTEGER 7 Livres donnés aux défenseurs
☁️ Sky High
Item : Papier |
Spécial : Oui
À partir du timer de border, les joueurs situés
sous une certaine altitude subissent des dégâts par seconde. Plus ils sont bas, plus les dégâts sont importants. Les joueurs doivent impérativement
monter dans le ciel pour survivre.
Variable
Type
Défaut
Description
firstLevel INTEGER 120 Altitude seuil de couche 1
secondLevel INTEGER 80 Altitude seuil de couche 2
thirdLevel INTEGER 40 Altitude seuil de couche 3
firstDamage INTEGER 5 Dégâts/sec couche 1
secondDamage INTEGER 3 Dégâts/sec couche 2
thirdDamage INTEGER 1 Dégâts/sec couche 3
Slave Market
Item : Diamant |
Spécial : Oui
Avant le début, des
propriétaires d'équipes sont désignés. Au lancement, les joueurs non-propriétaires sont mis aux
enchères. Chaque propriétaire dispose de diamants et doit remporter des enchères pour constituer son équipe. Les joueurs non vendus sont assignés aléatoirement.
Variable
Type
Défaut
Description
nbDiamond INTEGER 48 Diamants de départ par propriétaire
auctionTimerDuration INTEGER 10 Durée d'une enchère (secondes)
rebuyTimerDuration INTEGER 5 Délai de rachat (secondes)
bidSmallAmount INTEGER 1 Mise petite enchère
bidLargeAmount INTEGER 5 Mise grande enchère
Soul Brother
Item : Soul Sand |
Spécial : Oui
Les équipes de 2 sont
séparées dans deux mondes parallèles (Alpha et Beta) au scatter. Après un délai configurable, les mondes fusionnent et les âmes-sœurs se retrouvent. Si l'âme-sœur meurt, l'autre joueur subit un effet de
backlash (dégâts + effets négatifs). Un message de localisation est envoyé régulièrement.
Variable
Type
Défaut
Description
reunionTime TIME 3600 Temps avant la réunion (secondes)
updateInterval TIME 300 Intervalle de localisation du frère
deathBacklash BOOLEAN true Activer le backlash à la mort
deathBacklashDamage DOUBLE 6.0 Dégâts du backlash
deathBacklashDuration INTEGER 200 Durée des effets du backlash (ticks)
reunionScatterRadius INTEGER 500 Rayon de téléportation à la réunion
Super Héros
Item : Étoile du Nether |
Spécial : Oui
Chaque joueur reçoit un
super-pouvoir aléatoire parmi 5 types au démarrage. Les capacités sont appliquées sous forme d'effets de potion permanents et se renouvellent régulièrement. Chaque joueur ignore quels pouvoirs ont les autres.
5 pouvoirs possibles : Vitesse, Force, Résistance, Saut, Vie supplémentaire
Variable
Type
Défaut
Description
enableSpeed BOOLEAN true Activer le pouvoir Vitesse
enableDamage BOOLEAN true Activer le pouvoir Force
enableResistance BOOLEAN true Activer le pouvoir Résistance
enableJump BOOLEAN true Activer le pouvoir Saut
enableExtraHealth BOOLEAN true Activer le pouvoir Vie bonus
speedAmplifier INTEGER 1 Niveau de Vitesse
damageAmplifier INTEGER 0 Niveau de Force
resistanceAmplifier INTEGER 1 Niveau de Résistance
jumpAmplifier INTEGER 3 Niveau de Saut
️ Taupe Gun
Item : Selle |
Spécial : Oui
À l'ouverture du PvP, un ou plusieurs joueurs par équipe sont
secrètement convertis en Taupes et rejoignent une équipe cachée. La Taupe doit continuer de jouer normalement avec son équipe d'origine tout en servant les intérêts de l'équipe Taupe. Elle dispose d'un kit spécial, d'un chat secret (?message) et de commandes dédiées.
Commandes : /taupegun (/tg)
- /tg tc — Envoyer ses coordonnées à l'équipe Taupe
- /tg ti — Ouvrir l'inventaire partagé de l'équipe Taupe
- /tg kit — Récupérer son kit de Taupe (une seule fois)
- /tg reveal — Se révéler publiquement comme Taupe (bonus pomme d'or)
7 kits possibles : Arc (Punch + Power III), Mobilité (Perles + Feather Falling), Potions, Enchantements (Prot III + Sharp III), Ressources, Feu (Fire Aspect + Flame), Invisibilité + Force
Variable
Type
Défaut
Description
mole INTEGER 1 Nombre de Taupes par équipe
molesize INTEGER 3 Taille des équipes Taupes
True Love
Item : Gâteau |
Spécial : Oui
Les équipes ne sont pas assignées à l'avance. Quand deux joueurs
sans équipe se retrouvent à portée de vue (rayon configurable), ils rejoignent automatiquement la même équipe. Les équipes se forment donc en temps réel pendant la partie selon les rencontres.
Variable
Type
Défaut
Description
sightRadius INTEGER 20 Rayon de détection (blocs)
Intégration technique
Enregistrement des scénarios (Main.java)
ScenarioManager s = ScenarioManager.get();
s.addScenario(new TaupeGun());
s.addScenario(new TrueLove());
s.addScenario(new FallenKingdom());
s.addScenario(new SkyHigh());
s.addScenario(new SuperHeros());
s.addScenario(new SlaveMarket());
s.addScenario(new King());
s.addScenario(new RandomCraft());
s.addScenario(new RandomDrop());
s.addScenario(new NetheriBus());
s.addScenario(new GoneFish());
s.addScenario(new FlowerPower());
s.addScenario(new BeatTheSanta());
s.addScenario(new Legend());
s.addScenario(new MysteryTeam());
s.addScenario(new SoulBrother());
s.addScenario(new SkyDef());
s.addScenario(new TrueLove());
Scénarios spéciaux (isSpecial() = true)
Les scénarios marqués comme spéciaux sont affichés séparément dans le menu de configuration et imposent généralement une
taille d'équipe minimale de 2. Tenter de passer en solo force automatiquement les équipes à 2.
Scénario
Force équipes à 2
TaupeGun ✅
TrueLove ✅
SoulBrother ✅
King ✅
SkyDef ✅
Tous les autres Non
Dépendances
Le module Ultimate dépend exclusivement du
Core NovaUHC et de son API publique. Il n'a aucune dépendance externe supplémentaire.