
Список изменений
GriefPrevention3D v17.4.3
Wiki: https://github.com/castledking/GriefPrevention3D/wiki
Highlights
- Unified command hardening — Fixed several standalone command edge cases and permission checks.
- PlaceholderAPI support — Added a small optional GP3D PlaceholderAPI expansion.
- More claim protections — Added protections for animal mounting, entity unleashing, hanging entities, and weaving cobwebs.
- QuickShop-Hikari compatibility — Restore-nature now preserves QuickShop shop signs.
- Claim expiration exemption — Players with the griefprevention.dontexpire permission are now skipped by inactive-claim cleanup when Vault is installed.
Unified Commands
The unified command handler now handles standalone aliases more carefully:
- Explicit empty
standalone:lists inalias.ymlnow disable standalone aliases for that subcommand instead of falling back to enum defaults. - Standalone no-argument commands now reject extra arguments instead of forwarding unexpected input.
- Standalone commands can now use custom tab completion where needed.
- Unified subcommands now check their configured permission before execution.
/shapedclaims,/claim mode shaped,/3dsubdivideclaims, and/claim mode 3dnow consistently enforce their dedicated permissions.
Affected files: CommandAliasConfiguration.java, UnifiedCommandHandler.java, UnifiedClaimCommand.java, UnifiedAdminClaimCommand.java, GriefPrevention.java, plugin.yml.
PlaceholderAPI
Added optional PlaceholderAPI integration with identifier gp3d.
New placeholders:
%gp3d_in_subdivision%—truewhen the player is inside any subdivision.%gp3d_in_3d_subdivision%—truewhen the player is inside a 3D subdivision.
PlaceholderAPI is a soft dependency. The expansion registers automatically when PlaceholderAPI is installed.
Affected files: pom.xml, plugin.yml, PlaceholderAPIExpansion.java, GriefPrevention.java.
Protection Fixes
Animal mounting requires access trust
Players now need Access trust to mount claimed rideable animals. /ignoreclaims still bypasses this for administrators.
Affected file: PlayerEventHandler.java.
Entity unleashing requires container trust
When theft prevention is enabled, players now need Container trust to unleash entities inside claims. /ignoreclaims still bypasses this for administrators.
Affected file: PlayerEventHandler.java.
Hanging entity protection
Item frames, paintings, and other hanging entities are now protected from additional edge cases:
- physics breaks caused by projectiles or nearby updates while the supporting block still exists
- direct non-player damage
- player/projectile damage without Build permission
- explosion damage events
Affected file: EntityEventHandler.java.
Weaving cobwebs no longer trip block-change protection
The Weaving potion effect can now create cobwebs from living-entity deaths without being caught by unrelated entity block-change protections.
Affected file: EntityEventHandler.java.
QuickShop-Hikari Compatibility
Restore-nature now detects QuickShop shop signs by their persistent data key and preserves both:
- the shop sign itself
- the block supporting the shop sign
This prevents GP3D restore-nature operations from silently removing QuickShop shop signs through direct block restoration.
Affected files: BlockSnapshot.java, RestoreNatureProcessingTask.java.
Claim Expiration Bypass
If Vault is installed, claim expiration now honors:
griefprevention.dontexpire
Players with that permission are skipped by the inactive-claim cleanup task.
Affected files: CleanupUnusedClaimPreTask.java, plugin.yml.
Migration
No data migration required.
New optional integrations:
- Install PlaceholderAPI to use the new
%gp3d_*%placeholders. - Install Vault plus a permissions provider to use
griefprevention.dontexpire.
New permissions from v17.4.2 remain default-true:
griefprevention.shapedclaimsgriefprevention.3dsubdivideclaims