mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2026-06-24 13:31:15 +00:00
RtpInfo checks + sudo command
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
<groupId>me.SuperRonanCraft</groupId>
|
<groupId>me.SuperRonanCraft</groupId>
|
||||||
<artifactId>BetterRTP</artifactId>
|
<artifactId>BetterRTP</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<version>3.6.10-DEV</version>
|
<version>3.6.10-2DEV</version>
|
||||||
|
|
||||||
<!-- Upload patches to https://repo.ronanplugins.com/#/ -->
|
<!-- Upload patches to https://repo.ronanplugins.com/#/ -->
|
||||||
|
|
||||||
@@ -273,7 +273,9 @@
|
|||||||
<version>97b96c9</version>
|
<version>97b96c9</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- Particles Library (https://github.com/ByteZ1337/ParticleLib/blob/master/src/main/java/xyz/xenondevs/particle/ParticleEffect.java) -->
|
<!-- Particles Library
|
||||||
|
https://github.com/ByteZ1337/ParticleLib
|
||||||
|
(https://github.com/ByteZ1337/ParticleLib/blob/master/src/main/java/xyz/xenondevs/particle/ParticleEffect.java) -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>xyz.xenondevs</groupId>
|
<groupId>xyz.xenondevs</groupId>
|
||||||
<artifactId>particle</artifactId>
|
<artifactId>particle</artifactId>
|
||||||
@@ -351,6 +353,7 @@
|
|||||||
<groupId>com.github.WhipDevelopment</groupId>
|
<groupId>com.github.WhipDevelopment</groupId>
|
||||||
<artifactId>CrashClaim</artifactId>
|
<artifactId>CrashClaim</artifactId>
|
||||||
<version>-75abe3b665-1</version>
|
<version>-75abe3b665-1</version>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- CAN BE UNCOMMENTED IF YOU HAVE ACCESS TO THE PLUGIN -->
|
<!-- CAN BE UNCOMMENTED IF YOU HAVE ACCESS TO THE PLUGIN -->
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ public enum RTPCommandType {
|
|||||||
INFO(new CmdInfo()),
|
INFO(new CmdInfo()),
|
||||||
LOCATION(new CmdLocation()),
|
LOCATION(new CmdLocation()),
|
||||||
PLAYER(new CmdPlayer()),
|
PLAYER(new CmdPlayer()),
|
||||||
|
PLAYERSUDO(new CmdPlayerSudo()),
|
||||||
QUEUE(new CmdQueue(), true),
|
QUEUE(new CmdQueue(), true),
|
||||||
RELOAD(new CmdReload()),
|
RELOAD(new CmdReload()),
|
||||||
//SETTINGS(new CmdSettings(), true),
|
//SETTINGS(new CmdSettings(), true),
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
|
|||||||
return "player";
|
return "player";
|
||||||
}
|
}
|
||||||
|
|
||||||
//rtp player <world> <biome1> <biome2...>
|
//rtp player <player> <world> <RTP_PlayerInfo.RTP_PLAYERINFO_FLAG...>
|
||||||
public void execute(CommandSender sendi, String label, String[] args) {
|
public void execute(CommandSender sendi, String label, String[] args) {
|
||||||
if (args.length == 2)
|
if (args.length == 2)
|
||||||
if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline()) {
|
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)
|
else if (args.length >= 3)
|
||||||
if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline()) {
|
if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline()) {
|
||||||
World world = Bukkit.getWorld(args[2]);
|
World world = Bukkit.getWorld(args[2]);
|
||||||
RTP_PlayerInfo playerInfo = getFlags(args);
|
|
||||||
if (world != null) {
|
if (world != null) {
|
||||||
HelperRTP.tp(Bukkit.getPlayer(args[1]),
|
HelperRTP.tp(Bukkit.getPlayer(args[1]),
|
||||||
sendi,
|
sendi,
|
||||||
@@ -52,7 +51,7 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
|
|||||||
null,
|
null,
|
||||||
RTP_TYPE.FORCED,
|
RTP_TYPE.FORCED,
|
||||||
null,
|
null,
|
||||||
playerInfo);
|
getFlags(args));
|
||||||
} else
|
} else
|
||||||
MessagesCore.NOTEXIST.send(sendi, args[2]);
|
MessagesCore.NOTEXIST.send(sendi, args[2]);
|
||||||
} else if (Bukkit.getPlayer(args[1]) != null)
|
} else if (Bukkit.getPlayer(args[1]) != null)
|
||||||
@@ -76,8 +75,8 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
|
|||||||
if (flag.name().equalsIgnoreCase(args[i])) {
|
if (flag.name().equalsIgnoreCase(args[i])) {
|
||||||
switch (flag) {
|
switch (flag) {
|
||||||
case NODELAY: applyDelay = false; break;
|
case NODELAY: applyDelay = false; break;
|
||||||
case NOCOOLDOWN: checkCooldown = false; break;
|
case NOCOOLDOWN: applyCooldown = false; break;
|
||||||
case IGNORECOOLDOWN: applyCooldown = false; break;
|
case IGNORECOOLDOWN: checkCooldown = false; break;
|
||||||
case IGNOREMONEY: takeMoney = false; break;
|
case IGNOREMONEY: takeMoney = false; break;
|
||||||
case IGNOREHUNGER: takeHunger = false; break;
|
case IGNOREHUNGER: takeHunger = false; break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 <player> <world> <RTP_PlayerInfo.RTP_PLAYERINFO_FLAG...>
|
||||||
|
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<String> tabComplete(CommandSender sendi, String[] args) {
|
||||||
|
List<String> 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ import me.SuperRonanCraft.BetterRTP.references.WarningHandler;
|
|||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_SettingUpEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_SettingUpEvent;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
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.messages.MessagesCore;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.PermissionGroup;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.PermissionGroup;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.*;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.*;
|
||||||
@@ -82,12 +83,12 @@ public class RTP {
|
|||||||
if (setup.isCancelled())
|
if (setup.isCancelled())
|
||||||
return;
|
return;
|
||||||
// Second Economy check
|
// Second Economy check
|
||||||
if (pWorld.getPlayerInfo().takeMoney && !getPl().getEco().hasBalance(pWorld.getSendi(), pWorld)) {
|
if (pWorld.getPlayerInfo().takeMoney && !getPl().getEco().hasBalance(pWorld)) {
|
||||||
MessagesCore.FAILED_PRICE.send(pWorld.getSendi());
|
MessagesCore.FAILED_PRICE.send(pWorld.getPlayer());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (pWorld.getPlayerInfo().takeHunger && !getPl().getEco().hasHunger(pWorld.getSendi(), pWorld)) {
|
if (pWorld.getPlayerInfo().takeHunger && !getPl().getEco().hasHunger(pWorld)) {
|
||||||
MessagesCore.FAILED_HUNGER.send(pWorld.getSendi());
|
MessagesCore.FAILED_HUNGER.send(pWorld.getPlayer());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
rtp(pWorld.getSendi(), pWorld, pWorld.getRtp_type());
|
rtp(pWorld.getSendi(), pWorld, pWorld.getRtp_type());
|
||||||
@@ -103,7 +104,7 @@ public class RTP {
|
|||||||
//Setup player rtp methods
|
//Setup player rtp methods
|
||||||
RTPPlayer rtpPlayer = new RTPPlayer(p, this, pWorld, type);
|
RTPPlayer rtpPlayer = new RTPPlayer(p, this, pWorld, type);
|
||||||
// Delaying? Else, just go
|
// 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);
|
new RTPDelay(sendi, rtpPlayer, delayTime, cancelOnMove, cancelOnDamage);
|
||||||
} else {
|
} else {
|
||||||
if (!teleport.beforeTeleportInstant(sendi, p))
|
if (!teleport.beforeTeleportInstant(sendi, p))
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ class RTPDelay implements Listener {
|
|||||||
getPl().getRTP().getTeleport().cancelledTeleport(rtp.getPlayer());
|
getPl().getRTP().getTeleport().cancelledTeleport(rtp.getPlayer());
|
||||||
//getPl().getEco().unCharge(rtp.getPlayer(), rtp.pWorld);
|
//getPl().getEco().unCharge(rtp.getPlayer(), rtp.pWorld);
|
||||||
getPl().getCooldowns().removeCooldown(rtp.getPlayer(), rtp.worldPlayer.getWorld());
|
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()));
|
Bukkit.getServer().getPluginManager().callEvent(new RTP_CancelledEvent(rtp.getPlayer()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public class RTPPlayer {
|
|||||||
@Getter WorldPlayer worldPlayer;
|
@Getter WorldPlayer worldPlayer;
|
||||||
@Getter RTP_TYPE type;
|
@Getter RTP_TYPE type;
|
||||||
@Getter int attempts;
|
@Getter int attempts;
|
||||||
List<Location> attemptedLocations = new ArrayList<>();
|
//List<Location> attemptedLocations = new ArrayList<>();
|
||||||
|
|
||||||
RTPPlayer(Player player, RTP settings, WorldPlayer worldPlayer, RTP_TYPE type) {
|
RTPPlayer(Player player, RTP settings, WorldPlayer worldPlayer, RTP_TYPE type) {
|
||||||
this.player = player;
|
this.player = player;
|
||||||
@@ -83,18 +83,19 @@ public class RTPPlayer {
|
|||||||
private void attempt(CommandSender sendi, Location loc) {
|
private void attempt(CommandSender sendi, Location loc) {
|
||||||
Location tpLoc;
|
Location tpLoc;
|
||||||
tpLoc = RandomLocation.getSafeLocation(worldPlayer.getWorldtype(), worldPlayer.getWorld(), loc, worldPlayer.getMinY(), worldPlayer.getMaxY(), worldPlayer.getBiomes());
|
tpLoc = RandomLocation.getSafeLocation(worldPlayer.getWorldtype(), worldPlayer.getWorld(), loc, worldPlayer.getMinY(), worldPlayer.getMaxY(), worldPlayer.getBiomes());
|
||||||
attemptedLocations.add(loc);
|
//attemptedLocations.add(loc);
|
||||||
//Valid location?
|
//Valid location?
|
||||||
if (tpLoc != null && checkDepends(tpLoc)) {
|
if (tpLoc != null && checkDepends(tpLoc)) {
|
||||||
tpLoc.add(0.5, 0, 0.5); //Center location
|
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.setYaw(player.getLocation().getYaw());
|
||||||
tpLoc.setPitch(player.getLocation().getPitch());
|
tpLoc.setPitch(player.getLocation().getPitch());
|
||||||
AsyncHandler.sync(() ->
|
AsyncHandler.sync(() -> settings.teleport.sendPlayer(sendi, player, tpLoc, worldPlayer, attempts, type));
|
||||||
settings.teleport.sendPlayer(sendi, player, tpLoc, worldPlayer, attempts, type));
|
|
||||||
} else {
|
} else {
|
||||||
|
if (worldPlayer.getPlayerInfo().applyCooldown)
|
||||||
getPl().getCooldowns().removeCooldown(player, worldPlayer.getWorld());
|
getPl().getCooldowns().removeCooldown(player, worldPlayer.getWorld());
|
||||||
getPl().getpInfo().getRtping().put(player, false);
|
getPl().getpInfo().getRtping().remove(player);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
randomlyTeleport(sendi);
|
randomlyTeleport(sendi);
|
||||||
@@ -106,7 +107,7 @@ public class RTPPlayer {
|
|||||||
private void metMax(CommandSender sendi, Player p) {
|
private void metMax(CommandSender sendi, Player p) {
|
||||||
settings.teleport.failedTeleport(p, sendi);
|
settings.teleport.failedTeleport(p, sendi);
|
||||||
getPl().getCooldowns().removeCooldown(p, worldPlayer.getWorld());
|
getPl().getCooldowns().removeCooldown(p, worldPlayer.getWorld());
|
||||||
getPl().getpInfo().getRtping().put(p, false);
|
getPl().getpInfo().getRtping().remove(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -115,15 +115,18 @@ public class RTPTeleport {
|
|||||||
|
|
||||||
private void loadingTeleport(Player p, CommandSender sendi) {
|
private void loadingTeleport(Player p, CommandSender sendi) {
|
||||||
effects.getTitles().showTitle(RTPEffect_Titles.RTP_TITLE_TYPE.LOADING, p, p.getLocation(), 0, 0);
|
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
|
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(sendi);
|
||||||
|
MessagesCore.SUCCESS_LOADING.send(p);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void failedTeleport(Player p, CommandSender sendi) {
|
public void failedTeleport(Player p, CommandSender sendi) {
|
||||||
effects.getTitles().showTitle(RTPEffect_Titles.RTP_TITLE_TYPE.FAILED, p, p.getLocation(), 0, 0);
|
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 (effects.getTitles().sendMsg(RTPEffect_Titles.RTP_TITLE_TYPE.FAILED))
|
||||||
if (p == sendi)
|
if (p == sendi)
|
||||||
MessagesCore.FAILED_NOTSAFE.send(sendi, BetterRTP.getInstance().getRTP().maxAttempts);
|
MessagesCore.FAILED_NOTSAFE.send(p, BetterRTP.getInstance().getRTP().maxAttempts);
|
||||||
else
|
else
|
||||||
MessagesCore.OTHER_NOTSAFE.send(sendi, Arrays.asList(
|
MessagesCore.OTHER_NOTSAFE.send(sendi, Arrays.asList(
|
||||||
BetterRTP.getInstance().getRTP().maxAttempts,
|
BetterRTP.getInstance().getRTP().maxAttempts,
|
||||||
|
|||||||
@@ -17,8 +17,7 @@ public class RTP_PlayerInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public RTP_PlayerInfo(boolean applyDelay, boolean applyCooldown) {
|
public RTP_PlayerInfo(boolean applyDelay, boolean applyCooldown) {
|
||||||
this.applyDelay = applyDelay;
|
this(applyDelay, applyCooldown, true, true, true);
|
||||||
this.applyCooldown = applyCooldown;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public RTP_PlayerInfo(boolean applyDelay,
|
public RTP_PlayerInfo(boolean applyDelay,
|
||||||
|
|||||||
@@ -23,9 +23,10 @@ public class DepEconomy {
|
|||||||
//Hunger Stuff
|
//Hunger Stuff
|
||||||
boolean took_food = false;
|
boolean took_food = false;
|
||||||
if (hunger != 0
|
if (hunger != 0
|
||||||
&& sendi == player
|
&& pWorld.getPlayerInfo().isTakeHunger()
|
||||||
|
&& !PermissionNode.BYPASS_HUNGER.check(player)
|
||||||
&& (player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() == GameMode.ADVENTURE)) {
|
&& (player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() == GameMode.ADVENTURE)) {
|
||||||
boolean has_hunger = player.getFoodLevel() > hunger;
|
boolean has_hunger = player.getFoodLevel() >= hunger;
|
||||||
if (!has_hunger) {
|
if (!has_hunger) {
|
||||||
MessagesCore.FAILED_HUNGER.send(sendi);
|
MessagesCore.FAILED_HUNGER.send(sendi);
|
||||||
return false;
|
return false;
|
||||||
@@ -35,7 +36,10 @@ public class DepEconomy {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//Economy Stuff
|
//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 {
|
try {
|
||||||
EconomyResponse r = e.withdrawPlayer(player, pWorld.getPrice());
|
EconomyResponse r = e.withdrawPlayer(player, pWorld.getPrice());
|
||||||
boolean passed_economy = r.transactionSuccess();
|
boolean passed_economy = r.transactionSuccess();
|
||||||
@@ -54,11 +58,11 @@ public class DepEconomy {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasBalance(CommandSender sendi, WorldPlayer pWorld) {
|
public boolean hasBalance(WorldPlayer pWorld) {
|
||||||
check(false);
|
check(false);
|
||||||
//Economy Stuff
|
//Economy Stuff
|
||||||
int price = pWorld.getPrice();
|
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 {
|
try {
|
||||||
return e.getBalance(pWorld.getPlayer()) >= price;
|
return e.getBalance(pWorld.getPlayer()) >= price;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -69,14 +73,14 @@ public class DepEconomy {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasHunger(CommandSender sendi, WorldPlayer pWorld) {
|
public boolean hasHunger(WorldPlayer pWorld) {
|
||||||
check(false);
|
check(false);
|
||||||
Player player = pWorld.getPlayer();
|
Player player = pWorld.getPlayer();
|
||||||
//Hunger Stuff
|
//Hunger Stuff
|
||||||
if (hunger != 0
|
if (hunger != 0
|
||||||
&& !PermissionNode.BYPASS_HUNGER.check(sendi)
|
&& !PermissionNode.BYPASS_HUNGER.check(player)
|
||||||
&& (player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() == GameMode.ADVENTURE)) {
|
&& (player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() == GameMode.ADVENTURE)) {
|
||||||
return player.getFoodLevel() > hunger;
|
return player.getFoodLevel() >= hunger;
|
||||||
}
|
}
|
||||||
//Default value
|
//Default value
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
+7
-7
@@ -96,7 +96,7 @@ public class DepPlaceholderAPI extends PlaceholderExpansion {
|
|||||||
RTPSetupInformation setup_info = new RTPSetupInformation(HelperRTP.getActualWorld(data.player, world), data.player, data.player, true);
|
RTPSetupInformation setup_info = new RTPSetupInformation(HelperRTP.getActualWorld(data.player, world), data.player, data.player, true);
|
||||||
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setup_info);
|
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setup_info);
|
||||||
Long cooldownTime = BetterRTP.getInstance().getCooldowns().locked(data.player) ? -1L :
|
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);
|
return HelperDate.total(cooldownTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,13 +109,13 @@ public class DepPlaceholderAPI extends PlaceholderExpansion {
|
|||||||
RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true);
|
RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true);
|
||||||
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation);
|
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation);
|
||||||
//Cooldown
|
//Cooldown
|
||||||
if (HelperRTP_Check.isCoolingDown(player, player, pWorld))
|
if (HelperRTP_Check.isCoolingDown(player, pWorld))
|
||||||
return BetterRTP.getInstance().getSettings().getPlaceholder_cooldown();
|
return BetterRTP.getInstance().getSettings().getPlaceholder_cooldown();
|
||||||
//Price
|
//Price
|
||||||
if (!BetterRTP.getInstance().getEco().hasBalance(player, pWorld))
|
if (!BetterRTP.getInstance().getEco().hasBalance(pWorld))
|
||||||
return BetterRTP.getInstance().getSettings().getPlaceholder_balance();
|
return BetterRTP.getInstance().getSettings().getPlaceholder_balance();
|
||||||
//Hunger
|
//Hunger
|
||||||
if (!BetterRTP.getInstance().getEco().hasHunger(player, pWorld))
|
if (!BetterRTP.getInstance().getEco().hasHunger(pWorld))
|
||||||
return BetterRTP.getInstance().getSettings().getPlaceholder_hunger();
|
return BetterRTP.getInstance().getSettings().getPlaceholder_hunger();
|
||||||
//True
|
//True
|
||||||
return BetterRTP.getInstance().getSettings().getPlaceholder_true();
|
return BetterRTP.getInstance().getSettings().getPlaceholder_true();
|
||||||
@@ -128,7 +128,7 @@ public class DepPlaceholderAPI extends PlaceholderExpansion {
|
|||||||
RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true);
|
RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true);
|
||||||
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation);
|
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation);
|
||||||
//Cooldown
|
//Cooldown
|
||||||
if (HelperRTP_Check.isCoolingDown(player, player, pWorld))
|
if (HelperRTP_Check.isCoolingDown(player, pWorld))
|
||||||
return BetterRTP.getInstance().getSettings().getPlaceholder_cooldown();
|
return BetterRTP.getInstance().getSettings().getPlaceholder_cooldown();
|
||||||
//True
|
//True
|
||||||
return BetterRTP.getInstance().getSettings().getPlaceholder_true();
|
return BetterRTP.getInstance().getSettings().getPlaceholder_true();
|
||||||
@@ -141,7 +141,7 @@ public class DepPlaceholderAPI extends PlaceholderExpansion {
|
|||||||
RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true);
|
RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true);
|
||||||
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation);
|
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation);
|
||||||
//Price
|
//Price
|
||||||
if (!BetterRTP.getInstance().getEco().hasBalance(player, pWorld))
|
if (!BetterRTP.getInstance().getEco().hasBalance(pWorld))
|
||||||
return BetterRTP.getInstance().getSettings().getPlaceholder_balance();
|
return BetterRTP.getInstance().getSettings().getPlaceholder_balance();
|
||||||
//True
|
//True
|
||||||
return BetterRTP.getInstance().getSettings().getPlaceholder_true();
|
return BetterRTP.getInstance().getSettings().getPlaceholder_true();
|
||||||
@@ -154,7 +154,7 @@ public class DepPlaceholderAPI extends PlaceholderExpansion {
|
|||||||
RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true);
|
RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true);
|
||||||
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation);
|
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation);
|
||||||
//Hunger
|
//Hunger
|
||||||
if (!BetterRTP.getInstance().getEco().hasHunger(player, pWorld))
|
if (!BetterRTP.getInstance().getEco().hasHunger(pWorld))
|
||||||
return BetterRTP.getInstance().getSettings().getPlaceholder_hunger();
|
return BetterRTP.getInstance().getSettings().getPlaceholder_hunger();
|
||||||
//True
|
//True
|
||||||
return BetterRTP.getInstance().getSettings().getPlaceholder_true();
|
return BetterRTP.getInstance().getSettings().getPlaceholder_true();
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import me.SuperRonanCraft.BetterRTP.references.PermissionCheck;
|
|||||||
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.WarningHandler;
|
import me.SuperRonanCraft.BetterRTP.references.WarningHandler;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
|
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.messages.placeholder.Placeholders;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.PermissionGroup;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.PermissionGroup;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.*;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.*;
|
||||||
@@ -93,6 +94,8 @@ public class HelperRTP {
|
|||||||
msg = msg.replace(Placeholders.COOLDOWN.name, HelperDate.total(HelperRTP_Check.getCooldown(player, pWorld)));
|
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)));
|
msg = msg.replace(Placeholders.TIME.name, HelperDate.total(HelperRTP_Check.getCooldown(player, pWorld)));
|
||||||
}
|
}
|
||||||
|
Message_RTP.sms(player, msg, pWorld);
|
||||||
|
if (sendi != player)
|
||||||
Message_RTP.sms(sendi, msg, pWorld);
|
Message_RTP.sms(sendi, msg, pWorld);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-14
@@ -26,12 +26,12 @@ public class HelperRTP_Check {
|
|||||||
if (getPl().getRTP().getDisabledWorlds().contains(pWorld.getWorld().getName())) {
|
if (getPl().getRTP().getDisabledWorlds().contains(pWorld.getWorld().getName())) {
|
||||||
return RTP_ERROR_REQUEST_REASON.WORLD_DISABLED;
|
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;
|
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;
|
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 RTP_ERROR_REQUEST_REASON.PRICE_HUNGER;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -40,8 +40,8 @@ public class HelperRTP_Check {
|
|||||||
return getPl().getpInfo().getRtping().getOrDefault(player, false);
|
return getPl().getpInfo().getRtping().getOrDefault(player, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isCoolingDown(CommandSender sendi, Player player, WorldPlayer pWorld) {
|
public static boolean isCoolingDown(Player player, WorldPlayer pWorld) {
|
||||||
if (!applyCooldown(sendi, player)) //Bypassing/Forced?
|
if (!applyCooldown(player))
|
||||||
return false;
|
return false;
|
||||||
return getCooldown(player, pWorld) > 0L || isLocked(player);
|
return getCooldown(player, pWorld) > 0L || isLocked(player);
|
||||||
}
|
}
|
||||||
@@ -69,17 +69,15 @@ public class HelperRTP_Check {
|
|||||||
return 0L;
|
return 0L;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean applyCooldown(CommandSender sendi, Player player) {
|
public static boolean applyCooldown(Player player) {
|
||||||
return getPl().getCooldowns().isEnabled() && !(sendi != player || PermissionNode.BYPASS_COOLDOWN.check(player));
|
return getPl().getCooldowns().isEnabled()
|
||||||
|
&& !PermissionNode.BYPASS_COOLDOWN.check(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean applyDelay(Player player, CommandSender sendi) {
|
public static boolean applyDelay(Player player) {
|
||||||
boolean delay = false;
|
return getPl().getSettings().isDelayEnabled()
|
||||||
if (sendi == player) //Forced?
|
&& getPl().getSettings().getDelayTime() > 0
|
||||||
if (getPl().getSettings().isDelayEnabled() && getPl().getSettings().getDelayTime() > 0) //Delay enabled?
|
&& !PermissionNode.BYPASS_DELAY.check(player);
|
||||||
if (!PermissionNode.BYPASS_DELAY.check(player)) //Can bypass?
|
|
||||||
delay = true;
|
|
||||||
return delay;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static BetterRTP getPl() {
|
private static BetterRTP getPl() {
|
||||||
|
|||||||
Reference in New Issue
Block a user