Compatibility
Minecraft: Java Edition
Platforms
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Creators
Details
GPFlags
GPFlags is a plugin to allow players to set flags for the world and GriefPrevention claims. It's similar to WorldGuard, but admins can empower players to self-serve by giving them access to specific flags, which they can then only use in claims they own.
GriefPrevention is required to use GPFlags.
Flags
There are over 80 flags and I frequently add more. If there's a flag you don't see here, contact me through the support Discord and I'll see if I can make it!
Click to see all flags
Flag | Description |
---|---|
AllowBlockExplosions | Similar to the GP /claimexplosions command but this one will persist through restarts. |
AllowInfest | Allows silverfish to infest blocks. |
AllowPvP | If in the config "PvP Only In PvP-Flagged Claims" is set to true, PvP will be off in the world, and you can then add a flag to a claim to allow PvP in specific claims. There is also an optional message to be sent to players when they enter these claims (can be changed in the config). |
AllowWitherDamage | Allows withers to deal damage in the claim. |
BuyAccessTrust | Allows players to buy access trust in the claim. They can use /buyaccesstrust while standing in the claim to buy access trust. The price is determined when setting the flag. |
BuyContainerTrust | Allows players to buy container trust in the claim. They can use /buycontainertrust while standing in the claim to buy container trust. The price is determined when setting the flag. |
BuyBuildTrust | Allows players to buy build trust in the claim. They can use /buybuildtrust while standing in the claim to buy build trust. The price is determined when setting the flag. |
BuySubclaim | Allows players to buy the subclaim. Buying the subclaim will give the buyer all levels of trust and will disable the flag to prevent other players from buying the subclaim after that. |
ChangeBiome | When you are using the command to set a biome, it will give you a scrollable list of available biomes. Make sure to type them in exactly. Players also need the permission gpflags.flag.changebiome.<biomename> for the biomes they are allowed to use. You need to use the BukkitAPI names for biomes, which can be found here. When a claim is deleted or a ChangeBiome flag is unset, the biome will revert back to its original state. |
CommandBlackList | Blacklist commands. Prevents players from using any commands you list in the flagged area unless they have the gpflags.bypass.commandblacklist permission . Example usage: /SetClaimFlag CommandBlackList sethome;setwarp;kit |
CommandWhiteList | Whitelist commands. The flag prevents players from using any commands except those you list in the flagged area unless they have the gpflags.bypass.commandwhitelist permission. Example usage: /SetClaimFlag CommandWhiteList tell;me;home |
EnterActionbar | Shows an actionbar to the player when they enter this area (Variables: %owner% = Owner of claim in flag, %name% = player in event). |
EnterCommand | Runs a console command when the player enters this area (Variables: %owner% = Owner of claim in flag, %name% = player in event, %uuid% = uuid of player in event) For multiple commands, separate with a semicolon (;) (make sure to not have spaces after the semicolon). |
EnterCommand-Owner | Runs a console command when the owner of this claim enters the claim (Variables: %name% = player in event, %uuid% = uuid of player in event) For multiple commands, separate with a semicolon (;) (make sure to not have spaces after the semicolon) |
EnterCommand-Members | Runs a console command when a member of this claim enters the claim (Variables: %name% = player in event, %uuid% = uuid of player in event) For multiple commands, separate with a semicolon (;) (make sure to not have spaces after the semicolon). |
EnterPlayerCommand | The same as the EnterCommand flag, except this one will run commands from a player vs from console. (Variables: %owner% = Owner of claim in flag, %name% = player in event, %uuid% = uuid of player in event) For multiple commands, separate with a semicolon (;) (make sure to not have spaces after the semicolon). |
EnterMessage | Sends a message to the player when they enter this area (Variables: %owner% = Owner of claim in flag, %name% = player in event). |
ExitActionbar | Shows an actionbar to the player when they exit this area (Variables: %owner% = Owner of claim in flag, %name% = player in event). |
ExitCommand | Runs a console command when a player exits this area (Variables: %owner% = Owner of claim in flag, %name% = player in event, %uuid% = uuid of player in event) For multiple commands, separate with a semicolon (;) (make sure to not have spaces after the semicolon). |
ExitCommand-Owner | Runs a console command when the owner of this claim exits the claim (Variables: %name% = player in event, %uuid% = uuid of player in event) For multiple commands, separate with a semicolon (;) (make sure to not have spaces after the semicolon). |
ExitCommand-Members | Runs a console command when a member of this claim exits the claim (Variables: %name% = player in event, %uuid% = uuid of player in event) For multiple commands, separate with a semicolon (;) (make sure to not have spaces after the semicolon). |
ExitPlayerCommand | Same as ExitCommand except this will run the command from player vs from console (Variables: %owner% = Owner of claim in flag, %name% = player in event, %uuid% = uuid of player in event) For multiple commands, separate with a semicolon (;) (make sure to not have spaces after the semicolon). |
ExitMessage | Sends a message to the player when they leave this area (Variables: %owner% = Owner of claim in flag, %name% = player in event). |
HealthRegen | Health is regenerated when the player is in this area. To set a value higher than 1, the player must have the permission gpflags.flag.healthregen.<amount> where amount is the highest value they can set. |
InfiniteArrows | Arrows shot into this area will be given back to the player after it makes contact. |
KeepInventory | A player will keep their inventory if they die in this area. |
KeepLevel | Prevents players' xp from dropping when they die in this area. |
KeepLoaded | Will keep the claim loaded. |
NetherPortalConsoleCommand | Executes console command when entering a Portal. Runs one or more console commands when a player steps through a nether portal in the flagged area. Use %name% or %uuid% placeholders to target the player stepping through the portal, and separate multiple command lines with semicolons (;). If your in-game command entry box is too short for all your commands, consider backing-up your flags.yml file and then modifying it with a text editor to get more command lines in for a single portal, then using /GPFReload to load your edited file. Example usage: /SetClaimFlag NetherPortalConsoleCommand tp %name% 0, 65, 0;xp 10L %name% |
NetherPortalPlayerCommand | Executes player command when entering a Portal. Causes any players who walk into a nether portal in the area where the flag is applied to automatically run a command line instead of teleporting (it runs as the player, not as a console command). Helpful to give players a /home portal or random wilderness teleport portal, for example. |
NoAnvilDamage | Prevents anvils from being damaged from being used. This flag is only supported on Paper and forks of Paper. |
NoBlockFade | Prevents blocks from fading, melting, or disappearing based on world conditions. |
NoBlockForm | Prevents blocks from forming or spreading based on world conditions. Examples: snow forming due to a snow storm, ice forming in a snowy biome like taiga or tundra, obsidian/cobblestone forming due to contact with water, and concrete forming due to mixing of concrete powder and water. |
NoBlockGravity | Prevents blocks like sand and gravel from falling. |
NoChorusFruit | Prevents players from teleporting when they eat chorus fruit in this area. |
NoCombatLoot | Clears drops on entity death. When a mob (except for players) dies in an area with this flag active, no loot will drop. Using this, you can create combat challenges where players can keep their inventories and experience (with other flags above), but prevent players from abusing those flags to farm loot. Player death loot is controlled by the above KeepInventory flag. |
NoCoralDecay | Prevents corals from decaying. |
NoCropTrampling | Prevents crops from being trampled. |
NoElytra | Prevents players from using elytra. |
NoEnderPearl | Prevents players from teleporting when they throw an ender pearl in this area. |
NoEnter | Prevents all players from entering this area. |
NoEnterPlayer | Blocks specific players from entering this area. |
NoExpiration | Disables claim expiration. |
NoExplosionDamage | Disables damage caused by explosions (ie: creepers & tnt). |
NoFallDamage | Prevents players from taking fall damage in this area. |
NoFireDamage | Prevent fire from damaging blocks in this area.Requires FireDamage in the GP config to be enabled! |
NoFireSpread | Prevent fire from spreading in this area. Requires FireSpread in the GP config to be enabled! |
NoFlight | Prevents players from flying in this area. |
NoFluidFlow | Prevents fluid from flowing in this area. |
NoGrowth | Stop plants from growing (crops) and blocks from spreading (podzol, grass, seagrass, kelp) in this area. |
NoHunger | Prevents hunger loss for all players who enter this area. |
NoIceForm | Stops ice from forming in this area. |
NoItemDamage | Prevents players' items from taking durability hits. |
NoItemDrop | Prevents players from dropping items in this area. |
NoItemPickup | Prevents players from picking up items in this area. |
NoLeafDecay | Prevents leaves from decaying in this area. |
NoLootProtection | Disables loot protection on player death. Disables GriefPrevention's player death loot "anti-theft" feature in the flagged area, allowing any player to pick up the items a player drops when he or she dies in that area. Useful for competitive areas where loot can be a reward, like PvP arenas. |
NoMapMaking | Prevents making maps. |
NoMcMMODeathPenalty | Disables McMMO death penalty - cancels McMMODeathPenalties when a player dies in a flagged area. |
NoMcMMOSkills | Prevents mcMMO skill usage (activated skills, secondary skills, disarms, etc) in the flagged area. You might use this to create PvE challenge areas or specialized PvP arenas where mcMMO won't give some players an advantage over others. |
NoMcMMoXPGain | Disables McMMO experience gaining in the claim. |
NoMobDamage | Prevents mob damage in this area. This does not affect players, this will only prevent entities from damaging passive mobs. (ex: wolves cant hurt sheep) |
NoMobSpawns | Prevents ALL mobs from spawning in this area, good or bad! |
NoMobSpawnsType | Prevents specific types of mobs from spawning in this area. Can support multiple types. Must use Spigot EntityType enums. To add multiple types, separate with a semi-colon ; Example usage: /setclaimflag NoMobSpawnsType creeper;cow;zombie;wandering_trader;phantom Permissions for this flag are per mob type, for example, gpflags.flag.nomobspawnstype.cow. |
NoMonsters | Prevents all bad mobs from spawning in this area, and will also prevent them from entering the area. If they do, they will be removed. |
NoMonsterSpawns | Prevents all bad mobs from spawning in this area. If they spawn outside of the area, they will be able to walk in. |
NoOpenDoors | Prevents players from opening doors/gates/trapdoors in a claim. This flag will follow GP's permissions, meaning an owner and a member with access trust or higher will be able to open doors. Supports parameters (doors, trapdoors, gates), to use multiple parameters, separate with a comma. |
NoPetDamage | Prevents players from damaging pets in this area. |
NoPlayerCropTrampling | Prevents players from trampling crops in the area. This will not affect crops being trampled by other entities. |
NoPlayerDamage | Prevents players from taking any damage in this area. |
NoPlayerDamageByMonster | Prevents players from taking damage from monsters in this area. |
NoSnowForm | Prevents snow from forming in this area |
NoVehicle | Stops players from placing and using vehicles (boats/minecarts) in claims |
NoVineGrowth | Stops vines from growing in this area |
NoWeatherChange | Disables weather change - prevents weather from changing in a world, even by operators using commands. If you change your mind about the weather in a world, you have to first disable the flag, then change the weather, then re-enable the flag. You should use this only with /setserverflag or /setworldflag , because it has no effect on individual land claims or subdivisions. |
NotifyEnter | Sends the claim owner a message when a player enters the claim. |
NotifyExit | Sends the claim owner a message when a player exits the claim. |
OwnerFly | Allows an owner of a claim to fly within their own claim |
OwnerMemberFly | Allows owners of the claim and members with access trust or higher to fly within the claim |
PermissionFly | Allows players with a certain permission to fly in the region. For example, to allow only members of a group to fly within their own claims, you can set PermissionFly as a defaultflag, and then give the group gpflags.bypass.permissionfly.ownclaim |
PlayerTime | You can set the time in a claim for a player. When the player enters, their time will be set to one of the 4 options. When they leave the claim, it will reset to match world time. This will not affect any game mechanics. Usage: /setclaimflag playertime <day/noon/night/midnight> |
PlayerWeather | You can set the weather a player will see when they enter a claim. This will not affect any game mechanics. /setclaimflag playerweather <sun/rain> . Thunderstorms are not supported. |
ProtectNamedMobs | This will protect mobs that have a name (ie: using a name tag or via commands). Players with container trust will still be able to harm/kill said mob, but visitors to your claim will not be able to harm them. |
RaidMemberOnly | Prevent non-members of claims from triggering raids. |
ReadLecterns | Allows players to read but not manipulate, any lectern with a book on a claim. |
RespawnLocation | Sets spawn location for the claim (Useful for PvP arenas). Overrides the usual respawn rules to respawn the player in a specific location who dies in the flagged area. For example, consider respawning a player at the beginning of a parkour challenge or just outside a pvp arena. You may optionally specify pitch and yaw (facing direction) as well. Example usages: /SetFlag RespawnLocation world 112.5 68 265.5 or /SetFlag RespawnLocation world 112.5 68 265.5 90 45 |
SpawnReasonWhitelist | Denies all mob spawns unless the spawn reason is whitelisted. |
SpleefArena | Complex flag to create spleef arenas. SpleefArena - Completely automates a Spleef minigame (players compete to remove blocks out from under each other until someone falls) in the flagged area. Example usage: /SetFlag SpleefArena minecraft:snow_block minecraft:bricks 20 . The above example will generate a snow block (minecraft:snow_block) 20 blocks above every bricks block (minecraft:bricks) in the flagged area every time a player dies in the flagged area. It will also allow ONLY snow blocks to be broken by any player even without build permission, and won't drop those blocks as items when they're broken. To set up a spleef arena, first flag the claim or subdivision as shown above. Then dig down underneath where the breakable arena surface (snow block in the above example) will be and use your marker blocks (bricks in the above example) to indicate the shape of your arena, which does NOT have to be flat, rectangular, or single-block thick. The y offset (the last flag parameter) dictates how far down you have to place the marker blocks from where you want the arena surface to generate. To test your settings, use the Vanilla /kill command while standing in the flagged area. Your death will trigger the arena surface to be built per your specifications. |
TrappedDestination | Sets trapped destination for the claim (Useful for admin claims). Allows players to use GriefPrevention's /trapped command in administrative land claims by specifying where the player will go when he gets "unstuck". Ordinarily, administrative land claims don't allow players to use the command at all. |
ViewContainers | Allows players to view but not manipulate, any container on a claim. |
Commands
/setclaimflag and /unsetclaimflag
Sets or unsets a flag in a claim you own.
Requires gpflags.command.setclaimflag and gpflags.command.unsetclaimflag
Intended for players.
/setworldflag and /unsetworldflag
Sets or unsets a flag that applies in the entire world.
Requires gpflags.command.setworldflag and gpflags.command.unsetworldflag
Intended for admins only.
/setserverflag and /unsetserverflag
Sets or unsets a flag that applies everywhere.
Requires gpflags.command.setserverflag and gpflags.command.unsetserverflag
Intended for admins only.
/setdefaultclaimflag and /unsetdefaultclaimflag
Sets or unsets default claim flags which are applied to all existing and future claims by all players.
Requires gpflags.command.setdefaultclaimflag and gpflags.command.unsetdefaultclaimflag
Intended for admins only.
/setclaimflagplayer and /unsetclaimflagplayer
Sets or unsets a claim flag where a specific player is standing. This does not have many use cases.
Requires gpflags.command.setclaimflagplayer and gpflags.command.unsetclaimflagplayer
Intended for admins only.
/bulksetflag and /bulkunsetflag
Sets or unsets a claim flag in all existing claims of a player, but will not set the flag in any future claims. This does not have many use cases.
Requires gpflags.command.bulksetflag and bulkunsetflag
Intended for admins only.
/listclaimflags
Shows the flags set at your location.
gpflags.command.listclaimflags.ownclaim lets this be used from claims you own.
gpflags.command.listclaimflags allows this to be used from all claims and outside of claims too.
Intended for players.
/allflags
Shows a list of all flags that you have permission to set.
Requires gpflags.command.allflags
Intended for players.
/gpflags help
Shows a list of GPFlags commands you can use.
Requires gpflags.command.help
Intended for players.
/gpflags reload
Reloads the config files.
Requires gpflags.command.reload
Intended for admins only.
/gpflags debug
Requires gpflags.command.debug
Shows version information.
Permissions
Flag Permissions
In addition to the permissions for the commands above, players also need permission for the specific flag that they are trying to modify. Flag permissions are formatted gpflags.flag.<flagname>
. For example, gpflags.flag.noenter
grants permission to use the noenter flag.
Bypass Trust Permissions
You can grant permissions to configure how much trust a player has to have in the claim to become immune to the restrictions or other effects from a flag.
Bypass trust permissions are only available for the following flags:
- commandblacklist
- commandwhitelist
- noenderpearl
- noelytra
- nochorusfruit
- noitemdrop
- noitempickup
- noflight
- nomcmmoskills
- nomcmmoxp
- novehicle
- permissionfly
The trust levels are the following:
- access - Allows you to bypass in claims you have accesstrust in.
- inventory - Allows you to bypass in claims you have containertrust in.
- build - Allows you to bypass in claims you have trust in.
- manage - Allows you to bypass in claims you manage.
- ownclaim - Allows you to bypass in claims you own.
- adminclaim - Allows you to bypass in admin claims.
- nonclaim - Allows you to bypass world or server flags.
The permission format is gpflags.bypass.<flagname>.<trust>
. For example, if you wanted someone to be able to bypass the novehicle flag in claims they own, you would grant them gpflags.bypass.novehicle.ownclaim
. If you want to allow someone to bypass the flag in all cases, you can leave out the permission level and it'll allow them to bypass the flag in all cases. For example, gpflags.bypass.novehicle
will allow someone to bypass the novehicle flag in all cases.
Bypassing flags in all cases
The following flags also have bypass permissions using the same format but cannot be associated with a trust level:
- nopotioneffects
- noenter
- notifyenter
- notifyexit
EnterCommand and ExitCommand Flags
The entercommand and exitcommand flags can be bypassed with gpflags.bypass.entercommand
and gpflags.bypass.exitcommand
, respectively, and these will apply to the base flag as well as the owners and members subtypes.
Fly permissions
gpflags.bypass.fly
tells GPF that you have permission to use a command like /fly through another plugin, so GPF will avoid turning off your flight when leaving claims with flight-allowing flags or on when entering them. Since 5.13.2, this permission is only needed if actively using OwnerFly, OwnerMemberFly, or PermissionFly.
Dev Builds
Development builds can be found on Jenkins and in the support Discord. Development builds usually have important fixes and the newest features, so I always recommend using them over the ones released on Modrinth.