diff --git a/pom.xml b/pom.xml index 0163a37..840bdf4 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ me.SuperRonanCraft BetterRTP jar - 3.0.0 + 3.0.1 1.8 @@ -75,6 +75,12 @@ + + + jitpack.io + https://jitpack.io + + spigot-repo https://hub.spigotmc.org/nexus/content/repositories/snapshots/ @@ -94,11 +100,6 @@ sk89q-repo https://maven.enginehub.org/repo/ - - - jitpack.io - https://jitpack.io - redprotect-repo @@ -217,5 +218,12 @@ 4.5.0 provided + + + com.github.cryptomorin + kingdoms + 1.10.5.2 + provided + \ No newline at end of file diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java index d2b11e2..de26892 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java @@ -4,10 +4,12 @@ import me.SuperRonanCraft.BetterRTP.references.file.FileBasics; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.references.worlds.*; import org.bukkit.Bukkit; +import org.bukkit.Location; import org.bukkit.World; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -186,4 +188,25 @@ public class RTP { rtp.randomlyTeleport(sendi); } } + + private static class Queue { + + private int queueAmount; + private final List locationList = new ArrayList<>(); + + Location getQueue() { + Location loc = null; + if (!locationList.isEmpty()) + loc = locationList.get(0); + return loc; + } + + void removeFromQueue(Location loc) { + locationList.remove(loc); + } + + void startQueue() { + + } + } } \ No newline at end of file diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPluginValidation.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPluginValidation.java index 8c716fc..c505021 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPluginValidation.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPluginValidation.java @@ -15,6 +15,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.angeschossen.lands.api.integration.LandsIntegration; import me.ryanhamshire.GriefPrevention.GriefPrevention; import org.bukkit.Location; +import org.kingdoms.constants.land.Land; public class RTPPluginValidation { //Safe locations depending on enabled dependencies @@ -26,13 +27,15 @@ public class RTPPluginValidation { //Safe locations depending on enabled depende boolean plugin_factionsUUID = getFactionsUUID(loc); boolean plugin_lands = getLands(loc); boolean plugin_residence = getResidence(loc); + boolean plugin_kingdomsx = getKingdomsx(loc); return plugin_worldguard && plugin_griefPrevention && plugin_towny && plugin_redProtect && plugin_factionsUUID && plugin_lands - && plugin_residence; + && plugin_residence + && plugin_kingdomsx; } // TESTED (v2.12.3) @@ -137,6 +140,21 @@ public class RTPPluginValidation { //Safe locations depending on enabled depende return result; } + // NOT TESTED (2.14.3) + // KingdomsX (v1.10.5.2) + // https://www.spigotmc.org/resources/kingdomsx.77670/ + private boolean getKingdomsx(Location loc) { + boolean result = true; + if (getPl().getSettings().getsDepends().isKingdomsX()) + try { + Land land = Land.getLand(loc); + result = land == null || !land.isClaimed(); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + private BetterRTP getPl() { return BetterRTP.getInstance(); } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/SoftDepends.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/SoftDepends.java index baafc55..435b54e 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/SoftDepends.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/SoftDepends.java @@ -15,6 +15,7 @@ public class SoftDepends { private boolean respect_factionsUUID = false; private boolean respect_lands = false; private boolean respect_residence = false; + private boolean respect_kingdomsx = false; //RETURNABLES private boolean worldguard = false; private boolean griefprevention = false; @@ -23,6 +24,7 @@ public class SoftDepends { private boolean factionsUUID = false; private boolean lands = false; private boolean residence = false; + private boolean kingdomsx = false; public boolean isWorldguard() { return worldguard; @@ -52,6 +54,10 @@ public class SoftDepends { return residence; } + public boolean isKingdomsX() { + return kingdomsx; + } + void load() { FileBasics.FILETYPE config = BetterRTP.getInstance().getFiles().getType(FileBasics.FILETYPE.CONFIG); String pre = "Settings.Respect."; @@ -62,6 +68,7 @@ public class SoftDepends { respect_factionsUUID = config.getBoolean( pre + "FactionsUUID"); respect_lands = config.getBoolean( pre + "Lands"); respect_residence = config.getBoolean( pre + "Residence"); + respect_kingdomsx = config.getBoolean( pre + "KingdomsX"); registerWorldguard(); registerGriefPrevention(); registerTowny(); @@ -69,6 +76,7 @@ public class SoftDepends { registerFactionsUUID(); registerLands(); registerResidence(); + registerKingdomsX(); } public void registerWorldguard() { @@ -113,6 +121,12 @@ public class SoftDepends { debug("Respecting `Residence` was " + (residence ? "SUCCESSFULLY" : "NOT") + " registered"); } + public void registerKingdomsX() { + kingdomsx = respect_kingdomsx && Bukkit.getPluginManager().isPluginEnabled("Kingdoms"); + if (respect_kingdomsx) + debug("Respecting `KingdomsX` was " + (kingdomsx ? "SUCCESSFULLY" : "NOT") + " registered"); + } + private void debug(String str) { if (BetterRTP.getInstance().getSettings().debug) BetterRTP.getInstance().getLogger().log(Level.INFO, str); diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 873e755..d687343 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -19,6 +19,8 @@ Settings: Lands: false ## Respect Residence areas (https://www.spigotmc.org/resources/residence.11480/) Residence: false + ## Respect KingdomsX areas (https://www.spigotmc.org/resources/kingdomsx.77670/) + KingdomsX: false ## Output to console some debugging info Debugger: false ## Amount of chunks to preload around a safe location diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index b8aced2..dc2a2d4 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,8 +1,18 @@ main: me.SuperRonanCraft.BetterRTP.BetterRTP -version: '3.0.0' +version: '3.0.1' name: BetterRTP author: SuperRonanCraft -softdepend: [Vault, WorldGuard, GriefPrevention, Towny, Factions, RedProtect, Lands, Residence, ProtocolLib] +softdepend: + - Vault + - WorldGuard + - GriefPrevention + - Towny + - Factions + - RedProtect + - Lands + - Residence + - ProtocolLib + - Kingdoms api-version: '1.13' commands: diff --git a/todo.yml b/todo.yml index 018811a..822d9e2 100644 --- a/todo.yml +++ b/todo.yml @@ -5,7 +5,8 @@ To-Do list for BetterRTP Worlds with spaces: - Support for worlds with spaces in their names -Add kingdoms support: +-----DONE----- +Add KingdomsX support: Wiki: https://github.com/CryptoMorin/KingdomsX/wiki/API Plugin: https://www.spigotmc.org/resources/kingdomsx.77670/