
Список изменений
GPExpansion v1.0.7
Highlights
- Timed Claim Flight — Ported claim flight from the GriefPrevention3D-ClaimFly fork and expanded it into a time-bank based toggle feature.
- Passive Claim Flight Option — Added a config toggle to allow claim flight without the time bank.
- Claim Flight Admin Tools — Added
/claimflymanagement commands for staff. - PlaceholderAPI Support — Added claim flight time/status placeholders.
- Config Repair — Fixed malformed
player-commandshandling and added automaticclaimfly.useinsertion.
New Features
Timed Claim Flight
Claim flight now grants flight only when the player has all required conditions:
- Permission:
griefprevention.claimfly.use(default:true) - Available time: player must have claim flight time remaining
- Toggle enabled: player must have claim flight enabled with
/claimflyor/claim fly - Claim access: player must be inside a claim they have access/trust in
- Gamemode: Survival or Adventure only
When active, remaining claim flight time is consumed while the player is receiving claim flight.
Passive Claim Flight Mode
Added:
passive-claim-flight: false
When set to true, players with griefprevention.claimfly.use can use claim flight in owned/trusted claims without needing claim flight time. This disables the time-bank requirement and prevents claim flight time from being consumed while passive mode is active.
Player Commands
/claimfly— Toggles personal claim flight on/off/claim fly— Alias through the main/claimcommand
Players without remaining claim flight time cannot enable the toggle.
Admin Commands
Staff with gpx.admin can manage online players' claim flight time:
/claimfly add <player|all|*> <time>/claimfly check <player|all|*>/claimfly reset <player|all|*>/claimfly take <player|all|*> <time>/claimfly set <player|all|*> <time>
Supported time examples:
30m1h1h20m12s1d
PlaceholderAPI
Added placeholders:
%claim_flight_time%— Remaining claim flight time, formatted like1h 20m 12sor0s%claim_flight%— Returnsyesif the player has claim flight time remaining, otherwiseno
Claim Flight Safety
- Automatically revokes claim flight when leaving a valid claim or running out of time
- Applies slow falling for 5 seconds if the player was actively flying when flight is revoked
- Periodic reconciler runs every 2 seconds to catch:
- Gamemode changes
- Permission revocation
- Trust/access changes
- Time expiration
- Tracks only flight granted by claimfly so other plugin flight sources are not stripped
Fixes
- Fixed
PlayerJoinEventNullPointerExceptioncaused by storing null claim values in aConcurrentHashMap - Fixed
player-commandsparsing so hyphenated permission names likesign.create.self-mailboxare not split incorrectly - Disabled the config normalization routine that could corrupt YAML indentation for
claim.toggleglobal.1 - Added automatic ensure logic for
claimfly.usein existingplayer-commandssections
Migration
The default config.yml now includes:
passive-claim-flight: false
player-commands:
- claimfly.use
Existing installs will automatically add passive-claim-flight: false if it is missing and append claimfly.use to player-commands if it is missing. This grants griefprevention.claimfly.use through the dynamic gpx.player permission path.
Claim flight balances and toggle states are stored in:
plugins/GPExpansion/claim-flight.yml
Technical Notes
- Uses GPBridge for reflection-based GriefPrevention API access
- Folia-compatible via SchedulerAdapter
- Uses a persistent claim flight manager for player time balances and toggle states
- Only applies to Survival and Adventure gamemodes
- Creative and Spectator gamemodes manage their own flight and are ignored by claimfly