diff --git a/pom.xml b/pom.xml index b3cb631..e43e69a 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ me.SuperRonanCraft BetterRTP - 2.14.1 + 2.14.2 1.8 diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java index 10db9cb..0fd82c3 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/Commands.java @@ -139,20 +139,19 @@ public class Commands { private boolean checkDelay(CommandSender sendi, Player player) { if (rtping.containsKey(player.getUniqueId()) && rtping.get(player.getUniqueId())) { - pl.getText().getAlready(player); + pl.getText().getAlready(sendi); return false; } else if (sendi != player || pl.getPerms().getBypassCooldown(player)) { //Bypassing/Forced? return true; } else if (cooldowns.enabled) { //Cooling down? - Player p = (Player) sendi; - UUID id = p.getUniqueId(); + UUID id = player.getUniqueId(); if (cooldowns.exists(id)) { if (cooldowns.locked(id)) { //Infinite cooldown (locked) pl.getText().getNoPermission(sendi); return false; } else { //Normal cooldown long Left = cooldowns.timeLeft(id); - if (pl.getSettings().delayEnabled && !pl.getPerms().getBypassDelay(p)) + if (pl.getSettings().delayEnabled && !pl.getPerms().getBypassDelay(sendi)) Left = Left + delayTimer; if (Left > 0) { //Still cooling down 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 5f267e7..925e3d2 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java @@ -59,7 +59,7 @@ class RTPDelay implements Listener { if (!Bukkit.getScheduler().isCurrentlyRunning(run)) { HandlerList.unregisterAll(this); getPl().getRTP().getTeleport().cancelledTeleport(rtp.getPlayer()); - getPl().getEco().unCharge(rtp.getPlayer(), rtp.pWorld); + //getPl().getEco().unCharge(rtp.getPlayer(), rtp.pWorld); getPl().getCmd().cooldowns.remove(rtp.getPlayer().getUniqueId()); getPl().getCmd().rtping.put(rtp.getPlayer().getUniqueId(), false); } 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 31ef5d0..2617950 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPlayer.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPlayer.java @@ -36,6 +36,7 @@ public class RTPPlayer { Location loc = pWorld.generateRandomXZ(settings.defaultWorld); //randomLoc(pWorld); CompletableFuture chunk = PaperLib.getChunkAtAsync(pWorld.getWorld(), loc.getBlockX(), loc.getBlockZ()); chunk.thenAccept(result -> { + Main.debug("Checking location for " + p.getName()); Location tpLoc; float yaw = p.getLocation().getYaw(); float pitch = p.getLocation().getPitch(); @@ -47,10 +48,11 @@ public class RTPPlayer { tpLoc = getLocAtNormal(loc.getBlockX(), loc.getBlockZ(), pWorld.getWorld(), yaw, pitch, pWorld); } //Valid location? - if (tpLoc != null && checkDepends(tpLoc)) - if (getPl().getEco().charge(p, pWorld)) + if (tpLoc != null && checkDepends(tpLoc)) { + if (getPl().getEco().charge(p, pWorld)) { settings.teleport.sendPlayer(sendi, p, tpLoc, pWorld.getPrice(), pWorld.getAttempts()); - else + } + } else randomlyTeleport(sendi); }); } 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 27450a9..fd2ae32 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepEconomy.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/depends/DepEconomy.java @@ -57,7 +57,7 @@ public class DepEconomy { Player player = pWorld.getPlayer(); //Hunger Stuff if (hunger != 0 - && sendi == player + && !Main.getInstance().getPerms().getBypassHunger(sendi) && (player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() == GameMode.ADVENTURE)) { boolean has_hunger = player.getFoodLevel() > hunger; if (!has_hunger) { @@ -69,9 +69,10 @@ public class DepEconomy { if (e != null && pWorld.getPrice() != 0 && !Main.getInstance().getPerms().getBypassEconomy(sendi)) { try { boolean passed_economy = e.getBalance(player) >= pWorld.getPrice(); - if (!passed_economy) + if (!passed_economy) { Main.getInstance().getText().getFailedPrice(sendi, pWorld.getPrice()); - return passed_economy; + return false; + } } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 8724b62..62f38bc 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ main: me.SuperRonanCraft.BetterRTP.Main -version: '2.14.1' +version: '2.14.2' name: BetterRTP author: SuperRonanCraft softdepend: [Vault, WorldGuard, GriefPrevention, Towny, Factions, RedProtect] @@ -46,6 +46,8 @@ permissions: description: Bypass delays betterrtp.bypass.economy: description: Bypass economy + betterrtp.bypass.hunger: + description: Bypass hunger betterrtp.reload: description: Reload the config default: op