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