mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2026-04-09 01:16:01 +00:00
api helper classes to better easily access classes
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package me.SuperRonanCraft.BetterRTP.player.commands;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownHandler;
|
||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
|
||||
@@ -19,7 +20,6 @@ import java.util.List;
|
||||
public class Commands {
|
||||
|
||||
private final BetterRTP pl;
|
||||
private int delayTimer;
|
||||
public List<RTPCommand> commands = new ArrayList<>();
|
||||
|
||||
public Commands(BetterRTP pl) {
|
||||
@@ -28,7 +28,6 @@ public class Commands {
|
||||
|
||||
public void load() {
|
||||
FileBasics.FILETYPE config = FileBasics.FILETYPE.CONFIG;
|
||||
delayTimer = config.getInt("Settings.Delay.Time");
|
||||
commands.clear();
|
||||
for (RTPCommandType cmd : RTPCommandType.values())
|
||||
registerCommand(cmd.getCmd(), false);
|
||||
@@ -55,7 +54,7 @@ public class Commands {
|
||||
}
|
||||
pl.getText().getInvalid(sendi, label);
|
||||
} else
|
||||
rtp(sendi, label, null, null);
|
||||
HelperRTP.rtp(sendi, label, null, null);
|
||||
} else
|
||||
pl.getText().getNoPermission(sendi);
|
||||
}
|
||||
@@ -80,127 +79,4 @@ public class Commands {
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public void addBiomes(List<String> list, String[] args) {
|
||||
try {
|
||||
for (Biome b : Biome.values())
|
||||
if (b.name().toUpperCase().replaceAll("minecraft:", "").startsWith(args[args.length - 1].toUpperCase()))
|
||||
list.add(b.name().replaceAll("minecraft:", ""));
|
||||
} catch (NoSuchMethodError e) {
|
||||
//Not in 1.14.X
|
||||
}
|
||||
}
|
||||
|
||||
public void rtp(CommandSender sendi, String cmd, String world, List<String> biomes) {
|
||||
if (sendi instanceof Player)
|
||||
tp((Player) sendi, sendi, world, biomes, RTP_TYPE.COMMAND);
|
||||
else
|
||||
msgNotPlayer(sendi, cmd);
|
||||
}
|
||||
|
||||
public void msgNotPlayer(CommandSender sendi, String cmd) {
|
||||
sendi.sendMessage(pl.getText().colorPre("Must be a player to use this command! Try '/" + cmd + " help'"));
|
||||
}
|
||||
|
||||
//Custom biomes
|
||||
public List<String> getBiomes(String[] args, int start, CommandSender sendi) {
|
||||
List<String> biomes = new ArrayList<>();
|
||||
boolean error_sent = false;
|
||||
if (BetterRTP.getInstance().getPerms().getBiome(sendi))
|
||||
for (int i = start; i < args.length; i++) {
|
||||
String str = args[i];
|
||||
try {
|
||||
biomes.add(Biome.valueOf(str.replaceAll(",", "").toUpperCase()).name());
|
||||
} catch (Exception e) {
|
||||
if (!error_sent) {
|
||||
pl.getText().getOtherBiome(sendi, str);
|
||||
error_sent = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return biomes;
|
||||
}
|
||||
|
||||
public void tp(Player player, CommandSender sendi, String world, List<String> biomes, RTP_TYPE rtpType) {
|
||||
this.tp(player, sendi, world, biomes, rtpType, false, false);
|
||||
}
|
||||
|
||||
public void tp(Player player, CommandSender sendi, String world, List<String> biomes, RTP_TYPE rtpType,
|
||||
boolean ignoreCooldown, boolean ignoreDelay) {
|
||||
this.tp(player, sendi, world, biomes, rtpType, ignoreCooldown, ignoreDelay, null);
|
||||
}
|
||||
|
||||
public void tp(Player player, CommandSender sendi, String world, List<String> biomes, RTP_TYPE rtpType,
|
||||
boolean ignoreCooldown, boolean ignoreDelay, WorldLocations locations) {
|
||||
if (checkRTPing(player, sendi)) { //Is RTP'ing
|
||||
if (ignoreCooldown || checkCooldown(sendi, player)) { //Is Cooling down
|
||||
boolean delay = false;
|
||||
if (!ignoreDelay && sendi == player) //Forced?
|
||||
if (pl.getSettings().delayEnabled && delayTimer > 0) //Delay enabled?
|
||||
if (!pl.getPerms().getBypassDelay(player)) //Can bypass?
|
||||
delay = true;
|
||||
//player.sendMessage("Cooldown applies: " + cooldownApplies(sendi, player));
|
||||
RTPSetupInformation setup_info = new RTPSetupInformation(world, sendi, player, true,
|
||||
biomes, delay, rtpType, locations, !ignoreCooldown && cooldownApplies(sendi, player)); //ignore cooldown or else
|
||||
pl.getRTP().start(setup_info);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkRTPing(Player player, CommandSender sendi) {
|
||||
if (getPl().getpInfo().getRtping().containsKey(player) && getPl().getpInfo().getRtping().get(player)) {
|
||||
pl.getText().getAlready(sendi);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean checkCooldown(CommandSender sendi, Player player) {
|
||||
if (cooldownApplies(sendi, player)) { //Bypassing/Forced?
|
||||
CooldownHandler cooldownHandler = getPl().getCooldowns();
|
||||
if (!cooldownHandler.isLoaded() || !cooldownHandler.loadedPlayer(player)) { //Cooldowns have yet to download
|
||||
pl.getText().getCooldown(sendi, String.valueOf(-1L));
|
||||
return false;
|
||||
}
|
||||
//Cooldown Data
|
||||
CooldownData cooldownData = getPl().getCooldowns().getPlayer(player);
|
||||
if (cooldownData != null) {
|
||||
if (cooldownHandler.locked(cooldownData)) { //Infinite cooldown (locked)
|
||||
pl.getText().getNoPermission(sendi);
|
||||
return false;
|
||||
} else { //Normal cooldown
|
||||
long Left = cooldownHandler.timeLeft(cooldownData);
|
||||
if (pl.getSettings().delayEnabled && !pl.getPerms().getBypassDelay(sendi))
|
||||
Left = Left + delayTimer;
|
||||
if (Left > 0) {
|
||||
//Still cooling down
|
||||
pl.getText().getCooldown(sendi, String.valueOf(Left));
|
||||
return false;
|
||||
} else {
|
||||
//Reset timer, but allow them to tp
|
||||
//cooldowns.add(id);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} //else
|
||||
//cooldowns.add(id);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean cooldownOverride(CommandSender sendi, Player player) {
|
||||
return sendi != player || pl.getPerms().getBypassCooldown(player);
|
||||
}
|
||||
|
||||
private boolean cooldownEnabled() {
|
||||
return getPl().getCooldowns().isEnabled();
|
||||
}
|
||||
|
||||
private boolean cooldownApplies(CommandSender sendi, Player player) {
|
||||
return cooldownEnabled() && !cooldownOverride(sendi, player);
|
||||
}
|
||||
|
||||
private BetterRTP getPl() {
|
||||
return BetterRTP.getInstance();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP_Info;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -18,7 +20,7 @@ public class CmdBiome implements RTPCommand, RTPCommandHelpable {
|
||||
//rtp biome <biome1, biome2...>
|
||||
public void execute(CommandSender sendi, String label, String[] args) {
|
||||
if (args.length >= 2)
|
||||
BetterRTP.getInstance().getCmd().rtp(sendi, label, null, BetterRTP.getInstance().getCmd().getBiomes(args, 1, sendi));
|
||||
HelperRTP.rtp(sendi, label, null, HelperRTP_Info.getBiomes(args, 1, sendi));
|
||||
else
|
||||
usage(sendi, label);
|
||||
}
|
||||
@@ -26,7 +28,7 @@ public class CmdBiome implements RTPCommand, RTPCommandHelpable {
|
||||
public List<String> tabComplete(CommandSender sendi, String[] args) {
|
||||
List<String> list = new ArrayList<>();
|
||||
if (args.length == 2)
|
||||
getCmd().addBiomes(list, args);
|
||||
HelperRTP_Info.addBiomes(list, args);
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldLocations;
|
||||
import org.bukkit.Bukkit;
|
||||
@@ -28,7 +29,7 @@ public class CmdLocation implements RTPCommand, RTPCommandHelpable {
|
||||
for (String location_name : getLocations().keySet()) {
|
||||
if (location_name.equalsIgnoreCase(args[1].toLowerCase())) {
|
||||
Player p = (Player) sendi;
|
||||
BetterRTP.getInstance().getCmd().tp(p, sendi, null, null, RTP_TYPE.COMMAND,
|
||||
HelperRTP.tp(p, sendi, null, null, RTP_TYPE.COMMAND,
|
||||
false, false, (WorldLocations) getLocations().get(location_name));
|
||||
return;
|
||||
}
|
||||
@@ -41,7 +42,7 @@ public class CmdLocation implements RTPCommand, RTPCommandHelpable {
|
||||
if (p != null && p.isOnline()) {
|
||||
for (String location_name : getLocations().keySet()) {
|
||||
if (location_name.equalsIgnoreCase(args[1].toLowerCase())) {
|
||||
BetterRTP.getInstance().getCmd().tp(p, sendi, null, null, RTP_TYPE.COMMAND,
|
||||
HelperRTP.tp(p, sendi, null, null, RTP_TYPE.COMMAND,
|
||||
false, false, (WorldLocations) getLocations().get(location_name));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP_Info;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@@ -24,7 +26,7 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
|
||||
public void execute(CommandSender sendi, String label, String[] args) {
|
||||
if (args.length == 2)
|
||||
if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline())
|
||||
getCmd().tp(Bukkit.getPlayer(args[1]), sendi, Bukkit.getPlayer(args[1]).getWorld().getName(), null, RTP_TYPE.FORCED);
|
||||
HelperRTP.tp(Bukkit.getPlayer(args[1]), sendi, Bukkit.getPlayer(args[1]).getWorld().getName(), null, RTP_TYPE.FORCED);
|
||||
else if (Bukkit.getPlayer(args[1]) != null)
|
||||
BetterRTP.getInstance().getText().getNotOnline(sendi, args[1]);
|
||||
else
|
||||
@@ -33,7 +35,7 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
|
||||
if (Bukkit.getPlayer(args[1]) != null && Bukkit.getPlayer(args[1]).isOnline()) {
|
||||
World world = Bukkit.getWorld(args[2]);
|
||||
if (world != null) {
|
||||
getCmd().tp(Bukkit.getPlayer(args[1]), sendi, world.getName(), getCmd().getBiomes(args, 3, sendi), RTP_TYPE.FORCED);
|
||||
HelperRTP.tp(Bukkit.getPlayer(args[1]), sendi, world.getName(), HelperRTP_Info.getBiomes(args, 3, sendi), RTP_TYPE.FORCED);
|
||||
} else
|
||||
BetterRTP.getInstance().getText().getNotExist(sendi, args[2]);
|
||||
} else if (Bukkit.getPlayer(args[1]) != null)
|
||||
@@ -56,7 +58,7 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
|
||||
list.add(w.getName());
|
||||
} else if (args.length > 3) {
|
||||
if (RTPCommandType.BIOME.getCmd().permission(sendi))
|
||||
getCmd().addBiomes(list, args);
|
||||
HelperRTP_Info.addBiomes(list, args);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ public class CmdSettings implements RTPCommand, RTPCommandHelpable {
|
||||
if (sendi instanceof Player)
|
||||
BetterRTP.getInstance().getInvs().getInv(RTP_INV_SETTINGS.MAIN).show((Player) sendi);
|
||||
else
|
||||
BetterRTP.getInstance().getCmd().msgNotPlayer(sendi, label);
|
||||
BetterRTP.getInstance().getText().getNotPlayer(sendi, label);
|
||||
}
|
||||
|
||||
public List<String> tabComplete(CommandSender sendi, String[] args) {
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
package me.SuperRonanCraft.BetterRTP.player.commands.types;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
|
||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP_Info;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@@ -21,7 +22,7 @@ public class CmdWorld implements RTPCommand, RTPCommandHelpable {
|
||||
//rtp world <world> <biome1, biome2...>
|
||||
public void execute(CommandSender sendi, String label, String[] args) {
|
||||
if (args.length >= 2)
|
||||
BetterRTP.getInstance().getCmd().rtp(sendi, label, args[1], BetterRTP.getInstance().getCmd().getBiomes(args, 2, sendi));
|
||||
HelperRTP.rtp(sendi, label, args[1], HelperRTP_Info.getBiomes(args, 2, sendi));
|
||||
else
|
||||
usage(sendi, label);
|
||||
}
|
||||
@@ -37,7 +38,7 @@ public class CmdWorld implements RTPCommand, RTPCommandHelpable {
|
||||
}
|
||||
} else if (args.length >= 3) {
|
||||
if (RTPCommandType.BIOME.getCmd().permission(sendi))
|
||||
getCmd().addBiomes(list, args);
|
||||
HelperRTP_Info.addBiomes(list, args);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
@@ -50,10 +51,6 @@ public class CmdWorld implements RTPCommand, RTPCommandHelpable {
|
||||
BetterRTP.getInstance().getText().getUsageWorld(sendi, label);
|
||||
}
|
||||
|
||||
private Commands getCmd() {
|
||||
return BetterRTP.getInstance().getCmd();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHelp() {
|
||||
return BetterRTP.getInstance().getText().getHelpWorld();
|
||||
|
||||
@@ -4,6 +4,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
||||
import me.SuperRonanCraft.BetterRTP.references.Updater;
|
||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
@@ -30,7 +31,7 @@ public class Join {
|
||||
//RTP on first join
|
||||
private void rtpOnFirstJoin(Player p) {
|
||||
if (getPl().getSettings().rtpOnFirstJoin_Enabled && !p.hasPlayedBefore())
|
||||
getPl().getCmd().tp(p, Bukkit.getConsoleSender(), getPl().getSettings().rtpOnFirstJoin_World, null, RTP_TYPE.JOIN); //Console is sender to override delays
|
||||
HelperRTP.tp(p, Bukkit.getConsoleSender(), getPl().getSettings().rtpOnFirstJoin_World, null, RTP_TYPE.JOIN); //Console is sender to override delays
|
||||
}
|
||||
|
||||
private BetterRTP getPl() {
|
||||
|
||||
@@ -4,6 +4,7 @@ import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
//Called when an rtp has found a valid location
|
||||
public class RTP_FindLocationEvent extends RTPEvent {
|
||||
|
||||
Player p;
|
||||
|
||||
@@ -247,4 +247,8 @@ public class Messages {
|
||||
public void error(CommandSender sendi) {
|
||||
sms(sendi, "&cERROR &7Seems like your Administrator did not update their language file!");
|
||||
}
|
||||
|
||||
public void getNotPlayer(CommandSender sendi, String cmd) {
|
||||
sms(sendi, "Must be a player to use this command! Try '/" + cmd + " help'");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
package me.SuperRonanCraft.BetterRTP.references.helpers;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
|
||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownHandler;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldLocations;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class HelperRTP {
|
||||
|
||||
public static void rtp(CommandSender sendi, String cmd, String world, List<String> biomes) {
|
||||
if (sendi instanceof Player)
|
||||
HelperRTP.tp((Player) sendi, sendi, world, biomes, RTP_TYPE.COMMAND);
|
||||
else
|
||||
BetterRTP.getInstance().getText().getNotPlayer(sendi, cmd);
|
||||
}
|
||||
|
||||
public static void tp(Player player, CommandSender sendi, String world, List<String> biomes, RTP_TYPE rtpType) {
|
||||
tp(player, sendi, world, biomes, rtpType, false, false);
|
||||
}
|
||||
|
||||
public static void tp(Player player, CommandSender sendi, String world, List<String> biomes, RTP_TYPE rtpType,
|
||||
boolean ignoreCooldown, boolean ignoreDelay) {
|
||||
tp(player, sendi, world, biomes, rtpType, ignoreCooldown, ignoreDelay, null);
|
||||
}
|
||||
|
||||
public static void tp(Player player, CommandSender sendi, String world, List<String> biomes, RTP_TYPE rtpType,
|
||||
boolean ignoreCooldown, boolean ignoreDelay, WorldLocations locations) {
|
||||
if (checkRTPing(player, sendi)) { //Is RTP'ing
|
||||
if (ignoreCooldown || checkCooldown(sendi, player)) { //Is Cooling down
|
||||
boolean delay = false;
|
||||
if (!ignoreDelay && sendi == player) //Forced?
|
||||
if (getPl().getSettings().delayEnabled && getPl().getSettings().delayTime > 0) //Delay enabled?
|
||||
if (!getPl().getPerms().getBypassDelay(player)) //Can bypass?
|
||||
delay = true;
|
||||
//player.sendMessage("Cooldown applies: " + cooldownApplies(sendi, player));
|
||||
RTPSetupInformation setup_info = new RTPSetupInformation(world, sendi, player, true,
|
||||
biomes, delay, rtpType, locations, !ignoreCooldown && cooldownApplies(sendi, player)); //ignore cooldown or else
|
||||
getPl().getRTP().start(setup_info);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean checkRTPing(Player player, CommandSender sendi) {
|
||||
if (getPl().getpInfo().getRtping().containsKey(player) && getPl().getpInfo().getRtping().get(player)) {
|
||||
getPl().getText().getAlready(sendi);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private static boolean checkCooldown(CommandSender sendi, Player player) {
|
||||
if (cooldownApplies(sendi, player)) { //Bypassing/Forced?
|
||||
CooldownHandler cooldownHandler = getPl().getCooldowns();
|
||||
if (!cooldownHandler.isLoaded() || !cooldownHandler.loadedPlayer(player)) { //Cooldowns have yet to download
|
||||
getPl().getText().getCooldown(sendi, String.valueOf(-1L));
|
||||
return false;
|
||||
}
|
||||
//Cooldown Data
|
||||
CooldownData cooldownData = getPl().getCooldowns().getPlayer(player);
|
||||
if (cooldownData != null) {
|
||||
if (cooldownHandler.locked(cooldownData)) { //Infinite cooldown (locked)
|
||||
getPl().getText().getNoPermission(sendi);
|
||||
return false;
|
||||
} else { //Normal cooldown
|
||||
long Left = cooldownHandler.timeLeft(cooldownData);
|
||||
if (getPl().getSettings().delayEnabled && !getPl().getPerms().getBypassDelay(sendi))
|
||||
Left = Left + getPl().getSettings().delayTime;
|
||||
if (Left > 0) {
|
||||
//Still cooling down
|
||||
getPl().getText().getCooldown(sendi, String.valueOf(Left));
|
||||
return false;
|
||||
} else {
|
||||
//Reset timer, but allow them to tp
|
||||
//cooldowns.add(id);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} //else
|
||||
//cooldowns.add(id);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private static boolean cooldownOverride(CommandSender sendi, Player player) {
|
||||
return sendi != player || getPl().getPerms().getBypassCooldown(player);
|
||||
}
|
||||
|
||||
private static boolean cooldownEnabled() {
|
||||
return getPl().getCooldowns().isEnabled();
|
||||
}
|
||||
|
||||
private static boolean cooldownApplies(CommandSender sendi, Player player) {
|
||||
return cooldownEnabled() && !cooldownOverride(sendi, player);
|
||||
}
|
||||
|
||||
private static BetterRTP getPl() {
|
||||
return BetterRTP.getInstance();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package me.SuperRonanCraft.BetterRTP.references.helpers;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
|
||||
|
||||
public class HelperRTP_Command {
|
||||
|
||||
public static void registerCommand(RTPCommand cmd, boolean forced) {
|
||||
BetterRTP.getInstance().getCmd().registerCommand(cmd, forced);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package me.SuperRonanCraft.BetterRTP.references.helpers;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import org.bukkit.block.Biome;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class HelperRTP_Info {
|
||||
|
||||
//Custom biomes
|
||||
public static List<String> getBiomes(String[] args, int start, CommandSender sendi) {
|
||||
List<String> biomes = new ArrayList<>();
|
||||
boolean error_sent = false;
|
||||
if (BetterRTP.getInstance().getPerms().getBiome(sendi))
|
||||
for (int i = start; i < args.length; i++) {
|
||||
String str = args[i];
|
||||
try {
|
||||
biomes.add(Biome.valueOf(str.replaceAll(",", "").toUpperCase()).name());
|
||||
} catch (Exception e) {
|
||||
if (!error_sent) {
|
||||
BetterRTP.getInstance().getText().getOtherBiome(sendi, str);
|
||||
error_sent = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return biomes;
|
||||
}
|
||||
|
||||
public static void addBiomes(List<String> list, String[] args) {
|
||||
try {
|
||||
for (Biome b : Biome.values())
|
||||
if (b.name().toUpperCase().replaceAll("minecraft:", "").startsWith(args[args.length - 1].toUpperCase()))
|
||||
list.add(b.name().replaceAll("minecraft:", ""));
|
||||
} catch (NoSuchMethodError e) {
|
||||
//Not in 1.14.X
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -7,6 +7,7 @@ public class Settings {
|
||||
|
||||
public boolean debug;
|
||||
public boolean delayEnabled;
|
||||
public int delayTime;
|
||||
public boolean rtpOnFirstJoin_Enabled;
|
||||
public String rtpOnFirstJoin_World;
|
||||
public boolean rtpOnFirstJoin_SetAsRespawn;
|
||||
@@ -20,6 +21,7 @@ public class Settings {
|
||||
FileBasics.FILETYPE config = FileBasics.FILETYPE.CONFIG;
|
||||
debug = config.getBoolean("Settings.Debugger");
|
||||
delayEnabled = config.getBoolean("Settings.Delay.Enabled");
|
||||
delayTime = config.getInt("Settings.Delay.Time");
|
||||
rtpOnFirstJoin_Enabled = config.getBoolean("Settings.RtpOnFirstJoin.Enabled");
|
||||
rtpOnFirstJoin_World = config.getString("Settings.RtpOnFirstJoin.World");
|
||||
rtpOnFirstJoin_SetAsRespawn = config.getBoolean("Settings.RtpOnFirstJoin.SetAsRespawn");
|
||||
|
||||
Reference in New Issue
Block a user