Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@
import net.frankheijden.serverutils.common.utils.ForwardFilter;
import net.frankheijden.serverutils.common.utils.ListComponentBuilder;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.PluginIdentifiableCommand;
Expand Down Expand Up @@ -126,7 +127,7 @@ private void handleReloadConfig(CommandContext<BukkitAudience> context) {
if (handler == null) {
messages.get(BukkitMessageKey.RELOADCONFIG_NOT_EXISTS).sendTo(
sender,
Template.of("config", config)
TagResolver.resolver(Placeholder.parsed("config", config))
);
return;
}
Expand All @@ -138,7 +139,7 @@ private void handleReloadConfig(CommandContext<BukkitAudience> context) {
if (MinecraftReflectionVersion.MINOR > max) {
messages.get(BukkitMessageKey.RELOADCONFIG_NOT_SUPPORTED).sendTo(
sender,
Template.of("config", config)
TagResolver.resolver(Placeholder.parsed("config", config))
);
return;
}
Expand All @@ -153,7 +154,8 @@ private void handleReloadConfig(CommandContext<BukkitAudience> context) {
BukkitMessageKey key = filter.hasWarnings()
? BukkitMessageKey.RELOADCONFIG_WARNINGS
: BukkitMessageKey.RELOADCONFIG_SUCCESS;
plugin.getMessagesResource().get(key).sendTo(sender, Template.of("config", config));
plugin.getMessagesResource().get(key).sendTo(sender,
TagResolver.resolver(Placeholder.parsed("config", config)));
} catch (Exception ex) {
filter.stop(Bukkit.getLogger());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
import net.frankheijden.serverutils.common.utils.ListComponentBuilder;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;

@SuppressWarnings("LineLength")
public abstract class CommandPlugins<U extends ServerUtilsPlugin<P, ?, C, ?, D>, P, C extends ServerUtilsAudience<?>, D extends ServerUtilsPluginDescription>
Expand All @@ -30,7 +31,7 @@ protected CommandPlugins(U plugin) {
* Sends a plugin list to the receiver.
* @param sender The receiver of the plugin list.
* @param plugins The plugins to be sent.
* @param pluginFormat The format of the plugins to be sent.
* @param hasVersionFlag The format of the plugins to be sent.
*/
protected void handlePlugins(C sender, List<P> plugins, boolean hasVersionFlag) {
List<P> filteredPlugins = new ArrayList<>(plugins.size());
Expand All @@ -49,7 +50,7 @@ protected void handlePlugins(C sender, List<P> plugins, boolean hasVersionFlag)
sender.sendMessage(messages.get(MessageKey.PLUGINS_HEADER).toComponent());
TextComponent.Builder builder = Component.text();
builder.append(messages.get(MessageKey.PLUGINS_PREFIX).toComponent(
Template.of("count", String.valueOf(filteredPlugins.size()))
TagResolver.resolver(Placeholder.parsed("count", String.valueOf(filteredPlugins.size())))
));
builder.append(ListComponentBuilder.create(filteredPlugins)
.separator(messages.get(MessageKey.PLUGINS_SEPARATOR).toComponent())
Expand All @@ -62,11 +63,11 @@ protected void handlePlugins(C sender, List<P> plugins, boolean hasVersionFlag)
? MessageKey.PLUGINS_FORMAT
: MessageKey.PLUGINS_FORMAT_DISABLED;
formatBuilder.append(messages.get(formatKey).toComponent(
Template.of("plugin", description.getName())
TagResolver.resolver(Placeholder.parsed("plugin", description.getName()))
));
if (hasVersionFlag) {
formatBuilder.append(messages.get(MessageKey.PLUGINS_VERSION).toComponent(
Template.of("version", description.getVersion())
TagResolver.resolver(Placeholder.parsed("version", description.getVersion()))
));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@
import net.frankheijden.serverutils.common.utils.KeyValueComponentBuilder;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;

public abstract class CommandServerUtils<U extends ServerUtilsPlugin<P, ?, C, ?, ?>, P, C extends ServerUtilsAudience<?>>
extends ServerUtilsCommand<U, C> {
Expand Down Expand Up @@ -113,8 +114,12 @@ private void handleHelpCommand(CommandContext<C> context) {

if (commandElement.shouldDisplayInHelp()) {
sender.sendMessage(helpFormatMessage.toComponent(
Template.of("command", shortestCommandAlias),
Template.of("help", commandElement.getDescription().getDescription())
TagResolver.resolver(
Placeholder.parsed("command", shortestCommandAlias)
),
TagResolver.resolver(
Placeholder.parsed("help", commandElement.getDescription().getDescription())
)
));
}

Expand All @@ -128,8 +133,10 @@ private void handleHelpCommand(CommandContext<C> context) {
if (subcommandElement.shouldDisplayInHelp()) {
String shortestSubcommandAlias = determineShortestAlias(subcommandElement);
sender.sendMessage(helpFormatMessage.toComponent(
Template.of("command", shortestCommandAlias + ' ' + shortestSubcommandAlias),
Template.of("help", subcommandElement.getDescription().getDescription())
TagResolver.resolver(Placeholder.parsed("command",
shortestCommandAlias + ' ' + shortestSubcommandAlias)),
TagResolver.resolver(Placeholder.parsed("help",
subcommandElement.getDescription().getDescription()))
));
}
}
Expand All @@ -146,8 +153,10 @@ private void handleHelpCommand(CommandContext<C> context) {
String shortestFlagAlias = determineShortestAlias(flagElement);
String flagPrefix = "-" + (flagElement.getMain().equals(shortestFlagAlias) ? "_" : "");
sender.sendMessage(helpFormatMessage.toComponent(
Template.of("command", shortestCommandAlias + ' ' + flagPrefix + shortestFlagAlias),
Template.of("help", flagElement.getDescription().getDescription())
TagResolver.resolver(Placeholder.parsed("command",
shortestCommandAlias + ' ' + flagPrefix + shortestFlagAlias)),
TagResolver.resolver(Placeholder.parsed("help",
flagElement.getDescription().getDescription()))
));
}
}
Expand Down Expand Up @@ -258,11 +267,11 @@ protected boolean checkDependingPlugins(CommandContext<C> context, C sender, Lis
if (!dependingPlugins.isEmpty()) {
TextComponent.Builder builder = Component.text();
builder.append(messages.get(MessageKey.DEPENDING_PLUGINS_PREFIX).toComponent(
Template.of("plugin", pluginId)
TagResolver.resolver(Placeholder.parsed("plugin", pluginId))
));
builder.append(ListComponentBuilder.create(dependingPlugins)
.format(p -> messages.get(MessageKey.DEPENDING_PLUGINS_FORMAT).toComponent(
Template.of("plugin", pluginManager.getPluginId(p))
TagResolver.resolver(Placeholder.parsed("plugin", pluginManager.getPluginId(p)))
))
.separator(messages.get(MessageKey.DEPENDING_PLUGINS_SEPARATOR).toComponent())
.lastSeparator(messages.get(MessageKey.DEPENDING_PLUGINS_LAST_SEPARATOR).toComponent())
Expand All @@ -279,7 +288,7 @@ protected boolean checkDependingPlugins(CommandContext<C> context, C sender, Lis
.orElse("-f");

sender.sendMessage(messages.get(MessageKey.DEPENDING_PLUGINS_OVERRIDE).toComponent(
Template.of("command", context.getRawInputJoined() + " " + forceFlag)
TagResolver.resolver(Placeholder.parsed("command", context.getRawInputJoined() + " " + forceFlag))
));
}

Expand All @@ -293,7 +302,8 @@ protected boolean checkServerUtils(CommandContext<C> context, C sender, List<P>
.min(Comparator.comparingInt(String::length))
.orElse("restart");
Component component = plugin.getMessagesResource().get(MessageKey.RELOADPLUGIN_SERVERUTILS).toComponent(
Template.of("command", context.getRawInput().peekFirst() + " " + restartCommand)
TagResolver.resolver(Placeholder.parsed("command",
context.getRawInput().peekFirst() + " " + restartCommand))
);
sender.sendMessage(component);
return true;
Expand All @@ -311,7 +321,7 @@ protected boolean checkProtectedPlugins(C sender, List<P> plugins) {
String pluginId = pluginManager.getPluginId(plugin);
if (protectedPlugins.contains(pluginId)) {
sender.sendMessage(messagesResource.get(MessageKey.GENERIC_PROTECTED_PLUGIN).toComponent(
Template.of("plugin", pluginId)
TagResolver.resolver(Placeholder.parsed("plugin", pluginId))
));
return true;
}
Expand Down Expand Up @@ -388,7 +398,8 @@ private <T> void createInfo(C sender, String command, T item, InfoCreator<T> cre
KeyValueComponentBuilder.create(formatMessage, "key", "value"),
listBuilderConsumer -> {
ListComponentBuilder<String> listBuilder = ListComponentBuilder.<String>create()
.format(str -> listFormatMessage.toComponent(Template.of("value", str)))
.format(str -> listFormatMessage.toComponent(
TagResolver.resolver(Placeholder.parsed("value", str))))
.separator(separator)
.lastSeparator(lastSeparator)
.emptyValue(null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
import net.frankheijden.serverutils.common.entities.ServerUtilsPlugin;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;

public class MessagesResource extends ServerUtilsResource {

Expand All @@ -22,7 +23,7 @@ public class MessagesResource extends ServerUtilsResource {
public MessagesResource(ServerUtilsPlugin<?, ?, ?, ?, ?> plugin) {
super(plugin, MESSAGES_RESOURCE);
this.messageMap = new HashMap<>();
this.miniMessage = MiniMessage.get();
this.miniMessage = MiniMessage.miniMessage();
}

public Message get(String path) {
Expand Down Expand Up @@ -54,31 +55,41 @@ public class Message {
public Message(PlaceholderConfigKey key) {
this.key = key;
this.messageString = getConfig().getString("messages." + key.getPath());
this.component = key.hasPlaceholders() ? null : miniMessage.parse(messageString);
this.component = key.hasPlaceholders() ? null : miniMessage.deserialize(messageString);
}

/**
* Creates a {@link Component}.
*/
public Component toComponent() {
return this.component == null ? miniMessage.parse(messageString) : this.component;
return this.component == null ? miniMessage.deserialize(messageString) : this.component;
}

/**
* Creates a {@link Component}.
*/
public Component toComponent(Template... templates) {
return this.component == null ? miniMessage.parse(messageString, templates) : this.component;
public Component toComponent(TagResolver... templates) {
return this.component == null ? miniMessage.deserialize(messageString, templates) : this.component;
}

/**
* Creates a {@link Component}.
*/
public Component toComponent(String... placeholders) {
return this.component == null ? miniMessage.parse(messageString, placeholders) : this.component;
if (placeholders.length % 2 != 0) {
throw new IllegalArgumentException("Placeholders must be provided in key-value pairs.");
}

TagResolver.Builder resolverBuilder = TagResolver.builder();
for (int i = 0; i < placeholders.length; i += 2) {
resolverBuilder.resolver(Placeholder.parsed(placeholders[i], placeholders[i + 1]));
}
return this.component == null
? miniMessage.deserialize(messageString, resolverBuilder.build())
: this.component;
}

public void sendTo(ServerUtilsAudience<?> serverAudience, Template... placeholders) {
public void sendTo(ServerUtilsAudience<?> serverAudience, TagResolver... placeholders) {
serverAudience.sendMessage(toComponent(placeholders));
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import net.frankheijden.serverutils.common.config.MessageKey;
import net.frankheijden.serverutils.common.entities.ServerUtilsAudience;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;

public enum WatchResult implements AbstractResult {
START(MessageKey.WATCHPLUGIN_START),
Expand All @@ -23,7 +23,7 @@ public enum WatchResult implements AbstractResult {
this.key = key;
}

public void sendTo(ServerUtilsAudience<?> sender, Template... templates) {
public void sendTo(ServerUtilsAudience<?> sender, TagResolver... templates) {
Component component = ServerUtilsApp.getPlugin().getMessagesResource().get(key).toComponent(templates);
sender.sendMessage(component);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@
import net.frankheijden.serverutils.common.entities.results.WatchResult;
import net.frankheijden.serverutils.common.managers.AbstractPluginManager;
import net.frankheijden.serverutils.common.utils.FileUtils;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;

public class PluginWatcherTask<P, T> extends AbstractTask {

Expand Down Expand Up @@ -116,7 +117,8 @@ private void handleWatchEvent(Path path) {
ServerUtilsPluginDescription description = descriptionOptional.get();
WatchEntry foundEntry = pluginIdToWatchEntryMap.remove(description.getId());
if (foundEntry != null) {
send(WatchResult.DELETED_FILE_IS_CREATED, Template.of("plugin", foundEntry.pluginId));
send(WatchResult.DELETED_FILE_IS_CREATED,
TagResolver.resolver(Placeholder.parsed("plugin", foundEntry.pluginId)));
fileNameToWatchEntryMap.put(fileName, foundEntry);

if (pluginIdToWatchEntryMap.isEmpty()) {
Expand All @@ -139,7 +141,7 @@ private void checkWatchEntry(WatchEntry entry, String fileName) {
AbstractPluginManager<P, ?> pluginManager = plugin.getPluginManager();
Optional<File> fileOptional = pluginManager.getPluginFile(entry.pluginId);
if (!fileOptional.isPresent()) {
send(WatchResult.FILE_DELETED, Template.of("plugin", entry.pluginId));
send(WatchResult.FILE_DELETED, TagResolver.resolver(Placeholder.parsed("plugin", entry.pluginId)));

fileNameToWatchEntryMap.remove(fileName);
pluginIdToWatchEntryMap.put(entry.pluginId, entry);
Expand Down Expand Up @@ -183,7 +185,7 @@ private void checkWatchEntry(WatchEntry entry, String fileName) {
}, 10L);
}

private void send(WatchResult result, Template... templates) {
private void send(WatchResult result, TagResolver... templates) {
result.sendTo(sender, templates);
if (sender.isPlayer()) {
result.sendTo(plugin.getChatProvider().getConsoleServerAudience(), templates);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@
import net.frankheijden.serverutils.common.utils.VersionUtils;
import net.frankheijden.serverutilsupdater.common.Updater;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;

public class UpdateCheckerTask<U extends ServerUtilsPlugin<P, ?, ?, ?, ?>, P> implements Runnable {

Expand Down Expand Up @@ -136,9 +137,9 @@ public void run() {
if (!download || pluginAsset == null) {
if (sender.isPlayer()) {
Component component = plugin.getMessagesResource().get(MessageKey.UPDATE_AVAILABLE).toComponent(
Template.of("old", ServerUtilsApp.VERSION),
Template.of("new", githubVersion),
Template.of("info", body)
TagResolver.resolver(Placeholder.parsed("old", ServerUtilsApp.VERSION)),
TagResolver.resolver(Placeholder.parsed("new", githubVersion)),
TagResolver.resolver(Placeholder.parsed("info", body))
);
sender.sendMessage(component);
}
Expand All @@ -148,9 +149,9 @@ public void run() {
plugin.getLogger().log(Level.INFO, DOWNLOAD_START, pluginAsset.getDownloadUrl());
if (sender.isPlayer()) {
Component component = plugin.getMessagesResource().get(MessageKey.UPDATE_DOWNLOADING).toComponent(
Template.of("old", ServerUtilsApp.VERSION),
Template.of("new", githubVersion),
Template.of("info", body)
TagResolver.resolver(Placeholder.parsed("old", ServerUtilsApp.VERSION)),
TagResolver.resolver(Placeholder.parsed("new", githubVersion)),
TagResolver.resolver(Placeholder.parsed("info", body))
);
sender.sendMessage(component);
}
Expand Down Expand Up @@ -286,7 +287,8 @@ private void tryReloadPlugin(File pluginFile, File updaterFile) {

private void broadcastDownloadStatus(String githubVersion, boolean isError) {
ConfigKey key = isError ? MessageKey.UPDATE_DOWNLOAD_FAILED : MessageKey.UPDATE_DOWNLOAD_SUCCESS;
Component component = plugin.getMessagesResource().get(key).toComponent(Template.of("new", githubVersion));
Component component = plugin.getMessagesResource().get(key).toComponent(
TagResolver.resolver(Placeholder.parsed("new", githubVersion)));
plugin.getChatProvider().broadcast(component, "serverutils.notification.update");
}
}
Loading