placeholder fixes + info command player argument

This commit is contained in:
RonanCraft
2022-10-13 17:17:04 -04:00
parent d3a9da2f76
commit 831f5d29da
25 changed files with 194 additions and 546 deletions

View File

@@ -7,7 +7,7 @@
<groupId>me.SuperRonanCraft</groupId>
<artifactId>BetterRTP</artifactId>
<packaging>jar</packaging>
<version>3.4.5.1-DEV</version>
<version>3.5.0-DEV</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>

View File

@@ -5,22 +5,21 @@ import me.SuperRonanCraft.BetterRTP.player.PlayerInfo;
import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
import me.SuperRonanCraft.BetterRTP.player.events.EventListener;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP;
import me.SuperRonanCraft.BetterRTP.references.Permissions;
import me.SuperRonanCraft.BetterRTP.references.WarningHandler;
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
import me.SuperRonanCraft.BetterRTP.references.depends.DepEconomy;
import me.SuperRonanCraft.BetterRTP.references.depends.DepPlaceholderAPI;
import me.SuperRonanCraft.BetterRTP.references.file.Files;
import me.SuperRonanCraft.BetterRTP.references.invs.RTPInventories;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
import me.SuperRonanCraft.BetterRTP.references.Permissions;
import me.SuperRonanCraft.BetterRTP.references.web.Updater;
import me.SuperRonanCraft.BetterRTP.references.depends.DepEconomy;
import me.SuperRonanCraft.BetterRTP.references.file.Files;
import me.SuperRonanCraft.BetterRTP.references.file.MessagesOLD;
import me.SuperRonanCraft.BetterRTP.references.invs.RTPInventories;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownHandler;
import me.SuperRonanCraft.BetterRTP.references.settings.Settings;
import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerDataManager;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownHandler;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
import me.SuperRonanCraft.BetterRTP.references.settings.Settings;
import me.SuperRonanCraft.BetterRTP.references.web.Metrics;
import me.SuperRonanCraft.BetterRTP.references.web.Updater;
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;

View File

@@ -1,15 +1,13 @@
package me.SuperRonanCraft.BetterRTP.player.commands.types;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.references.file.MessagesOLD;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
import org.bukkit.command.CommandSender;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

View File

@@ -9,6 +9,7 @@ import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
import me.SuperRonanCraft.BetterRTP.references.messages.Message;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldDefault;
@@ -42,18 +43,26 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
if (args.length > 2 && Bukkit.getWorld(args[2]) != null) {
sendInfoWorld(sendi, infoGetWorld(sendi, Bukkit.getWorld(args[2]), null, null));
} else if (sendi instanceof Player) { //Personalize with permission groups
World world = null;
Player player = null;
if (args.length > 2) {
player = Bukkit.getPlayer(args[2]);
if (player != null)
world = player.getWorld();
}
if (world == null)
world = ((Player) sendi).getWorld();
Player player = (Player) sendi;
World world = player.getWorld();
sendInfoWorld(sendi, infoGetWorld(sendi, world, player, null));
} else
infoWorld(sendi);
} else if (args[1].equalsIgnoreCase(CmdInfoSub.PLAYER.name())) {
World world = null;
Player player = null;
if (args.length > 2) {
player = Bukkit.getPlayer(args[2]);
if (player != null)
world = player.getWorld();
}
if (player == null) {
MessagesCore.NOTONLINE.send(sendi, args.length > 2 ? args[2] : "NULL");
return;
}
if (world == null)
world = player.getWorld();
sendInfoWorld(sendi, infoGetWorld(sendi, world, player, null));
}
} else
infoWorld(sendi);
@@ -65,7 +74,7 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
}
enum CmdInfoSub { //Sub commands, future expansions
PARTICLES, SHAPES, POTION_EFFECTS, WORLD
PARTICLES, SHAPES, POTION_EFFECTS, WORLD, PLAYER
}
//Particles
@@ -116,40 +125,40 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
sendInfoWorld(sendi, info);
}
public static List<String> infoGetWorld(CommandSender sendi, World w, Player player, WorldPlayer _rtpworld) { //Specific world
public static List<String> infoGetWorld(CommandSender sendi, World world, Player player, WorldPlayer _rtpworld) { //Specific world
List<String> info = new ArrayList<>();
BetterRTP pl = BetterRTP.getInstance();
String _true = "&aTrue", _false = "&bFalse";
info.add("&bRTP info for &7" + w.getName() + (player != null ? " &d(personalized)" : ""));
info.add("&bRTP info for &7" + world.getName() + (player != null ? " &d(personalized)" : ""));
info.add("&7- &eViewing as: &b" + (player != null ? player.getName() : "ADMIN"));
info.add("&7- &6Allowed: " + (player != null ? PermissionNode.getAWorld(player, w.getName()) ? _true : _false : "&cN/A"));
if (pl.getRTP().getDisabledWorlds().contains(w.getName())) //World disabled
info.add("&7- &6Allowed: " + (player != null ? PermissionNode.getAWorld(player, world.getName()) ? _true : _false : "&cN/A"));
if (pl.getRTP().getDisabledWorlds().contains(world.getName()) && !pl.getRTP().overriden.containsKey(world.getName())) //World disabled
info.add("&7- &eDisabled: " + _true);
else {
info.add("&7- &eDisabled: " + _false);
if (pl.getRTP().overriden.containsKey(w.getName())) //World Overriden
info.add("&7- &6Overriden: " + _true + " &7- target `" + pl.getRTP().overriden.get(w.getName()) + "`");
else {
if (pl.getRTP().overriden.containsKey(world.getName())) { //World Overriden
world = Bukkit.getWorld(pl.getRTP().overriden.get(world.getName()));
info.add("&7- &6Overriden: " + _true + " &7- target `" + world.getName() + "`");
} else
info.add("&7- &6Overriden&7: " + _false);
if (_rtpworld == null)
_rtpworld = HelperRTP.getPlayerWorld(new RTPSetupInformation(w, player != null ? player : sendi, player, player != null));
WorldDefault worldDefault = BetterRTP.getInstance().getRTP().getRTPdefaultWorld();
info.add("&7- &eSetup Type&7: " + _rtpworld.setup_type.name() + getInfo(_rtpworld, worldDefault, "setup"));
info.add("&7- &6Use World Border&7: " + (_rtpworld.getUseWorldborder() ? _true : _false));
info.add("&7- &eWorld Type&7: &f" + _rtpworld.getWorldtype().name());
info.add("&7- &6Center X&7: &f" + _rtpworld.getCenterX() + getInfo(_rtpworld, worldDefault, "centerx"));
info.add("&7- &eCenter Z&7: &f" + _rtpworld.getCenterZ() + getInfo(_rtpworld, worldDefault, "centerz"));
info.add("&7- &6Max Radius&7: &f" + _rtpworld.getMaxRadius() + getInfo(_rtpworld, worldDefault, "maxrad"));
info.add("&7- &eMin Radius&7: &f" + _rtpworld.getMinRadius() + getInfo(_rtpworld, worldDefault, "minrad"));
info.add("&7- &6Min Y&7: &f" + _rtpworld.getMinY());
info.add("&7- &eMax Y&7: &f" + _rtpworld.getMaxY());
info.add("&7- &6Price&7: &f" + _rtpworld.getPrice() + getInfo(_rtpworld, worldDefault, "price"));
info.add("&7- &eCooldown&7: &f" + _rtpworld.getCooldown() + getInfo(_rtpworld, worldDefault, "cooldown"));
info.add("&7- &6Biomes&7: &f" + _rtpworld.getBiomes().toString());
info.add("&7- &eShape&7: &f" + _rtpworld.getShape().toString() + getInfo(_rtpworld, worldDefault, "shape"));
info.add("&7- &6Permission Group&7: " + (_rtpworld.getConfig() != null ? "&a" + _rtpworld.getConfig().getGroupName() : "&cN/A"));
info.add("&7- &eQueue Available&7: " + QueueHandler.getApplicable(_rtpworld).size());
}
if (_rtpworld == null)
_rtpworld = HelperRTP.getPlayerWorld(new RTPSetupInformation(world, player != null ? player : sendi, player, player != null));
WorldDefault worldDefault = BetterRTP.getInstance().getRTP().getRTPdefaultWorld();
info.add("&7- &eSetup Type&7: " + _rtpworld.setup_type.name() + getInfo(_rtpworld, worldDefault, "setup"));
info.add("&7- &6Use World Border&7: " + (_rtpworld.getUseWorldborder() ? _true : _false));
info.add("&7- &eWorld Type&7: &f" + _rtpworld.getWorldtype().name());
info.add("&7- &6Center X&7: &f" + _rtpworld.getCenterX() + getInfo(_rtpworld, worldDefault, "centerx"));
info.add("&7- &eCenter Z&7: &f" + _rtpworld.getCenterZ() + getInfo(_rtpworld, worldDefault, "centerz"));
info.add("&7- &6Max Radius&7: &f" + _rtpworld.getMaxRadius() + getInfo(_rtpworld, worldDefault, "maxrad"));
info.add("&7- &eMin Radius&7: &f" + _rtpworld.getMinRadius() + getInfo(_rtpworld, worldDefault, "minrad"));
info.add("&7- &6Min Y&7: &f" + _rtpworld.getMinY());
info.add("&7- &eMax Y&7: &f" + _rtpworld.getMaxY());
info.add("&7- &6Price&7: &f" + _rtpworld.getPrice() + getInfo(_rtpworld, worldDefault, "price"));
info.add("&7- &eCooldown&7: &f" + _rtpworld.getCooldown() + getInfo(_rtpworld, worldDefault, "cooldown"));
info.add("&7- &6Biomes&7: &f" + _rtpworld.getBiomes().toString());
info.add("&7- &eShape&7: &f" + _rtpworld.getShape().toString() + getInfo(_rtpworld, worldDefault, "shape"));
info.add("&7- &6Permission Group&7: " + (_rtpworld.getConfig() != null ? "&a" + _rtpworld.getConfig().getGroupName() : "&cN/A"));
info.add("&7- &eQueue Available&7: " + QueueHandler.getApplicable(_rtpworld).size());
}
return info;
}

View File

@@ -84,7 +84,7 @@ public class CmdLocation implements RTPCommand, RTPCommandHelpable {
}
private static HashMap<String, RTPWorld> getLocations() {
return BetterRTP.getInstance().getRTP().RTPworldLocations;
return BetterRTP.getInstance().getRTP().getRTPworldLocations();
}
//Get locations a player has access to

View File

@@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.player.rtp;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.util.Vector;

View File

@@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.player.rtp;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;

View File

@@ -5,7 +5,7 @@ import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.ProtocolManager;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.rtp.packets.WrapperPlayServerNamedSoundEffect;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
import org.bukkit.Location;
import org.bukkit.Sound;
import org.bukkit.entity.Player;

View File

@@ -7,19 +7,13 @@ import me.SuperRonanCraft.BetterRTP.references.helpers.*;
import me.SuperRonanCraft.BetterRTP.references.player.HelperPlayer;
import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownHandler;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
import me.SuperRonanCraft.BetterRTP.references.settings.Settings;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import java.util.Date;
import java.util.concurrent.TimeUnit;
public class DepPlaceholderAPI extends PlaceholderExpansion {
@NotNull
@@ -45,29 +39,20 @@ public class DepPlaceholderAPI extends PlaceholderExpansion {
PlayerData data = HelperPlayer.getData(player);
if (request.equalsIgnoreCase("count")) {
return String.valueOf(data.getRtpCount());
} else if (request.equalsIgnoreCase("cooldown")) {
return cooldown(data, player.getWorld());
} else if (request.startsWith("cooldown_")) {
World world = null;
String world_name = request.replace("cooldown_", "");
if (world_name.length() > 0) {
for (World _world : Bukkit.getWorlds()) {
if (world_name.equalsIgnoreCase(_world.getName())) {
world = _world;
break;
}
}
} else if (request.startsWith("cooldown")) {
if (request.equalsIgnoreCase("cooldown")) {
return cooldown(data, player.getWorld());
} else if (request.startsWith("cooldown_")) {
World world = getWorld(request.replace("cooldown_", ""));
return cooldown(data, world);
} else if (request.equalsIgnoreCase("cooldowntime")) {
return cooldownTime(data, player.getWorld());
} else if (request.startsWith("cooldowntime_")) {
World world = getWorld(request.replace("cooldowntime_", ""));
return cooldownTime(data, world);
}
return cooldown(data, world);
} else if (request.startsWith("canrtp_")) {
String world_name = request.replace("canrtp_", "");
World world = null;
if (world_name.length() > 0)
for (World _world : Bukkit.getWorlds())
if (world_name.equalsIgnoreCase(_world.getName())) {
world = _world;
break;
}
World world = getWorld(request.replace("canrtp_", ""));
return canRTP(player, world);
} else if (request.equalsIgnoreCase("canrtp")) {
World world = player.getWorld();
@@ -78,19 +63,23 @@ public class DepPlaceholderAPI extends PlaceholderExpansion {
private String cooldown(PlayerData data, World world) {
if (world == null) return "Invalid World";
if (BetterRTP.getInstance().getRTP().overriden.containsKey(world.getName()))
world = Bukkit.getWorld(BetterRTP.getInstance().getRTP().overriden.get(world.getName()));
CooldownData cooldownData = data.getCooldowns().getOrDefault(world, null);
CooldownData cooldownData = data.getCooldowns().getOrDefault(HelperRTP.getActualWorld(data.player, world), null);
if (cooldownData != null)
return HelperDate.stringFrom(cooldownData.getTime());
return HelperDate.left(cooldownData.getTime());
else
return "None";
return HelperDate.total(0L);
}
private String cooldownTime(PlayerData data, World world) {
if (world == null) return "Invalid World";
RTPSetupInformation setup_info = new RTPSetupInformation(HelperRTP.getActualWorld(data.player, world), data.player, data.player, true);
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setup_info);
return HelperDate.total(HelperRTP_Check.applyCooldown(data.player, data.player) ? pWorld.getCooldown() * 1000L : 0L);
}
private String canRTP(Player player, World world) {
if (world == null) return "Invalid World";
if (BetterRTP.getInstance().getRTP().overriden.containsKey(world.getName()))
world = Bukkit.getWorld(BetterRTP.getInstance().getRTP().overriden.get(world.getName()));
world = HelperRTP.getActualWorld(player, world);
//Permission
if (!PermissionNode.getAWorld(player, world.getName()))
return BetterRTP.getInstance().getSettings().getPlaceholder_nopermission();
@@ -108,4 +97,15 @@ public class DepPlaceholderAPI extends PlaceholderExpansion {
//True
return BetterRTP.getInstance().getSettings().getPlaceholder_true();
}
private World getWorld(String world_name) {
World world = null;
if (world_name.length() > 0)
for (World _world : Bukkit.getWorlds())
if (world_name.equalsIgnoreCase(_world.getName())) {
world = _world;
break;
}
return world;
}
}

View File

@@ -1,113 +0,0 @@
package me.SuperRonanCraft.BetterRTP.references.file;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.List;
public class LangFile {
private YamlConfiguration config = new YamlConfiguration();
String getString(String path) {
if (config.isString(path))
return config.getString(path);
return "SOMETHING WENT WRONG";
}
@SuppressWarnings("all")
public List<String> getStringList(String path) {
if (config.isList(path))
return config.getStringList(path);
return Arrays.asList("SOMETHING WENT WRONG!");
}
public boolean getBoolean(String path) {
return config.getBoolean(path);
}
@SuppressWarnings("all")
public void load() {
generateDefaults();
String fileName = "lang" + File.separator + getPl().getFiles().getType(FileOther.FILETYPE.CONFIG).getString("Language-File");
File file = new File(getPl().getDataFolder(), fileName);
if (!file.exists()) {
fileName = "lang" + File.separator + defaultLangs[0]; //Default to english
file = new File(getPl().getDataFolder(), fileName);
}
try {
config.load(file);
InputStream in = BetterRTP.getInstance().getResource(fileName);
if (in == null)
in = getPl().getResource(fileName.replace(File.separator, "/"));
if (in != null) {
config.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(in)));
config.options().copyDefaults(true);
in.close();
}
config.save(file);
} catch (Exception e) {
e.printStackTrace();
}
}
private final String[] defaultLangs = {
"chs.yml", //Chinese Simplified (OasisAkari)
"cht.yml", //Chinese (OasisAkari & kamiya10)
"cs.yml", //Czech (Lewisparkle)
"da.yml", //Danish (Janbchr)
"de.yml", //German (IBimsDaNico#8690)
"en.yml",
"es.yml", //Spanish (emgv)
"fr.yml", //French (At0micA55 & Mrflo67)
"he.yml", //Hebrew (thefourcraft)
"it.yml", //Italian (iVillager)
"ja.yml", //Japanese (ViaSnake)
"nl.yml", //Dutch (QuestalNetwork) (GeleVla)
"no.yml", //Norwegian (Fraithor & Janbchr)
"pl.yml", //Polish (Farum & TeksuSiK)
"ro.yml", //Romanian (GamingXBlood)
"ru.yml", //Russian (Logan)
"vi.yml", //Vietnamese (VoChiDanh#0862)
};
private void generateDefaults() {
//Generate all language files
for (String yaml : defaultLangs) {
generateDefaultConfig(yaml, yaml); //Generate its own defaults
if (!yaml.equals(defaultLangs[0]))
generateDefaultConfig(yaml, defaultLangs[0]); //Generate the english defaults (incase)
}
}
private void generateDefaultConfig(String fName, String fNameDef /*Name of file to generate defaults*/) {
String fileName = "lang" + File.separator + fName;
File file = new File(getPl().getDataFolder(), fileName);
if (!file.exists())
getPl().saveResource(fileName, false);
try {
YamlConfiguration config = new YamlConfiguration();
config.load(file);
String fileNameDef = "lang" + File.separator + fNameDef;
InputStream in = BetterRTP.getInstance().getResource(fileNameDef);
if (in == null)
in = getPl().getResource(fileNameDef.replace(File.separator, "/"));
if (in != null) {
config.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(in)));
config.options().copyDefaults(true);
in.close();
}
config.save(file);
} catch (Exception e) {
e.printStackTrace();
}
}
private BetterRTP getPl() {
return BetterRTP.getInstance();
}
}

View File

@@ -1,285 +0,0 @@
package me.SuperRonanCraft.BetterRTP.references.file;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MessagesOLD {
private final String preM = "Messages.", preH = "Help.", preU = "Usage.";
private FileLanguage getLang() {
return BetterRTP.getInstance().getFiles().getLang();
}
public void sms(CommandSender sendi, String msg) {
if (!msg.equals(""))
sendi.sendMessage(colorPre(msg));
}
public void sms(CommandSender sendi, List<String> msg) {
if (msg != null && !msg.isEmpty()) {
msg.forEach(str ->
msg.set(msg.indexOf(str), color(str)));
sendi.sendMessage(msg.toArray(new String[0]));
}
}
//SUCCESS
public void getSuccessPaid(CommandSender sendi, int price, String x, String y, String z, String world, int
attempts) {
sms(sendi, getLang().getString(preM + "Success.Paid").replaceAll("%price%", String.valueOf(price)).replaceAll
("%x%", x).replaceAll("%y%", y).replaceAll("%z%", z).replaceAll("%world%", world).replaceAll
("%attempts%", Integer.toString(attempts)));
}
public void getSuccessBypass(CommandSender sendi, String x, String y, String z, String world, int attemtps) {
sms(sendi, getLang().getString(preM + "Success.Bypass").replaceAll("%x%", x).replaceAll("%y%", y).replaceAll
("%z%", z).replaceAll("%world%", world).replaceAll("%attempts%", Integer.toString(attemtps)));
}
public void getSuccessLoading(CommandSender sendi) {
sms(sendi, getLang().getString(preM + "Success.Loading"));
}
public void getSuccessTeleport(CommandSender sendi) {
sms(sendi, getLang().getString(preM + "Success.Teleport"));
}
//FAILED
public void getFailedNotSafe(CommandSender sendi, int attempts) {
sms(sendi, getLang().getString(preM + "Failed.NotSafe").replaceAll("%attempts%", Integer.toString(attempts)));
}
public void getFailedPrice(CommandSender sendi, int price) {
sms(sendi, getLang().getString(preM + "Failed.Price").replaceAll("%price%", String.valueOf(price)));
}
public void getFailedHunger(CommandSender sendi) {
sms(sendi, getLang().getString(preM + "Failed.Hunger"));
}
public void getOtherNotSafe(CommandSender sendi, int attempts, String player) {
sms(sendi, getLang().getString(preM + "Other.NotSafe").replaceAll("%attempts%", Integer.toString(attempts))
.replaceAll("%player%", player));
}
public void getOtherSuccess(CommandSender sendi, String player, String x, String y, String z, String world, int
attempts) {
sms(sendi, getLang().getString(preM + "Other.Success").replaceAll("%player%", player).replaceAll("%x%", x)
.replaceAll("%y%", y).replaceAll("%z%", z).replaceAll("%world%", world).replaceAll("%attempts%",
Integer.toString(attempts)));
}
public void getOtherBiome(CommandSender sendi, String biome) {
sms(sendi, getLang().getString(preM + "Other.Biome").replaceAll("%biome%", biome));
}
public void getNotExist(CommandSender sendi, String world) {
sms(sendi, getLang().getString(preM + "NotExist").replaceAll("%world%", world));
}
public void getReload(CommandSender sendi) {
sms(sendi, getLang().getString(preM + "Reload"));
}
public void getNoPermission(CommandSender sendi) {
sms(sendi, getLang().getString(preM + "NoPermission.Basic"));
}
public void getNoPermissionWorld(CommandSender sendi, String world) {
sms(sendi, getLang().getString(preM + "NoPermission.World").replaceAll("%world%", world));
}
public void getDisabledWorld(CommandSender sendi, String world) {
sms(sendi, getLang().getString(preM + "DisabledWorld").replaceAll("%world%", world));
}
public void getCooldown(CommandSender sendi, String time) {
sms(sendi, getLang().getString(preM + "Cooldown").replaceAll("%time%", time));
}
public void getInvalid(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preM + "Invalid").replaceAll("%command%", cmd));
}
public void getNotOnline(CommandSender sendi, String player) {
sms(sendi, getLang().getString(preM + "NotOnline").replaceAll("%player%", player));
}
public void getDelay(CommandSender sendi, int time) {
sms(sendi, getLang().getString(preM + "Delay").replaceAll("%time%", String.valueOf(time)));
}
public void getSignCreated(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preM + "Sign").replaceAll("%command%", cmd));
}
public void getMoved(CommandSender sendi) {
sms(sendi, getLang().getString(preM + "Moved"));
}
public void getAlready(CommandSender sendi) {
sms(sendi, getLang().getString(preM + "Already"));
}
private String getPrefix() {
return getLang().getString(preM + "Prefix");
}
public String color(String str) {
return translateHexColorCodes(str);
}
//Thank you to zwrumpy on Spigot! (https://www.spigotmc.org/threads/hex-color-code-translate.449748/#post-4270781)
//Supports 1.8 to 1.18
private static String translateHexColorCodes(String message) {
Pattern pattern = Pattern.compile("#[a-fA-F0-9]{6}");
Matcher matcher = pattern.matcher(message);
while (matcher.find()) {
String hexCode = message.substring(matcher.start(), matcher.end());
String replaceSharp = hexCode.replace('#', 'x');
char[] ch = replaceSharp.toCharArray();
StringBuilder builder = new StringBuilder("");
for (char c : ch) {
builder.append("&").append(c);
}
message = message.replace(hexCode, builder.toString());
matcher = pattern.matcher(message);
}
return ChatColor.translateAlternateColorCodes('&', message);
}
public String colorPre(String str) {
return color(getPrefix() + str);
}
//Edit
public void getEditError(CommandSender sendi) {
sms(sendi, getLang().getString(preM + "Edit.Error"));
}
public void getEditSet(CommandSender sendi, String type, String value) {
sms(sendi, getLang().getString(preM + "Edit.Set").replaceAll("%type%", type).replaceAll("%value%", value));
}
public void getEditRemove(CommandSender sendi, String world) {
sms(sendi, getLang().getString(preM + "Edit.Remove").replaceAll("%world%", world));
}
//Help
public String getHelpPrefix() {
return getLang().getString(preH + "Prefix");
}
public String getHelpMain() { //rtp
return getLang().getString(preH + "Main");
}
public String getHelpBiome() { //rtp biome
return getLang().getString(preH + "Biome");
}
public String getHelpEdit() { //rtp edit
return getLang().getString(preH + "Edit");
}
public String getHelpHelp() { //rtp help
return getLang().getString(preH + "Help");
}
public String getHelpInfo() { //rtp info
return getLang().getString(preH + "Info");
}
public String getHelpPlayer() { //rtp player
return getLang().getString(preH + "Player");
}
public String getHelpReload() {
return getLang().getString(preH + "Reload");
}
public String getHelpSettings() { //rtp settings
return getLang().getString(preH + "Settings");
}
public String getHelpTest() { //rtp test
return getLang().getString(preH + "Test");
}
public String getHelpVersion() { //rtp version
return getLang().getString(preH + "Version");
}
public String getHelpWorld() { //rtp world
return getLang().getString(preH + "World");
}
public String getHelpLocation() { //rtp location
return getLang().getString(preH + "Location");
}
//Usage
public void getUsageRTPOther(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "Player").replaceAll("%command%", cmd));
}
public void getUsageWorld(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "World").replaceAll("%command%", cmd));
}
public void getUsageBiome(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "Biome").replaceAll("%command%", cmd));
}
public void getUsageLocation(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "Location").replaceAll("%command%", cmd));
}
public void getUsageEditLocation(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "Edit.Location").replaceAll("%command%", cmd));
}
public void getUsageEdit(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "Edit.Base").replaceAll("%command%", cmd));
}
public void getUsageEditDefault(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "Edit.Default").replaceAll("%command%", cmd));
}
public void getUsageEditWorld(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "Edit.World").replaceAll("%command%", cmd));
}
public void getUsageWorldtype(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "Edit.Worldtype").replaceAll("%command%", cmd));
}
public void getUsageOverride(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "Edit.Override").replaceAll("%command%", cmd));
}
public void getUsageBlacklistedBlocks(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "Edit.BlacklistedBlocks").replaceAll("%command%", cmd));
}
public void getUsagePermissionGroup(CommandSender sendi, String cmd) {
sms(sendi, getLang().getString(preU + "Edit.PermissionGroup").replaceAll("%command%", cmd));
}
// Not Found
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'");
}
}

View File

@@ -13,10 +13,20 @@ public class HelperDate {
return Calendar.getInstance().getTime();
}
public static String stringFrom(Long amount) {
public static String left(Long amount) {
Date current_date = HelperDate.getDate();
long min = Math.min(amount, current_date.getTime());
long max = Math.max(amount, current_date.getTime());
return fromTo(current_date.getTime(), amount);
}
public static String total(Long amount) {
return fromTo(0L, amount);
}
public static String fromTo(Long from, Long to) {
Settings settings = BetterRTP.getInstance().getSettings();
long min = Math.min(from, to);
long max = Math.max(from, to);
if (max == min)
return settings.getPlaceholder_timeZero();
long diffInMillies = max - min;
long days = 0, hours = 0, minutes = 0, seconds = 0;
if (diffInMillies > 0) {
@@ -28,16 +38,14 @@ public class HelperDate {
diffInMillies -= (1000 * 60) * minutes;
seconds = TimeUnit.SECONDS.convert(diffInMillies, TimeUnit.MILLISECONDS);
}
Settings settings = BetterRTP.getInstance().getSettings();
String time_str = settings.getPlaceholder_timeFormat();
if (time_str.contains("%d"))
time_str = time_str.replace("%d", settings.getPlaceholder_timeDays().replace("{0}", String.valueOf(days)));
if (time_str.contains("%h"))
time_str = time_str.replace("%h", settings.getPlaceholder_timeDays().replace("{0}", String.valueOf(hours)));
if (time_str.contains("%m"))
time_str = time_str.replace("%m", settings.getPlaceholder_timeDays().replace("{0}", String.valueOf(max)));
if (time_str.contains("%s"))
time_str = time_str.replace("%s", settings.getPlaceholder_timeDays().replace("{0}", String.valueOf(seconds)));
String time_str = "";
if (days > 0)
time_str += settings.getPlaceholder_timeDays().replace("{0}", String.valueOf(days));
if (days > 0 || hours > 0)
time_str += settings.getPlaceholder_timeHours().replace("{0}", String.valueOf(hours));
if (days > 0 || hours > 0 || minutes > 0)
time_str += settings.getPlaceholder_timeMinutes().replace("{0}", String.valueOf(minutes));
time_str += settings.getPlaceholder_timeSeconds().replace("{0}", String.valueOf(seconds));
return time_str;
}

View File

@@ -39,26 +39,23 @@ public class HelperRTP {
public static void tp(@NotNull Player player, CommandSender sendi, @Nullable World world, List<String> biomes, RTP_TYPE rtpType,
boolean ignoreCooldown, boolean ignoreDelay, WorldLocations locations) {
if (world == null)
world = player.getWorld();
if (BetterRTP.getInstance().getRTP().overriden.containsKey(world.getName()))
world = Bukkit.getWorld(BetterRTP.getInstance().getRTP().overriden.get(world.getName()));
world = getActualWorld(player, world);
RTPSetupInformation setup_info = new RTPSetupInformation(
world,
sendi,
player,
true,
biomes,
!ignoreDelay && HelperRTP_Check.isDelay(player, sendi),
!ignoreDelay && HelperRTP_Check.applyDelay(player, sendi),
rtpType,
locations,
!ignoreCooldown && HelperRTP_Check.checkCooldown(sendi, player)
!ignoreCooldown && HelperRTP_Check.applyCooldown(sendi, player)
);
//RTP request cancelled reason
WorldPlayer pWorld = getPlayerWorld(setup_info);
RTP_ERROR_REQUEST_REASON cantReason = HelperRTP_Check.canRTP(player, sendi, pWorld, ignoreCooldown);
// Not forced and has 'betterrtp.world.<world>'
if (cantReason != null) {
cantReason.getMsg().send(sendi);
cantReason.getMsg().send(sendi, pWorld);
return;
}
//ignore cooldown or else
@@ -69,6 +66,14 @@ public class HelperRTP {
return BetterRTP.getInstance();
}
public static World getActualWorld(Player player, World world) {
if (world == null)
world = player.getWorld();
if (BetterRTP.getInstance().getRTP().overriden.containsKey(world.getName()))
world = Bukkit.getWorld(BetterRTP.getInstance().getRTP().overriden.get(world.getName()));
return world;
}
@Nullable
public static WorldLocations getRandomLocation(CommandSender sender, World world) {
HashMap<String, RTPWorld> locations_permissible = CmdLocation.getLocations(sender, world);
@@ -109,21 +114,7 @@ public class HelperRTP {
}
if (!pWorld.isSetup()) {
WorldPermissionGroup group = null;
if (pWorld.getPlayer() != null)
for (Map.Entry<String, PermissionGroup> permissionGroup : BetterRTP.getInstance().getRTP().getPermissionGroups().entrySet()) {
for (Map.Entry<String, WorldPermissionGroup> worldPermission : permissionGroup.getValue().getWorlds().entrySet()) {
if (pWorld.getWorld().equals(worldPermission.getValue().getWorld())) {
if (PermissionNode.getPermissionGroup(pWorld.getPlayer(), permissionGroup.getKey())) {
if (group != null) {
if (group.getPriority() < worldPermission.getValue().getPriority())
continue;
}
group = worldPermission.getValue();
}
}
}
}
WorldPermissionGroup group = getGroup(pWorld);
//Permission Group
if (group != null) {
@@ -159,4 +150,22 @@ public class HelperRTP {
return world_type;
}
public static WorldPermissionGroup getGroup(WorldPlayer pWorld) {
WorldPermissionGroup group = null;
if (pWorld.getPlayer() != null)
for (Map.Entry<String, PermissionGroup> permissionGroup : BetterRTP.getInstance().getRTP().getPermissionGroups().entrySet()) {
for (Map.Entry<String, WorldPermissionGroup> worldPermission : permissionGroup.getValue().getWorlds().entrySet()) {
if (pWorld.getWorld().equals(worldPermission.getValue().getWorld())) {
if (PermissionNode.getPermissionGroup(pWorld.getPlayer(), permissionGroup.getKey())) {
if (group != null) {
if (group.getPriority() < worldPermission.getValue().getPriority())
continue;
}
group = worldPermission.getValue();
}
}
}
}
return group;
}
}

View File

@@ -24,12 +24,12 @@ public class HelperRTP_Check {
if (getPl().getRTP().getDisabledWorlds().contains(pWorld.getWorld().getName())) {
return RTP_ERROR_REQUEST_REASON.WORLD_DISABLED;
}
if (sendi == player && checkCooldown(sendi, player) && isCoolingDown(sendi, player, pWorld)) { //Is Cooling down
if (sendi == player && applyCooldown(sendi, player) && isCoolingDown(sendi, player, pWorld)) { //Is Cooling down
return RTP_ERROR_REQUEST_REASON.COOLDOWN;
}
if (getPl().getEco().hasBalance(sendi, pWorld))
if (!getPl().getEco().hasBalance(sendi, pWorld))
return RTP_ERROR_REQUEST_REASON.PRICE_ECONOMY;
if (getPl().getEco().hasHunger(sendi, pWorld))
if (!getPl().getEco().hasHunger(sendi, pWorld))
return RTP_ERROR_REQUEST_REASON.PRICE_HUNGER;
return null;
}
@@ -39,7 +39,7 @@ public class HelperRTP_Check {
}
public static boolean isCoolingDown(CommandSender sendi, Player player, WorldPlayer pWorld) {
if (!checkCooldown(sendi, player)) //Bypassing/Forced?
if (!applyCooldown(sendi, player)) //Bypassing/Forced?
return false;
CooldownHandler cooldownHandler = getPl().getCooldowns();
if (!cooldownHandler.isLoaded() || !cooldownHandler.loadedPlayer(player)) { //Cooldowns have yet to download
@@ -70,11 +70,11 @@ public class HelperRTP_Check {
return false;
}
static boolean checkCooldown(CommandSender sendi, Player player) {
public static boolean applyCooldown(CommandSender sendi, Player player) {
return getPl().getCooldowns().isEnabled() && !(sendi != player || PermissionNode.BYPASS_COOLDOWN.check(player));
}
static boolean isDelay(Player player, CommandSender sendi) {
public static boolean applyDelay(Player player, CommandSender sendi) {
boolean delay = false;
if (sendi == player) //Forced?
if (getPl().getSettings().isDelayEnabled() && getPl().getSettings().getDelayTime() > 0) //Delay enabled?

View File

@@ -1,7 +1,6 @@
package me.SuperRonanCraft.BetterRTP.references.messages;
import me.SuperRonanCraft.BetterRTP.references.file.FileData;
import me.ronancraft.AmethystGear.resources.files.FileData;
public interface MessageData {

View File

@@ -1,8 +1,10 @@
package me.SuperRonanCraft.BetterRTP.references.messages.placeholder;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
import me.clip.placeholderapi.PlaceholderAPI;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.Biome;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -20,11 +22,21 @@ public class PlaceholderAnalyzer {
str = ints(str, (Integer) info);
if (info instanceof Biome)
str = biome(str, (Biome) info);
if (info instanceof WorldPlayer)
str = worldPlayer((WorldPlayer) info, str);
if (info instanceof World)
str = world(str, (World) info);
if (p instanceof Player)
str = papi((Player) p, str);
return str;
}
private static String worldPlayer(WorldPlayer pWorld, String str) {
str = ints(str, pWorld.getPrice());
str = world(str, pWorld.getWorld());
return player(str, pWorld.getPlayer());
}
private static String string(String str, String info) {
if (str.contains(Placeholders.COMMAND.name))
str = str.replace(Placeholders.COMMAND.name, info);
@@ -44,8 +56,12 @@ public class PlaceholderAnalyzer {
str = str.replace(Placeholders.LOCATION_Y.name, String.valueOf(loc.getBlockY()));
if (str.contains(Placeholders.LOCATION_Z.name))
str = str.replace(Placeholders.LOCATION_Z.name, String.valueOf(loc.getBlockZ()));
return world(str, loc.getWorld());
}
private static String world(String str, World world) {
if (str.contains(Placeholders.WORLD.name))
str = str.replace(Placeholders.WORLD.name, loc.getWorld().getName());
str = str.replace(Placeholders.WORLD.name, world.getName());
return str;
}
@@ -73,6 +89,8 @@ public class PlaceholderAnalyzer {
str = str.replace(Placeholders.PRICE.name, String.valueOf(num));
if (str.contains(Placeholders.DELAY.name))
str = str.replace(Placeholders.DELAY.name, String.valueOf(num));
if (str.contains(Placeholders.TIME.name))
str = str.replace(Placeholders.TIME.name, String.valueOf(num));
return str;
}

View File

@@ -15,6 +15,7 @@ public enum Placeholders {
ATTEMPTS("attempts"),
PRICE("price"),
DELAY("delay"),
TIME("time"),
//Other
BIOME("biome")
;

View File

@@ -33,7 +33,7 @@ public interface RTPWorld_Defaulted {
void setCooldown(long value);
default void setupDefaults() {
setAllFrom(BetterRTP.getInstance().getRTP().RTPdefaultWorld);
setAllFrom(BetterRTP.getInstance().getRTP().getRTPdefaultWorld());
}
default void setAllFrom(RTPWorld rtpWorld) {

View File

@@ -65,7 +65,7 @@ public class WorldCustom implements RTPWorld, RTPWorld_Defaulted {
if (maxRad <= 0) {
Message_RTP.sms(Bukkit.getConsoleSender(),
"WARNING! Custom world '" + world + "' Maximum radius of '" + maxRad + "' is not allowed! Set to default value!");
maxRad = BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMaxRadius();
maxRad = BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMaxRadius();
}
}
if (test.get("MinRadius") != null) {
@@ -76,9 +76,9 @@ public class WorldCustom implements RTPWorld, RTPWorld_Defaulted {
if (minRad < 0 || minRad >= maxRad) {
Message_RTP.sms(Bukkit.getConsoleSender(),
"WARNING! Custom world '" + world + "' Minimum radius of '" + minRad + "' is not allowed! Set to default value!");
minRad = BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMinRadius();
minRad = BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMinRadius();
if (minRad >= maxRad)
maxRad = BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMaxRadius();
maxRad = BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMaxRadius();
}
}
if (test.get("Biomes") != null) {
@@ -127,13 +127,13 @@ public class WorldCustom implements RTPWorld, RTPWorld_Defaulted {
if (maxRad <= 0) {
Message_RTP.sms(Bukkit.getConsoleSender(),
"WARNING! Custom world '" + world + "' Maximum radius of '" + maxRad + "' is not allowed! Set to default value!");
maxRad = BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMaxRadius();
maxRad = BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMaxRadius();
}
if (minRad < 0 || minRad >= maxRad) {
Message_RTP.sms(Bukkit.getConsoleSender(),
"WARNING! Custom world '" + world + "' Minimum radius of '" + minRad + "' is not allowed! Set to default value!");
minRad = BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMinRadius();
minRad = BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMinRadius();
}
}

View File

@@ -4,6 +4,7 @@ package me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
import org.bukkit.World;
import org.jetbrains.annotations.NotNull;

View File

@@ -74,7 +74,7 @@ public class WorldLocations implements RTPWorld, RTPWorld_Defaulted {
if (maxRad <= 0) {
Message_RTP.sms(Bukkit.getConsoleSender(),
"WARNING! Location '" + location_name + "' Maximum radius of '" + maxRad + "' is not allowed! Set to default value!");
maxRad = BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMaxRadius();
maxRad = BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMaxRadius();
}
BetterRTP.debug("- - MaxRadius: " + maxRad);
}
@@ -84,9 +84,9 @@ public class WorldLocations implements RTPWorld, RTPWorld_Defaulted {
if (minRad < 0 || minRad >= maxRad) {
Message_RTP.sms(Bukkit.getConsoleSender(),
"WARNING! Location '" + location_name + "' Minimum radius of '" + minRad + "' is not allowed! Set to default value!");
minRad = BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMinRadius();
minRad = BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMinRadius();
if (minRad >= maxRad) {
maxRad = BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMaxRadius();
maxRad = BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMaxRadius();
BetterRTP.debug("- ! MaxRadius: " + maxRad);
}
}

View File

@@ -66,7 +66,7 @@ public class WorldPermissionGroup implements RTPWorld, RTPWorld_Defaulted {
if (maxRad <= 0) {
Message_RTP.sms(Bukkit.getConsoleSender(),
"WARNING! Group '" + group + "' Maximum radius of '" + maxRad + "' is not allowed! Set to default value!");
maxRad = BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMaxRadius();
maxRad = BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMaxRadius();
}
}
if (field.equalsIgnoreCase("MinRadius")) {
@@ -77,9 +77,9 @@ public class WorldPermissionGroup implements RTPWorld, RTPWorld_Defaulted {
if (minRad < 0 || minRad >= maxRad) {
Message_RTP.sms(Bukkit.getConsoleSender(),
"WARNING! Group '" + group + "' Minimum radius of '" + minRad + "' is not allowed! Set to default value!");
minRad = BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMinRadius();
minRad = BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMinRadius();
if (minRad >= maxRad)
maxRad = BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMaxRadius();
maxRad = BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMaxRadius();
}
}
if (field.equalsIgnoreCase("Biomes")) {

View File

@@ -29,11 +29,11 @@ public class Settings {
@Getter private String placeholder_cooldown;
@Getter private String placeholder_balance;
@Getter private String placeholder_hunger;
@Getter private String placeholder_timeFormat;
@Getter private String placeholder_timeDays;
@Getter private String placeholder_timeHours;
@Getter private String placeholder_timeMinutes;
@Getter private String placeholder_timeSeconds;
@Getter private String placeholder_timeZero;
public void load() { //Load Settings
@@ -58,11 +58,11 @@ public class Settings {
placeholder_cooldown = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.CanRTP.Cooldown");
placeholder_balance = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.CanRTP.Price");
placeholder_hunger = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.CanRTP.Hunger");
placeholder_timeFormat = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.TimeFormat.Format");
placeholder_timeDays = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.TimeFormat.Days");
placeholder_timeHours = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.TimeFormat.Hours");
placeholder_timeMinutes = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.TimeFormat.Minutes");
placeholder_timeSeconds = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.TimeFormat.Seconds");
placeholder_timeZero = FileOther.FILETYPE.PLACEHOLDERS.getString("Config.TimeFormat.ZeroAll");
depends.load();
}

View File

@@ -5,6 +5,7 @@ import lombok.Setter;
import me.SuperRonanCraft.BetterRTP.references.depends.regionPlugins.REGIONPLUGINS;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
import org.bukkit.Bukkit;
import java.util.logging.Level;

View File

@@ -2,18 +2,19 @@
betterrtp_count: 'Get total amount of rtp''s done'
betterrtp_cooldown: 'Get cooldown in current world'
betterrtp_cooldown_<world_name>: 'Get cooldown of a specified world'
betterrtp_cooldowntime: 'Get cooldown time subject to in current world'
betterrtp_cooldowntime_<world_name>: 'Get cooldown time subject to in specified world'
betterrtp_canrtp_<world_name>: 'Get the reason or yes output if player can rtp in set world'
betterrtp_canrtp: 'Get the reason or yes output if player can rtp in current world'
##Config section for placeholder outputs
Config:
TimeFormat:
Days: '{0} Day(s)'
Hours: '{0} Hours'
Minutes: '{0} Mins'
Days: '{0} Day(s), '
Hours: '{0} Hours, '
Minutes: '{0} Mins and '
Seconds: '{0} Secs'
#Placeholder %d = DAYS, %h = HOURS, %m = MINUTES, %s = SECONDS
Format: '%d, %h, %m and %s'
ZeroAll: 'None'
CanRTP:
Success: '&aYes'
NoPermission: '&cNo Permission'