diff --git a/BetterRTPAddons/pom.xml b/BetterRTPAddons/pom.xml
index 059c843..1cf975e 100644
--- a/BetterRTPAddons/pom.xml
+++ b/BetterRTPAddons/pom.xml
@@ -7,7 +7,7 @@
me.SuperRonanCraft
BetterRTPAddons
jar
- 1.8.5
+ 1.8.6
1.8
@@ -109,7 +109,7 @@
me.SuperRonanCraft
BetterRTP
- 3.6.3
+ 3.6.6
provided
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsCommand.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsCommand.java
index aa65894..98afa1f 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsCommand.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsCommand.java
@@ -3,6 +3,7 @@ package me.SuperRonanCraft.BetterRTPAddons;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
+import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds.PortalsCommandsTabable;
@@ -65,8 +66,8 @@ public class AddonsCommand implements RTPCommand, RTPCommandHelpable {
}
@Override
- public boolean permission(CommandSender sendi) {
- return true;
+ public PermissionNode permission() {
+ return PermissionNode.USE;
}
@Override
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/PermissionNodeAddon.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/PermissionNodeAddon.java
new file mode 100644
index 0000000..c193da0
--- /dev/null
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/PermissionNodeAddon.java
@@ -0,0 +1,24 @@
+package me.SuperRonanCraft.BetterRTPAddons;
+
+import lombok.Getter;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
+import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
+
+public enum PermissionNodeAddon implements PermissionCheck {
+
+ PORTALS("addon.portals"),
+ MAGICSTICK("addon.magicstick"),
+ PARTY("addon.party"),
+ ;
+
+ @Getter private final String node;
+
+ PermissionNodeAddon(String node) {
+ this.node = PermissionCheck.getPrefix() + node;
+ }
+
+ @Override public boolean isDev() {
+ return false;
+ }
+
+}
\ No newline at end of file
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/interfaces/InterfaceCommand.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/interfaces/InterfaceCommand.java
index 98ea828..c03edab 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/interfaces/InterfaceCommand.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/interfaces/InterfaceCommand.java
@@ -3,6 +3,9 @@ package me.SuperRonanCraft.BetterRTPAddons.addons.interfaces;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
+import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
+import me.SuperRonanCraft.BetterRTPAddons.PermissionNodeAddon;
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds.PortalsCommand_Create;
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds.PortalsCommand_Loc1;
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds.PortalsCommand_Loc2;
@@ -33,8 +36,8 @@ public class InterfaceCommand implements RTPCommand, RTPCommandHelpable {
}
@Override
- public boolean permission(CommandSender sendi) {
- return BetterRTP.getInstance().getPerms().checkPerm("betterrtp.addon.portals", sendi);
+ public PermissionCheck permission() {
+ return PermissionNodeAddon.PORTALS;
}
@Override
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/magicStick/cmds/MagicStickCommand.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/magicStick/cmds/MagicStickCommand.java
index a9d6152..755c87d 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/magicStick/cmds/MagicStickCommand.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/magicStick/cmds/MagicStickCommand.java
@@ -3,6 +3,8 @@ package me.SuperRonanCraft.BetterRTPAddons.addons.magicStick.cmds;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
+import me.SuperRonanCraft.BetterRTPAddons.PermissionNodeAddon;
import me.SuperRonanCraft.BetterRTPAddons.addons.magicStick.AddonMagicStick;
import org.bukkit.command.CommandSender;
@@ -46,8 +48,8 @@ public class MagicStickCommand implements RTPCommand, RTPCommandHelpable {
}
@Override
- public boolean permission(CommandSender sendi) {
- return BetterRTP.getInstance().getPerms().checkPerm("betterrtp.addon.magicstick", sendi);
+ public PermissionCheck permission() {
+ return PermissionNodeAddon.MAGICSTICK;
}
@Override
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/parties/PartyData.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/parties/PartyData.java
index 8642d06..d07898d 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/parties/PartyData.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/parties/PartyData.java
@@ -94,7 +94,7 @@ public class PartyData {
String.valueOf(loc.getBlockZ()),
loc.getWorld().getName(),
1);*/
- BetterRTP.getInstance().getRTP().getTeleport().afterTeleport(p, loc, 0, 0, e.getOldLocation(), e.getType());
+ BetterRTP.getInstance().getRTP().getTeleport().afterTeleport(p, loc, e.getWorldPlayer(), 0, e.getOldLocation(), e.getType());
});
//Set cooldowns
if (!PermissionNode.BYPASS_COOLDOWN.check(p)) {
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/parties/cmds/PartyCommand.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/parties/cmds/PartyCommand.java
index a13073c..461dc2e 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/parties/cmds/PartyCommand.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/parties/cmds/PartyCommand.java
@@ -1,8 +1,9 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.parties.cmds;
-import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
+import me.SuperRonanCraft.BetterRTPAddons.PermissionNodeAddon;
import me.SuperRonanCraft.BetterRTPAddons.addons.parties.AddonParty;
import org.bukkit.command.CommandSender;
@@ -55,8 +56,8 @@ public class PartyCommand implements RTPCommand, RTPCommandHelpable {
}
@Override
- public boolean permission(CommandSender sendi) {
- return BetterRTP.getInstance().getPerms().checkPerm("betterrtp.addon.portals", sendi);
+ public PermissionCheck permission() {
+ return PermissionNodeAddon.PARTY;
}
@Override
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand.java
index 6f66579..9e2732e 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/portals/cmds/PortalsCommand.java
@@ -1,8 +1,9 @@
package me.SuperRonanCraft.BetterRTPAddons.addons.portals.cmds;
-import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
+import me.SuperRonanCraft.BetterRTPAddons.PermissionNodeAddon;
import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
import org.bukkit.command.CommandSender;
@@ -54,8 +55,8 @@ public class PortalsCommand implements RTPCommand, RTPCommandHelpable {
}
@Override
- public boolean permission(CommandSender sendi) {
- return BetterRTP.getInstance().getPerms().checkPerm("betterrtp.addon.portals", sendi);
+ public PermissionCheck permission() {
+ return PermissionNodeAddon.PORTALS;
}
@Override
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/rtpmenu/RTPMenu_SelectWorld.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/rtpmenu/RTPMenu_SelectWorld.java
index ddb17c1..1fe21e2 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/rtpmenu/RTPMenu_SelectWorld.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/rtpmenu/RTPMenu_SelectWorld.java
@@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTPAddons.addons.rtpmenu;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdTeleport;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.messages.Message;
import me.SuperRonanCraft.BetterRTPAddons.util.Files;
@@ -26,7 +27,7 @@ public class RTPMenu_SelectWorld {
List bukkit_worlds = Bukkit.getWorlds();
List actual_worlds = new ArrayList<>();
for (World world : bukkit_worlds) {
- if (pl.getWorlds().containsKey(world.getName()) && PermissionNode.getAWorld(p, world.getName()))
+ if (pl.getWorlds().containsKey(world.getName()) && PermissionCheck.getAWorld(p, world.getName()))
actual_worlds.add(world);
}
if (actual_worlds.isEmpty() || (actual_worlds.size() <= 1 && !BetterRTP.getInstance().getSettings().isDebug())) {
diff --git a/pom.xml b/pom.xml
index 8607a46..7255aeb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
me.SuperRonanCraft
BetterRTP
jar
- 3.6.5
+ 3.6.6
1.8
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommand.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommand.java
index 09249d9..192a810 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommand.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommand.java
@@ -1,5 +1,6 @@
package me.SuperRonanCraft.BetterRTP.player.commands;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
@@ -13,8 +14,7 @@ public interface RTPCommand {
List tabComplete(CommandSender sendi, String[] args);
- @NotNull
- PermissionNode permission();
+ @NotNull PermissionCheck permission();
String getName();
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdInfo.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdInfo.java
index 6fb9b34..21632c3 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdInfo.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdInfo.java
@@ -6,6 +6,7 @@ import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
import me.SuperRonanCraft.BetterRTP.player.rtp.effects.RTPEffect_Particles;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
import me.SuperRonanCraft.BetterRTP.references.messages.Message;
@@ -185,7 +186,7 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
String _true = "&aTrue", _false = "&bFalse";
info.add("&bRTP info for &7" + world.getName() + (player != null ? " &d(personalized)" : ""));
info.add("&7- &eViewing as: &b" + (player != null ? player.getName() : "ADMIN"));
- info.add("&7- &6Allowed: " + (player != null ? PermissionNode.getAWorld(player, world.getName()) ? _true : _false : "&cN/A"));
+ info.add("&7- &6Allowed: " + (player != null ? PermissionCheck.getAWorld(player, world.getName()) ? _true : _false : "&cN/A"));
if (pl.getRTP().getDisabledWorlds().contains(world.getName()) && !pl.getRTP().overriden.containsKey(world.getName())) //World disabled
info.add("&7- &eDisabled: " + _true);
else {
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLocation.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLocation.java
index dee9365..8c63c7f 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLocation.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdLocation.java
@@ -4,6 +4,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
@@ -91,7 +92,7 @@ public class CmdLocation implements RTPCommand, RTPCommandHelpable {
for (Map.Entry location : BetterRTP.getInstance().getRTP().getRTPworldLocations().entrySet()) {
boolean add = true;
if (needPermission) //Do we need permission to go to this location?
- add = PermissionNode.getLocation(sendi, location.getKey());
+ add = PermissionCheck.getLocation(sendi, location.getKey());
if (add && needSameWorld) //Can be added and needs same world (if not same world, we don't care to check)
add = world == null || location.getValue().getWorld().equals(world);
if (add) //Location can be added to list
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdWorld.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdWorld.java
index 19a1386..6abcba2 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdWorld.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdWorld.java
@@ -4,6 +4,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP_Info;
@@ -45,7 +46,7 @@ public class CmdWorld implements RTPCommand, RTPCommandHelpable {
for (World w : Bukkit.getWorlds()) {
String _wName = w.getName().replace(" ", "_");
if (w.getName().startsWith(args[1]) && !BetterRTP.getInstance().getRTP().getDisabledWorlds().contains(_wName)
- && PermissionNode.getAWorld(sendi, _wName))
+ && PermissionCheck.getAWorld(sendi, _wName))
list.add(_wName);
}
} else if (args.length >= 3) {
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPTeleport.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPTeleport.java
index 88d2f38..aa705fd 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPTeleport.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPTeleport.java
@@ -85,7 +85,7 @@ public class RTPTeleport {
effects.getTitles().showTitle(RTPEffect_Titles.RTP_TITLE_TYPE.TELEPORT, p, loc, attempts, 0);
if (effects.getTitles().sendMsg(RTPEffect_Titles.RTP_TITLE_TYPE.TELEPORT))
sendSuccessMsg(p, p.getName(), loc, wPlayer, true, attempts);
- getPl().getServer().getPluginManager().callEvent(new RTP_TeleportPostEvent(p, loc, oldLoc, type));
+ getPl().getServer().getPluginManager().callEvent(new RTP_TeleportPostEvent(p, loc, oldLoc, wPlayer, type));
}
public boolean beforeTeleportInstant(CommandSender sendi, Player p) {
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/PermissionCheck.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/PermissionCheck.java
new file mode 100644
index 0000000..47445e1
--- /dev/null
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/PermissionCheck.java
@@ -0,0 +1,60 @@
+package me.SuperRonanCraft.BetterRTP.references;
+
+import lombok.Getter;
+import me.SuperRonanCraft.BetterRTP.BetterRTP;
+import org.bukkit.command.CommandSender;
+import org.jetbrains.annotations.NotNull;
+
+public interface PermissionCheck {
+
+ static String getPrefix() {
+ return "betterrtp.";
+ }
+
+ default boolean check(CommandSender sendi) {
+ if (isDev())
+ return sendi.getName().equalsIgnoreCase("SuperRonanCraft") || sendi.getName().equalsIgnoreCase("RonanCrafts");
+ return BetterRTP.getInstance().getPerms().checkPerm(getNode(), sendi);
+ }
+
+ static boolean check(CommandSender sendi, String check) {
+ return BetterRTP.getInstance().getPerms().checkPerm(check, sendi);
+ }
+
+ static boolean getAWorld(CommandSender sendi, String world) {
+ return getAWorldText(sendi, world).passed;
+ }
+
+ static PermissionResult getAWorldText(CommandSender sendi, @NotNull String world) {
+ String perm = getPrefix() + "world.*";
+ if (check(sendi, perm)) {
+ return new PermissionResult(perm, true);
+ } else {
+ perm = getPrefix() + "world." + world;
+ if (check(sendi, perm))
+ return new PermissionResult(perm, true);
+ }
+ return new PermissionResult(perm, false);
+ }
+
+ static boolean getLocation(CommandSender sendi, String location) {
+ return check(sendi, getPrefix() + "location." + location);
+ }
+
+ static boolean getPermissionGroup(CommandSender sendi, String group) {
+ return check(sendi, getPrefix() + "group." + group);
+ }
+
+ boolean isDev();
+
+ String getNode();
+
+ class PermissionResult {
+ @Getter private final boolean passed;
+ @Getter private final String string;
+ PermissionResult(String string, boolean passed) {
+ this.passed = passed;
+ this.string = string;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/PermissionNode.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/PermissionNode.java
index b5db8ac..89479ed 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/PermissionNode.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/PermissionNode.java
@@ -8,7 +8,7 @@ import org.bukkit.World;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
-public enum PermissionNode {
+public enum PermissionNode implements PermissionCheck {
ADMIN("admin"),
USE("use"),
@@ -31,45 +31,13 @@ public enum PermissionNode {
;
@Getter private final String node;
- private static final String prefix = "betterrtp.";
PermissionNode(String node) {
- this.node = prefix + node;
+ this.node = PermissionCheck.getPrefix() + node;
}
- public boolean check(CommandSender sendi) {
- if (this == DEVELOPER)
- return sendi.getName().equalsIgnoreCase("SuperRonanCraft") || sendi.getName().equalsIgnoreCase("RonanCrafts");
- return BetterRTP.getInstance().getPerms().checkPerm(node, sendi);
- }
-
- public static boolean check(CommandSender sendi, String check) {
- return BetterRTP.getInstance().getPerms().checkPerm(check, sendi);
- }
-
- public static boolean getAWorld(CommandSender sendi, String world) {
- return getAWorldText(sendi, world).passed;
- }
-
- public static PermissionResult getAWorldText(CommandSender sendi, @NotNull String world) {
- String perm = prefix + "world.*";
- if (check(sendi, perm)) {
- return new PermissionResult(perm, true);
- } else {
- perm = prefix + "world." + world;
- if (check(sendi, perm))
- return new PermissionResult(perm, true);
- }
- return new PermissionResult(perm, false);
- }
-
-
- public static boolean getLocation(CommandSender sendi, String location) {
- return check(sendi, prefix + "location." + location);
- }
-
- public static boolean getPermissionGroup(CommandSender sendi, String group) {
- return check(sendi, prefix + "group." + group);
+ @Override public boolean isDev() {
+ return this == DEVELOPER;
}
public static class PermissionResult {
@@ -81,4 +49,4 @@ public enum PermissionNode {
}
}
-}
+}
\ No newline at end of file
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_TeleportPostEvent.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_TeleportPostEvent.java
index 01427cb..3788aee 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_TeleportPostEvent.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/customEvents/RTP_TeleportPostEvent.java
@@ -1,6 +1,7 @@
package me.SuperRonanCraft.BetterRTP.references.customEvents;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
+import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
import org.bukkit.Location;
import org.bukkit.entity.Player;
@@ -10,12 +11,14 @@ public class RTP_TeleportPostEvent extends RTPEvent {
Location loc;
Location oldLoc;
RTP_TYPE type;
+ WorldPlayer wPlayer;
- public RTP_TeleportPostEvent(Player p, Location loc, Location oldLoc, RTP_TYPE type) {
+ public RTP_TeleportPostEvent(Player p, Location loc, Location oldLoc, WorldPlayer wPlayer, RTP_TYPE type) {
this.p = p;
this.loc = loc;
this.oldLoc = oldLoc;
this.type = type;
+ this.wPlayer = wPlayer;
}
public Player getPlayer() {
@@ -33,4 +36,8 @@ public class RTP_TeleportPostEvent extends RTPEvent {
public RTP_TYPE getType() {
return type;
}
+
+ public WorldPlayer getWorldPlayer() {
+ return wPlayer;
+ }
}
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java
index 3a79486..9ae0165 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java
@@ -10,14 +10,14 @@ public class DatabaseHandler {
@Getter private final DatabasePlayers databasePlayers = new DatabasePlayers();
@Getter private final DatabaseCooldowns databaseCooldowns = new DatabaseCooldowns();
@Getter private final DatabaseQueue databaseQueue = new DatabaseQueue();
- //@Getter private final DatabaseChunkData databaseChunks = new DatabaseChunkData();
+ @Getter private final DatabaseChunkData databaseChunks = new DatabaseChunkData();
public void load() {
Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), () -> {
databasePlayers.load();
databaseCooldowns.load();
databaseQueue.load();
- //databaseChunks.load();
+ databaseChunks.load();
});
}
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepPlaceholderAPI.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepPlaceholderAPI.java
index fb3832b..9946078 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepPlaceholderAPI.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepPlaceholderAPI.java
@@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.references.depends;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.helpers.*;
import me.SuperRonanCraft.BetterRTP.references.player.HelperPlayer;
@@ -103,7 +104,7 @@ public class DepPlaceholderAPI extends PlaceholderExpansion {
if (world == null) return "Invalid World";
world = HelperRTP.getActualWorld(player, world);
//Permission
- if (!PermissionNode.getAWorld(player, world.getName()))
+ if (!PermissionCheck.getAWorld(player, world.getName()))
return BetterRTP.getInstance().getSettings().getPlaceholder_nopermission();
RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true);
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation);
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP.java
index 8051869..01314d9 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP.java
@@ -6,6 +6,7 @@ import me.SuperRonanCraft.BetterRTP.player.rtp.RTP;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_ERROR_REQUEST_REASON;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.WarningHandler;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
@@ -174,7 +175,7 @@ public class HelperRTP {
for (Map.Entry permissionGroup : BetterRTP.getInstance().getRTP().getPermissionGroups().entrySet()) {
for (Map.Entry worldPermission : permissionGroup.getValue().getWorlds().entrySet()) {
if (pWorld.getWorld().equals(worldPermission.getValue().getWorld())) {
- if (PermissionNode.getPermissionGroup(pWorld.getPlayer(), permissionGroup.getKey())) {
+ if (PermissionCheck.getPermissionGroup(pWorld.getPlayer(), permissionGroup.getKey())) {
if (group != null) {
if (group.getPriority() < worldPermission.getValue().getPriority())
continue;
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP_Check.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP_Check.java
index 270f78f..33d4da3 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP_Check.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP_Check.java
@@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.references.helpers;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_ERROR_REQUEST_REASON;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
@@ -17,7 +18,7 @@ public class HelperRTP_Check {
return RTP_ERROR_REQUEST_REASON.IS_RTPING;
}
// Not forced and has 'betterrtp.world.'
- if (sendi == player && !PermissionNode.getAWorld(sendi, pWorld.getWorld().getName())) {
+ if (sendi == player && !PermissionCheck.getAWorld(sendi, pWorld.getWorld().getName())) {
return RTP_ERROR_REQUEST_REASON.NO_PERMISSION;
}
// Check disabled worlds
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/placeholder/PlaceholderAnalyzer.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/placeholder/PlaceholderAnalyzer.java
index d84982e..42649ab 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/placeholder/PlaceholderAnalyzer.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/placeholder/PlaceholderAnalyzer.java
@@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.references.messages.placeholder;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
+import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperDate;
import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData;
@@ -52,7 +53,7 @@ public class PlaceholderAnalyzer {
private static String perm(String str, CommandSender player, String world) {
if (str.contains(Placeholders.PERMISSION.name))
- str = str.replace(Placeholders.PERMISSION.name, PermissionNode.getAWorldText(player, world).getString());
+ str = str.replace(Placeholders.PERMISSION.name, PermissionCheck.getAWorldText(player, world).getString());
return str;
}
@@ -125,7 +126,7 @@ public class PlaceholderAnalyzer {
return str;
}
- private static String permNode(String str, PermissionNode perm) {
+ private static String permNode(String str, PermissionCheck perm) {
if (str.contains(Placeholders.PERMISSION.name))
str = str.replace(Placeholders.PERMISSION.name, perm.getNode());
return str;