跳至主要內容

[Alpha] Advanced Combat System

The Advanced Combat System adds a class tree, three active abilities, passive bonuses, and class resources to EliteMobs. It is in alpha. Balance, class definitions, and presentation are supplied by the plugin; localization and customization settings are deferred during alpha.

Enable or disable

In plugins/EliteMobs/AdvancedCombatSystem.yml:

enabled: true
allowClassAbilitiesOutsideEliteMobsWorlds: true

Reload EliteMobs after changing the file. Older experimental configuration files are not imported automatically. Review these defaults when upgrading.

Start with Adventurer

Visit Guild Training through the Adventurer's Guild greeter. Complete the Adventurer trial to unlock the starter class, then develop it through level 10 before attempting a main class trial. Adventurer teaches Dodge, Quick Strike, and Second Wind and lets players practice with any weapon.

Use /em class to inspect your profile and available training. /em class info <class> shows a class, its abilities, foundation requirements, and progress. /em class select <class> selects an unlocked form. These are player commands requiring elitemobs.command.

The five main class families are listed below. See the class reference for every specialization, its requirements, and its ability descriptions.

Class IDFoundation skillsResourceRole
paladinArmor, SwordsResolveTaunts, defense, and protection
berserkerAxes, MacesFuryClose-range damage and aggressive abilities
rangerBows, CrossbowsFocusRanged attacks and battlefield control
clericMaces, TridentsGraceHealing and party support
spellcasterStaves, WandsManaMagic attacks and spell specializations

Spellcaster requires compatible FMM with its bundled staff and wand available. The staff uses WOODEN_SPEAR, so its availability also depends on the Minecraft version. An ordinary stick, spear, or blaze rod is not a registered magic weapon. See FMM magic weapons.

Class progression and trials

Weapon and armor skills remain separate from class progression. Each class form has two foundation skills; the lower of those skills limits its effective class level. A specialization can use different foundation skills from its parent. Inspect the next form before committing to a training path.

StageEffective class levelsRequired foundation levels for admission
Adventurer1-101
Main class1-3010 in both listed skills, plus completed Adventurer
First specialization31-6030 in both listed skills, plus completed parent
Second specialization61-9060 in both listed skills, plus completed parent
Final specialization91 onward90 in both listed skills, plus completed parent

Each form also requires its trainer trial. Meeting skill requirements alone does not unlock it. Admission at the 30/60/90 boundary grants the first level of the next band; further progression remains limited by the foundation skills. Level 100 is a soft cap, not the final band's hard limit.

Trial encounters use ordinary custom bosses and Lua powers from Guild content. Follow the trainer's instructions. Missing or disabled trial content can prevent entry even when the profile requirements are met.

Class ability damage with no weapon identity does not award weapon XP. A class change does not replace weapon and armor training. The selected class and controls are captured for an active instanced run, so choosing another form does not change that run's active class.

Java controls

Press the swap-hands key, normally F, then select an ability within 12 server ticks, about 0.6 seconds at 20 TPS:

AbilityMouse or F inputHotbar alternatives
MobilityF again without sneaking1 or 7
SignatureLeft-click2 or 8
UtilityRight-click3 or 9

The alternative hotbar keys matter when 1, 2, or 3 is already selected: the client does not send another slot-change event for the same slot. The prompt shows the usable alternative. Jumping is not an ability selection.

Controls are enabled in managed EliteMobs combat content. Outside it, sneak and double-tap F to opt in or out for the current session when allowClassAbilitiesOutsideEliteMobsWorlds is enabled. The gesture consumes ability inputs while its selection window is open.

Bedrock players do not have the Java F-key ability layer. Do not treat working Geyser model delivery as proof of equivalent class controls.

HUD and weapon choice

The combat HUD shows health, the active class and its XP, resource amount, ability availability, and feedback. It activates in managed content. Its custom graphics require the current EliteMobs resource pack to reach the client, normally through ResourcePackManager.

When class mechanics are active against elites, a matching class weapon deals 10% more damage and an off-class weapon deals 20% less. Bare hands and non-weapons stay neutral, and this affinity rule does not change vanilla-mob combat. The profile shows the active form's weapon affinities; they are not always identical to its foundation skill pair.

Health and food

In managed EliteMobs combat worlds, the module adds 30 maximum health and displays a full hunger bar. That extra health does not increase the incoming elite base-damage cap. Enabling class controls in an ordinary world does not enable this health and food mode there.

Food can be eaten despite the full displayed hunger bar. Inventory food takes twice its normal consumption time, then heals one health point per saturation point supplied by the food. Native consumption effects remain intact. The temporary food components are restored when food leaves player custody or this mode ends. A consumed cake slice heals 0.4 health points.

While this mode is active, fire and poison durations are capped at 60 ticks. See damage calculations and automatic class loot for the other systems involved in gearing and combat.

When something is locked

  • Check both foundation skills and the completed parent form in /em class info <class>.
  • Complete the owning trainer's trial, including Adventurer before the main classes.
  • Check FMM's loaded staff and wand definitions if Spellcaster is unavailable.
  • Check the server log for missing Guild trial bosses or powers.
  • Finish the current instanced run before expecting a new selection to become its active class.