BLWarps is a Sponge plugin for easily setting locations for players to warp to.
Note: In the following commands, square brackets ([]
) indicate optional arguments, and angle brackets (<>
) indicate required arguments.
/warp set [-g] <warp name> [x] [y] [z]
warp name
and optional coordinates (x
, y
, z
). Add the -g
flag to make it a global warp./warp <warp id>
warp id
./warp delete <warp id>
warp id
./warp list
/warp info <warp id>
/warp region set [-g] <region name> <warp id> <corner1> <corner1>
region name
, linked warp with ID warp id
and corners corner1
and corner2
/warp region delete <region id>
region id
./warp region list
/warp region info <region id>
region id
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 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:
<warp name>
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 warpblwarps.warp.create-global
: Permission to create a global warpblwarps.warp.delete-global
: Permission to delete a global warpblwarps.region.create
: Permission to create a private warp regionblwarps.region.create-global
: Permission to create a global warp regionblwarps.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"
}
}
]
}
Regardless of the storage solution, each warp has 5 properties:
username/warpname
For flat file storage, warps are stored as JSON (serialized using Jackson) in the config/BLWarps/warps.json
file. A sample warps.json
file would be similar to the following:
[ {
"id" : "global/warp1",
"name" : "warp1",
"owner" : "global",
"world" : "world",
"x" : 40.3,
"y" : 41.0,
"z" : 72.07
}, {
"id" : "Zirconium/warp2",
"name" : "warp2",
"owner" : "5d30e92c-5ae2-4284-a3ee-74bc15077439",
"world" : "DIM-1",
"x" : 7.63,
"y" : 64.0,
"z" : 11.79
} ]
Any JDBC-compatible database is a valid option for storing warps. The JDBC connection URL must be specified in the sql.connection-url
. By default, the Warps will be stored in the warps
table. Currently, the name of the table cannot be changed. BLWarps uses JDBI for executing queries and mapping results to a Warp object.
For REST-based storage, HTTP requests are sent using the Jersey Client to the URI specified by the rest-uri
field in the configuration. Currently, only basic authentication is available, which uses the rest.username
and rest.password
credentials (by default, they are root
and pass
, respectively). The plugin will send the following requests, and will expect the application/json
media type as part of the response:
GET
when loading warps - must receive a List of WarpsPOST
when saving a new warpDELETE
when deleting a warp. The warp's name will be a path parameter.
http://localhost:8080/warps/deletethiswarp
BLWarps uses Maven as a dependency manager and build tool. To build the plugin from source, make sure Maven is installed, and run mvn clean install
. The newly built plugin will be in target/bl-warps-{version}.jar
. For developing, run the Maven build once, then add the target/generated-sources/java-templates
directory as a source folder (see graphic below for how to do this in Eclipse).