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.
Enhanced Claim Icons, Trust Management, and Sorting Tools
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.
⚙️ 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.
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.
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.
📋 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
🖼️ Custom GUIs:
Added options in config.yml under the gui 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}.
🛠️ Fixes
🧱 Claim Block Sell Logic:
Fixed and improved the logic to prevent the sale of Grief Prevention’s InitialBlocks.
🌍 ChangeBiome Flag:
Resolved an issue where the ChangeBiome flag from gpflags was not functioning correctly.
🎛️ 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.
⏰ PlayerTime Flag:
Resolved a NullPointerException issue related to the PlayerTime flag.
🚀 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.
🚀 Version 4.5.24: Claim Upgrade Overhaul & Region Visualization Update
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.
🛠️ Fixed a rare NullPointerException in the sorting algorithm.
⚙️ Fixed NullPointerException when opening the GUI with a skull item.
🔧 Fixed an issue where ecoType would return null during purchases.
🚪 Fixed claim warp not teleporting to the updated location.
✨ New Features
📋 Added a way to set default flag values via FlagDefaults.yml.
🚩 Created new custom flags: EnterActionbar & ExitActionbar for enhanced action bar messages.
❌ Introduced a new command to forcefully disable flags on specific or all claims. Example: /claim disableflag all EnterMessage You are now entering %gpextension_getbyid_claimname_{claimid}%.
⚙️ Improvements
🏷️ Added a new option in the config to disable selling claim blocks.
🛠️ Fixed a NullPointerException when clicking on flag sort.
🛠️ Fixed the Claim_flag_updated in language.yml resetting on plugin reload.
🛠️ Fixed EnterMessage not working.
🛠️ Fixed flag values not displaying the correct value.
🛠️ Fixed placeholders in language.yml not formatting correctly.
🛠️ Fixed a NullPointerException on placeholder requests.
🛠️ Fixed the issue where using the No Elytra flag would disable the elytra in mid-air. It now behaves the same way as the Claim Fly flag.
🛠️ Fixed an issue in Claim Fly where gpflag.bypass.fly was not being checked properly.
🛠️ Fixed an issue where the plugin would not load when using Spigot.
🛠️ Fixed color codes not being applied when using Spigot.
🛠️ Fixed a NoSuchMethodError when using the latest Spigot build.
🛠️ Fixed an issue where the warp location placeholder was not displaying correctly.
🛠️ Fixed the ClaimDescription flag not activating.
🛠️ Fixed an issue with the No Elytra flag when used with Claim Fly.
✨ Additions
✨ Added customizable messages for those who did not have any.
✨ Added an option in the config to disable GUIs in worlds where GriefPrevention is disabled.
✨ Added a new command to exclude permission groups from receiving EntryNotify and ExitNotify. Use /claim flagsettings <claimid> <flag> <permission> (e.g., /claim flagsettings 1 ExitNotify owner to prevent the claim owner from receiving notifications when entering the claim).
🔧 Tweaks
🔧 Tweaked the No Elytra flag.
🔧 Tweaked the unclaim and trust functionalities.
🔧 Adjusted the priority of the ClaimCreatedEvent. Ensure any plugins that listen to this event have their priority set higher than normal.
📝 Note
⚠️ Spigot is loosely supported, and new features are not tested directly on Spigot. Use PaperMC instead.
GPFlags as Optional Dependency: GPFlags is now an optional dependency! Previously, it was required, but some default flags configured in the claim settings GUI still need it.
New Features ✨
Support for Latest GPFlags: Added compatibility with the latest version of GPFlags. Older versions are no longer supported.
Custom Elytra Usage Flag: Introduced a custom Elytra usage flag and added a corresponding message in the language file.
All GPFlags Support: Added support for all flags provided by GPFlags.
Teleport Restrictions: Teleport location cannot be set outside of the claim.
Improvements 🛠️
Console Message Control: Added an option in the config to remove console messages.
Bug Fixes 🐞
ClaimFly Issues Resolved: Fixed various issues related to ClaimFly.
ClaimFly Bypass Adjustment: Users with gpgui.bypass.fly or OP will now lose ClaimFly when they leave a claim. This can be disabled in the config.
🛠️ Fixed NullPointerException in commands such as leave, unclaim, trust.
🛠️ Fixed hex color not working in GUI titles.
🛠️ Fixed GUI items not displaying when the item does not have priority set. Now, if the item does not have priority, it will be set to priority 1.
✨ Features
➕ Added an option in config to disable console spam when gpflag's fly is not disabled with bypass permission.
➕ Added option to disable GUI to config.yml.
➕ Added two new messages for the teleport logic described below.
📈 Improvements
🔽 Lower file size.
🔄 Reworked teleport logic for the Nether and End. Now, if no suitable location is found in the Nether, it continues to search along the Y axis. In the End, it searches within a 20-block radius, and if no suitable location is found, it teleports to the End spawn.
🔄 Claim teleport now keeps the direction the player is looking at.
🔧 Preparations
🛠️ Preparing backend to remove GPflag's as dependency.
🐞 NullPointerException Fix: Addressed a rare occurrence of a NullPointerException when executing the leave claim command.
🐞 Blacklist and Whitelist Fix: Rectified issues related to claim entry blacklist and whitelist functionality, ensuring they now work as expected.
Optimizations:
⚙️ Performance Boost: Streamlined code by removing unnecessary toString method calls, resulting in improved efficiency.
⚙️ File Size Reduction: Successfully reduced the plugin’s file size from 2.6 MB to a leaner 1.3 MB.
Enhancements:
✨ Theme Customization: Resolved an issue where changing the theme was not functioning correctly. Now users can seamlessly customize their experience.
✨ Version Compatibility: Added support for Minecraft version 1.21, ensuring compatibility with the latest game updates.
Deprecated Features:
⚠️ OwnerFly Flag Removal: The OwnerFly flag from gpflag has been deprecated and is no longer supported. Users are encouraged to explore alternative options.
Thank you for your continued support! Feel free to explore the new features and report any feedback or issues. Happy crafting! 🛠️🌟