all messages fixed + rtp request error + rtp data transfer

This commit is contained in:
SuperRonanCraft 2022-10-13 00:16:38 -04:00
parent 84b8d0f5fe
commit d3a9da2f76
32 changed files with 287 additions and 254 deletions

View File

@ -8,6 +8,8 @@ import me.SuperRonanCraft.BetterRTP.player.rtp.RTP;
import me.SuperRonanCraft.BetterRTP.references.WarningHandler;
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
import me.SuperRonanCraft.BetterRTP.references.depends.DepPlaceholderAPI;
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;
@ -29,7 +31,6 @@ import java.util.List;
public class BetterRTP extends JavaPlugin {
private final Permissions perms = new Permissions();
private final MessagesOLD text = new MessagesOLD();
private final DepEconomy eco = new DepEconomy();
private final Commands cmd = new Commands(this);
private final RTP rtp = new RTP();
@ -92,7 +93,7 @@ public class BetterRTP extends JavaPlugin {
this.cmd.commandExecuted(sendi, label, args);
} catch (NullPointerException e) {
e.printStackTrace();
text.error(sendi);
Message_RTP.sms(sendi, "&cERROR &7Seems like your Administrator did not update their language file!");
}
return true;
}
@ -106,10 +107,6 @@ public class BetterRTP extends JavaPlugin {
return perms;
}
public MessagesOLD getText() {
return text;
}
public DepEconomy getEco() {
return eco;
}
@ -129,7 +126,7 @@ public class BetterRTP extends JavaPlugin {
public void reload(CommandSender sendi) {
invs.closeAll();
loadAll();
text.getReload(sendi);
MessagesCore.RELOAD.send(sendi);
}
public RTPInventories getInvs() {

View File

@ -5,6 +5,7 @@ import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdTeleport;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent_After;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownHandler;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
@ -55,11 +56,11 @@ public class Commands {
Bukkit.getServer().getPluginManager().callEvent(new RTP_CommandEvent_After(sendi, cmd));
}
} else
pl.getText().getNoPermission(sendi);
MessagesCore.NOPERMISSION.send(sendi);
return;
}
}
pl.getText().getInvalid(sendi, label);
MessagesCore.INVALID.send(sendi, label);
} else {
RTP_CommandEvent event = new RTP_CommandEvent(sendi, new CmdTeleport());
Bukkit.getServer().getPluginManager().callEvent(event);
@ -67,7 +68,7 @@ public class Commands {
event.getCmd().execute(sendi, label, args);
}
} else
pl.getText().getNoPermission(sendi);
MessagesCore.NOPERMISSION.send(sendi);
}
public List<String> onTabComplete(CommandSender sendi, String[] args) {

View File

@ -8,6 +8,7 @@ import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP_Info;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesUsage;
import org.bukkit.command.CommandSender;
import java.util.ArrayList;
@ -39,11 +40,7 @@ public class CmdBiome implements RTPCommand, RTPCommandHelpable {
}
public void usage(CommandSender sendi, String label) {
BetterRTP.getInstance().getText().getUsageBiome(sendi, label);
}
private Commands getCmd() {
return BetterRTP.getInstance().getCmd();
MessagesUsage.BIOME.send(sendi, label);
}
@Override

View File

@ -6,6 +6,8 @@ import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP_EditWorlds;
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.messages.MessagesUsage;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
@ -43,14 +45,14 @@ public class CmdEdit implements RTPCommand, RTPCommandHelpable { //Edit a worlds
return;
}
}
BetterRTP.getInstance().getText().getNotExist(sendi, args[2]);
MessagesCore.NOTEXIST.send(sendi, args[2]);
return;
}
usage(sendi, label, cmd);
return;
case LOCATION:
if (args.length >= 5) {
for (Map.Entry<String, RTPWorld> location : BetterRTP.getInstance().getRTP().RTPworldLocations.entrySet()) {
for (Map.Entry<String, RTPWorld> location : BetterRTP.getInstance().getRTP().getRTPworldLocations().entrySet()) {
if (location.getKey().equals(args[2])) {
for (RTP_CMD_EDIT_SUB sub_cmd : RTP_CMD_EDIT_SUB.values())
if (sub_cmd.name().equalsIgnoreCase(args[3])) {
@ -68,7 +70,7 @@ public class CmdEdit implements RTPCommand, RTPCommandHelpable { //Edit a worlds
return;
case PERMISSION_GROUP:
if (BetterRTP.getInstance().getSettings().isPermissionGroupEnabled() && args.length >= 6) {
for (String group : BetterRTP.getInstance().getRTP().permissionGroups.keySet()) {
for (String group : BetterRTP.getInstance().getRTP().getPermissionGroups().keySet()) {
if (group.equals(args[2])) {
for (World world : Bukkit.getWorlds()) {
if (world.getName().equals(args[3])) {
@ -80,7 +82,7 @@ public class CmdEdit implements RTPCommand, RTPCommandHelpable { //Edit a worlds
usage(sendi, label, cmd);
return;
}
BetterRTP.getInstance().getText().getNotExist(sendi, args[3]);
MessagesCore.NOTEXIST.send(sendi, args[3]);
return;
}
}
@ -104,7 +106,7 @@ public class CmdEdit implements RTPCommand, RTPCommandHelpable { //Edit a worlds
return;
}
}
BetterRTP.getInstance().getText().getNotExist(sendi, args[2]);
MessagesCore.NOTEXIST.send(sendi, args[2]);
return;
case OVERRIDE:
for (World world : Bukkit.getWorlds()) {
@ -114,7 +116,7 @@ public class CmdEdit implements RTPCommand, RTPCommandHelpable { //Edit a worlds
return;
}
}
BetterRTP.getInstance().getText().getNotExist(sendi, args[2]);
MessagesCore.NOTEXIST.send(sendi, args[2]);
return;
case BLACKLISTEDBLOCKS:
if (args[2].equalsIgnoreCase("add")) {
@ -158,12 +160,12 @@ public class CmdEdit implements RTPCommand, RTPCommandHelpable { //Edit a worlds
list.add(world.getName());
break;
case PERMISSION_GROUP:
for (String group : BetterRTP.getInstance().getRTP().permissionGroups.keySet())
for (String group : BetterRTP.getInstance().getRTP().getPermissionGroups().keySet())
if (group.toLowerCase().startsWith(args[2].toLowerCase()))
list.add(group);
break;
case LOCATION:
for (String location : BetterRTP.getInstance().getRTP().RTPworldLocations.keySet())
for (String location : BetterRTP.getInstance().getRTP().getRTPworldLocations().keySet())
if (location.toLowerCase().startsWith(args[2].toLowerCase()))
list.add(location);
break;
@ -294,7 +296,7 @@ public class CmdEdit implements RTPCommand, RTPCommandHelpable { //Edit a worlds
MessagesUsage.EDIT_LOCATION.send(sendi, label); break;
}
else
BetterRTP.getInstance().getText().getUsageEdit(sendi, label);
MessagesUsage.EDIT_BASE.send(sendi, label);
}
@Override

View File

@ -20,11 +20,8 @@ public class CmdHelp implements RTPCommand, RTPCommandHelpable {
}
public void execute(CommandSender sendi, String label, String[] args) {
MessagesOLD txt = BetterRTP.getInstance().getText();
List<String> list = new ArrayList<>();
//list.add(txt.getHelpPrefix());
list.add(MessagesHelp.PREFIX.get());
//list.add(txt.getHelpMain());
list.add(MessagesHelp.MAIN.get());
for (RTPCommand cmd : BetterRTP.getInstance().getCmd().commands)
if (cmd.permission(sendi))
@ -32,9 +29,6 @@ public class CmdHelp implements RTPCommand, RTPCommandHelpable {
String help = ((RTPCommandHelpable) cmd).getHelp();
list.add(help);
}
//for (int i = 0; i < list.size(); i++)
// list.set(i, list.get(i).replace("%command%", label));
//BetterRTP.getInstance().getText().sms(sendi, list);
Message_RTP.sms(sendi, list, Collections.singletonList(label));
}

View File

@ -6,6 +6,9 @@ import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPParticles;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
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.MessagesHelp;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldDefault;
@ -78,7 +81,7 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
}
info.forEach(str ->
info.set(info.indexOf(str), pl.getText().color(str)));
info.set(info.indexOf(str), Message.color(str)));
sendi.sendMessage(info.toString());
}
@ -94,7 +97,7 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
}
info.forEach(str ->
info.set(info.indexOf(str), BetterRTP.getInstance().getText().color(str)));
info.set(info.indexOf(str), Message.color(str)));
sendi.sendMessage(info.toString());
}
@ -102,7 +105,7 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
public static void sendInfoWorld(CommandSender sendi, List<String> list) { //Send info
list.add(0, "&e&m-----&6 BetterRTP &8| Info &e&m-----");
list.forEach(str ->
list.set(list.indexOf(str), BetterRTP.getInstance().getText().color(str)));
list.set(list.indexOf(str), Message.color(str)));
sendi.sendMessage(list.toArray(new String[0]));
}
@ -129,8 +132,8 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
else {
info.add("&7- &6Overriden&7: " + _false);
if (_rtpworld == null)
_rtpworld = BetterRTP.getInstance().getRTP().getPlayerWorld(new RTPSetupInformation(w, player != null ? player : sendi, player, player != null));
WorldDefault worldDefault = BetterRTP.getInstance().getRTP().RTPdefaultWorld;
_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());
@ -189,7 +192,7 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
}
info.forEach(str ->
info.set(info.indexOf(str), BetterRTP.getInstance().getText().color(str)));
info.set(info.indexOf(str), Message.color(str)));
sendi.sendMessage(info.toString());
}

View File

@ -6,7 +6,10 @@ import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
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.Message_RTP;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesUsage;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldLocations;
import org.bukkit.Bukkit;
@ -50,7 +53,7 @@ public class CmdLocation implements RTPCommand, RTPCommandHelpable {
}
usage(sendi, label);
} else if (p != null)
BetterRTP.getInstance().getText().getNotOnline(sendi, args[1]);
MessagesCore.NOTONLINE.send(sendi, args[1]);
else
usage(sendi, label);
} else
@ -77,7 +80,7 @@ public class CmdLocation implements RTPCommand, RTPCommandHelpable {
}
public void usage(CommandSender sendi, String label) {
BetterRTP.getInstance().getText().getUsageLocation(sendi, label);
MessagesUsage.LOCATION.send(sendi, label);
}
private static HashMap<String, RTPWorld> getLocations() {

View File

@ -9,7 +9,10 @@ import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP_Info;
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.messages.MessagesUsage;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
@ -30,7 +33,7 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
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);
else if (Bukkit.getPlayer(args[1]) != null)
BetterRTP.getInstance().getText().getNotOnline(sendi, args[1]);
MessagesCore.NOTONLINE.send(sendi, args[1]);
else
usage(sendi, label);
else if (args.length >= 3)
@ -39,9 +42,9 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
if (world != null) {
HelperRTP.tp(Bukkit.getPlayer(args[1]), sendi, world, HelperRTP_Info.getBiomes(args, 3, sendi), RTP_TYPE.FORCED);
} else
BetterRTP.getInstance().getText().getNotExist(sendi, args[2]);
MessagesCore.NOTEXIST.send(sendi, args[2]);
} else if (Bukkit.getPlayer(args[1]) != null)
BetterRTP.getInstance().getText().getNotOnline(sendi, args[1]);
MessagesCore.NOTONLINE.send(sendi, args[1]);
else
usage(sendi, label);
else
@ -70,7 +73,7 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
}
public void usage(CommandSender sendi, String label) {
BetterRTP.getInstance().getText().getUsageRTPOther(sendi, label);
MessagesUsage.RTP_OTHER.send(sendi, label);
}
@Override

View File

@ -7,6 +7,7 @@ import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPParticles;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.messages.Message;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueData;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldDefault;
@ -40,7 +41,7 @@ public class CmdQueue implements RTPCommand {
public static void sendInfo(CommandSender sendi, List<String> list) { //Send info
list.add(0, "&e&m-----&6 BetterRTP &8| Queue &e&m-----");
list.forEach(str ->
list.set(list.indexOf(str), BetterRTP.getInstance().getText().color(str)));
list.set(list.indexOf(str), Message.color(str)));
sendi.sendMessage(list.toArray(new String[0]));
}

View File

@ -4,6 +4,8 @@ import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.messages.Message;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
import org.bukkit.command.CommandSender;
@ -16,7 +18,7 @@ public class CmdVersion implements RTPCommand, RTPCommandHelpable {
}
public void execute(CommandSender sendi, String label, String[] args) {
sendi.sendMessage(BetterRTP.getInstance().getText().colorPre("&aVersion #&e" + BetterRTP.getInstance().getDescription().getVersion()));
Message_RTP.sms(sendi, "&aVersion #&e" + BetterRTP.getInstance().getDescription().getVersion());
}
public List<String> tabComplete(CommandSender sendi, String[] args) {

View File

@ -7,7 +7,9 @@ import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP_Info;
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;
@ -31,7 +33,7 @@ public class CmdWorld implements RTPCommand, RTPCommandHelpable {
if (world != null)
CmdTeleport.teleport(sendi, label, world, HelperRTP_Info.getBiomes(args, 2, sendi));
else
BetterRTP.getInstance().getText().getNotExist(sendi, args[1]);
MessagesCore.NOTEXIST.send(sendi, args[1]);
} else
usage(sendi, label);
}
@ -57,7 +59,7 @@ public class CmdWorld implements RTPCommand, RTPCommandHelpable {
}
public void usage(CommandSender sendi, String label) {
BetterRTP.getInstance().getText().getUsageWorld(sendi, label);
MessagesUsage.WORLD.send(sendi, label);
}
@Override

View File

@ -4,6 +4,9 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
import me.SuperRonanCraft.BetterRTP.references.messages.Message;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
import org.bukkit.block.Block;
import org.bukkit.block.Sign;
import org.bukkit.entity.Player;
@ -23,7 +26,7 @@ class Interact {
FileOther.FILETYPE file = BetterRTP.getInstance().getFiles().getType(FileOther.FILETYPE.SIGNS);
enabled = file.getBoolean(pre + "Enabled");
title = file.getString(pre + "Title");
coloredTitle = BetterRTP.getInstance().getText().color(title);
coloredTitle = Message.color(title);
}
void event(PlayerInteractEvent e) {
@ -40,8 +43,8 @@ class Interact {
action(e.getPlayer(), cmd(sign.getLines()).split(" "));
return;
}
e.getPlayer().sendMessage(BetterRTP.getInstance().getText().colorPre("&cError! &7Command &a"
+ Arrays.toString(cmd(sign.getLines()).split(" ")) + "&7 does not exist! Defaulting command to /rtp!"));
Message_RTP.sms(e.getPlayer(), "&cError! &7Command &a"
+ Arrays.toString(cmd(sign.getLines()).split(" ")) + "&7 does not exist! Defaulting command to /rtp!");
}
}
}
@ -52,7 +55,7 @@ class Interact {
if (line != null && (line.equalsIgnoreCase(title) ||
line.equalsIgnoreCase("[RTP]"))) {
e.setLine(0, coloredTitle != null ? coloredTitle : "[RTP]");
BetterRTP.getInstance().getText().getSignCreated(e.getPlayer(), cmd(e.getLines()));
MessagesCore.SIGN.send(e.getPlayer(), cmd(e.getLines()));
}
}
}

View File

@ -28,10 +28,10 @@ public class RTP {
boolean cancelOnMove, cancelOnDamage;
public final HashMap<String, WORLD_TYPE> world_type = new HashMap<>();
//Worlds
public final WorldDefault RTPdefaultWorld = new WorldDefault();
public final HashMap<String, RTPWorld> RTPcustomWorld = new HashMap<>();
public final HashMap<String, RTPWorld> RTPworldLocations = new HashMap<>();
public final HashMap<String, PermissionGroup> permissionGroups = new HashMap<>();
@Getter private final WorldDefault RTPdefaultWorld = new WorldDefault();
@Getter private final HashMap<String, RTPWorld> RTPcustomWorld = new HashMap<>();
@Getter private final HashMap<String, RTPWorld> RTPworldLocations = new HashMap<>();
@Getter private final HashMap<String, PermissionGroup> permissionGroups = new HashMap<>();
public RTPTeleport getTeleport() {
return teleport;
@ -71,113 +71,32 @@ public class RTP {
RTPLoader.loadPermissionGroups(permissionGroups);
}
public WorldPlayer getPlayerWorld(RTPSetupInformation setup_info) {
WorldPlayer pWorld = new WorldPlayer(setup_info.getPlayer(), setup_info.getWorld());
//Random Location
if (setup_info.getLocation() == null && BetterRTP.getInstance().getSettings().isUseLocationIfAvailable()) {
WorldLocations worldLocation = HelperRTP.getRandomLocation(setup_info.getSender(), setup_info.getWorld());
if (worldLocation != null) {
setup_info.setLocation(worldLocation);
setup_info.setWorld(worldLocation.getWorld());
}
if (setup_info.getLocation() == null && BetterRTP.getInstance().getSettings().isDebug())
WarningHandler.warn(WarningHandler.WARNING.USELOCATION_ENABLED_NO_LOCATION_AVAILABLE,
"This is not an error! UseLocationIfAvailable is set to `true`, but no location was found for "
+ setup_info.getSender().getName() + "! Using world defaults! (Maybe they dont have permission?)");
}
//Location
if (setup_info.getLocation() != null) {
String setup_name = null;
for (Map.Entry<String, RTPWorld> location_set : RTPworldLocations.entrySet()) {
RTPWorld location = location_set.getValue();
if (location == setup_info.getLocation()) {
setup_name = location_set.getKey();
break;
}
}
pWorld.setup(setup_name, setup_info.getLocation(), setup_info.getLocation().getBiomes());
}
if (!pWorld.isSetup()) {
WorldPermissionGroup group = null;
if (pWorld.getPlayer() != null)
for (Map.Entry<String, PermissionGroup> permissionGroup : BetterRTP.getInstance().getRTP().permissionGroups.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();
}
}
}
}
//Permission Group
if (group != null) {
pWorld.setup(null, group, setup_info.getBiomes());
pWorld.config = group;
}
//Custom World
else if (RTPcustomWorld.containsKey(setup_info.getWorld().getName())) {
RTPWorld cWorld = RTPcustomWorld.get(pWorld.getWorld().getName());
pWorld.setup(null, cWorld, setup_info.getBiomes());
}
//Default World
else
pWorld.setup(null, RTPdefaultWorld, setup_info.getBiomes());
}
//World type
pWorld.setWorldtype(getWorldType(pWorld.getWorld()));
return pWorld;
}
public static WORLD_TYPE getWorldType(World world) {
WORLD_TYPE world_type;
RTP rtp = BetterRTP.getInstance().getRTP();
if (rtp.world_type.containsKey(world.getName()))
world_type = rtp.world_type.get(world.getName());
else {
world_type = WORLD_TYPE.NORMAL;
rtp.world_type.put(world.getName(), world_type); //Defaults this so the error message isn't spammed
WarningHandler.warn(WarningHandler.WARNING.NO_WORLD_TYPE_DECLARED, "Seems like the world `" + world.getName() + "` does not have a `WorldType` declared. " +
"Please add/fix this in the config.yml file! This world will be treated as an overworld! " +
"If this world is a nether world, configure it to NETHER (example: `- " + world.getName() + ": NETHER`", false);
}
return world_type;
}
public void start(RTPSetupInformation setup_info) {
RTP_SettingUpEvent setup = new RTP_SettingUpEvent(setup_info.getPlayer());
start(HelperRTP.getPlayerWorld(setup_info));
}
public void start(WorldPlayer pWorld) {
RTP_SettingUpEvent setup = new RTP_SettingUpEvent(pWorld.getPlayer());
Bukkit.getPluginManager().callEvent(setup);
if (setup.isCancelled())
return;
CommandSender sendi = setup_info.getSender();
WorldPlayer pWorld = getPlayerWorld(setup_info);
//Debugging!
//CmdInfo.sendInfoWorld(sendi, CmdInfo.infoGetWorld(sendi, setup_info.getWorld(), setup_info.getPlayer(), pWorld));
// Second Economy check
if (!getPl().getEco().hasBalance(sendi, pWorld))
if (!getPl().getEco().hasBalance(pWorld.getSendi(), pWorld))
return;
rtp(sendi, pWorld, setup_info.isDelay(), setup_info.getRtp_type(), setup_info.isCooldown());
rtp(pWorld.getSendi(), pWorld, pWorld.getRtp_type());
}
private void rtp(CommandSender sendi, WorldPlayer pWorld, boolean delay, RTP_TYPE type, boolean cooldown) {
private void rtp(CommandSender sendi, WorldPlayer pWorld, RTP_TYPE type) {
//Cooldown
Player p = pWorld.getPlayer();
//p.sendMessage("Cooling down: " + cooldown);
if (cooldown)
if (pWorld.isApplyCooldown())
getPl().getCooldowns().add(p, pWorld.getWorld());
getPl().getpInfo().getRtping().put(p, true); //Cache player so they cant run '/rtp' again while rtp'ing
//Setup player rtp methods
RTPPlayer rtpPlayer = new RTPPlayer(p, this, pWorld, type);
// Delaying? Else, just go
if (getPl().getSettings().isDelayEnabled() && delay) {
if (getPl().getSettings().isDelayEnabled() && pWorld.isApplyDelay()) {
new RTPDelay(sendi, rtpPlayer, delayTime, cancelOnMove, cancelOnDamage);
} else {
teleport.beforeTeleportInstant(sendi, p);

View File

@ -5,6 +5,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportEvent;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPreEvent;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WORLD_TYPE;
import org.bukkit.Chunk;
import org.bukkit.Location;
@ -13,6 +14,7 @@ import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.CompletableFuture;
@ -96,7 +98,7 @@ public class RTPTeleport {
eSounds.playDelay(p);
eTitles.showTitle(RTPTitles.RTP_TITLE_TYPE.NODELAY, p, p.getLocation(), 0, 0);
if (eTitles.sendMsg(RTPTitles.RTP_TITLE_TYPE.NODELAY))
getPl().getText().getSuccessTeleport(sendi);
MessagesCore.SUCCESS_TELEPORT.send(sendi);
getPl().getServer().getPluginManager().callEvent(new RTP_TeleportPreEvent(p));
}
@ -104,28 +106,30 @@ public class RTPTeleport {
eSounds.playDelay(p);
eTitles.showTitle(RTPTitles.RTP_TITLE_TYPE.DELAY, p, p.getLocation(), 0, delay);
if (eTitles.sendMsg(RTPTitles.RTP_TITLE_TYPE.DELAY))
getPl().getText().getDelay(p, delay);
MessagesCore.DELAY.send(p, delay);
}
public void cancelledTeleport(Player p) { //Only Delays should call this
eTitles.showTitle(RTPTitles.RTP_TITLE_TYPE.CANCEL, p, p.getLocation(), 0, 0);
if (eTitles.sendMsg(RTPTitles.RTP_TITLE_TYPE.CANCEL))
getPl().getText().getMoved(p);
MessagesCore.MOVED.send(p);
}
private void loadingTeleport(Player p, CommandSender sendi) {
eTitles.showTitle(RTPTitles.RTP_TITLE_TYPE.LOADING, p, p.getLocation(), 0, 0);
if ((eTitles.sendMsg(RTPTitles.RTP_TITLE_TYPE.LOADING) && sendStatusMessage()) || sendi != p) //Show msg if enabled or if not same player
getPl().getText().getSuccessLoading(sendi);
MessagesCore.SUCCESS_LOADING.send(sendi);
}
public void failedTeleport(Player p, CommandSender sendi) {
eTitles.showTitle(RTPTitles.RTP_TITLE_TYPE.FAILED, p, p.getLocation(), 0, 0);
if (eTitles.sendMsg(RTPTitles.RTP_TITLE_TYPE.FAILED))
if (p == sendi)
getPl().getText().getFailedNotSafe(sendi, BetterRTP.getInstance().getRTP().maxAttempts);
MessagesCore.FAILED_NOTSAFE.send(sendi, BetterRTP.getInstance().getRTP().maxAttempts);
else
getPl().getText().getOtherNotSafe(sendi, BetterRTP.getInstance().getRTP().maxAttempts, p.getName());
MessagesCore.OTHER_NOTSAFE.send(sendi, Arrays.asList(
BetterRTP.getInstance().getRTP().maxAttempts,
p.getName()));
}
//Processing
@ -142,19 +146,14 @@ public class RTPTeleport {
return asyncChunks;
}*/
private void sendSuccessMsg(CommandSender sendi, String player, Location loc, int price, boolean sameAsPlayer,
int attempts) {
String x = Integer.toString(loc.getBlockX());
String y = Integer.toString(loc.getBlockY());
String z = Integer.toString(loc.getBlockZ());
String world = loc.getWorld().getName();
private void sendSuccessMsg(CommandSender sendi, String player, Location loc, int price, boolean sameAsPlayer, int attempts) {
if (sameAsPlayer) {
if (price == 0)
getPl().getText().getSuccessBypass(sendi, x, y, z, world, attempts);
MessagesCore.SUCCESS_BYPASS.send(sendi, Arrays.asList(loc, attempts));
else
getPl().getText().getSuccessPaid(sendi, price, x, y, z, world, attempts);
MessagesCore.SUCCESS_PAID.send(sendi, Arrays.asList(loc, attempts, price));
} else
getPl().getText().getOtherSuccess(sendi, player, x, y, z, world, attempts);
MessagesCore.OTHER_SUCCESS.send(sendi, Arrays.asList(loc, player, attempts));
}
private boolean sendStatusMessage() {

View File

@ -2,9 +2,14 @@ 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 me.SuperRonanCraft.BetterRTP.references.messages.Message;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import java.util.Arrays;
import java.util.HashMap;
public class RTPTitles {
@ -46,15 +51,16 @@ public class RTPTitles {
// int fadeIn = getPl().text.getFadeIn();
// int stay = text.getStay();
// int fadeOut = text.getFadeOut();
title = BetterRTP.getInstance().getText().color(title);
sub = BetterRTP.getInstance().getText().color(sub);
p.sendTitle(title, sub);
title = Message.color(title);
sub = Message.color(sub);
Message.smsTitle(p, Arrays.asList(title, sub));
//p.sendTitle(title, sub);
// player.sendTitle(title, subTitle, fadeIn, stay, fadeOut);
}
enum RTP_TITLE_TYPE {
NODELAY("NoDelay"), TELEPORT("Teleport"), DELAY("Delay"), CANCEL("Cancelled"), LOADING("Loading"), FAILED("Failed");
String path;
final String path;
RTP_TITLE_TYPE(String path) {
this.path = path;
}

View File

@ -1,10 +1,19 @@
package me.SuperRonanCraft.BetterRTP.player.rtp;
import lombok.Getter;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
public enum RTP_ERROR_REQUEST_REASON {
IS_RTPING,
NO_PERMISSION,
WORLD_DISABLED,
COOLDOWN,
PRICE_ECONOMY,
PRICE_HUNGER,
IS_RTPING(MessagesCore.ALREADY),
NO_PERMISSION(MessagesCore.NOPERMISSION),
WORLD_DISABLED(MessagesCore.DISABLED_WORLD),
COOLDOWN(MessagesCore.COOLDOWN),
PRICE_ECONOMY(MessagesCore.FAILED_PRICE),
PRICE_HUNGER(MessagesCore.FAILED_PRICE);
@Getter private final MessagesCore msg;
RTP_ERROR_REQUEST_REASON(MessagesCore msg) {
this.msg = msg;
}
}

View File

@ -4,6 +4,7 @@ import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.economy.EconomyResponse;
@ -28,7 +29,7 @@ public class DepEconomy {
&& (player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() == GameMode.ADVENTURE)) {
boolean has_hunger = player.getFoodLevel() > hunger;
if (!has_hunger) {
BetterRTP.getInstance().getText().getFailedHunger(sendi);
MessagesCore.FAILED_HUNGER.send(sendi);
return false;
} else {
player.setFoodLevel(player.getFoodLevel() - hunger);
@ -41,7 +42,7 @@ public class DepEconomy {
EconomyResponse r = e.withdrawPlayer(player, pWorld.getPrice());
boolean passed_economy = r.transactionSuccess();
if (!passed_economy) {
BetterRTP.getInstance().getText().getFailedPrice(sendi, pWorld.getPrice());
MessagesCore.FAILED_PRICE.send(sendi, pWorld.getPrice());
if (took_food)
player.setFoodLevel(player.getFoodLevel() + hunger);
} else
@ -63,7 +64,7 @@ public class DepEconomy {
try {
boolean passed_economy = e.getBalance(pWorld.getPlayer()) >= price;
if (!passed_economy) {
BetterRTP.getInstance().getText().getFailedPrice(sendi, price);
MessagesCore.FAILED_PRICE.send(sendi, price);
return false;
}
} catch (Exception e) {
@ -83,7 +84,7 @@ public class DepEconomy {
&& (player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() == GameMode.ADVENTURE)) {
boolean has_hunger = player.getFoodLevel() > hunger;
if (!has_hunger) {
BetterRTP.getInstance().getText().getFailedHunger(sendi);
MessagesCore.FAILED_HUNGER.send(sendi);
return false;
}
}

View File

@ -95,7 +95,7 @@ public class DepPlaceholderAPI extends PlaceholderExpansion {
if (!PermissionNode.getAWorld(player, world.getName()))
return BetterRTP.getInstance().getSettings().getPlaceholder_nopermission();
RTPSetupInformation setupInformation = new RTPSetupInformation(world, player, player, true);
WorldPlayer pWorld = BetterRTP.getInstance().getRTP().getPlayerWorld(setupInformation);
WorldPlayer pWorld = HelperRTP.getPlayerWorld(setupInformation);
//Cooldown
if (!HelperRTP_Check.isCoolingDown(player, player, pWorld))
return BetterRTP.getInstance().getSettings().getPlaceholder_cooldown();

View File

@ -2,14 +2,14 @@ package me.SuperRonanCraft.BetterRTP.references.helpers;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdLocation;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_ERROR_REQUEST_REASON;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
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.WorldLocations;
import me.SuperRonanCraft.BetterRTP.references.WarningHandler;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.PermissionGroup;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.*;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
@ -17,10 +17,7 @@ import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;
import java.util.*;
public class HelperRTP {
@ -46,18 +43,25 @@ public class HelperRTP {
world = player.getWorld();
if (BetterRTP.getInstance().getRTP().overriden.containsKey(world.getName()))
world = Bukkit.getWorld(BetterRTP.getInstance().getRTP().overriden.get(world.getName()));
RTP_ERROR_REQUEST_REASON cantReason = HelperRTP_Check.canRTP(player, sendi, world, ignoreCooldown);
RTPSetupInformation setup_info = new RTPSetupInformation(
world,
sendi,
player,
true,
biomes,
!ignoreDelay && HelperRTP_Check.isDelay(player, sendi),
rtpType,
locations,
!ignoreCooldown && HelperRTP_Check.checkCooldown(sendi, player)
);
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);
return;
}
boolean delay = false;
if (!ignoreDelay && sendi == player) //Forced?
if (getPl().getSettings().isDelayEnabled() && getPl().getSettings().getDelayTime() > 0) //Delay enabled?
if (!PermissionNode.BYPASS_DELAY.check(player)) //Can bypass?
delay = true;
RTPSetupInformation setup_info = new RTPSetupInformation(world, sendi, player, true,
biomes, delay, rtpType, locations, !ignoreCooldown && HelperRTP_Check.checkCooldown(sendi, player)); //ignore cooldown or else
//ignore cooldown or else
getPl().getRTP().start(setup_info);
}
@ -76,5 +80,83 @@ public class HelperRTP {
return null;
}
public static WorldPlayer getPlayerWorld(RTPSetupInformation setup_info) {
WorldPlayer pWorld = new WorldPlayer(setup_info);
//Random Location
if (setup_info.getLocation() == null && BetterRTP.getInstance().getSettings().isUseLocationIfAvailable()) {
WorldLocations worldLocation = HelperRTP.getRandomLocation(setup_info.getSender(), setup_info.getWorld());
if (worldLocation != null) {
setup_info.setLocation(worldLocation);
setup_info.setWorld(worldLocation.getWorld());
}
if (setup_info.getLocation() == null && BetterRTP.getInstance().getSettings().isDebug())
WarningHandler.warn(WarningHandler.WARNING.USELOCATION_ENABLED_NO_LOCATION_AVAILABLE,
"This is not an error! UseLocationIfAvailable is set to `true`, but no location was found for "
+ setup_info.getSender().getName() + "! Using world defaults! (Maybe they dont have permission?)");
}
//Location
if (setup_info.getLocation() != null) {
String setup_name = null;
for (Map.Entry<String, RTPWorld> location_set : BetterRTP.getInstance().getRTP().getRTPworldLocations().entrySet()) {
RTPWorld location = location_set.getValue();
if (location == setup_info.getLocation()) {
setup_name = location_set.getKey();
break;
}
}
pWorld.setup(setup_name, setup_info.getLocation(), setup_info.getLocation().getBiomes());
}
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();
}
}
}
}
//Permission Group
if (group != null) {
pWorld.setup(null, group, setup_info.getBiomes());
pWorld.config = group;
}
//Custom World
else if (BetterRTP.getInstance().getRTP().getRTPcustomWorld().containsKey(setup_info.getWorld().getName())) {
RTPWorld cWorld = BetterRTP.getInstance().getRTP().getRTPcustomWorld().get(pWorld.getWorld().getName());
pWorld.setup(null, cWorld, setup_info.getBiomes());
}
//Default World
else
pWorld.setup(null, BetterRTP.getInstance().getRTP().getRTPdefaultWorld(), setup_info.getBiomes());
}
//World type
pWorld.setWorldtype(getWorldType(pWorld.getWorld()));
return pWorld;
}
public static WORLD_TYPE getWorldType(World world) {
WORLD_TYPE world_type;
RTP rtp = BetterRTP.getInstance().getRTP();
if (rtp.world_type.containsKey(world.getName()))
world_type = rtp.world_type.get(world.getName());
else {
world_type = WORLD_TYPE.NORMAL;
rtp.world_type.put(world.getName(), world_type); //Defaults this so the error message isn't spammed
WarningHandler.warn(WarningHandler.WARNING.NO_WORLD_TYPE_DECLARED, "Seems like the world `" + world.getName() + "` does not have a `WorldType` declared. " +
"Please add/fix this in the config.yml file! This world will be treated as an overworld! " +
"If this world is a nether world, configure it to NETHER (example: `- " + world.getName() + ": NETHER`", false);
}
return world_type;
}
}

View File

@ -1,46 +1,30 @@
package me.SuperRonanCraft.BetterRTP.references.helpers;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdLocation;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_ERROR_REQUEST_REASON;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
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.WorldLocations;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;
public class HelperRTP_Check {
public static RTP_ERROR_REQUEST_REASON canRTP(Player player, CommandSender sendi, WorldPlayer pWorld, boolean ignoreCooldown) {
if (isRTPing(player)) { //Is RTP'ing
//getPl().getText().getAlready(sendi);
return RTP_ERROR_REQUEST_REASON.IS_RTPING;
}
// Not forced and has 'betterrtp.world.<world>'
if (sendi == player && !PermissionNode.getAWorld(sendi, pWorld.getWorld().getName())) {
//getPl().getText().getNoPermissionWorld(player, world.getName());
return RTP_ERROR_REQUEST_REASON.NO_PERMISSION;
}
// Check disabled worlds
if (getPl().getRTP().getDisabledWorlds().contains(pWorld.getWorld().getName())) {
//getPl().getText().getDisabledWorld(sendi, world.getName());
return RTP_ERROR_REQUEST_REASON.WORLD_DISABLED;
}
if (sendi == player && checkCooldown(sendi, player) && !isCoolingDown(sendi, player, pWorld)) { //Is Cooling down
if (sendi == player && checkCooldown(sendi, player) && isCoolingDown(sendi, player, pWorld)) { //Is Cooling down
return RTP_ERROR_REQUEST_REASON.COOLDOWN;
}
if (getPl().getEco().hasBalance(sendi, pWorld))
@ -56,40 +40,49 @@ public class HelperRTP_Check {
public static boolean isCoolingDown(CommandSender sendi, Player player, WorldPlayer pWorld) {
if (!checkCooldown(sendi, player)) //Bypassing/Forced?
return true;
return false;
CooldownHandler cooldownHandler = getPl().getCooldowns();
if (!cooldownHandler.isLoaded() || !cooldownHandler.loadedPlayer(player)) { //Cooldowns have yet to download
getPl().getText().getCooldown(sendi, String.valueOf(-1L));
return false;
MessagesCore.COOLDOWN.send(sendi, String.valueOf(-1L));
return true;
}
//Cooldown Data
CooldownData cooldownData = getPl().getCooldowns().get(player, pWorld.getWorld());
if (cooldownData != null) {
if (cooldownData.getTime() == 0) //Global cooldown with nothing
return true;
else if (cooldownHandler.locked(player)) { //Infinite cooldown (locked)
getPl().getText().getNoPermission(sendi);
return false;
else if (cooldownHandler.locked(player)) { //Infinite cooldown (locked)
MessagesCore.NOPERMISSION.send(sendi);
return true;
} else { //Normal cooldown
long timeLeft = cooldownHandler.timeLeft(player, cooldownData, pWorld);
if (timeLeft > 0) {
//Still cooling down
getPl().getText().getCooldown(sendi, String.valueOf(timeLeft));
return false;
MessagesCore.COOLDOWN.send(sendi, String.valueOf(timeLeft));
return true;
} else {
//Reset timer, but allow them to tp
//cooldowns.add(id);
return true;
return false;
}
}
}
return true;
return false;
}
private static boolean checkCooldown(CommandSender sendi, Player player) {
static boolean checkCooldown(CommandSender sendi, Player player) {
return getPl().getCooldowns().isEnabled() && !(sendi != player || PermissionNode.BYPASS_COOLDOWN.check(player));
}
static boolean isDelay(Player player, CommandSender sendi) {
boolean delay = false;
if (sendi == player) //Forced?
if (getPl().getSettings().isDelayEnabled() && getPl().getSettings().getDelayTime() > 0) //Delay enabled?
if (!PermissionNode.BYPASS_DELAY.check(player)) //Can bypass?
delay = true;
return delay;
}
private static BetterRTP getPl() {
return BetterRTP.getInstance();
}

View File

@ -37,12 +37,12 @@ public class HelperRTP_EditWorlds {
value = cmd.getResult(val);
} catch (Exception e) {
e.printStackTrace();
BetterRTP.getInstance().getText().getEditError(sendi);
MessagesCore.EDIT_ERROR.send(sendi);
return false;
}
if (value == null) {
BetterRTP.getInstance().getText().getEditError(sendi);
MessagesCore.EDIT_ERROR.send(sendi);
return false;
}
YamlConfiguration config = file.getConfig();
@ -88,12 +88,12 @@ public class HelperRTP_EditWorlds {
value = cmd.getResult(val);
} catch (Exception e) {
e.printStackTrace();
BetterRTP.getInstance().getText().getEditError(sendi);
MessagesCore.EDIT_ERROR.send(sendi);
return;
}
if (value == null) {
BetterRTP.getInstance().getText().getEditError(sendi);
MessagesCore.EDIT_ERROR.send(sendi);
return;
}
@ -120,7 +120,6 @@ public class HelperRTP_EditWorlds {
MessagesCore.EDIT_SET.get(sendi, null)
.replace("%type%", cmd.get())
.replace("%value%", val));
//BetterRTP.getInstance().getText().getEditSet(sendi, cmd.get(), val);
}
}
}
@ -153,13 +152,11 @@ public class HelperRTP_EditWorlds {
} catch (Exception e) {
e.printStackTrace();
MessagesCore.EDIT_ERROR.send(sendi);
//BetterRTP.getInstance().getText().getEditError(sendi);
return;
}
if (value == null) {
MessagesCore.EDIT_ERROR.send(sendi);
//BetterRTP.getInstance().getText().getEditError(sendi);
return;
}
@ -175,7 +172,6 @@ public class HelperRTP_EditWorlds {
MessagesCore.EDIT_SET.get(sendi, null)
.replace("%type%", cmd.get())
.replace("%value%", val));
//BetterRTP.getInstance().getText().getEditSet(sendi, cmd.get(), val);
} catch (IOException e) {
e.printStackTrace();
}
@ -189,7 +185,6 @@ public class HelperRTP_EditWorlds {
} catch (Exception e) {
//e.printStackTrace();
MessagesCore.EDIT_ERROR.send(sendi);
//BetterRTP.getInstance().getText().getEditError(sendi);
return;
}
@ -218,7 +213,6 @@ public class HelperRTP_EditWorlds {
MessagesCore.EDIT_SET.get(sendi, null)
.replace("%type%", CmdEdit.RTP_CMD_EDIT.WORLD_TYPE.name())
.replace("%value%", val));
//BetterRTP.getInstance().getText().getEditSet(sendi, CmdEdit.RTP_CMD_EDIT.WORLD_TYPE.name(), val);
} catch (IOException e) {
e.printStackTrace();
}
@ -255,7 +249,6 @@ public class HelperRTP_EditWorlds {
MessagesCore.EDIT_SET.get(sendi, null)
.replace("%type%", CmdEdit.RTP_CMD_EDIT.OVERRIDE.name())
.replace("%value%", val));
//BetterRTP.getInstance().getText().getEditSet(sendi, CmdEdit.RTP_CMD_EDIT.OVERRIDE.name(), val);
} catch (IOException e) {
e.printStackTrace();
}
@ -289,7 +282,6 @@ public class HelperRTP_EditWorlds {
MessagesCore.EDIT_SET.get(sendi, null)
.replace("%type%", CmdEdit.RTP_CMD_EDIT.BLACKLISTEDBLOCKS.name())
.replace("%value%", block));
//BetterRTP.getInstance().getText().getEditSet(sendi, CmdEdit.RTP_CMD_EDIT.BLACKLISTEDBLOCKS.name(), block);
} catch (IOException e) {
e.printStackTrace();
}

View File

@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.references.helpers;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesCore;
import org.bukkit.block.Biome;
import org.bukkit.command.CommandSender;
@ -21,7 +22,7 @@ public class HelperRTP_Info {
biomes.add(Biome.valueOf(str.replaceAll(",", "").toUpperCase()).name());
} catch (Exception e) {
if (!error_sent) {
BetterRTP.getInstance().getText().getOtherBiome(sendi, str);
MessagesCore.OTHER_BIOME.send(sendi, str);
error_sent = true;
}
}

View File

@ -23,7 +23,6 @@ public class RTPInventories {
BetterRTP main = BetterRTP.getInstance();
for (Player p : Bukkit.getOnlinePlayers())
if (main.getpInfo().playerExists(p)) {
//main.getText().getReloadMenu(p);
main.getpInfo().clearInvs(p);
p.closeInventory();
}

View File

@ -31,7 +31,6 @@ public interface RTPInventory_Defaults {
_meta.setLore(lore);
if (name != null)
_meta.setDisplayName(Message.color(name));
//(BetterRTP.getInstance().getText().color(name));
}
_stack.setItemMeta(_meta);
return _stack;
@ -44,7 +43,7 @@ public interface RTPInventory_Defaults {
}
default Inventory createInv(int size, String title) {
title = Message.color(title);//BetterRTP.getInstance().getText().color(title);
title = Message.color(title);
return Bukkit.createInventory(null, size, title);
}
}

View File

@ -13,6 +13,7 @@ public enum MessagesCore {
SUCCESS_TELEPORT("Success.Teleport"),
FAILED_NOTSAFE("Failed.NotSafe"),
FAILED_PRICE("Failed.Price"),
FAILED_HUNGER("Failed.Hunger"),
OTHER_NOTSAFE("Other.NotSafe"),
OTHER_SUCCESS("Other.Success"),
OTHER_BIOME("Other.Biome"),
@ -22,6 +23,7 @@ public enum MessagesCore {
NOPERMISSION_WORLD("NoPermission.World"),
DISABLED_WORLD("DisabledWorld"),
COOLDOWN("Cooldown"),
INVALID("Invalid"),
NOTONLINE("NotOnline"),
DELAY("Delay"),
SIGN("Sign"),

View File

@ -30,6 +30,10 @@ public class PlaceholderAnalyzer {
str = str.replace(Placeholders.COMMAND.name, info);
if (str.contains(Placeholders.PLAYER_NAME.name))
str = str.replaceAll(Placeholders.PLAYER_NAME.name, info);
if (str.contains(Placeholders.WORLD.name))
str = str.replaceAll(Placeholders.WORLD.name, info);
if (str.contains(Placeholders.COOLDOWN.name))
str = str.replaceAll(Placeholders.COOLDOWN.name, info);
return str;
}
@ -67,6 +71,8 @@ public class PlaceholderAnalyzer {
str = str.replace(Placeholders.ATTEMPTS.name, String.valueOf(num));
if (str.contains(Placeholders.PRICE.name))
str = str.replace(Placeholders.PRICE.name, String.valueOf(num));
if (str.contains(Placeholders.DELAY.name))
str = str.replace(Placeholders.DELAY.name, String.valueOf(num));
return str;
}

View File

@ -4,6 +4,7 @@ public enum Placeholders {
COMMAND("command"),
PLAYER_NAME("player"),
COOLDOWN("cooldown"),
//Location
LOCATION_X("x"),
LOCATION_Y("y"),
@ -13,6 +14,7 @@ public enum Placeholders {
//ints
ATTEMPTS("attempts"),
PRICE("price"),
DELAY("delay"),
//Other
BIOME("biome")
;

View File

@ -8,6 +8,7 @@ import me.SuperRonanCraft.BetterRTP.player.rtp.RTPPlayer;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_FindLocationEvent;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldCustom;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
@ -164,14 +165,14 @@ public class QueueHandler implements Listener { //Randomly queues up some safe l
private static HashMap<String, RTPWorld> getFromSetup(RTP_SETUP_TYPE type) {
switch (type) {
case LOCATION: return BetterRTP.getInstance().getRTP().RTPworldLocations;
case CUSTOM_WORLD: return BetterRTP.getInstance().getRTP().RTPcustomWorld;
case LOCATION: return BetterRTP.getInstance().getRTP().getRTPworldLocations();
case CUSTOM_WORLD: return BetterRTP.getInstance().getRTP().getRTPcustomWorld();
case DEFAULT:
HashMap<String, RTPWorld> list = new HashMap<>();
RTP rtp = BetterRTP.getInstance().getRTP();
for (World world : Bukkit.getWorlds())
if (!rtp.getDisabledWorlds().contains(world.getName()) && !rtp.RTPcustomWorld.containsKey(world.getName()))
list.put(world.getName(), new WorldCustom(world, rtp.RTPdefaultWorld));
if (!rtp.getDisabledWorlds().contains(world.getName()) && !rtp.getRTPcustomWorld().containsKey(world.getName()))
list.put(world.getName(), new WorldCustom(world, rtp.getRTPdefaultWorld()));
return list;
}
return null;
@ -199,7 +200,7 @@ public class QueueHandler implements Listener { //Randomly queues up some safe l
PaperLib.getChunkAtAsync(loc)
.thenAccept(v -> {
Location safeLoc = RTPPlayer.getSafeLocation(
RTP.getWorldType(rtpWorld.getWorld()),
HelperRTP.getWorldType(rtpWorld.getWorld()),
loc.getWorld(),
loc,
rtpWorld.getMinY(),

View File

@ -3,6 +3,8 @@ package me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import me.SuperRonanCraft.BetterRTP.references.file.FileOther;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.jetbrains.annotations.NotNull;
@ -61,7 +63,7 @@ public class WorldCustom implements RTPWorld, RTPWorld_Defaulted {
BetterRTP.debug("- MaxRadius: " + this.maxRad);
}
if (maxRad <= 0) {
BetterRTP.getInstance().getText().sms(Bukkit.getConsoleSender(),
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();
}
@ -72,7 +74,7 @@ public class WorldCustom implements RTPWorld, RTPWorld_Defaulted {
BetterRTP.debug("- MinRadius: " + this.minRad);
}
if (minRad < 0 || minRad >= maxRad) {
BetterRTP.getInstance().getText().sms(Bukkit.getConsoleSender(),
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();
if (minRad >= maxRad)
@ -123,13 +125,13 @@ public class WorldCustom implements RTPWorld, RTPWorld_Defaulted {
}
if (maxRad <= 0) {
BetterRTP.getInstance().getText().sms(Bukkit.getConsoleSender(),
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();
}
if (minRad < 0 || minRad >= maxRad) {
BetterRTP.getInstance().getText().sms(Bukkit.getConsoleSender(),
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();
}

View File

@ -72,7 +72,7 @@ public class WorldLocations implements RTPWorld, RTPWorld_Defaulted {
if (test.get("MaxRadius").getClass() == Integer.class)
maxRad = Integer.parseInt((test.get("MaxRadius")).toString());
if (maxRad <= 0) {
BetterRTP.getInstance().getText().sms(Bukkit.getConsoleSender(),
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();
}

View File

@ -5,6 +5,8 @@ import lombok.NonNull;
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 me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.jetbrains.annotations.NotNull;
@ -62,7 +64,7 @@ public class WorldPermissionGroup implements RTPWorld, RTPWorld_Defaulted {
BetterRTP.debug("- - MaxRadius: " + maxRad);
}
if (maxRad <= 0) {
BetterRTP.getInstance().getText().sms(Bukkit.getConsoleSender(),
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();
}
@ -73,7 +75,7 @@ public class WorldPermissionGroup implements RTPWorld, RTPWorld_Defaulted {
BetterRTP.debug("- - MinRadius: " + minRad);
}
if (minRad < 0 || minRad >= maxRad) {
BetterRTP.getInstance().getText().sms(Bukkit.getConsoleSender(),
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();
if (minRad >= maxRad)
@ -86,7 +88,7 @@ public class WorldPermissionGroup implements RTPWorld, RTPWorld_Defaulted {
BetterRTP.debug("- - Biomes: " + biomes);
}
}
if (BetterRTP.getInstance().getFiles().getType(FileOther.FILETYPE.ECO).getBoolean("Economy.Enabled"))
if (FileOther.FILETYPE.ECO.getBoolean("Economy.Enabled"))
if (field.equalsIgnoreCase("Price")) {
if (hash3.getValue().getClass() == Integer.class) {
this.price = Integer.parseInt(hash3.getValue().toString());

View File

@ -3,10 +3,13 @@ package me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds;
import lombok.Getter;
import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTPSetupInformation;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_SHAPE;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.WorldBorder;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
@ -18,6 +21,9 @@ public class WorldPlayer implements RTPWorld, RTPWorld_Defaulted {
private long cooldown;
private List<String> Biomes;
@Getter private final Player player;
@Getter private final CommandSender sendi;
@Getter private final boolean applyCooldown, applyDelay;
@Getter private final RTP_TYPE rtp_type;
private final World world;
private WORLD_TYPE world_type;
public WorldPermissionGroup config = null;
@ -28,9 +34,13 @@ public class WorldPlayer implements RTPWorld, RTPWorld_Defaulted {
public boolean eco_money_taken = false;
@Getter private boolean setup = false;
public WorldPlayer(Player p, World world) {
this.player = p;
this.world = world;
public WorldPlayer(RTPSetupInformation setup_info) {
this.sendi = setup_info.getSender();
this.player = setup_info.getPlayer();
this.world = setup_info.getWorld();
this.applyCooldown = setup_info.isCooldown();
this.applyDelay = setup_info.isDelay();
this.rtp_type = setup_info.getRtp_type();
}
public void setup(String setup_name, RTPWorld world, List<String> biomes) {
@ -68,7 +78,7 @@ public class WorldPlayer implements RTPWorld, RTPWorld_Defaulted {
}
//Make sure our borders will not cause an invalid integer
if (getMaxRadius() <= getMinRadius()) {
setMinRadius(BetterRTP.getInstance().getRTP().RTPdefaultWorld.getMinRadius());
setMinRadius(BetterRTP.getInstance().getRTP().getRTPdefaultWorld().getMinRadius());
if (getMaxRadius() <= getMinRadius())
setMinRadius(0);
}