File Details
GriefPrevention3D v18.1.4
- R
- Jun 18, 2026
- 797.37 KB
- 8
- 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.1.4: YAML formatting fixes and sulfur cube (26.2) protection
GriefPrevention3D v18.1.4
Wiki: GriefPrevention3D Wiki
Fixes
YAML string escaping in messages_en.yml
Fixed incorrect YAML quoting across messages_en.yml. Strings using double quotes with embedded literal quotes ("…\"...\"...") were replaced with single-quoted strings and proper apostrophe escaping (''`). This eliminates YAML parser warnings and ensures message text renders correctly.
Example fix:
# Before (double-quoted with escaped quotes)
NoDamageClaimedEntity: "That belongs to {0}."
NoDeletePermission: "You don't have permission to delete claims."
# After (single-quoted, internal quotes escaped with '')
NoDamageClaimedEntity: 'That belongs to {0}.'
NoDeletePermission: 'You don''t have permission to delete claims.'
MessageLocalization package relocation
MessageLocalization.java moved from me.thiagorigonatti.griefprevention.util to me.ryanhamshire.GriefPrevention, removing stale imports for InputStream, Properties, StandardCharsets, and List. The locale normalization utility (normalizeLocale) and language folder initializer (ensureLanguageFiles) now live in the main package, consistent with the rest of the localization loading in DataStore.loadMessages().
Features
Sulfur cube claim protection (Minecraft 26.2+)
Added full claim-based protection for the new Sulfur Cube mob introduced in Minecraft 26.2 "Chaos Cubed". Since sulfur cubes use a unique physics-based push mechanic (not standard entity damage events), two intercept points are required:
Punch (left-click) protection — SulfurCubeHandler.java
- Listens for
PlayerAnimationEvent(ARM_SWING) and raycasts forSULFUR_CUBEentities in the player's line of sight - Checks Build permission in the claim at the cube's location
- If denied, the push is undone by teleporting the cube back to its original position and resetting velocity on the next tick
- Sends existing
NoDamageClaimedEntitymessage - Handles both survival (3-block) and creative (5-block) reach distances
Right-click protection — PlayerEventHandler.onPlayerInteractEntity
- Blocks block insert/swap/retrieve interactions on sulfur cubes inside claims without Container permission
- Gated behind
config_claims_preventTheft, consistent with Animals/Fish/CopperGolem protection - Uses the same
NoDamageClaimedEntity+IgnoreClaimsAdvertisementmessage pattern
Version compatibility: No version detection needed. All checks use EntityType.name().equals("SULFUR_CUBE") string comparison. On pre-26.2 servers, no entity will match — the handlers are no-ops.
Compatibility
| Category | Support |
|---|---|
| Minecraft Versions | 1.8.8 -> 26.2.x |
| Minimum Java | Java 8 |
| Bukkit API Target | 1.13 |