Flags
Flags is an interface plugin designed to bridge the gap between cuboid and other land management plugins and other plugins that would need to access them.
Based on similar concepts of Vault, Flags provides a single unified object or "Area" for developers to have basic access to the information it holds without the need to know which plugin created it. This allows developers to implement per-area features one time and have them work automatically with all the supported land management plugins.
Though it has grown far beyond it's original purpose, Flags gets it's name from it's ability to allow plugins to create "flags" or switches that change the behavior of the game or plugin in specific areas. Flags will automatically maintain the users choices and customizations, and the plugins that created the flags merely have to handle their behavior. Don't let the name fool you, plugins can use the API for hooking into areas without actually creating flags at all.
Features
- Multiple land area plugin support
- Modular flags allow you to choose only what you want.
- Developer API allows anyone to create flag plugins or interface with areas.
- Flags can be set for areas, the wilderness, or new area defaults.
- Trust lists allow you to choose players that can bypass flag effects in each area.
- Customizable player messages allow you to personalize all player flags per area.
- Customizable flag bundles allow you to set multiple flags in a single command.
- Multi-world support allows you to treat each world as a different area, including the wilderness and defaults.
- YAML and MySQL data storage options for flexible servers
- Vault economy support for purchasing flags and messages
Supported Area Plugins (optional)
Flags currently supports Factions, Factoid, Grief Prevention, InfinitePlots, PlotMe, PreciousStones, Residence, and WorldGuard. Flags also has an internal system it uses if no other system is detected. For more details on compatibility and feature sets, please visit the Area Plugins page.
Plug-ins and Modules
Included Modules
Included with Flags is a set of optional flag modules available that operate with just Bukkit. To install them, place the modules you want to use in your plugins folder, along with Flags.jar.
Module | Description |
Block Module | Adds flags based on block control. |
Border Patrol Module | Adds flags based on players moving into or out of an area. |
Core Module | Adds general flags that don't fit with any of the other included modules. |
Creature Spawn Module | Adds flags for stopping creatures from spawning. |
Damage Module | Adds flags for stopping types of player damage. |
Player Module | Adds flags based on player actions. |
Vehicle Module | Adds flags based on boats, minecarts, and horses. |
External Plugins and Modules
Below is a list of known plugins and modules not included with Flags that add their own flags. If you have developed a plugin with Flags support or a module and want it listed here, add a post to the developer forum!
Plugin | Description | Flags |
BlockNotif | Notifies moderators when players break certain blocks, logs it, and prevents it from occurring. | None. Flags is used to report the name or ID of the area defined by the system your using. |
FancyShop | Creates chest shops that trade in physical currencies. | Flags that allow shops to be restricted to specific areas. |
FlyNCreative | Allows server operators to set areas where creative mode and flight are enabled while maintaining inventories for those areas. | Flags to select Flight and/or Creative mode. |
HardcoreClaims | Grief Prevention extension that deletes claims and restores the land when a player dies. | Flags for choosing which claims get deleted and what areas players must die in to cause a deletion. |
PetStore | Manage ownership of tameable animals. | Flags for choosing where animals can be left for sale, give away, or released. |
RocketTeleport | Plugin that adds a new flare to warping/teleporting. | Flags for choosing where players can create rockets and landing zones. |
Flag Usage
NEW: Tutorial: Understanding Area, Wilderness, and Default
To set flags for an area, simply stand inside the area that you would like to set a flag for and issue the command /flag <action> <location> <flag> [value]. For more detailed information, consult the Commands page. Setting a default flag allows you to choose the behavior for all areas in the world that have not had a value previously set. Setting a wilderness flag allows you to choose the behavior for unclaimed areas.
The following examples can be used for the flag or bundle command and can be used with area, default, or wilderness. This is not an exhaustive list.
Command | Effect |
/flag get area Pvp | Retrieves the value of the flag |
/flag set wilderness NotifyExit true | Explicitly set the value of the flag. |
/flag set default SpawnMob | Toggle the current value of the flag. |
/flag help | Display a list of available flags |
Tools
Flags has the ability to use item based tools for some functionality. The items are configurable in config.yml. Below is a list of the tools available.
Tool | Default | Function |
FlagQuery | Feather | Right click in an area to view the flags currently set. Performs the same function as /flag get area or /flag get wilderness. |
Sector | Gold Hoe | If Sectors are enabled, use this tool to create a sector by right clicking to set the corners. Create subdivisions in the same manner inside an existing sector. |
Bundles
Bundles allow you to group flags together so you can set them with a single command. New bundles can be added by command or by the server operator editing the bundle.yml file. Bundles maintain their own permissions system, they do not require a flag permission even if the flag is in the bundle. Below is a list of default bundles which serve as examples and can be edited or removed. These bundles will only function if their respective modules are installed.
IMPORTANT: When adding new bundles by editing the file directly, the name should ALWAYS be lower case. Flag names are not case sensitive, and using or adding bundles with commands in-game are not case sensitive. You may use in-line YAML list format if you wish.
Bundle | Flags |
BuildCreature | BuildGolem, BuildSnowman, BuildWither |
Jail | AllowEntry, AllowLeave, AllowTpIn, AllowTpOut |
Notify | NotifyExit, NotifyEnter |
SpawnMonster | SpawnInvasion, SpawnJockey, SpawnLightning, SpawnMob, Spawner, SpawnChunk, SpawnOther |
Damage | DamageBlockExplode, DamageContact, DamageDrown, DamageFall, DamageBlockFall, DamageFire, DamageBurn, DamageLava, DamageLightning, DamageMagic, DamageMelting, DamagePoison, DamageStarve, DamageSuffocate, DamageSuicide, DamageThorns, DamageVoid, DamageWither, DamageOther |
Updater
Flags contains an automated updater feature that can check for updates and notify the console and players with permission when one is available. For more information on configuring or disabling the updater, click see the Configuration page.
Metrics
Flags reports non-identifying information about your server to MCStats.org. For more information on what is reported and how to disabled it if you would like to, please see the Questions page. To view the full set of data, click the graph below.
Discussion Forum
In order to provide more centralized and effective means of feedback and support for my growing list of plugins, a Discussion Forum has been provided. You don't even need a new account to use it! Please understand that I may not directly respond to comments on this page and I will not respond to plugin questions in the form of PM's. By posting on the forums you help others find answers to the same questions, and I don't have time to continually repeat the same answers if you want new features added! This forum is exclusively for plugins by Alshain01 and discussion of their use and development. For other concerns, please consult the Bukkit Forums.
@Alshain01
Thank you for the response! I never managed to get the PVP flag to work which made me have to look at alternatives, my spawn was being used as a newbie slaughter ground. PVP is enabled in my server properties!
That is a much better approach being able to set custom messages per flag, I was actually starting to think about a non-programming way to implement this myself, Assuming you could issue commands based on the plot, You could set different messages in the /info command and set that command to run when the flag is met, so bringing up a set of rules/information for that one plot, Areas, Spawns, Shops etc.
I will have to test this plugin out now then, see If I can get PVP protection working, as I really need to disable people being able to teleport into others claimed areas!
Would it be possible to add fly flag, that would allow all players to fly is set to true or remove ability to fly from all players if set to false? Don't know if to write it here or on GPFlags page or open a ticket if it is indeed possible?
Ok, people have been asking this for a while now, here it comes. Flags Beta 0.2.0 *should* support the Bukkit API 1.2.5 and higher.
@AtroCty I don't see anything wrong with it, but it's kind of pieced. I'm assuming you've taken snippets from various areas? Because if not, all your code has to be in a class, enum, or interface definition. Your spawn listener doesn't have isCancelled or setCancelled to override and you also have to register your listener somewhere.
@Alshain01 Thanks!
If you can't fix this, would you mind to review my code in an instant and tell me if you find any errors in it...
@AtroCty Well I just checked it out. Looks like there are only two major differences as far as the current Beta. 1. The Thorns damage cause didn't exist 2. The PlayerConsumeItem event didn't exist. The new architecture may allow me to isolate those. I'll see what I can do.
However, just a warning. Making sure this plugin works won't necessarily ensure it's dependencies do.
Any chance to getting this work on 1.4.7 (FTB Ultimate Version) ?
I am trying desperately to make a plugin myself for just a simple hotfix from preventing monster-spawns on claims, but I am failing hopeless.
@Alshain01
simply use the default fly that u get from creative, there is an lossless command for it /fly maybe implent the allowence of this plugin once ur in the worldgaurded area that fly works for them.\
i dunno i say stupid things. Any thanks for replying btw.
@CoolKill3r
I've tried implementing this at least 3 times in the past. So far I've not been successful. The PlayerToggleFlight event is sadly broken and the Bukkit team has said they won't fix it. There may be another way but I haven't found it yet.
I was wondering,is there a way to get a fly allow/deny flag? should be kewl.
@GodsDead
Thanks for the interest! I'm sorry to hear you had problems with GPFlags, I remember you had an issue with the PVP flag but I posted a response and never heard back so I thought it was fixed. (Usually no news is good news)
Flags works the same way as GP Flags in that regard. You have to have world PVP enabled in the server.properties and then you can disable it in claims (or in the unclaimed areas in GPFlags 1.6 or Flags).
To answer your other question/statements. Enter/Exit messages are the same as they were in GPFlags which was about as versatile as they can be. Not just Enter/Exit but you can customize any message given to a player by the effect of flag (referred to as "Player Flags"). So if you want a user to see "Put that rod away!" whenever they try to fish in your claim, you can do that. It also supports the same wildcards... <1> is replaced by the owner or world name, <2> is replaced by the player name receiving the message. New to Flags only, <0> is replaced by one of the following words: "world", "claim", "region", "residence", "default". So setting the message "Welcome to <1>'s <0> <2>!" would result in "Welcome to GodsDead's claim Alshain01!"
EDIT: Well I was wrong. I looked at the code and at some point during the conversion, the owner got implicit bypass for all player flags. Not sure if I like that or not. I may leave it and see how it goes. If I get comments or requests to change it I'll look into then.
Awesome.
GriefPreventionFlags never worked for me, So im currently using ClaimControl to disable PVP & Monsters at spawn & Set a custom exit message when leaving spawn to notify that they can build.
You should definitely add the option for custom messages for entering and exiting claims.
Does AllowTpIn still allow the claim owner to teleport into their home? Its one function that does not exist in ClaimControl.