File Details
GriefPrevention3D v18.1.3
- R
- Jun 16, 2026
- 793.66 KB
- 4
- 26.1.2+44
File Name
GriefPrevention3D.jar
Supported Versions
- 26.1.2
- 26.1.1
- 26.1
- 1.21.5-Snapshot
- 1.21.11
- 1.21.10
- 1.21.9
- 1.21.8
- 1.21.7
- 1.21.6
- 1.21.5
- 1.21.4
- 1.21.3
- 1.21.2
- 1.21.1
- 1.21
- 1.20.3-Snapshot
- 1.20.5-Snapshot
- 1.20.6
- 1.20.5
- 1.20.4
- 1.20.3
- 1.20.2
- 1.20.1
- 1.20
- 1.19.4
- 1.19.3
- 1.19.2
- 1.19.1
- 1.19
- 1.18.2
- 1.18.1
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
- 1.11
- 1.10
- 1.9
- 1.8.3
- 1.8.1
- 1.8
v18.1.3: Locale-based message localization and startup header system
GriefPrevention3D v18.1.3
Wiki: GriefPrevention3D Wiki
Features
Locale-based message localization
Messages are now loaded from YAML files based on the GriefPrevention.Locale config setting, replacing the single messages.yml approach.
File layout:
GriefPreventionData/messages_{locale}.yml— active locale files (e.g.,messages_en.yml,messages_es.yml,messages_pt_BR.yml)GriefPreventionData/Lang/— reference copies extracted from JAR on every reload (users copy from here)GriefPreventionData/messages.yml— legacy file, still supported as fallback
Priority order:
messages_{locale}.ymlmatchingconfig_locale— respects user's locale settingmessages.yml— legacy fallback for migrated servers- Auto-detect — scans for any
messages_*.ymlif config locale file is missing - Extract from JAR — creates the file automatically if nothing exists
Auto-detection: If config_locale is set to en but only messages_es.yml exists, the plugin auto-switches to es and logs:
Locale 'en' didn't match provided messages_es.yml. Auto-switched to 'es'
Key merging: On every startup, missing keys from the JAR bundled version are merged into the user's locale file and saved, so new messages are automatically available after JAR updates.
Startup header with localized details
The server startup header now displays localized detail lines with consistent two-column alignment:
Platform: Paper 26.1.2
3D Subdivisions: ON 3D Admin Claims: ON
Nested Claims: OFF Shaped Claims: OFF
Locale: es Messages loaded: 276
Storage: File Claims Loaded: 0
- Detail block generated in code via
${details}placeholder — consistent formatting across all languages TextColorutility consolidates$/&color codes and&#RRGGBB/#RRGGBBhex to Minecraft legacy formatPlatformDetection.getServerVersion()shows actual server platform (e.g., "Paper 26.1.2") instead of boolean ON/OFF- Startup header locale matches
config_locale(with fallback:pt_BR→pt)
MessagesLoaded message
New MessagesLoaded enum constant outputs localized "Messages loaded: N" in the startup details via ${locale.info} placeholder.
Claim expiration permissions
Two new permissions added to plugin.yml:
griefprevention.checkclaimexpiry— allows players to check claim expiration statusgriefprevention.dontexpire— prevents a player's claims from expiring
Compatibility
| Category | Support |
|---|---|
| Minecraft Versions | 1.8.8 -> 26.1.x |
| Minimum Java | Java 8 |
| Bukkit API Target | 1.13 |
Migration
No data migration is required. Existing messages.yml files continue to work as legacy fallback. To use localized messages, copy messages_{locale}.yml from GriefPreventionData/Lang/ to GriefPreventionData/ and set GriefPrevention.Locale in config.yml.