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.
/* 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.});
Some examples
Here is an example on how to create a player warp.
PlayerWarpsAPI.getInstance(api -> {Location loc =newLocation(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. });});
Here is an example on how to access a player warp by its name.
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"});
Here is an example on how to access a warp player by their UUID.
PlayerWarpsAPI.getInstance(api -> {WPlayer player =api.getWarpPlayer(UUID.randomUUID());// set all the players warps as locked.player.getWarps(false).forEach(warp ->warp.setWarpLocked(true)); });