Class TriggerVolumePlayerStateSystem

All Implemented Interfaces:
ISystem<EntityStore>, QuerySystem<EntityStore>, TickableSystem<EntityStore>

public class TriggerVolumePlayerStateSystem extends EntityTickingSystem<EntityStore>
Reconciles per-player movement driven by FlyRule, which needs apply/revert semantics rather than event cancellation.

Each tick the player's position is queried against the active rules and the desired movement settings are derived from the player's default settings, so volume edits, RulesActive toggles, game mode changes (which reset movement settings), teleports, and respawns all converge on the correct state within a tick. The override is only written while the rule is active or was active last tick, so the system never fights other movement code while idle.