placeholder handling + beginning of message conversion

This commit is contained in:
RonanCraft
2022-10-12 16:07:21 -04:00
parent f0786c123a
commit 84b8d0f5fe
25 changed files with 279 additions and 107 deletions

View File

@@ -19,6 +19,8 @@ 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.web.Metrics;
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
@@ -42,10 +44,14 @@ public class BetterRTP extends JavaPlugin {
@Getter private final QueueHandler queue = new QueueHandler();
@Getter private final DatabaseHandler databaseHandler = new DatabaseHandler();
@Getter private final WarningHandler warningHandler = new WarningHandler();
@Getter private BukkitAudiences adventure;
@Getter private boolean PlaceholderAPI;
@Override
public void onEnable() {
instance = this;
this.adventure = BukkitAudiences.create(this);
registerDependencies();
new Updater(this);
new Metrics(this);
loadAll();
@@ -62,6 +68,14 @@ public class BetterRTP extends JavaPlugin {
public void onDisable() {
invs.closeAll();
queue.unload();
if (this.adventure != null) {
this.adventure.close();
this.adventure = null;
}
}
private void registerDependencies() {
PlaceholderAPI = Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI");
}
public Files getFiles() {

View File

@@ -7,6 +7,7 @@ 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.MessagesHelp;
import org.bukkit.command.CommandSender;
import java.util.ArrayList;
@@ -47,6 +48,6 @@ public class CmdBiome implements RTPCommand, RTPCommandHelpable {
@Override
public String getHelp() {
return BetterRTP.getInstance().getText().getHelpBiome();
return MessagesHelp.BIOME.get();
}
}

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.MessagesHelp;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesUsage;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WORLD_TYPE;
import org.bukkit.Bukkit;
@@ -277,19 +279,19 @@ public class CmdEdit implements RTPCommand, RTPCommandHelpable { //Edit a worlds
if (type != null)
switch (type) {
case DEFAULT:
BetterRTP.getInstance().getText().getUsageEditDefault(sendi, label); break;
MessagesUsage.EDIT_DEFAULT.send(sendi, label); break;
case CUSTOMWORLD:
BetterRTP.getInstance().getText().getUsageEditWorld(sendi, label); break;
MessagesUsage.EDIT_WORLD.send(sendi, label); break;
case WORLD_TYPE:
BetterRTP.getInstance().getText().getUsageWorldtype(sendi, label); break;
MessagesUsage.EDIT_WORLDTYPE.send(sendi, label); break;
case OVERRIDE:
BetterRTP.getInstance().getText().getUsageOverride(sendi, label); break;
MessagesUsage.EDIT_OVERRIDE.send(sendi, label); break;
case BLACKLISTEDBLOCKS:
BetterRTP.getInstance().getText().getUsageBlacklistedBlocks(sendi, label); break;
MessagesUsage.EDIT_BLACKLISTEDBLLOCKS.send(sendi, label); break;
case PERMISSION_GROUP:
BetterRTP.getInstance().getText().getUsagePermissionGroup(sendi, label); break;
MessagesUsage.EDIT_PERMISSIONGROUP.send(sendi, label); break;
case LOCATION:
BetterRTP.getInstance().getText().getUsageEditLocation(sendi, label); break;
MessagesUsage.EDIT_LOCATION.send(sendi, label); break;
}
else
BetterRTP.getInstance().getText().getUsageEdit(sendi, label);
@@ -297,7 +299,7 @@ public class CmdEdit implements RTPCommand, RTPCommandHelpable { //Edit a worlds
@Override
public String getHelp() {
return BetterRTP.getInstance().getText().getHelpEdit();
return MessagesHelp.EDIT.get();
}
public enum RTP_CMD_EDIT {

View File

@@ -4,9 +4,13 @@ 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.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;
public class CmdHelp implements RTPCommand, RTPCommandHelpable {
@@ -18,28 +22,20 @@ 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(txt.getHelpMain());
//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))
if (cmd instanceof 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);
// if (pl.getPerms().getRtpOther(sendi))
// pl.getText().getHelpPlayer(sendi, label);
// if (sendi instanceof Player) {
// if (pl.getPerms().getWorld(sendi))
// pl.getText().getHelpWorld(sendi, label);
// } else
// pl.getText().getHelpWorld(sendi, label);
// if (pl.getPerms().getReload(sendi))
// pl.getText().getHelpReload(sendi, label);
//if (pl.getPerms().getInfo(sendi))
// pl.getText().getHelpInfo(sendi);
//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));
}
public List<String> tabComplete(CommandSender sendi, String[] args) {
@@ -53,6 +49,6 @@ public class CmdHelp implements RTPCommand, RTPCommandHelpable {
@Override
public String getHelp() {
return BetterRTP.getInstance().getText().getHelpHelp();
return MessagesHelp.HELP.get();
}
}

View File

@@ -6,6 +6,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.MessagesHelp;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldDefault;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer;
@@ -57,7 +58,7 @@ public class CmdInfo implements RTPCommand, RTPCommandHelpable {
@Override
public String getHelp() {
return BetterRTP.getInstance().getText().getHelpInfo();
return MessagesHelp.INFO.get();
}
enum CmdInfoSub { //Sub commands, future expansions

View File

@@ -6,6 +6,7 @@ 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.MessagesHelp;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldLocations;
import org.bukkit.Bukkit;
@@ -102,6 +103,6 @@ public class CmdLocation implements RTPCommand, RTPCommandHelpable {
@Override
public String getHelp() {
return BetterRTP.getInstance().getText().getHelpLocation();
return MessagesHelp.LOCATION.get();
}
}

View File

@@ -9,6 +9,7 @@ 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.MessagesHelp;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
@@ -72,12 +73,8 @@ public class CmdPlayer implements RTPCommand, RTPCommandHelpable {
BetterRTP.getInstance().getText().getUsageRTPOther(sendi, label);
}
private Commands getCmd() {
return BetterRTP.getInstance().getCmd();
}
@Override
public String getHelp() {
return BetterRTP.getInstance().getText().getHelpPlayer();
return MessagesHelp.PLAYER.get();
}
}

View File

@@ -4,6 +4,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
import org.bukkit.command.CommandSender;
import java.util.List;
@@ -28,6 +29,6 @@ public class CmdReload implements RTPCommand, RTPCommandHelpable {
@Override
public String getHelp() {
return BetterRTP.getInstance().getText().getHelpReload();
return MessagesHelp.RELOAD.get();
}
}

View File

@@ -5,6 +5,8 @@ import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.invs.RTP_INV_SETTINGS;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -20,7 +22,7 @@ public class CmdSettings implements RTPCommand, RTPCommandHelpable {
if (sendi instanceof Player)
BetterRTP.getInstance().getInvs().getInv(RTP_INV_SETTINGS.MAIN).show((Player) sendi);
else
BetterRTP.getInstance().getText().getNotPlayer(sendi, label);
Message_RTP.sms(sendi, "Must be a player to use this command! Try '/" + label + " help'");
}
public List<String> tabComplete(CommandSender sendi, String[] args) {
@@ -33,6 +35,6 @@ public class CmdSettings implements RTPCommand, RTPCommandHelpable {
@Override
public String getHelp() {
return BetterRTP.getInstance().getText().getHelpSettings();
return MessagesHelp.SETTINGS.get();
}
}

View File

@@ -1,10 +1,9 @@
package me.SuperRonanCraft.BetterRTP.player.commands.types;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldLocations;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -18,7 +17,7 @@ public class CmdTeleport implements RTPCommand {
if (sendi instanceof Player)
HelperRTP.tp((Player) sendi, sendi, world, biomes, RTP_TYPE.COMMAND);
else
BetterRTP.getInstance().getText().getNotPlayer(sendi, label);
Message_RTP.sms(sendi, "Must be a player to use this command! Try '/" + label + " help'");
}
@Override

View File

@@ -5,6 +5,7 @@ import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandHelpable;
import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommand;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
import me.SuperRonanCraft.BetterRTP.references.messages.MessagesHelp;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@@ -38,7 +39,7 @@ public class CmdTest implements RTPCommand, RTPCommandHelpable {
@Override
public String getHelp() {
return BetterRTP.getInstance().getText().getHelpTest();
return MessagesHelp.TEST.get();
}
@Override

View File

@@ -4,6 +4,7 @@ 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.MessagesHelp;
import org.bukkit.command.CommandSender;
import java.util.List;
@@ -28,6 +29,6 @@ public class CmdVersion implements RTPCommand, RTPCommandHelpable {
@Override
public String getHelp() {
return BetterRTP.getInstance().getText().getHelpVersion();
return MessagesHelp.VERSION.get();
}
}

View File

@@ -7,6 +7,7 @@ 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.MessagesHelp;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
@@ -61,6 +62,6 @@ public class CmdWorld implements RTPCommand, RTPCommandHelpable {
@Override
public String getHelp() {
return BetterRTP.getInstance().getText().getHelpWorld();
return MessagesHelp.WORLD.get();
}
}

View File

@@ -4,6 +4,8 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
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.web.Updater;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
@@ -26,7 +28,7 @@ public class Join {
private static void updater(Player p) {
if (!getPl().getFiles().getType(FileOther.FILETYPE.CONFIG).getBoolean("Settings.DisableUpdater") && PermissionNode.UPDATER.check(p))
if (!getPl().getDescription().getVersion().equals(Updater.updatedVersion))
getPl().getText().sms(p, "&7There is currently an update for &6BetterRTP &7version &e#" +
Message_RTP.sms(p, "&7There is currently an update for &6BetterRTP &7version &e#" +
Updater.updatedVersion + " &7you have version &e#" + getPl().getDescription().getVersion());
}

View File

@@ -4,6 +4,9 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdEdit;
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 me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WORLD_TYPE;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.YamlConfiguration;
@@ -52,7 +55,10 @@ public class HelperRTP_EditWorlds {
for (Object map2 : m.values()) {
Map<Object, Object> values = (Map<Object, Object>) map2;
values.put(cmd.get(), value);
BetterRTP.getInstance().getText().getEditSet(sendi, cmd.get(), val);
Message_RTP.sms(sendi,
MessagesCore.EDIT_SET.get(sendi, null)
.replace("%type%", cmd.get())
.replace("%value%", val));
}
break;
}
@@ -110,7 +116,11 @@ public class HelperRTP_EditWorlds {
if (world.equals(worldFields.getKey().toString())) {
Map<Object, Object> values = (Map<Object, Object>) worldFields.getValue();
values.put(cmd.get(), value);
BetterRTP.getInstance().getText().getEditSet(sendi, cmd.get(), val);
Message_RTP.sms(sendi,
MessagesCore.EDIT_SET.get(sendi, null)
.replace("%type%", cmd.get())
.replace("%value%", val));
//BetterRTP.getInstance().getText().getEditSet(sendi, cmd.get(), val);
}
}
}
@@ -142,12 +152,14 @@ public class HelperRTP_EditWorlds {
value = cmd.getResult(val);
} catch (Exception e) {
e.printStackTrace();
BetterRTP.getInstance().getText().getEditError(sendi);
MessagesCore.EDIT_ERROR.send(sendi);
//BetterRTP.getInstance().getText().getEditError(sendi);
return;
}
if (value == null) {
BetterRTP.getInstance().getText().getEditError(sendi);
MessagesCore.EDIT_ERROR.send(sendi);
//BetterRTP.getInstance().getText().getEditError(sendi);
return;
}
@@ -159,7 +171,11 @@ public class HelperRTP_EditWorlds {
try {
config.save(file.getFile());
BetterRTP.getInstance().getRTP().loadWorlds();
BetterRTP.getInstance().getText().getEditSet(sendi, cmd.get(), val);
Message_RTP.sms(sendi,
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();
}
@@ -172,7 +188,8 @@ public class HelperRTP_EditWorlds {
type = WORLD_TYPE.valueOf(val.toUpperCase());
} catch (Exception e) {
//e.printStackTrace();
BetterRTP.getInstance().getText().getEditError(sendi);
MessagesCore.EDIT_ERROR.send(sendi);
//BetterRTP.getInstance().getText().getEditError(sendi);
return;
}
@@ -197,7 +214,11 @@ public class HelperRTP_EditWorlds {
try {
config.save(file.getFile());
BetterRTP.getInstance().getRTP().load();
BetterRTP.getInstance().getText().getEditSet(sendi, CmdEdit.RTP_CMD_EDIT.WORLD_TYPE.name(), val);
Message_RTP.sms(sendi,
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();
}
@@ -230,7 +251,11 @@ public class HelperRTP_EditWorlds {
try {
config.save(file.getFile());
BetterRTP.getInstance().getRTP().load();
BetterRTP.getInstance().getText().getEditSet(sendi, CmdEdit.RTP_CMD_EDIT.OVERRIDE.name(), val);
Message_RTP.sms(sendi,
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();
}
@@ -260,7 +285,11 @@ public class HelperRTP_EditWorlds {
try {
config.save(file.getFile());
BetterRTP.getInstance().getRTP().load();
BetterRTP.getInstance().getText().getEditSet(sendi, CmdEdit.RTP_CMD_EDIT.BLACKLISTEDBLOCKS.name(), block);
Message_RTP.sms(sendi,
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,8 @@ package me.SuperRonanCraft.BetterRTP.references.invs.enums;
import me.SuperRonanCraft.BetterRTP.references.invs.RTP_INV_SETTINGS;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.messages.Message;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import me.SuperRonanCraft.BetterRTP.references.player.HelperPlayer;
import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData;
import org.bukkit.Bukkit;
@@ -28,7 +30,8 @@ public interface RTPInventory_Defaults {
if (lore != null)
_meta.setLore(lore);
if (name != null)
_meta.setDisplayName(BetterRTP.getInstance().getText().color(name));
_meta.setDisplayName(Message.color(name));
//(BetterRTP.getInstance().getText().color(name));
}
_stack.setItemMeta(_meta);
return _stack;
@@ -41,7 +44,7 @@ public interface RTPInventory_Defaults {
}
default Inventory createInv(int size, String title) {
title = BetterRTP.getInstance().getText().color(title);
title = Message.color(title);//BetterRTP.getInstance().getText().color(title);
return Bukkit.createInventory(null, size, title);
}
}

View File

@@ -2,15 +2,13 @@ package me.SuperRonanCraft.BetterRTP.references.messages;
import com.google.common.collect.ImmutableCollection;
import lombok.NonNull;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.file.FileData;
import me.ronancraft.AmethystGear.AmethystGear;
import me.ronancraft.AmethystGear.resources.files.FileData;
import me.ronancraft.AmethystGear.resources.messages.placeholderdata.PlaceholderAnalyzer;
import me.SuperRonanCraft.BetterRTP.references.messages.placeholder.PlaceholderAnalyzer;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.title.Title;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
@@ -27,25 +25,25 @@ public interface Message {
static void sms(Message messenger, CommandSender sendi, String msg) {
if (!msg.isEmpty())
Bukkit.getScheduler().runTask(AmethystGear.getInstance(), () ->
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () ->
sendi.sendMessage(placeholder(sendi, getPrefix(messenger) + msg)));
}
static void sms(Message messenger, CommandSender sendi, String msg, Object placeholderInfo) {
if (!msg.isEmpty())
Bukkit.getScheduler().runTask(AmethystGear.getInstance(), () ->
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () ->
sendi.sendMessage(Objects.requireNonNull(placeholder(sendi, getPrefix(messenger) + msg, placeholderInfo))));
}
static void sms(Message messenger, CommandSender sendi, String msg, List<Object> placeholderInfo) {
if (!msg.isEmpty())
Bukkit.getScheduler().runTask(AmethystGear.getInstance(), () ->
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () ->
sendi.sendMessage(placeholder(sendi, getPrefix(messenger) + msg, placeholderInfo)));
}
static void sms(CommandSender sendi, List<String> msg, Object placeholderInfo) {
if (msg != null && !msg.isEmpty()) {
Bukkit.getScheduler().runTask(AmethystGear.getInstance(), () -> {
Bukkit.getScheduler().runTask(BetterRTP.getInstance(), () -> {
msg.forEach(str -> msg.set(msg.indexOf(str), placeholder(sendi, str, placeholderInfo)));
sendi.sendMessage(msg.toArray(new String[0]));
});
@@ -60,16 +58,18 @@ public interface Message {
static void smsActionBar(Player sendi, String msg) {
if (msg == null || msg.isEmpty()) return;
sendi.spigot().sendMessage(ChatMessageType.ACTION_BAR,
TextComponent.fromLegacyText(msg));
Audience audience = BetterRTP.getInstance().getAdventure().player(sendi);
audience.sendActionBar(Component.text(msg));
//sendi.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(msg));
}
static void smsTitle(Player sendi, List<String> msg) {
if (msg == null || msg.isEmpty()) return;
Audience audience = BetterRTP.getInstance().getAdventure().player(sendi);
if (msg.size() == 1)
Audience.audience(sendi).showTitle(Title.title(Component.text(" "), Component.text(msg.get(0))));
audience.showTitle(Title.title(Component.text(" "), Component.text(msg.get(0))));
else
Audience.audience(sendi).showTitle(Title.title(Component.text(msg.get(0)), Component.text(msg.get(1))));
audience.showTitle(Title.title(Component.text(msg.get(0)), Component.text(msg.get(1))));
}
static String getPrefix(Message messenger) {
@@ -121,25 +121,27 @@ public interface Message {
}
static String color(String str) {
str = ChatColor.translateAlternateColorCodes('&', str);
return translateHexColorCodes(str);
}
char COLOR_CHAR = ChatColor.COLOR_CHAR;
private static String translateHexColorCodes(String message)
{
final Pattern hexPattern = Pattern.compile("&#" + "([A-Fa-f0-9]{6})");
Matcher matcher = hexPattern.matcher(message);
StringBuilder buffer = new StringBuilder(message.length() + 4 * 8);
//Thank you to zwrumpy on Spigot! (https://www.spigotmc.org/threads/hex-color-code-translate.449748/#post-4270781)
//Supports 1.8 to 1.18
static String translateHexColorCodes(String message) {
Pattern pattern = Pattern.compile("#[a-fA-F0-9]{6}");
Matcher matcher = pattern.matcher(message);
while (matcher.find()) {
String group = matcher.group(1);
matcher.appendReplacement(buffer, COLOR_CHAR + "x"
+ COLOR_CHAR + group.charAt(0) + COLOR_CHAR + group.charAt(1)
+ COLOR_CHAR + group.charAt(2) + COLOR_CHAR + group.charAt(3)
+ COLOR_CHAR + group.charAt(4) + COLOR_CHAR + group.charAt(5)
);
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 matcher.appendTail(buffer).toString();
return ChatColor.translateAlternateColorCodes('&', message);
}
}

View File

@@ -8,7 +8,7 @@ import java.util.List;
public class Message_RTP implements Message {
static Message_RTP msg = new Message_RTP();
public static Message_RTP msg = new Message_RTP();
public static FileData getLang() {
return BetterRTP.getInstance().getFiles().getLang();
@@ -31,6 +31,10 @@ public class Message_RTP implements Message {
Message.sms(Message_RTP.msg, sendi, msg, placeholderInfo);
}
public static void sms(CommandSender sendi, List<String> msg, List<Object> placeholderInfo) {
Message.sms(sendi, msg, placeholderInfo);
}
public static String getPrefix() {
return Message.getPrefix(Message_RTP.msg);
}

View File

@@ -30,6 +30,8 @@ public enum MessagesCore {
PREFIX("Prefix"),
//EDIT
EDIT_ERROR("Edit.Error"),
EDIT_SET("Edit.Set"),
EDIT_REMOVE("Edit.Remove"),
;
final String section;

View File

@@ -5,19 +5,18 @@ import me.SuperRonanCraft.BetterRTP.references.file.FileData;
public enum MessagesHelp implements MessageData {
PREFIX("Prefix"),
//Amethyst
AMETHYST_ADMIN("Admin"),
AMETHYST_CATALOG("Catalog"),
AMETHYST_CATALYSTS("Catalysts"),
AMETHYST_GEAR("Gear"),
AMETHYST_GEODES("Geodes"),
AMETHYST_GIVE("Give"),
AMETHYST_PROFILE("Profile"),
AMETHYST_SHOP("Shop"),
AMETHYST_XPBOOST("XPBoost"),
//Base
RELOAD("Reload"),
MAIN("Main"),
BIOME("Biome"),
EDIT("Edit"),
HELP("Help"),
INFO("Info"),
PLAYER("Player"),
RELOAD("Reload"),
SETTINGS("Settings"),
TEST("Test"),
VERSION("Version"),
WORLD("World"),
LOCATION("Location"),
;
final String section;

View File

@@ -5,17 +5,19 @@ import org.bukkit.command.CommandSender;
public enum MessagesUsage implements MessageData {
GIVE_GEAR("Give.Gear"),
GIVE_CATALYST("Give.Catalyst"),
GIVE_TRACKER("Give.Tracker"),
GIVE_COINS("Give.Coins"),
GIVE_AMETHYSTS("Give.Amethysts"),
GIVE_GEODES("Give.Geodes"),
XPBOOST_PLAYER("XpBoost.Player"),
XPBOOST_ONLINE("XpBoost.Online"),
XPBOOST_GLOBAL("XpBoost.Global"),
SPAWN_MOB("SpawnMob"),
RELOAD("Reload"),
RTP_OTHER("Player"),
WORLD("World"),
BIOME("Biome"),
LOCATION("Location"),
//Edit
EDIT_LOCATION("Edit.Location"),
EDIT_BASE("Edit.Base"),
EDIT_DEFAULT("Edit.Default"),
EDIT_WORLD("Edit.World"),
EDIT_WORLDTYPE("Edit.Worldtype"),
EDIT_OVERRIDE("Edit.Override"),
EDIT_BLACKLISTEDBLLOCKS("Edit.BlacklistedBlocks"),
EDIT_PERMISSIONGROUP("Edit.PermissionGroup"),
;
final String section;

View File

@@ -0,0 +1,78 @@
package me.SuperRonanCraft.BetterRTP.references.messages.placeholder;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.clip.placeholderapi.PlaceholderAPI;
import org.bukkit.Location;
import org.bukkit.block.Biome;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class PlaceholderAnalyzer {
public static String applyPlaceholders(CommandSender p, String str, Object info) {
if (info instanceof String)
str = string(str, (String) info);
if (info instanceof Player)
str = player(str, (Player) info);
if (info instanceof Location)
str = location(str, (Location) info);
if (info instanceof Integer)
str = ints(str, (Integer) info);
if (info instanceof Biome)
str = biome(str, (Biome) info);
if (p instanceof Player)
str = papi((Player) p, str);
return str;
}
private static String string(String str, String info) {
if (str.contains(Placeholders.COMMAND.name))
str = str.replace(Placeholders.COMMAND.name, info);
if (str.contains(Placeholders.PLAYER_NAME.name))
str = str.replaceAll(Placeholders.PLAYER_NAME.name, info);
return str;
}
private static String location(String str, Location loc) {
if (str.contains(Placeholders.LOCATION_X.name))
str = str.replace(Placeholders.LOCATION_X.name, String.valueOf(loc.getBlockX()));
if (str.contains(Placeholders.LOCATION_Y.name))
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()));
if (str.contains(Placeholders.WORLD.name))
str = str.replace(Placeholders.WORLD.name, loc.getWorld().getName());
return str;
}
private static String player(String str, Player player) {
if (str.contains(Placeholders.PLAYER_NAME.name))
str = str.replace(Placeholders.PLAYER_NAME.name, player.getName());
return str;
}
private static String papi(Player player, String str) {
//Papi
if (BetterRTP.getInstance().isPlaceholderAPI())
try {
str = PlaceholderAPI.setPlaceholders(player, str);
} catch (Exception e) {
//Something went wrong with PAPI
}
return str;
}
private static String ints(String str, int num) {
if (str.contains(Placeholders.ATTEMPTS.name))
str = str.replace(Placeholders.ATTEMPTS.name, String.valueOf(num));
if (str.contains(Placeholders.PRICE.name))
str = str.replace(Placeholders.PRICE.name, String.valueOf(num));
return str;
}
private static String biome(String str, Biome biome) {
if (str.contains(Placeholders.BIOME.name))
str = str.replace(Placeholders.BIOME.name, biome.name());
return str;
}
}

View File

@@ -0,0 +1,26 @@
package me.SuperRonanCraft.BetterRTP.references.messages.placeholder;
public enum Placeholders {
COMMAND("command"),
PLAYER_NAME("player"),
//Location
LOCATION_X("x"),
LOCATION_Y("y"),
LOCATION_Z("z"),
//World
WORLD("world"),
//ints
ATTEMPTS("attempts"),
PRICE("price"),
//Other
BIOME("biome")
;
public final String name;
Placeholders(String name) {
this.name = "%" + name + "%";
}
}

View File

@@ -3,6 +3,7 @@ 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.FileOther;
import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.jetbrains.annotations.NotNull;
@@ -81,7 +82,7 @@ public class WorldLocations implements RTPWorld, RTPWorld_Defaulted {
if (test.get("MinRadius").getClass() == Integer.class)
minRad = Integer.parseInt((test.get("MinRadius")).toString());
if (minRad < 0 || minRad >= maxRad) {
BetterRTP.getInstance().getText().sms(Bukkit.getConsoleSender(),
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();
if (minRad >= maxRad) {