Fix disabled plugins format + cleanup
This commit is contained in:
parent
37823c34c5
commit
8850983a4d
4 changed files with 37 additions and 73 deletions
|
|
@ -5,16 +5,12 @@ import cloud.commandframework.CommandManager;
|
|||
import cloud.commandframework.context.CommandContext;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitAudience;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitPlugin;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitPluginDescription;
|
||||
import net.frankheijden.serverutils.common.commands.CommandPlugins;
|
||||
import net.frankheijden.serverutils.common.config.MessageKey;
|
||||
import net.frankheijden.serverutils.common.config.MessagesResource;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.TextComponent;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
|
||||
public class BukkitCommandPlugins extends CommandPlugins<BukkitPlugin, Plugin, BukkitAudience> {
|
||||
@SuppressWarnings("LineLength")
|
||||
public class BukkitCommandPlugins extends CommandPlugins<BukkitPlugin, Plugin, BukkitAudience, BukkitPluginDescription> {
|
||||
|
||||
public BukkitCommandPlugins(BukkitPlugin plugin) {
|
||||
super(plugin);
|
||||
|
|
@ -35,21 +31,6 @@ public class BukkitCommandPlugins extends CommandPlugins<BukkitPlugin, Plugin, B
|
|||
BukkitAudience sender = context.getSender();
|
||||
boolean hasVersionFlag = context.flags().contains("version");
|
||||
|
||||
MessagesResource messages = plugin.getMessagesResource();
|
||||
handlePlugins(sender, plugin.getPluginManager().getPluginsSorted(), bukkitPlugin -> {
|
||||
PluginDescriptionFile description = bukkitPlugin.getDescription();
|
||||
|
||||
TextComponent.Builder builder = Component.text();
|
||||
builder.append(messages.get(MessageKey.PLUGINS_FORMAT).toComponent(
|
||||
Template.of("plugin", description.getName())
|
||||
));
|
||||
if (hasVersionFlag) {
|
||||
builder.append(messages.get(MessageKey.PLUGINS_VERSION).toComponent(
|
||||
Template.of("version", description.getVersion())
|
||||
));
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
});
|
||||
handlePlugins(sender, plugin.getPluginManager().getPluginsSorted(), hasVersionFlag);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,16 +5,12 @@ import cloud.commandframework.CommandManager;
|
|||
import cloud.commandframework.context.CommandContext;
|
||||
import net.frankheijden.serverutils.bungee.entities.BungeeAudience;
|
||||
import net.frankheijden.serverutils.bungee.entities.BungeePlugin;
|
||||
import net.frankheijden.serverutils.bungee.entities.BungeePluginDescription;
|
||||
import net.frankheijden.serverutils.common.commands.CommandPlugins;
|
||||
import net.frankheijden.serverutils.common.config.MessageKey;
|
||||
import net.frankheijden.serverutils.common.config.MessagesResource;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.TextComponent;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.md_5.bungee.api.plugin.PluginDescription;
|
||||
|
||||
public class BungeeCommandPlugins extends CommandPlugins<BungeePlugin, Plugin, BungeeAudience> {
|
||||
@SuppressWarnings("LineLength")
|
||||
public class BungeeCommandPlugins extends CommandPlugins<BungeePlugin, Plugin, BungeeAudience, BungeePluginDescription> {
|
||||
|
||||
public BungeeCommandPlugins(BungeePlugin plugin) {
|
||||
super(plugin);
|
||||
|
|
@ -37,21 +33,6 @@ public class BungeeCommandPlugins extends CommandPlugins<BungeePlugin, Plugin, B
|
|||
boolean hasVersionFlag = context.flags().contains("version");
|
||||
boolean hasModulesFlag = context.flags().contains("modules");
|
||||
|
||||
MessagesResource messages = plugin.getMessagesResource();
|
||||
handlePlugins(sender, plugin.getPluginManager().getPluginsSorted(hasModulesFlag), bungeePlugin -> {
|
||||
PluginDescription description = bungeePlugin.getDescription();
|
||||
|
||||
TextComponent.Builder builder = Component.text();
|
||||
builder.append(messages.get(MessageKey.PLUGINS_FORMAT).toComponent(
|
||||
Template.of("plugin", description.getName())
|
||||
));
|
||||
if (hasVersionFlag) {
|
||||
builder.append(messages.get(MessageKey.PLUGINS_VERSION).toComponent(
|
||||
Template.of("version", description.getVersion())
|
||||
));
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
});
|
||||
handlePlugins(sender, plugin.getPluginManager().getPluginsSorted(hasModulesFlag), hasVersionFlag);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,12 +9,15 @@ import net.frankheijden.serverutils.common.config.MessageKey;
|
|||
import net.frankheijden.serverutils.common.config.MessagesResource;
|
||||
import net.frankheijden.serverutils.common.entities.ServerUtilsAudience;
|
||||
import net.frankheijden.serverutils.common.entities.ServerUtilsPlugin;
|
||||
import net.frankheijden.serverutils.common.entities.ServerUtilsPluginDescription;
|
||||
import net.frankheijden.serverutils.common.managers.AbstractPluginManager;
|
||||
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;
|
||||
|
||||
public abstract class CommandPlugins<U extends ServerUtilsPlugin<P, ?, C, ?, ?>, P, C extends ServerUtilsAudience<?>>
|
||||
@SuppressWarnings("LineLength")
|
||||
public abstract class CommandPlugins<U extends ServerUtilsPlugin<P, ?, C, ?, D>, P, C extends ServerUtilsAudience<?>, D extends ServerUtilsPluginDescription>
|
||||
extends ServerUtilsCommand<U, C> {
|
||||
|
||||
protected CommandPlugins(U plugin) {
|
||||
|
|
@ -29,13 +32,14 @@ public abstract class CommandPlugins<U extends ServerUtilsPlugin<P, ?, C, ?, ?>,
|
|||
* @param plugins The plugins to be sent.
|
||||
* @param pluginFormat The format of the plugins to be sent.
|
||||
*/
|
||||
protected void handlePlugins(C sender, List<P> plugins, ListComponentBuilder.Format<P> pluginFormat) {
|
||||
protected void handlePlugins(C sender, List<P> plugins, boolean hasVersionFlag) {
|
||||
List<P> filteredPlugins = new ArrayList<>(plugins.size());
|
||||
Set<String> hiddenPlugins = new HashSet<>(plugin.getConfigResource().getConfig().getStringList(
|
||||
"hide-plugins-from-plugins-command"
|
||||
));
|
||||
AbstractPluginManager<P, D> pluginManager = plugin.getPluginManager();
|
||||
for (P plugin : plugins) {
|
||||
if (!hiddenPlugins.contains(this.plugin.getPluginManager().getPluginId(plugin))) {
|
||||
if (!hiddenPlugins.contains(pluginManager.getPluginId(plugin))) {
|
||||
filteredPlugins.add(plugin);
|
||||
}
|
||||
}
|
||||
|
|
@ -50,7 +54,24 @@ public abstract class CommandPlugins<U extends ServerUtilsPlugin<P, ?, C, ?, ?>,
|
|||
builder.append(ListComponentBuilder.create(filteredPlugins)
|
||||
.separator(messages.get(MessageKey.PLUGINS_SEPARATOR).toComponent())
|
||||
.lastSeparator(messages.get(MessageKey.PLUGINS_LAST_SEPARATOR).toComponent())
|
||||
.format(pluginFormat)
|
||||
.format(plugin -> {
|
||||
D description = pluginManager.getLoadedPluginDescription(plugin);
|
||||
|
||||
TextComponent.Builder formatBuilder = Component.text();
|
||||
MessageKey formatKey = pluginManager.isPluginEnabled(plugin)
|
||||
? MessageKey.PLUGINS_FORMAT
|
||||
: MessageKey.PLUGINS_FORMAT_DISABLED;
|
||||
formatBuilder.append(messages.get(formatKey).toComponent(
|
||||
Template.of("plugin", description.getName())
|
||||
));
|
||||
if (hasVersionFlag) {
|
||||
formatBuilder.append(messages.get(MessageKey.PLUGINS_VERSION).toComponent(
|
||||
Template.of("version", description.getVersion())
|
||||
));
|
||||
}
|
||||
|
||||
return formatBuilder.build();
|
||||
})
|
||||
.build());
|
||||
sender.sendMessage(builder.build());
|
||||
sender.sendMessage(messages.get(MessageKey.PLUGININFO_FOOTER).toComponent());
|
||||
|
|
|
|||
|
|
@ -4,17 +4,13 @@ import cloud.commandframework.Command;
|
|||
import cloud.commandframework.CommandManager;
|
||||
import cloud.commandframework.context.CommandContext;
|
||||
import com.velocitypowered.api.plugin.PluginContainer;
|
||||
import com.velocitypowered.api.plugin.PluginDescription;
|
||||
import net.frankheijden.serverutils.common.commands.CommandPlugins;
|
||||
import net.frankheijden.serverutils.common.config.MessageKey;
|
||||
import net.frankheijden.serverutils.common.config.MessagesResource;
|
||||
import net.frankheijden.serverutils.velocity.entities.VelocityAudience;
|
||||
import net.frankheijden.serverutils.velocity.entities.VelocityPlugin;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.TextComponent;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import net.frankheijden.serverutils.velocity.entities.VelocityPluginDescription;
|
||||
|
||||
public class VelocityCommandPlugins extends CommandPlugins<VelocityPlugin, PluginContainer, VelocityAudience> {
|
||||
@SuppressWarnings("LineLength")
|
||||
public class VelocityCommandPlugins extends CommandPlugins<VelocityPlugin, PluginContainer, VelocityAudience, VelocityPluginDescription> {
|
||||
|
||||
public VelocityCommandPlugins(VelocityPlugin plugin) {
|
||||
super(plugin);
|
||||
|
|
@ -35,21 +31,6 @@ public class VelocityCommandPlugins extends CommandPlugins<VelocityPlugin, Plugi
|
|||
VelocityAudience sender = context.getSender();
|
||||
boolean hasVersionFlag = context.flags().contains("version");
|
||||
|
||||
MessagesResource messages = plugin.getMessagesResource();
|
||||
handlePlugins(sender, plugin.getPluginManager().getPluginsSorted(), container -> {
|
||||
PluginDescription description = container.getDescription();
|
||||
|
||||
TextComponent.Builder builder = Component.text();
|
||||
builder.append(messages.get(MessageKey.PLUGINS_FORMAT).toComponent(
|
||||
Template.of("plugin", description.getId())
|
||||
));
|
||||
if (hasVersionFlag) {
|
||||
builder.append(messages.get(MessageKey.PLUGINS_VERSION).toComponent(
|
||||
Template.of("version", description.getVersion().orElse("<UNKNOWN>"))
|
||||
));
|
||||
}
|
||||
|
||||
return builder.build();
|
||||
});
|
||||
handlePlugins(sender, plugin.getPluginManager().getPluginsSorted(), hasVersionFlag);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue