
GriefPrevention GUI Addon 4.6.1
Upgrade Grief Prevention with a sleek GUI, claim TP, custom flags, and more!
🛠️ Fixes
-
Fixed an issue where default files still use old GPExtension placeholders instead of the new griefprevgui format.
📘 New!
-
🧠 Official Wiki Launched!
A brand new GitBook wiki is now available with guides and main features.
More content will be added soon!
👉 https://toonystank.gitbook.io/grief-prevention-gui-addon
Version 4.6 - Major Update & Plugin Rename
🚨 Breaking Change Notice
This version is not backwards compatible with older versions.
To update safely:
-
Rename your GPExtension folder (inside the plugins directory) to GriefPrevGUI before updating.
-
If you have already updated and a new GriefPrevGUI folder was created, delete it and rename your existing GPExtension folder instead.
✨ Changes & Improvements
-
Plugin Renamed:
The plugin has been renamed from GPExtension to GriefPrevGUI.
Internally, it still uses the name GPExtension for backwards compatibility with older versions and placeholders. -
Modernized Plugin Look:
Updated the plugin prefix and GUI titles for a cleaner, more modern aesthetic. -
Improved Plugin Load Without GPFlags:
Fixed an issue where the plugin would fail to load correctly if GPFlags was not installed. -
ClaimList Stability Fixes:
Resolved a NullPointerException and fixed issues where some claims would not show up in the claim list. -
Custom NoMobSpawnsType Flag:
Introduced a new NoMobSpawnsType custom flag, replacing the GPFlags version.-
If you're already using GPFlags' NoMobSpawnsType, your data will be migrated automatically.
-
A brand-new GUI interface allows selecting specific mobs to block from spawning.
-
It supports filtering by spawn reasons (e.g., natural, spawner).
-
GUI type can be changed using the filter toggle at the top.
-
Fixed issue where NoMobSpawnsType flag fails to load, Corrected issue where the NoMobSpawnsType flag fails to load, resulting in claims not being displayed in the GUI
🐛 Bug Fixes
-
🛠️ Fixed an issue where the plugin would crash on Minecraft 1.19 and below.
-
🖼️ Fixed GUI title not displaying correctly.
-
📍 Fixed region visualization not working as expected.
✨ Improvements
-
/claim reload now reloads all files by default.
No need to use/claim reload all
anymore – a simple/claim reload
does it all. -
New Config Option:
disable_anvil_mode
Addeddisable_anvil_mode
inconfig.yml
.
When set totrue
, the plugin will use chat input instead of the anvil GUI for inputs.
Input messages can be customized inlanguage.yml
.
🧹 Other
-
General code cleanup and minor internal optimizations.
🛠️ Improvements
- ✅ Improved Claim Teleport – Teleportation is now async, ensuring smoother performance! 🚀
- 🎨 Enhanced Claim Visualization – Display blocks now despawn on chunk unload, keeping things clean and efficient! 🏗️✨
✨ Improvements
- Enhanced PlayerTime & PlayerWeather Flags
- These flags now properly disable their effects when a player leaves a claim after the flag has been deactivated. - Improved Timed Flight Low-Time Message
- When a player's flight time drops below 10 seconds, the message will now display:
Flight time: X seconds for better clarity.
🛠️ Fixes
- Title Color Formatting
- Fixed an issue where title colors were not formatting correctly. - Claim Teleportation Fix
- Fixed claim teleportation issues—this time, for real! 🚀 - NoDoorOpen Flag Fix
- Fixed an issue where the NoOpenDoors flag from GPFlags was not working when activated from the GUI. - Expire List Fix
- Fixed a NullPointerException when trying to open the expire list. - PlayerWeather Flag Persistence
- Fixed an issue where the PlayerWeather flag was not saving data, causing it to reset on server restart. - Sorting Issue in /claimlist expirelist
- Fixed an issue where sorting was not working correctly in
./claimlist expirelist
- Expiring Map Error
- Fixed an error when retrieving the expiring map. - PlayerTime Flag Persistence
- Fixed an issue where the PlayerTime flag was not saving correctly.
Fixes
- Flight Not Disabling on Claim Exit
- Resolved an issue where player flight was not being properly disabled upon exiting a claim.
- GUI Error (Null Item Meta)
- Fixed an error caused by null item metadata in the GUI, preventing gui from opening.
🛠️ Fixes
-
Claim List Display
- Fixed an issue where
/claimlist
was not showing all claims, including sub-claims and normal claims. - Previously, it was set to display only the main claim by default.
- Fixed an issue where
-
PlayerRegionEnterEvent Error
- Resolved an error occurring during the
PlayerRegionEnterEvent
.
- Resolved an error occurring during the
-
Preventing Unintended Kickouts
- Fixed an issue where a player could use
/claim kickout <player>
even if the target was not inside the claim. - Now, the command only works if the target player is actually within the claim.
- Fixed an issue where a player could use
-
Correct Kickout Messaging
- Resolved an issue where the system incorrectly displayed that the wrong player was kicked.
- The message now properly reflects which player was removed from the claim.
✨ Improvements
-
Block Display Metadata
- The plugin now assigns metadata to all block displays it spawns.
- A periodic check ensures that block displays with this metadata have properly despawned after the despawn method is called.
-
Owner-Only Flag Visibility
-
Added a new option in flagoptions.yml for each flag:
flagname:
owner_only: false -
When set to true, only claim owners can view and activate the flag in the flag menu.
-
-
Instant Ban Kickout
- /claim ban <player> now immediately kicks the player out of the claim instead of waiting for them to move.
-
Sub-Region Movement Detection
- Improved detection of player movement between sub-regions.
- Prevented duplicate enter and exit messages from appearing.
-
Enhanced /claim flagsettings Command
- The /claim flagsettings command now works with all custom flags, improving flexibility and customization.
🛠️ Fixes
-
Sub-Region Flag Activation
- Resolved an issue where flags could not be activated in sub-regions.
-
Sub-Region Permission Check
- Fixed a NullPointerException that occurred during sub-region permission checks.
-
Sub-Claim Menu Issue
- Resolved an issue where the sub-claim menu was not opening properly.
✨ New Features
-
Hide Flags Without Permission in Claim Upgrades: Added a new option in
flagsettings.yml
to hide flags from claim upgrades if the player does not have permission to activate them.-
Configuration:
Restrictions: # Hide flags from claim upgrade if player does not have permission to activate it HideFlagsNoPermission: enabled: false
-
By default, this feature is disabled. Set
enabled: true
to activate it.
-
-
New Commands for Claim Management: Introduced the following commands to enhance claim control:
-
/claim kickout <player> [claimid]
: Kicks a player outside the claim. -
/claim ban <player> [claimid]
: Adds a player to the blacklist for the claim (similar to the NoEnter flag). -
/claim unban <player> [claimid]
: Removes a player from the blacklist for the claim. -
/claim whitelist <player> [claimid]
: Adds a player to the whitelist for the claim (allows entry when blocked for others). -
/claim unwhitelist <player> [claimid]
: Removes a player from the whitelist for the claim. -
Command Notes:
-
<player>
= Required parameter. -
[claimid]
= Optional parameter.
-
-
🛠️ Fixes
-
Permission Handling: Resolved an issue where permissions set to NONE were incorrectly treated as valid permissions.
✨ Improvements
-
Player Ground Detection: Enhanced the detection of whether a player is on the ground, improving the flight-off balloon animation.
-
Claim Visualization: Moved claim visualization feature out of experimental. Now, this advanced claim visualization is enabled by default, making it easier to see claims with block displays.
Improvements
- Claim Icon Flag
- The Claim Icon flag now opens an icon selector menu.
- To apply this change, regenerate FlagOptions.yml. Alternatively, manually update the ClaimIcon section with the following configuration:
-
YAML:
ClaimIcon: enable: true material: ITEM_FRAME permission: activate: NONE usage: NONE order: 14 lore: - ' &7Set an icon for the claim, displayed in the GUI. The icon must be a valid material name.' - '' - ' &8• &7Status: &f%gpextension_getbyid_flags_isactiveformatted_ClaimIcon_{claimid}%' - ' &8• &7Current: &f%gpextension_getbyid_claimicon_{claimid}%' - '' requires_argument: false special: '' custom_left_click_commands: - '[player] claim menu icon {claimid}' custom_right_click_commands: - '[player] claim menu icon {claimid}' # If only_run_custom_commands is enabled, flag will not be enabled by default only_run_custom_commands: true only_run_custom_commands_on_disabled: true only_run_custom_commands_on_enabled: false
- Added support for basehead in FlagOptions.yml. Use material: basehead-base64 to enable.
- ClaimList Filter
- Introduced a new filter in ClaimList to sort claims by region type, sub-region, or region.
- Enhanced Claim Trust Detection
- Improved the detection of external changes to claim trust, including commands like /buycontainertrust.
✨ Improvements
-
Claim TransferBlock Command
- Enhanced the functionality of the
/claim transferblock
command for improved usability. - Introduced a new permission:
gpgui.command.transferblock
.
- Enhanced the functionality of the
-
Claim Teleport and Warp in The End
- Improved functionality for claim teleportation and claim warp in the End dimension.
-
Unclaim Functionality
- Enhanced the unclaim process for greater reliability and performance.
🛠️ Fixes
-
ClaimBlockSelector GUI
- Resolved an issue causing the ClaimBlockSelector GUI to not work correctly.
-
ClaimFly
- Fixed an issue where ClaimFly was not disabling when players teleported outside the region.
-
NoEnter Flag
- Addressed an issue where players could bypass the NoEnter flag by teleporting or sliding in water.
-
Claim Visualizations
- Fixed claim visualizations not displaying for newly created claims until a server restart.
-
TimedFlight
- The TimedFlight feature is now accessible and functional via the console.
-
Claim Teleport
- Resolved an issue where the claim teleport location would reset to the surface, even after being manually set.
✨ New Features
-
Timed Flight for Players:
Introduced a new feature enabling timed flight within claims, configurable inFlagSettings.yml
under thefly
section.- Key Configurations:
- 🛠️
enabled
: Set totrue
to activate timed flight. - ⏱️
initialValue
: Define starting flight time (e.g.,1m
,10m
,1h30m
).
- 🛠️
- Commands:
- 📊
/claim timedflight get <playerName>
: Check remaining flight time for a player. - ➕
/claim timedflight add <playerName> <time>
: Add flight time for a specific player. - ✍️
/claim timedflight set <playerName> <time>
: Set a specific flight time for a player. - 🌍
/claim timedflight add|set all <time>
: Add or set flight time for all players.
- 📊
- Placeholder:
%gpextension_flighttime%
displays remaining flight time.
- Key Configurations:
-
Customizable Placeholder Time Format:
Added support for customizing the format of the%gpextension_flighttime%
placeholder inlanguage.yml
.- Default Format:
&7Flight time: &a{hour} &7hours, &a{minute} &7minutes, &a{second} &7seconds
- Default Format:
🚀 Improvements
- ⚙️ Enhanced the functionality and reliability of the Fly Flag.
- 🔗 Improved Grief Prevention hook integration for better performance and compatibility.
🛠️ Fixes
- 🧱 Chain Block Displays: Resolved an issue where chain block displays would not despawn correctly in some cases.
- 🔄 Flag GUI Auto Refresh: Improved the auto-refresh functionality for the Flag GUI.
- 📝 Flags with Arguments: Ensured flags requiring arguments open the Flag GUI after using the Anvil GUI.
- ✈️ Fly Flag: Addressed multiple issues, including flight not being disabled correctly on claim exit and preventing players from retaining flight permissions outside claims.
- 🚶 Player Move Event: Fixed a
NullPointerException
during the player move event. - 🎈 Balloon Despawn: Fixed a
NullPointerException
during balloon despawn. - 🔄 GpFlags Reset: Resolved an issue where flags from GpFlags were resetting after server restarts.
- 💬 EnterMessage and ExitMessage Flags: Fixed formatting issues when using the title display mode.
🌟 Compatibility
- 🖥️ Added full support for Minecraft 1.20.4, ensuring compatibility with the latest game version.
🛠️ Fixes
- Claim Owner Null Issue: Fixed a NullPointerException that occurred when standing on a claim where the owner was null. This issue typically happened when world player data was deleted but old claims still existed.
- Command Error: Fixed a NullPointerException that occurred when using the /claim list command.
- Claim List Sorting: Fixed the sort buttons in the claim list, ensuring proper formatting and functionality.
✨ Improvements
- Automatic GUI Refresh: GUIs now automatically refresh when a button is clicked, providing a smoother user experience.
✨ New Features
- 🕒 Manager Cooldown for Claim Settings:
- Added an editable cooldown for new managers. When a player is set as a manager, they must wait for the cooldown to end before editing claim settings. This cooldown is configurable in
flagSettings.yml
.
- Added an editable cooldown for new managers. When a player is set as a manager, they must wait for the cooldown to end before editing claim settings. This cooldown is configurable in
- 📋 Navigation Icons in Claim Upgrades GUI:
- Introduced navigation icons to the Claim Upgrades (Claim Settings) GUI for easier navigation.
- Note: Reset the file for these changes to take effect.
- ⏳ Cooldown for Claim Creation Command:
- Added a 5-second cooldown to the claim creation command to prevent spam and reduce server lag.
- 🛠️ Custom Command Sections:
- Added new sections in
FlagOptions.yml
:only_run_custom_commands
custom_left_click_commands
custom_right_click_commands
- Added new sections in
- 🖼️ Custom GUIs:
- Added options in
config.yml
under thegui
section to create custom GUIs. - New example custom GUI file:
ClaimUpgradeBiomeSelector_EN.yml
. - Open custom GUIs with the command:
/claim menu customgui <guiname> {claimid} {playername}
.
- Added options in
🛠️ Fixes
- 🧱 Claim Block Sell Logic:
- Fixed and improved the logic to prevent the sale of Grief Prevention’s
InitialBlocks
.
- Fixed and improved the logic to prevent the sale of Grief Prevention’s
- 🌍 ChangeBiome Flag:
- Resolved an issue where the
ChangeBiome
flag fromgpflags
was not functioning correctly.
- Resolved an issue where the
- 🎛️ GUI Issues:
- Fixed a bug where some flags without arguments were not reopening the GUI properly.
- 🖌️ Clean Theme GUI: Fixed an issue where the clean theme would not fill the correct number of GUI items.
- 📐 Claim Creation:
- Addressed a
NullPointerException
that occurred during claim creation.
- Addressed a
- ⏰ PlayerTime Flag:
- Resolved a
NullPointerException
issue related to thePlayerTime
flag.
- Resolved a
- 🚀 Flight-Off Block Displays:
- Fixed despawning issues and improved animation for flight-off block displays.
🔧 Improvements
- 📖 GUI Navigation Icons:
- Enhanced navigation icons in GUIs to correctly calculate and display page numbers, avoiding "100+" page bugs.
- Fixed the formatting issue with <delay={number}> tags in GUI files.
🛠️ Fixes
- Fixed an issue with the
[console]
tag in GUI YMLs that prevented commands from running as console.
Bug Fixes
- 🛠️ Resolved a rare NullPointerException that occurred in specific cases.
- 🔧 Fixed an issue where unclaiming did not function correctly after resizing a claim.
- 🛑 Fixed the claim fly permission mode, ensuring it now works properly.
- ⚙️ Fixed Compatibility Issues for Minecraft version 1.21.3.
- 🔇 Fixed debug messages that were showing even when debug mode was disabled.
Improvements & Features
- 🏗️ Claim Upgrade Overhaul: Redesigned the claim upgrade system with a more modular layout in the YML file. GUI features are now easier to edit. All flag-related configurations have been moved to the new flag folder for better organization.
- 🧱 Region/Claim Visualization: Added an experimental option in config.yml to enable region visualization using Minecraft block displays. A new config option also allows you to change the block type used for visualization.
Configuration Changes
- Added support for the [console] tag in GUI YMLs to allow commands to be run as console.
- 🔀 Moved Configuration Options: The disabled_flags and flag_permissions sections are now relocated from config.yml to flagOptions.yml.
- 🗂️ File Relocation: FlagDefaults.yml and FlagOptions.yml have been moved to a new flag folder for better organization.
- ⚠️ Note: If these files are still in the main plugin folder, they won’t be deleted automatically. Please copy the content to the new location.
Flag Changes
- ❌ Flag Removal: The NoPetDamage flag has been removed.
Key Features of this Update
- Claim Upgrade Overhaul: The YML configuration for claim upgrades has been redesigned for better modularity and easier editing. Flag-related settings have been moved to the new flag folder.
- Region/Claim Visualization: A new experimental feature that uses Minecraft block displays to visualize claims and regions, with customizable block types for visualization.