mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2026-02-16 18:41:03 +00:00
cooldown applied after teleport
This commit is contained in:
@@ -58,7 +58,6 @@ public class RTP {
|
||||
//Permissions
|
||||
loadPermissionGroups();
|
||||
teleport.load(); //Load teleporting stuff
|
||||
//permConfig.load(); //Load permission configs
|
||||
}
|
||||
|
||||
public void loadWorlds() { //Keeping this here because of the edit command
|
||||
@@ -82,24 +81,12 @@ public class RTP {
|
||||
Bukkit.getPluginManager().callEvent(setup);
|
||||
if (setup.isCancelled())
|
||||
return;
|
||||
// Second Economy check
|
||||
if (pWorld.getPlayerInfo().takeMoney && !getPl().getEco().hasBalance(pWorld)) {
|
||||
MessagesCore.FAILED_PRICE.send(pWorld.getPlayer());
|
||||
return;
|
||||
}
|
||||
if (pWorld.getPlayerInfo().takeHunger && !getPl().getEco().hasHunger(pWorld)) {
|
||||
MessagesCore.FAILED_HUNGER.send(pWorld.getPlayer());
|
||||
return;
|
||||
}
|
||||
rtp(pWorld.getSendi(), pWorld, pWorld.getRtp_type());
|
||||
}
|
||||
|
||||
private void rtp(CommandSender sendi, WorldPlayer pWorld, RTP_TYPE type) {
|
||||
//Cooldown
|
||||
Player p = pWorld.getPlayer();
|
||||
//p.sendMessage("Cooling down: " + cooldown);
|
||||
if (pWorld.getPlayerInfo().isApplyCooldown())
|
||||
getPl().getCooldowns().add(p, pWorld.getWorld());
|
||||
getPl().getpInfo().getRtping().put(p, true); //Cache player so they cant run '/rtp' again while rtp'ing
|
||||
//Setup player rtp methods
|
||||
RTPPlayer rtpPlayer = new RTPPlayer(p, this, pWorld, type);
|
||||
|
||||
@@ -4,6 +4,7 @@ import io.papermc.lib.PaperLib;
|
||||
import lombok.Getter;
|
||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_FindLocationEvent;
|
||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP_Check;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueData;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.RandomLocation;
|
||||
@@ -88,7 +89,9 @@ public class RTPPlayer {
|
||||
if (tpLoc != null && checkDepends(tpLoc)) {
|
||||
tpLoc.add(0.5, 0, 0.5); //Center location
|
||||
if (getPl().getEco().charge(player, worldPlayer)) {
|
||||
//Successfully found a safe location, teleport player
|
||||
//Successfully found a safe location, set cooldown and teleport player.
|
||||
if (worldPlayer.getPlayerInfo().isApplyCooldown() && HelperRTP_Check.applyCooldown(player))
|
||||
getPl().getCooldowns().add(player, worldPlayer.getWorld());
|
||||
tpLoc.setYaw(player.getLocation().getYaw());
|
||||
tpLoc.setPitch(player.getLocation().getPitch());
|
||||
AsyncHandler.sync(() -> settings.teleport.sendPlayer(sendi, player, tpLoc, worldPlayer, attempts, type));
|
||||
|
||||
@@ -67,7 +67,7 @@ public class HelperRTP {
|
||||
List<String> biomes,
|
||||
RTP_TYPE rtpType,
|
||||
@Nullable WorldLocation location,
|
||||
RTP_PlayerInfo playerInfo) {
|
||||
@NotNull RTP_PlayerInfo playerInfo) {
|
||||
world = getActualWorld(player, world, location);
|
||||
RTPSetupInformation setup_info = new RTPSetupInformation(
|
||||
world,
|
||||
@@ -84,7 +84,7 @@ public class HelperRTP {
|
||||
|
||||
public static void tp(@NotNull Player player,
|
||||
CommandSender sendi,
|
||||
RTPSetupInformation setup_info) {
|
||||
@NotNull RTPSetupInformation setup_info) {
|
||||
//RTP request cancelled reason
|
||||
WorldPlayer pWorld = getPlayerWorld(setup_info);
|
||||
RTP_ERROR_REQUEST_REASON cantReason = HelperRTP_Check.canRTP(player, sendi, pWorld, setup_info.getPlayerInfo());
|
||||
@@ -99,13 +99,9 @@ public class HelperRTP {
|
||||
Message_RTP.sms(sendi, msg, pWorld);
|
||||
return;
|
||||
}
|
||||
//ignore cooldown or else
|
||||
//BetterRTP.getInstance().getLogger().info("Center X: " + pWorld.getCenterX());
|
||||
getPl().getRTP().start(pWorld);
|
||||
}
|
||||
|
||||
private static BetterRTP getPl() {
|
||||
return BetterRTP.getInstance();
|
||||
//Start teleport sequence!
|
||||
BetterRTP.getInstance().getRTP().start(pWorld);
|
||||
}
|
||||
|
||||
public static World getActualWorld(Player player,
|
||||
|
||||
@@ -100,8 +100,8 @@ public class CooldownHandler {
|
||||
public long timeLeft(CommandSender sendi, CooldownData data, WorldPlayer pWorld) {
|
||||
long cooldown = data.getTime();
|
||||
long timeLeft = ((cooldown / 1000) + pWorld.getCooldown()) - (System.currentTimeMillis() / 1000);
|
||||
if (BetterRTP.getInstance().getSettings().isDelayEnabled() && !PermissionNode.BYPASS_DELAY.check(sendi))
|
||||
timeLeft = timeLeft + BetterRTP.getInstance().getSettings().getDelayTime();
|
||||
//if (BetterRTP.getInstance().getSettings().isDelayEnabled() && !PermissionNode.BYPASS_DELAY.check(sendi))
|
||||
// timeLeft = timeLeft + BetterRTP.getInstance().getSettings().getDelayTime();
|
||||
return timeLeft * 1000L;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user