From 1e3e57236fc6e88de1c906d404028b2fa1cbd9de Mon Sep 17 00:00:00 2001 From: SuperRonanCraft Date: Thu, 15 Jun 2023 00:06:14 -0400 Subject: [PATCH] RtpInfo checks + sudo command --- pom.xml | 9 +- .../player/commands/RTPCommandType.java | 1 + .../player/commands/types/CmdPlayer.java | 9 +- .../player/commands/types/CmdPlayerSudo.java | 85 +++++++++++++++++++ .../BetterRTP/player/rtp/RTP.java | 11 +-- .../BetterRTP/player/rtp/RTPDelay.java | 2 +- .../BetterRTP/player/rtp/RTPPlayer.java | 17 ++-- .../BetterRTP/player/rtp/RTPTeleport.java | 9 +- .../BetterRTP/player/rtp/RTP_PlayerInfo.java | 3 +- .../references/depends/DepEconomy.java | 20 +++-- .../references/depends/DepPlaceholderAPI.java | 14 +-- .../references/helpers/HelperRTP.java | 5 +- .../references/helpers/HelperRTP_Check.java | 26 +++--- 13 files changed, 154 insertions(+), 57 deletions(-) create mode 100644 src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdPlayerSudo.java diff --git a/pom.xml b/pom.xml index d9f2d27..1746d77 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ me.SuperRonanCraft BetterRTP jar - 3.6.10-DEV + 3.6.10-2DEV @@ -273,7 +273,9 @@ 97b96c9 provided - + xyz.xenondevs particle @@ -327,7 +329,7 @@ 2.0 provided - + pl.minecodes.plots plugin-api @@ -351,6 +353,7 @@ com.github.WhipDevelopment CrashClaim -75abe3b665-1 + provided diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommandType.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommandType.java index 0d30bc5..ee124c3 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommandType.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/RTPCommandType.java @@ -9,6 +9,7 @@ public enum RTPCommandType { INFO(new CmdInfo()), LOCATION(new CmdLocation()), PLAYER(new CmdPlayer()), + PLAYERSUDO(new CmdPlayerSudo()), QUEUE(new CmdQueue(), true), RELOAD(new CmdReload()), //SETTINGS(new CmdSettings(), true), diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdPlayer.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdPlayer.java index 5b46ac3..1039e10 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdPlayer.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdPlayer.java @@ -26,7 +26,7 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable { return "player"; } - //rtp player + //rtp player public void execute(CommandSender sendi, String label, String[] args) { if (args.length == 2) if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline()) { @@ -44,7 +44,6 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable { else if (args.length >= 3) if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline()) { World world = Bukkit.getWorld(args[2]); - RTP_PlayerInfo playerInfo = getFlags(args); if (world != null) { HelperRTP.tp(Bukkit.getPlayer(args[1]), sendi, @@ -52,7 +51,7 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable { null, RTP_TYPE.FORCED, null, - playerInfo); + getFlags(args)); } else MessagesCore.NOTEXIST.send(sendi, args[2]); } else if (Bukkit.getPlayer(args[1]) != null) @@ -76,8 +75,8 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable { if (flag.name().equalsIgnoreCase(args[i])) { switch (flag) { case NODELAY: applyDelay = false; break; - case NOCOOLDOWN: checkCooldown = false; break; - case IGNORECOOLDOWN: applyCooldown = false; break; + case NOCOOLDOWN: applyCooldown = false; break; + case IGNORECOOLDOWN: checkCooldown = false; break; case IGNOREMONEY: takeMoney = false; break; case IGNOREHUNGER: takeHunger = false; break; } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdPlayerSudo.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdPlayerSudo.java new file mode 100644 index 0000000..d9746d9 --- /dev/null +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdPlayerSudo.java @@ -0,0 +1,85 @@ +package me.SuperRonanCraft.BetterRTP.player.commands.types; + +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_PlayerInfo; +import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE; +import me.SuperRonanCraft.BetterRTP.references.PermissionNode; +import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP; +import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore; +import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp; +import me.SuperRonanCraft.BetterRTP.references.messages.MessagesUsage; +import org.bukkit.Bukkit; +import org.bukkit.World; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; + +import java.util.ArrayList; +import java.util.List; + +public class CmdPlayerSudo implements RTPCommand { + + public String getName() { + return "player_sudo"; + } + + //rtp sudoplayer + public void execute(CommandSender sendi, String label, String[] args) { + if (args.length == 2) + if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline()) { + HelperRTP.tp(Bukkit.getPlayer(args[1]), + sendi, + Bukkit.getPlayer(args[1]).getWorld(), + null, + RTP_TYPE.FORCED, + null, + new RTP_PlayerInfo(false, true, false, false, false)); + } else if (Bukkit.getPlayer(args[1]) != null) + MessagesCore.NOTONLINE.send(sendi, args[1]); + else + usage(sendi, label); + else if (args.length >= 3) + if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline()) { + World world = Bukkit.getWorld(args[2]); + if (world != null) { + HelperRTP.tp(Bukkit.getPlayer(args[1]), + sendi, + world, + null, + RTP_TYPE.FORCED, + null, + new RTP_PlayerInfo(false, true, false, false, false)); + } else + MessagesCore.NOTEXIST.send(sendi, args[2]); + } else if (Bukkit.getPlayer(args[1]) != null) + MessagesCore.NOTONLINE.send(sendi, args[1]); + else + usage(sendi, label); + else + usage(sendi, label); + } + + public List tabComplete(CommandSender sendi, String[] args) { + List list = new ArrayList<>(); + if (args.length == 2) { + for (Player p : Bukkit.getOnlinePlayers()) + if (p.getDisplayName().toLowerCase().startsWith(args[1].toLowerCase())) + list.add(p.getName()); + } else if (args.length == 3) { + for (World w : Bukkit.getWorlds()) + if (w.getName().startsWith(args[2]) && !BetterRTP.getInstance().getRTP().getDisabledWorlds().contains(w.getName())) + list.add(w.getName()); + } + return list; + } + + @NotNull public PermissionNode permission() { + return PermissionNode.RTP_OTHER; + } + + public void usage(CommandSender sendi, String label) { + MessagesUsage.RTP_OTHER.send(sendi, label); + } +} 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 115cc51..557a878 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP.java @@ -7,6 +7,7 @@ import me.SuperRonanCraft.BetterRTP.references.WarningHandler; import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_SettingUpEvent; import me.SuperRonanCraft.BetterRTP.references.file.FileOther; import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP; +import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP_Check; import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.PermissionGroup; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.*; @@ -82,12 +83,12 @@ public class RTP { if (setup.isCancelled()) return; // Second Economy check - if (pWorld.getPlayerInfo().takeMoney && !getPl().getEco().hasBalance(pWorld.getSendi(), pWorld)) { - MessagesCore.FAILED_PRICE.send(pWorld.getSendi()); + if (pWorld.getPlayerInfo().takeMoney && !getPl().getEco().hasBalance(pWorld)) { + MessagesCore.FAILED_PRICE.send(pWorld.getPlayer()); return; } - if (pWorld.getPlayerInfo().takeHunger && !getPl().getEco().hasHunger(pWorld.getSendi(), pWorld)) { - MessagesCore.FAILED_HUNGER.send(pWorld.getSendi()); + if (pWorld.getPlayerInfo().takeHunger && !getPl().getEco().hasHunger(pWorld)) { + MessagesCore.FAILED_HUNGER.send(pWorld.getPlayer()); return; } rtp(pWorld.getSendi(), pWorld, pWorld.getRtp_type()); @@ -103,7 +104,7 @@ public class RTP { //Setup player rtp methods RTPPlayer rtpPlayer = new RTPPlayer(p, this, pWorld, type); // Delaying? Else, just go - if (pWorld.getPlayerInfo().isApplyDelay() && getPl().getSettings().isDelayEnabled()) { + if (pWorld.getPlayerInfo().applyDelay && HelperRTP_Check.applyDelay(pWorld.getPlayer())) { new RTPDelay(sendi, rtpPlayer, delayTime, cancelOnMove, cancelOnDamage); } else { if (!teleport.beforeTeleportInstant(sendi, p)) diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java index ba836a6..a57e617 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java @@ -64,7 +64,7 @@ class RTPDelay implements Listener { getPl().getRTP().getTeleport().cancelledTeleport(rtp.getPlayer()); //getPl().getEco().unCharge(rtp.getPlayer(), rtp.pWorld); getPl().getCooldowns().removeCooldown(rtp.getPlayer(), rtp.worldPlayer.getWorld()); - getPl().getpInfo().getRtping().put(rtp.getPlayer(), false); + getPl().getpInfo().getRtping().remove(rtp.getPlayer()); Bukkit.getServer().getPluginManager().callEvent(new RTP_CancelledEvent(rtp.getPlayer())); } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPlayer.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPlayer.java index 10a1917..4f7568c 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPlayer.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPlayer.java @@ -26,7 +26,7 @@ public class RTPPlayer { @Getter WorldPlayer worldPlayer; @Getter RTP_TYPE type; @Getter int attempts; - List attemptedLocations = new ArrayList<>(); + //List attemptedLocations = new ArrayList<>(); RTPPlayer(Player player, RTP settings, WorldPlayer worldPlayer, RTP_TYPE type) { this.player = player; @@ -83,18 +83,19 @@ public class RTPPlayer { private void attempt(CommandSender sendi, Location loc) { Location tpLoc; tpLoc = RandomLocation.getSafeLocation(worldPlayer.getWorldtype(), worldPlayer.getWorld(), loc, worldPlayer.getMinY(), worldPlayer.getMaxY(), worldPlayer.getBiomes()); - attemptedLocations.add(loc); + //attemptedLocations.add(loc); //Valid location? if (tpLoc != null && checkDepends(tpLoc)) { tpLoc.add(0.5, 0, 0.5); //Center location - if (worldPlayer.getPlayerInfo().isTakeMoney() && getPl().getEco().charge(player, worldPlayer)) { + if (getPl().getEco().charge(player, worldPlayer)) { + //Successfully found a safe location, teleport player tpLoc.setYaw(player.getLocation().getYaw()); tpLoc.setPitch(player.getLocation().getPitch()); - AsyncHandler.sync(() -> - settings.teleport.sendPlayer(sendi, player, tpLoc, worldPlayer, attempts, type)); + AsyncHandler.sync(() -> settings.teleport.sendPlayer(sendi, player, tpLoc, worldPlayer, attempts, type)); } else { - getPl().getCooldowns().removeCooldown(player, worldPlayer.getWorld()); - getPl().getpInfo().getRtping().put(player, false); + if (worldPlayer.getPlayerInfo().applyCooldown) + getPl().getCooldowns().removeCooldown(player, worldPlayer.getWorld()); + getPl().getpInfo().getRtping().remove(player); } } else { randomlyTeleport(sendi); @@ -106,7 +107,7 @@ public class RTPPlayer { private void metMax(CommandSender sendi, Player p) { settings.teleport.failedTeleport(p, sendi); getPl().getCooldowns().removeCooldown(p, worldPlayer.getWorld()); - getPl().getpInfo().getRtping().put(p, false); + getPl().getpInfo().getRtping().remove(p); } /** 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 b731119..e753d5c 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPTeleport.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPTeleport.java @@ -115,15 +115,18 @@ public class RTPTeleport { private void loadingTeleport(Player p, CommandSender sendi) { effects.getTitles().showTitle(RTPEffect_Titles.RTP_TITLE_TYPE.LOADING, p, p.getLocation(), 0, 0); - if ((effects.getTitles().sendMsg(RTPEffect_Titles.RTP_TITLE_TYPE.LOADING) && sendStatusMessage()) || sendi != p) //Show msg if enabled or if not same player - MessagesCore.SUCCESS_LOADING.send(sendi); + if (effects.getTitles().sendMsg(RTPEffect_Titles.RTP_TITLE_TYPE.LOADING) && sendStatusMessage()) { //Show msg if enabled or if not same player + if (p == sendi) + MessagesCore.SUCCESS_LOADING.send(sendi); + MessagesCore.SUCCESS_LOADING.send(p); + } } public void failedTeleport(Player p, CommandSender sendi) { effects.getTitles().showTitle(RTPEffect_Titles.RTP_TITLE_TYPE.FAILED, p, p.getLocation(), 0, 0); if (effects.getTitles().sendMsg(RTPEffect_Titles.RTP_TITLE_TYPE.FAILED)) if (p == sendi) - MessagesCore.FAILED_NOTSAFE.send(sendi, BetterRTP.getInstance().getRTP().maxAttempts); + MessagesCore.FAILED_NOTSAFE.send(p, BetterRTP.getInstance().getRTP().maxAttempts); else MessagesCore.OTHER_NOTSAFE.send(sendi, Arrays.asList( BetterRTP.getInstance().getRTP().maxAttempts, diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP_PlayerInfo.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP_PlayerInfo.java index f0afe90..d369d08 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP_PlayerInfo.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTP_PlayerInfo.java @@ -17,8 +17,7 @@ public class RTP_PlayerInfo { } public RTP_PlayerInfo(boolean applyDelay, boolean applyCooldown) { - this.applyDelay = applyDelay; - this.applyCooldown = applyCooldown; + this(applyDelay, applyCooldown, true, true, true); } public RTP_PlayerInfo(boolean applyDelay, diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepEconomy.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepEconomy.java index cab694d..860e401 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepEconomy.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepEconomy.java @@ -23,9 +23,10 @@ public class DepEconomy { //Hunger Stuff boolean took_food = false; if (hunger != 0 - && sendi == player + && pWorld.getPlayerInfo().isTakeHunger() + && !PermissionNode.BYPASS_HUNGER.check(player) && (player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() == GameMode.ADVENTURE)) { - boolean has_hunger = player.getFoodLevel() > hunger; + boolean has_hunger = player.getFoodLevel() >= hunger; if (!has_hunger) { MessagesCore.FAILED_HUNGER.send(sendi); return false; @@ -35,7 +36,10 @@ public class DepEconomy { } } //Economy Stuff - if (e != null && pWorld.getPrice() != 0 && !PermissionNode.BYPASS_ECONOMY.check(sendi)) { + if (e != null + && pWorld.getPrice() != 0 + && pWorld.getPlayerInfo().isTakeMoney() + && !PermissionNode.BYPASS_ECONOMY.check(player)) { try { EconomyResponse r = e.withdrawPlayer(player, pWorld.getPrice()); boolean passed_economy = r.transactionSuccess(); @@ -54,11 +58,11 @@ public class DepEconomy { return true; } - public boolean hasBalance(CommandSender sendi, WorldPlayer pWorld) { + public boolean hasBalance(WorldPlayer pWorld) { check(false); //Economy Stuff int price = pWorld.getPrice(); - if (e != null && price != 0 && !PermissionNode.BYPASS_ECONOMY.check(sendi)) { + if (e != null && price != 0 && !PermissionNode.BYPASS_ECONOMY.check(pWorld.getPlayer())) { try { return e.getBalance(pWorld.getPlayer()) >= price; } catch (Exception e) { @@ -69,14 +73,14 @@ public class DepEconomy { return true; } - public boolean hasHunger(CommandSender sendi, WorldPlayer pWorld) { + public boolean hasHunger(WorldPlayer pWorld) { check(false); Player player = pWorld.getPlayer(); //Hunger Stuff if (hunger != 0 - && !PermissionNode.BYPASS_HUNGER.check(sendi) + && !PermissionNode.BYPASS_HUNGER.check(player) && (player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() == GameMode.ADVENTURE)) { - return player.getFoodLevel() > hunger; + return player.getFoodLevel() >= hunger; } //Default value return true; 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 9946078..f724248 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepPlaceholderAPI.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepPlaceholderAPI.java @@ -96,7 +96,7 @@ public class DepPlaceholderAPI extends PlaceholderExpansion { RTPSetupInformation setup_info = new RTPSetupInformation(HelperRTP.getActualWorld(data.player, world), data.player, data.player, true); WorldPlayer pWorld = HelperRTP.getPlayerWorld(setup_info); Long cooldownTime = BetterRTP.getInstance().getCooldowns().locked(data.player) ? -1L : - (HelperRTP_Check.applyCooldown(data.player, data.player) ? pWorld.getCooldown() * 1000L : 0L); + (HelperRTP_Check.applyCooldown(data.player) ? pWorld.getCooldown() * 1000L : 0L); return HelperDate.total(cooldownTime); } @@ -109,13 +109,13 @@ public class DepPlaceholderAPI extends PlaceholderExpansion { RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true); WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation); //Cooldown - if (HelperRTP_Check.isCoolingDown(player, player, pWorld)) + if (HelperRTP_Check.isCoolingDown(player, pWorld)) return BetterRTP.getInstance().getSettings().getPlaceholder_cooldown(); //Price - if (!BetterRTP.getInstance().getEco().hasBalance(player, pWorld)) + if (!BetterRTP.getInstance().getEco().hasBalance(pWorld)) return BetterRTP.getInstance().getSettings().getPlaceholder_balance(); //Hunger - if (!BetterRTP.getInstance().getEco().hasHunger(player, pWorld)) + if (!BetterRTP.getInstance().getEco().hasHunger(pWorld)) return BetterRTP.getInstance().getSettings().getPlaceholder_hunger(); //True return BetterRTP.getInstance().getSettings().getPlaceholder_true(); @@ -128,7 +128,7 @@ public class DepPlaceholderAPI extends PlaceholderExpansion { RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true); WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation); //Cooldown - if (HelperRTP_Check.isCoolingDown(player, player, pWorld)) + if (HelperRTP_Check.isCoolingDown(player, pWorld)) return BetterRTP.getInstance().getSettings().getPlaceholder_cooldown(); //True return BetterRTP.getInstance().getSettings().getPlaceholder_true(); @@ -141,7 +141,7 @@ public class DepPlaceholderAPI extends PlaceholderExpansion { RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true); WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation); //Price - if (!BetterRTP.getInstance().getEco().hasBalance(player, pWorld)) + if (!BetterRTP.getInstance().getEco().hasBalance(pWorld)) return BetterRTP.getInstance().getSettings().getPlaceholder_balance(); //True return BetterRTP.getInstance().getSettings().getPlaceholder_true(); @@ -154,7 +154,7 @@ public class DepPlaceholderAPI extends PlaceholderExpansion { RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true); WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation); //Hunger - if (!BetterRTP.getInstance().getEco().hasHunger(player, pWorld)) + if (!BetterRTP.getInstance().getEco().hasHunger(pWorld)) return BetterRTP.getInstance().getSettings().getPlaceholder_hunger(); //True return BetterRTP.getInstance().getSettings().getPlaceholder_true(); 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 bd59d40..f81a82e 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/HelperRTP.java @@ -7,6 +7,7 @@ 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; +import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore; import me.SuperRonanCraft.BetterRTP.references.messages.placeholder.Placeholders; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.PermissionGroup; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.*; @@ -93,7 +94,9 @@ public class HelperRTP { msg = msg.replace(Placeholders.COOLDOWN.name, HelperDate.total(HelperRTP_Check.getCooldown(player, pWorld))); msg = msg.replace(Placeholders.TIME.name, HelperDate.total(HelperRTP_Check.getCooldown(player, pWorld))); } - Message_RTP.sms(sendi, msg, pWorld); + Message_RTP.sms(player, msg, pWorld); + if (sendi != player) + Message_RTP.sms(sendi, msg, pWorld); return; } //ignore cooldown or else 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 038b4f7..5a8dec3 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 @@ -26,12 +26,12 @@ public class HelperRTP_Check { if (getPl().getRTP().getDisabledWorlds().contains(pWorld.getWorld().getName())) { return RTP_ERROR_REQUEST_REASON.WORLD_DISABLED; } - if (rtpInfo.isCheckCooldown() && sendi == player && isCoolingDown(sendi, player, pWorld)) { //Is Cooling down + if (rtpInfo.isCheckCooldown() && isCoolingDown(player, pWorld)) { //Is Cooling down return RTP_ERROR_REQUEST_REASON.COOLDOWN; } - if (rtpInfo.isTakeMoney() && !getPl().getEco().hasBalance(sendi, pWorld)) + if (rtpInfo.isTakeMoney() && !getPl().getEco().hasBalance(pWorld)) return RTP_ERROR_REQUEST_REASON.PRICE_ECONOMY; - if (rtpInfo.isTakeHunger() && !getPl().getEco().hasHunger(sendi, pWorld)) + if (rtpInfo.isTakeHunger() && !getPl().getEco().hasHunger(pWorld)) return RTP_ERROR_REQUEST_REASON.PRICE_HUNGER; return null; } @@ -40,8 +40,8 @@ public class HelperRTP_Check { return getPl().getpInfo().getRtping().getOrDefault(player, false); } - public static boolean isCoolingDown(CommandSender sendi, Player player, WorldPlayer pWorld) { - if (!applyCooldown(sendi, player)) //Bypassing/Forced? + public static boolean isCoolingDown(Player player, WorldPlayer pWorld) { + if (!applyCooldown(player)) return false; return getCooldown(player, pWorld) > 0L || isLocked(player); } @@ -69,17 +69,15 @@ public class HelperRTP_Check { return 0L; } - public static boolean applyCooldown(CommandSender sendi, Player player) { - return getPl().getCooldowns().isEnabled() && !(sendi != player || PermissionNode.BYPASS_COOLDOWN.check(player)); + public static boolean applyCooldown(Player player) { + return getPl().getCooldowns().isEnabled() + && !PermissionNode.BYPASS_COOLDOWN.check(player); } - public static boolean applyDelay(Player player, CommandSender sendi) { - boolean delay = false; - if (sendi == player) //Forced? - if (getPl().getSettings().isDelayEnabled() && getPl().getSettings().getDelayTime() > 0) //Delay enabled? - if (!PermissionNode.BYPASS_DELAY.check(player)) //Can bypass? - delay = true; - return delay; + public static boolean applyDelay(Player player) { + return getPl().getSettings().isDelayEnabled() + && getPl().getSettings().getDelayTime() > 0 + && !PermissionNode.BYPASS_DELAY.check(player); } private static BetterRTP getPl() {