GriefPrevention3D

A fork of GriefPrevention that adds 3D subdivisions

File Details

GriefPrevention3D v18.2.4

  • R
  • Jul 3, 2026
  • 926.01 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.4: fix PvP toggle command bugs and ensure PvP prevention works

GriefPrevention3D v18.2.4

Wiki: https://github.com/castledking/GriefPrevention3D/wiki

Features

PvP toggle command improvements

Fixed several bugs in the /claim pvp command to improve usability and reliability.

Optional confirm suffix

The confirm suffix is now optional. Players can use:

  • /claim pvp true - Shows confirmation message, then type /claim pvp true confirm to execute
  • /claim pvp true confirm - Executes immediately without confirmation prompt

This matches the behavior of other confirmation-based commands in the plugin.

Fixed empty argument handling

Previously, running /claim pvp with no arguments would throw an error. It now shows proper usage:

Usage: /claim pvp <true|false> [confirm]

Improved localization

Added translatable messages for PvP state descriptions:

  • PvPToggleEnable - Localizable "enable" text
  • PvPToggleDisable - Localizable "disable" text

These are used in confirmation messages instead of hardcoded English text, allowing proper translation.

Fixed placeholder documentation

Added proper placeholder documentation to confirmation messages:

  • ConfirmPvpToggleNoFee - Documents placeholders {0}, {1}, {2}, {3}
  • ConfirmPvPToggleWithFee - Documents placeholders {0}, {1}, {2}, {3}, {4}

PvP prevention now actually works

The per-claim PvP toggle was previously stored but not enforced. The claimIsPvPSafeZone() method now checks the pvpEnabled field before falling back to global config settings.

When PvP toggling is enabled and a claim has pvpEnabled = false, it is treated as a PvP safe zone and prevents PvP combat regardless of global config settings.

Startup header improvements

Minor formatting improvements to the startup header display:

  • Updated PluginTag message to use newline instead of space for better formatting
  • Removed extra newline from startups.txt template
  • Removed extra newline from StartupHeader.buildStartupBlock() method

Shaped claim merge improvements

Improved the merge claims feature when working with shaped claims. When merging shaped claims while standing in the nibbed (indented) portions, the system now creates a rectangle between the claims instead of using a Manhattan path. This approach follows the Minkowski sum principle, resulting in more intuitive and efficient claim merging for complex shaped claims.

Added new fields to track merge state for shaped claims:

  • mergeSecondEdgeIndex - Tracks the second claim's edge index for shaped claim merge
  • mergeFirstDepthPoint - Player position when first claim merge edge was selected (for nib depth)
  • mergeSecondDepthPoint - Player position when second claim merge edge was selected (for nib depth)

Technical changes

  • Added PvPToggleEnable and PvPToggleDisable messages to Messages enum
  • Updated handlePvpCommand() to handle optional confirm suffix
  • Added empty argument check in handlePvpCommand()
  • Updated confirmation messages to use translatable state strings
  • Updated placeholder documentation in ConfirmPvpToggleNoFee and ConfirmPvPToggleWithFee
  • Modified claimIsPvPSafeZone() to check pvpEnabled field before global config
  • Updated PluginTag message format in Messages.java
  • Removed extra newline from startups.txt template
  • Removed extra newline from StartupHeader.buildStartupBlock() method
  • Updated plugin.yml usage for claimpvp command to show [confirm] as optional