ClassResourceController

public final class ClassResourceController

Owns fixed class-resource rules and run-scoped resource amounts.

Constructors

Link copied to clipboard
public void ClassResourceController(Map<ClassResourceType, ClassResourceDefinition> resourceDefinitions)

Types

Link copied to clipboard
public final class Snapshot extends Record

Functions

Link copied to clipboard
public boolean canAfford(Player player, double amount)
Link copied to clipboard
public void close(Player player)
Link copied to clipboard
public void discard(Player player)
Link copied to clipboard
public void grant(Player player, double amount)
Grants an explicit class-mechanic resource burst, clamped by the active resource rules.
Link copied to clipboard
public boolean isOpen(UUID playerId, ClassResourceType type)
public boolean isOpen(UUID playerId, ClassResourceType type, UUID runToken)
Link copied to clipboard
public void observeDamage(Player player)
Every accepted damage source interrupts damage-free recovery, including environmental damage.
Link copied to clipboard
public void onDamageDealt(Player player, double actualDamage)
Link copied to clipboard
public void onDamagePrevented(Player player, double damagePrevented)
Link copied to clipboard
public void onDamageReceived(Player player, double actualDamage)
Link copied to clipboard
public void onEffectiveHealing(Player player, double healthRestored)
Link copied to clipboard
public void onTaunt(Player player, int affectedEnemies)
Link copied to clipboard
public void open(Player player, ClassResourceType type)

public void open(Player player, ClassResourceType type, UUID runToken)
Opens resources for one combat context.
Link copied to clipboard
public void refund(Player player, double amount)
Link copied to clipboard
public void setPracticeMode(Player player, boolean enabled)
Waiting-room practice keeps every resource mutation at capacity until the match starts.
Link copied to clipboard
public void shutdown()
Link copied to clipboard
public Optional<ClassResourceController.Snapshot> snapshot(UUID playerId)
Link copied to clipboard
public void suspend(Player player)
Pauses resources while retaining the exact run-scoped amount for reconnect.
Link copied to clipboard
public void tick(Iterable<? extends Player> players, Predicate<UUID> inCombat)
Runs once per second; nearby-entity queries share this cadence with resource recovery.
Link copied to clipboard
public boolean trySpend(Player player, double amount)