Next, add Player Warps as a dependency under dependencies:
VERSION_HERE would be your exact plugin version, you will not need to update the API version every time a plugin update is out, only when an api update happens.
You can access the Player Warps API by getting the instance. If the plugin hasn't fully loaded the instance will return null, you can use a callback to access the API when its ready.
Some examples
Here is an example on how to create a player warp.
Here is an example on how to access a player warp by its name.
Here is an example on how to access a warp player by their UUID.
/*
Accessing the instance, can return null if not loaded.
This instance can also change when a plugin reload has
happened, so its not advisted to use this
*/
PlayerWarpsAPI api = PlayerWarpsAPI.getInstance();
PlayerWarpsAPI.getInstance(api -> { // accessing the instance when its ready.
});
PlayerWarpsAPI.getInstance(api -> {
Location loc = new Location(Bukkit.getWorld("world"), 0, 64, 0);
WPlayer owner = api.getWarpPlayer(UUID.randomUUID());
api.createPlayerWarp("Warp",
api.createWarpLocation(loc),
owner,
WarpType.NORMAL,
Bukkit.getConsoleSender(),
warp -> {
// the warp instance.
});
});
PlayerWarpsAPI.getInstance(api -> {
Warp warp = api.getPlayerWarp("Warp");
if (warp == null) return; // warp doesn't exist.
warp.setWarpName("Warp2"); // set the name from "Warp" to "Warp2"
});
PlayerWarpsAPI.getInstance(api -> {
WPlayer player = api.getWarpPlayer(UUID.randomUUID());
// set all the players warps as locked.
player.getWarps(false).forEach(warp -> warp.setWarpLocked(true));
});