RUNESTONE VALE

RunestoneCombat

The authoritative combat engine of RunestoneMMO — built to make damage, combat XP, mob scaling, abilities, and combat progression feel connected.

RunestoneCombat is the custom combat module for the RunestoneMMO ecosystem. It owns the combat runtime layer: damage scaling, combat XP, mob attributes, typed damage, dodge, parry, weapon identity, status effects, combat abilities, and combat stat provider integration.

Built on top of RunestoneCore, RunestoneCombat registers combat services and progression hooks into the wider system. It reads player and mob combat profiles, applies configured combat tuning, awards combat XP, and connects combat progression back into Core-side data and display systems.

In simple terms: RunestoneCore provides the shared foundation, while RunestoneCombat provides the custom battle layer that makes danger, weapons, mobs, and combat growth matter.

Platform: Minecraft Java Edition • Paper 1.21.11 • Java 21
Requires: RunestoneCore
Soft Integration: RunestoneSkills

What RunestoneCombat Owns

RunestoneCombat is the combat authority. It does not own the full server, Hub menus, NPC quests, or stamina runtime. Its job is to process combat behavior, scale mobs, award combat XP, expose combat stats, and enforce combat-specific tuning.

Combat Runtime

Processes custom damage, crits, typed damage, armor/toughness scaling, dodge, parry, guard reduction, and final damage output.

Combat XP

Awards combat XP from valid player kills using configured entity rewards, world multipliers, biome multipliers, and baby/adult variants.

Mob Scaling

Applies configured combat profiles to living mobs, including health, attack damage, defense, toughness, crit chance, and crit damage.

Combat Abilities

Provides built-in combat abilities such as Heavy Strike, Dash, and Guard with cooldowns, feedback, and combo support.

Newest Combat Highlights

RunestoneCombat has grown beyond simple damage scaling. It now includes typed combat tuning, weapon identity, progression bridges, combat status effects, built-in abilities, combat XP, mob profiles, and Core service integration.

Combat Profile Service

RunestoneCombat registers a CombatStatsProvider service so Core and other systems can read resolved combat stats through a clean service boundary.

Typed Damage Foundation

Damage can be treated as PHYSICAL, SHARP, BLUNT, PIERCE, or ARCANE, with bounded tuning for armor interaction and future expansion.

Weapon Identity

Swords, axes, maces, and tridents can receive small identity-based behavior such as crit bonus, parry interaction, guard support, weaken chance, or pierce bonus.

Abilities & Combos

Heavy Strike, Dash, and Guard are built into the combat layer, with combo windows for Dash-to-Heavy and Guard Counter style bonuses.

Combat XP Pipeline

Combat XP is awarded from valid player kills and uses config-driven mob rewards, world multipliers, biome multipliers, variant multipliers, clamping, rounding, and Core persistence.

World Rule Respect

RunestoneCombat respects Core world-rule controls such as disabling custom combat in configured areas, allowing controlled vanilla fallback where needed.

Module Boundary

RunestoneCombat is the combat runtime module. It works with Core and Skills, but it should not be treated as the owner of every player stat, every skill, every GUI, or every NPC/boss design system.

RunestoneCombat Owns

  • Combat damage listener
  • Combat XP listener
  • Combat XP manager
  • Mob attribute application
  • Combat profile resolution
  • Combat stats provider implementation
  • Typed damage and resistance tuning
  • Dodge and parry handling
  • Weapon identity behavior
  • Combat status effects
  • Built-in combat abilities
  • Combat config loading and reload behavior

Other Modules Own

  • RunestoneCore owns shared APIs, player data, combat XP storage, scoreboards, world rules, and attribute infrastructure.
  • RunestoneSkills owns skill definitions and skill XP sources such as Strength, Defense, and Exploration.
  • RunestoneStamina owns stamina drain, regen, movement penalties, stamina HUD, buffs, and stamina brews.
  • RunestoneHub owns the player Hub UI runtime and menu navigation.
  • RunestoneNPCs owns NPC quests, NPC dialogue, NPC shops, and quest state.
  • RunestoneAdminTool owns staff GUI workflows and command orchestration.

Main Systems Inside RunestoneCombat

Combat Damage Pipeline

  • Processes melee and projectile combat events
  • Resolves attacker and defender combat profiles
  • Uses attack damage, defense, armor toughness, crit chance, and crit damage
  • Applies configured scaling values from combat.yml
  • Supports minimum damage floors
  • Uses a flat unarmed/non-weapon melee damage path
  • Armor stands are excluded from custom combat handling

Combat Profiles

  • Runtime combat profile snapshots
  • Player and mob profile resolution
  • Resolved combat stat maps
  • Combat profile source breakdown support
  • Profile cache support and reload invalidation
  • Typed resistance data support
  • Metadata support for future expansion

Typed Damage

  • PHYSICAL
  • SHARP
  • BLUNT
  • PIERCE
  • ARCANE
  • Sharp can reward lower-armor targets
  • Blunt can reward higher-armor targets
  • Pierce can reduce defense contribution

Typed Resistance

  • Configurable typed resistance master toggle
  • Maximum effective resistance cap
  • Resistance values attached to combat profile snapshots
  • Designed as a bounded foundation for future item, mob, and boss identity

Dodge / Evasion

  • Defender-side chance to avoid eligible hits
  • Separate player and mob defaults
  • Global base chance
  • Maximum dodge chance cap
  • Optional progression-derived dodge bonus
  • Current agility-style source can map through Exploration

Parry / Block

  • Defender-side mitigation roll
  • Runs after dodge and before final damage is applied
  • Configurable chance and mitigation
  • Maximum mitigation cap
  • Shield bonus chance support
  • Shield bonus mitigation support

Weapon Identity

  • SWORD identity can add small crit bonus
  • AXE identity can interact with parry mitigation and weaken chance
  • MACE identity can improve guard/parry and pressure control
  • TRIDENT identity can improve pierce behavior
  • NEUTRAL identity keeps unsupported weapons from receiving special effects

Status Effects

  • BLEED status effect support
  • WEAKEN status effect support
  • SLOW exists as a reserved effect channel for future expansion
  • Bleed can pulse damage over time
  • Weaken can reduce outgoing damage
  • Stack limits and refresh behavior are configurable

Combat Abilities

  • Heavy Strike — primed melee burst ability
  • Dash — movement burst triggered by double-tap sneak behavior
  • Guard — defensive reduction window triggered through sneaking interaction behavior
  • Cooldowns use the combat ability manager
  • Can use Core cooldown service when available
  • Falls back to local cooldown tracking when needed

Combos

  • Combo system master toggle
  • Dash-to-Heavy bonus support
  • Guard Counter bonus support
  • Configurable combo window in ticks
  • Lightweight action-bar feedback for combo events

Combat XP

  • XP awarded from valid player kills
  • Projectile kills can count when the shooter is the player
  • Armor stands are ignored
  • World multiplier support
  • Biome multiplier support
  • Baby/adult variant multiplier support
  • XP reward table covers hostile and passive entities
  • Combat level is calculated through Core’s shared XP curve

Mob Attributes

  • Applies configured mob combat attributes
  • Hostile mob profiles
  • Passive/default mob fallback profiles
  • Health, attack damage, defense, toughness, crit chance, and crit damage support
  • Biome difficulty scaling support
  • Designed to make mobs feel like part of a custom MMO combat layer

Progression Bridge

  • Registers combat skill into the Core registry
  • Consumes Strength as an offensive progression source when enabled
  • Consumes Defense as a mitigation progression source when enabled
  • Uses Exploration as the current agility-style dodge source where configured
  • Reapplies attributes when combat level changes
  • Fires combat level-up event flow on level increases

World Rule Integration

  • Respects Core world-rule service
  • DISABLE_CUSTOM_COMBAT allows vanilla combat fallback in configured areas
  • Custom combat abilities do not fire where custom combat is disabled
  • Custom combat XP is not awarded where custom combat is disabled
  • Safe zones, no-PVP, and no-PVE behavior are enforced through Core world-rule infrastructure

Combat Abilities — Player-Facing Behavior

Combat abilities are configured inside combat.yml and handled by the Combat Ability Manager. They are designed as lightweight, bounded abilities that sit inside the existing combat pipeline instead of replacing it.

Heavy Strike

  • Primed burst attack ability
  • Uses configured damage multiplier
  • Has a hard safety cap for multiplier and range
  • Uses configured cooldown ticks
  • Can require runestone.ability.heavystrike if enabled in config
  • Can participate in Dash-to-Heavy combo behavior

Dash

  • Movement burst ability
  • Triggered through double-tap sneak behavior
  • Uses configured horizontal and vertical strength
  • Has hard safety caps for movement strength
  • Uses configured cooldown ticks
  • Can require runestone.ability.dash if enabled in config

Guard

  • Short defensive mitigation window
  • Triggered through sneaking interaction/right-click behavior
  • Uses configured duration ticks
  • Uses configured damage reduction
  • Has a hard safety cap for mitigation
  • Can participate in Guard Counter combo behavior

How RunestoneCombat Connects to RunestoneCore

RunestoneCombat depends on RunestoneCore. Core provides the shared APIs, combat XP storage, attribute infrastructure, world rules, event bus, cooldown service, and scoreboard/display surfaces.

Core API Usage

  • Reads and writes combat XP through Core APIs
  • Registers combat skill/progression into Core
  • Registers a combat difficulty service into Core
  • Uses Core attributes and stat display infrastructure
  • Uses Core world rules for custom-combat gating

Combat Stats Provider

  • Registers CombatStatsProvider through Bukkit services
  • Allows other systems to read resolved combat data
  • Uses DefaultCombatProfileService as the active profile service
  • Invalidates combat profile cache on reload

Level & Attribute Sync

  • Combat XP is persisted through Core
  • Combat level is calculated from total XP
  • Attribute resync runs on enable/reload where needed
  • Combat level-up events can trigger broader integrations

Commands & Permissions

RunestoneCombat has a compact admin command surface. Most combat behavior is controlled through combat.yml, while the command root is used for reloads and temporary debug toggling.

Main Command

  • /combat reload — reloads RunestoneCombat configuration and invalidates combat profile cache
  • /combat debug — toggles combat debug mode in memory

Main Permission

  • runestone.combat.admin
  • Default: OP
  • Required for /combat reload
  • Required for /combat debug

Declared Combat Permissions

  • runestone.combat — bundle permission
  • runestone.combat.xp — combat XP permission, default true
  • runestone.combat.debug — detailed combat debug permission, default OP

Ability Permissions

  • runestone.ability.heavystrike — checked only if Heavy Strike permission requirement is enabled
  • runestone.ability.dash — checked only if Dash permission requirement is enabled
  • These ability permissions are code-referenced options and may need LuckPerms setup if enabled in config

Configuration & Runtime Files

RunestoneCombat is primarily configured through combat.yml. That file controls damage behavior, abilities, XP rewards, mob profiles, scaling, world/biome multipliers, and status-effect tuning.

Main Config File

  • combat.yml
  • Generated by RunestoneCombat
  • Reloaded by /combat reload
  • Contains combat damage, XP, abilities, scaling, and mob profile tuning

Core Combat Tuning

  • combat.debug
  • combat.log-damage
  • combat.min-damage
  • combat.unarmed_flat_damage
  • combat.attack-scaling
  • combat.defense-scaling
  • combat.toughness-scaling
  • combat.critical.*

Advanced Combat Tuning

  • combat.typed_damage.*
  • combat.typed_resistance.*
  • combat.dodge.*
  • combat.parry.*
  • combat.weapon_identity.*
  • combat.status_effects.*
  • combat.progression.*

Ability Config

  • combat.abilities.enabled
  • combat.abilities.global_cooldown_multiplier
  • combat.abilities.feedback.*
  • combat.abilities.heavy_strike.*
  • combat.abilities.dash.*
  • combat.abilities.guard.*
  • combat.combos.*

Combat XP Config

  • combat.xp.default
  • combat.xp.variants.*
  • combat.xp.multipliers.world.*
  • combat.xp.multipliers.biome.*
  • combat.xp.rewards.*
  • Rewards use Bukkit EntityType names
  • Baby mobs use variant multipliers, not separate Bukkit entity types

Mob & Scaling Config

  • combat.scaling.*
  • combat.attributes.default
  • combat.attributes.player
  • combat.biome-difficulty.*
  • combat.mobs.default
  • combat.mobs.hostile.*
  • Supports configured health, attack damage, defense, toughness, crit chance, and crit damage

Anti-Exploit & Safety Rules

Combat systems can easily become abusable if they award XP from every possible damage source. RunestoneCombat includes several safeguards to protect progression value and avoid invalid rewards.

XP Award Safety

  • Combat XP requires a valid player killer
  • Projectile kills only count when the shooter resolves to the player
  • Armor stands are ignored
  • Zero-value configured entities do not grant XP
  • XP can be gated by config permission settings

Custom Combat Safety

  • Only melee and projectile combat are processed by the custom damage path
  • Non-attack causes are ignored by custom damage logic
  • Armor stands are excluded
  • Unsupported weapons resolve to neutral identity
  • Ability values have hard caps where needed

World Safety

  • Custom combat can be disabled per configured world-rule area
  • Ability triggers are skipped when custom combat is disabled
  • XP awards are skipped when custom combat is disabled
  • Core world-rule enforcement can block PVP, PVE, or safe-zone combat

Compatibility & Structure

Platform

  • Server: Paper
  • Minecraft: 1.21.11
  • Java: 21
  • Architecture: Gradle multi-module

Dependencies

  • Required: RunestoneCore
  • Softdepend: RunestoneSkills
  • Uses Core APIs for XP, events, cooldowns, world rules, attributes, and service registration

Lifecycle

  • Loads combat.yml
  • Registers combat difficulty service into Core
  • Registers combat skill bridge into Core
  • Initializes combat ability manager
  • Registers CombatStatsProvider
  • Registers damage, XP, and mob-attribute listeners
  • Unregisters services and shuts down ability manager on disable

Why RunestoneCombat Matters

A fantasy MMO realm needs combat to feel like more than vanilla hits with bigger numbers. RunestoneCombat gives Runestone Vale a dedicated combat layer that can grow with the rest of the project.

It matters because mobs can be tuned, weapons can have identity, progression can affect combat, XP can follow controlled rules, and future dungeons, boss arenas, NPC encounters, and world content can build on top of a real combat foundation.

RunestoneCombat is what helps danger, growth, weapons, mobs, and player strength become part of the same larger realm identity.

What Is Still Growing Inside RunestoneCombat

RunestoneCombat already provides a strong custom combat foundation, but the larger MMO vision still leaves room for deeper encounters, more boss content, better item identity, and stronger integration with future world systems.

Boss & Dungeon Content

The combat engine is ready to support future boss arenas, dungeon encounters, raids, trials, and custom event spaces.

More Item Identity

Typed damage, weapon identity, resistances, and profile metadata give the project room to expand custom weapons, armor, and mob weaknesses.

More Status Effects

Bleed and Weaken are active channels, while the reserved Slow channel leaves room for deeper future control effects.

More Ability Depth

Heavy Strike, Dash, and Guard provide the first built-in ability direction, with room for future active combat tools and class-like gameplay.

Deeper Progression Links

Strength, Defense, Exploration, and Combat progression can become more meaningful as Skills, Stamina, items, and encounters continue to grow.

Encounter Design

Combat profiles, world scaling, biome difficulty, and XP rewards can support more deliberate encounter balancing over time.

State of the Module

RunestoneCombat is actively serving as the combat engine for Runestone Vale. It already provides custom combat math, combat XP, ability handling, status effects, mob stat profiles, and Core service integration.

Current development direction is not only about making mobs stronger. It is about making combat feel like a real part of the MMO identity: weapons with purpose, mobs with profiles, combat XP with controlled progression, abilities with cooldowns, and battle systems that can support future dungeons and bosses.

This is the combat foundation of RunestoneMMO — the layer that turns danger, weapons, mobs, and battle progression into part of the same living realm.

Enter the Fight

RunestoneCombat is the battle engine beneath Runestone Vale. Follow its growth as combat progression, abilities, status effects, mob profiles, boss content, and future encounter systems continue to develop.