GriefPrevention3D

A fork of GriefPrevention that adds 3D subdivisions

File Details

GriefPrevention3D v18.2.3

  • R
  • Jul 3, 2026
  • 923.35 KB
  • 4
  • 26.2+45

File Name

GriefPrevention3D.jar

Supported Versions

  • 26.2
  • 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.2.3: claim pvp alias fix, Malay locale, per-locale startup console

GriefPrevention3D v18.2.3

Wiki: GriefPrevention3D Wiki

Fixes

/claim pvp subcommand now works in the alias system

The /claim pvp subcommand was missing from both the alias configuration and the unified command handler. Running /claim pvp returned "Unknown subcommand" and the generated alias.yml had no PvP section.

Fix:

  • Added ClaimPvp entry to Alias.java with default alias YAML (commands: [pvp], standalone: [claimpvp])
  • Registered the pvp subcommand in UnifiedClaimCommand.java with tab completion for true/false/confirm
  • Registered ClaimPvp standalone alias so the alias system can manage /claimpvp
  • The config_pvp_toggleCost* gate remains — admins must opt in by setting Claims.PvPToggle.Claim.Enabled: true (or Subdivision) in config.yml

Startup console output is now a single log line

The startup header was previously split into individual sendMessage() calls per line, producing separate timestamps. It now sends the entire block as one call, keeping the console log clean.

Features

Malay (ms_MY) locale support

The existing messages_ms_MY.yml file was not registered in MessageLocalization.BUNDLED_LOCALE_FILES or SUPPORTED_LOCALE_CODES. It is now active. Players and servers with config_locale: ms_MY will receive localized messages including the new startup strings.

Per-locale startup console messages

Four new message keys were added to Messages.java:

Key English default
AuthorTag &7by castledking, RoboMWM and BigScary
PluginTag &6The self-service anti-griefing plugin for Minecraft servers &b- Now with full 3D subdivisions
StartupDetails &fStartup details: {0}
BootFinished &7Boot finished in: &a{0}

The startup header in startups.txt was redesigned around these messages. Instead of hardcoding locale-specific text in each en1[] / es1[] / pt1[] block, the file now contains only the locale-agnostic ASCII art (p1/p2/p3) with a single ${startup} placeholder. The combined startup block — author, plugin tag, details header, and boot time — is built at runtime from the configured locale's translations.

This means all 13 supported locales now have localized startup output:

File Language
messages_en.yml English
messages_es.yml Spanish
messages_pt_BR.yml Portuguese (Brazil)
messages_fr_FR.yml French
messages_de_DE.yml German
messages_ru_RU.yml Russian
messages_zh_CN.yml Chinese (Simplified)
messages_ja_JP.yml Japanese
messages_ms_MY.yml Malay
messages_pl_PL.yml Polish
messages_tr_TR.yml Turkish
messages_uk_UA.yml Ukrainian
messages_en_PT.yml English (Pirate)

Adding or customizing startup text for any locale is now a one-line change in the corresponding messages_XX.yml — no need to edit startups.txt or the StartupHeader.java code.

Technical changes

  • Alias.java: Added ClaimPvp enum entry with YAML defaults and subcommand arguments
  • UnifiedClaimCommand.java: Registered pvp subcommand, standalone alias, handlePvp() delegating to plugin.handleClaimPvpCommand(), and createPvpTabExecutor() with tab completion
  • MessageLocalization.java: Added messages_ms_MY.yml to BUNDLED_LOCALE_FILES and ms_MY to SUPPORTED_LOCALE_CODES
  • Messages.java: Added AuthorTag, PluginTag, StartupDetails, BootFinished with docs
  • StartupHeader.java: Rewrote to build ${startup} from locale messages; removed ${details} / ${startup.time} / ${LANG_CODE} replacements (now part of the combined block); added locale-fallback-to-any-entry for p1/p2/p3; removed COL_WIDTH and formatLine/pad dead code
  • startups.txt: Stripped 9 locale-specific entries (en1-3, es1-3, pt1-3); only p1/p2/p3 remain with ${startup} placeholder
  • messages_XX.yml (all 13 locales + root): Added AuthorTag, PluginTag, StartupDetails, BootFinished with localized translations
  • GriefPrevention.java: displayEnabledHeader() sends one combined sendMessage() instead of splitting by newline