BLWarps v2.0.0

Introducing BLWarps, a Sponge plugin for easily creating Warps - locations that players can teleport to!

You can download the latest release here.


Note: In the following commands, square brackets ([]) indicate optional arguments, and angle brackets (<>) indicate required arguments.

Warp Commands

  • /warp set [-g] <warp name> [x] [y] [z]
  • Create a new warp with name warp name and optional coordinates (x, y, z). Add the -g flag to make it a global warp.
  • /warp <warp id>
  • Warp to the warp with ID warp id.
  • /warp delete <warp id>
  • Delete the warp with ID warp id.
  • /warp list
  • List all of the warps for which one has permission to use
  • /warp info <warp id>
  • Displays information about the specified warp

Warp Region Commands

  • /warp region set [-g] <region name> <warp id> <corner1> <corner1>
  • Create a new warp region with name region name, linked warp with ID warp id and corners corner1 and corner2
  • /warp region delete <region id>
  • Delete the warp region with ID region id.
  • /warp region list
  • List all of the regions for which the player has permission to use their linked warps
  • /warp region info <region id>
  • Displays information about the warp region with ID region id

Warp Regions

A warp region is an area in a world in which a player will be warped to any arbitrary warp if they enter the region. Currently, there is no support for WorldGuard regions, but it is a planned feature. See the Warp Region Commands section above for instructions.

Warp Signs

Warp signs can be created for any previously established warp. To do this, simply place a sign anywhere in the world, and write the following text on each line:

  1. [Warp]
  2. <warp name>
  3. Doesn’t matter
  4. Doesn’t matter

If you have correctly placed the sign, the text on the sign will be colored and reformatted. To use the sign to warp, simply right click on the sign.


Permission to use a warp is given on a per-warp basis, as shown below:

  • blwarps.warp.<warp name>
    Permissions for various commands are as follows:
  • blwarps.warp.create: Permission to create a private warp
  • blwarps.warp.create-global: Permission to create a global warp
  • blwarps.warp.delete-global: Permission to delete a global warp
  • blwarps.region.create: Permission to create a private warp region
  • blwarps.region.create-global: Permission to create a global warp region
  • blwarps.region.delete-global: Permission to delete a global warp region
    You can also configure the number of private warps a player can have with the warpCreationLimit option. For example, see the following PermissionsEx configuration:
"group": {
    "test": [
            "options": {
                "warpCreationLimit": "2"


There are 3 different options for warp storage:

  • Flat File Storage
  • SQL Storage
  • REST API Storage

A more complete description of the plugin can be found at its GitHub repo.

The plugin seems to be stable, but there are probably some bugs. If you find any, or would like to request features, please leave an issue on GitHub (preferred).


Using the naming pattern of Sponge itself could cause confusion…
(i.e. “Is SpongeWarps an official plugin?” etc.)
I like the name but wouldn’t actually use it.

I was thinking exactly the same thing… If I made it “Warps” or anything similar, that would be very ambiguous… I may change it to “BLWarps” for BlockLaunchWarps. Any ideas?

1 Like

Should this be moved to Plugin Releases category?

It should, I just don’t have the “regular” trust level needed to do it (AFAIK)

Plong… :wink:

1 Like

I’d encourage you to use some more of Sponge’s builtin API for some of your plugin features:

  1. Use the SqlService to get a DataSource from a single connection url
  2. Use configurate-json or configurate-hocon (which is already included) to write the warps flatfile
  3. Use Configurate’s object mapper to construct your settings object.

It’s considered better practice to also reply a bit less on global state, instead keeping references to the appropriate object instances.

1 Like

Thanks for the input… A couple questions/comments:

  1. I already knew about SpongeAPI’s SqlService, but I didn’t see any noticeable advantages over what I am already doing. Is there an advantage to using the API’s SqlService rather than just constructing a new DBI instance?
    2/3) Thanks for telling me! I was not aware that Configurate had that functionality for serializing generic objects that were not configuration related

SqlService provides connection pooling using a common connection pool (currently HikariCP), allows globally configuring database url aliases, and configures some common connection options so stuff works more smoothly.

I think the name should be changed. I’m not bashing on your plugin. I think it’s a great project, but I think any plugins or mods with “Sponge” in the name should be left to the core developers of sponge themselves.

1 Like

Thanks for the input! No offense taken at all. I’ve just been waiting a little bit to get people’s opinions

Just refactored everything… It’s now BLWarps!

1 Like

I prefer the new name over SpongeWaps. :slight_smile:

Could someone move this to the WIP Plugins category?

paging our eager @ButterDev

Done. Consider me paged.

1 Like

@Zirconium moved it for ya :wink:


We’ve released a few new versions, and we are on v0.2.3 right now! There have been mostly bug fixes and optimizations, including:

  • A configuration rework, with comments and the like.
  • Improved commands: now only a single “/warp” command with several different sub-commands (see the README)
  • Other bug fixes and code cleanup

Keep in mind this is still very much in progress, and any input would be welcomed.

I’ve just released v1.0.0, and with it, some new features/fixes, namely the ability to manage warp groups, and grant permission for either individual warps or groups of warps. The plugin seems to be relatively stable, but as always, please report any bugs you find on the GitHub repo.

applauds I think you might have the most actively updated plugin in sponge.