diff --git a/pom.xml b/pom.xml
index f60ddbd..7c68ccc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
me.SuperRonanCraft
BetterRTP
- 2.13.1
+ 2.13.2
1.8
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/Main.java b/src/main/java/me/SuperRonanCraft/BetterRTP/Main.java
index 8c08aac..8980a99 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/Main.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/Main.java
@@ -116,4 +116,9 @@ public class Main extends JavaPlugin {
eco.load();
perms.register();
}
+
+ public static void debug(String str) {
+ if (getInstance().getSettings().debug)
+ getInstance().getLogger().info(str);
+ }
}
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 3c29e03..5762b85 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java
@@ -21,6 +21,7 @@ public class RTP {
private final RTPTeleport teleport = new RTPTeleport();
private final RTPPluginValidation softDepends = new RTPPluginValidation();
+ private final RTPPermConfigs permConfig = new RTPPermConfigs();
//Cache
public HashMap customWorlds = new HashMap<>();
public HashMap overriden = new HashMap<>();
@@ -83,15 +84,15 @@ public class RTP {
}
if (getPl().getSettings().debug)
for (String world : world_type.keySet())
- getPl().getLogger().info("- World Type for '" + world + "' set to '" + world_type.get(world) + "'");
+ Main.debug("- World Type for '" + world + "' set to '" + world_type.get(world) + "'");
} catch (Exception e) {
e.printStackTrace();
//No World Types
}
loadWorldSettings();
-
teleport.load(); //Load teleporting stuff
+ permConfig.load(); //Load permission configs
}
public void loadWorldSettings() {
@@ -105,7 +106,7 @@ public class RTP {
for (Map.Entry, ?> entry : m.entrySet()) {
customWorlds.put(entry.getKey().toString(), new WorldCustom(entry.getKey().toString()));
if (getPl().getSettings().debug)
- getPl().getLogger().info("- Custom World '" + entry.getKey() + "' registered");
+ Main.debug("- Custom World '" + entry.getKey() + "' registered");
}
} catch (Exception e) {
//No Custom Worlds
@@ -161,6 +162,20 @@ public class RTP {
getPl().getCmd().cooldowns.remove(p.getUniqueId());
return;
}
+ // Permission Configs
+ RTPPermConfigs.RTPPermConfiguration config = permConfig.getGroup(p);
+ if (config != null) {
+ for (RTPPermConfigs.RTPPermConfigurationWorld world : config.worlds) {
+ if (pWorld.getWorld().getName().equals(world.name)) {
+ if (world.maxRad != -1)
+ pWorld.setMinRad(world.maxRad);
+ if (world.minRad != -1)
+ pWorld.setMinRad(world.minRad);
+ if (world.price != -1)
+ pWorld.setPrice(world.price);
+ }
+ }
+ }
// Delaying? Else, just go
getPl().getCmd().rtping.put(p.getUniqueId(), true); //Cache player so they cant run '/rtp' again while rtp'ing
if (getPl().getSettings().delayEnabled && delay) {
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPermConfigs.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPermConfigs.java
index 502c6b0..2a3068e 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPermConfigs.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPermConfigs.java
@@ -1,12 +1,108 @@
package me.SuperRonanCraft.BetterRTP.player.rtp;
-import java.util.ArrayList;
-import java.util.List;
+import com.sun.org.apache.xerces.internal.xs.StringList;
+import me.SuperRonanCraft.BetterRTP.Main;
+import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
+import org.bukkit.configuration.ConfigurationSection;
+import org.bukkit.configuration.file.YamlConfiguration;
+import org.bukkit.entity.Player;
+import java.util.*;
+
+@SuppressWarnings("rawtypes")
public class RTPPermConfigs {
- private List groups = new ArrayList<>();
+ private List groups = new ArrayList<>();
+
+ public RTPPermConfiguration getGroup(Player p) {
+ for (RTPPermConfiguration group : groups)
+ if (Main.getInstance().getPerms().getConfig(p, group.name))
+ return group;
+ return null;
+ }
public void load() {
+ for (RTPPermConfiguration group : groups)
+ group.worlds.clear();
+ groups.clear();
+ YamlConfiguration config = Main.getInstance().getFiles().getType(FileBasics.FILETYPE.CONFIG).getConfig();
+ List