Add MiniMessage
This commit is contained in:
parent
bb5c642f31
commit
083012abfe
74 changed files with 1328 additions and 1078 deletions
|
|
@ -1,10 +1,13 @@
|
|||
group = rootProject.group + '.bukkit'
|
||||
String rootDependencyDir = rootProject.group + '.dependencies'
|
||||
String dependencyDir = group + '.dependencies'
|
||||
version = rootProject.version
|
||||
archivesBaseName = rootProject.name + '-Bukkit'
|
||||
|
||||
dependencies {
|
||||
implementation "com.github.FrankHeijden.cloud:cloud-paper:${rootProject.cloudVersion}"
|
||||
implementation 'net.kyori:adventure-api:4.8.1'
|
||||
implementation 'net.kyori:adventure-platform-bukkit:4.0.0-SNAPSHOT'
|
||||
implementation 'org.bstats:bstats-bukkit:2.2.1'
|
||||
implementation project(":Common")
|
||||
compileOnly 'com.destroystokyo.paper:paper-api:1.16.5-R0.1-SNAPSHOT'
|
||||
|
|
@ -19,4 +22,6 @@ processResources {
|
|||
|
||||
shadowJar {
|
||||
relocate 'org.bstats', dependencyDir + '.bstats'
|
||||
relocate 'net.kyori.adventure', rootDependencyDir + '.adventure'
|
||||
relocate 'net.kyori.examination', rootDependencyDir + '.examination'
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,13 +3,18 @@ package net.frankheijden.serverutils.bukkit.commands;
|
|||
import cloud.commandframework.Command;
|
||||
import cloud.commandframework.CommandManager;
|
||||
import cloud.commandframework.context.CommandContext;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitCommandSender;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitAudience;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitPlugin;
|
||||
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, BukkitCommandSender> {
|
||||
public class BukkitCommandPlugins extends CommandPlugins<BukkitPlugin, Plugin, BukkitAudience> {
|
||||
|
||||
public BukkitCommandPlugins(BukkitPlugin plugin) {
|
||||
super(plugin);
|
||||
|
|
@ -17,8 +22,8 @@ public class BukkitCommandPlugins extends CommandPlugins<BukkitPlugin, Plugin, B
|
|||
|
||||
@Override
|
||||
protected void register(
|
||||
CommandManager<BukkitCommandSender> manager,
|
||||
Command.Builder<BukkitCommandSender> builder
|
||||
CommandManager<BukkitAudience> manager,
|
||||
Command.Builder<BukkitAudience> builder
|
||||
) {
|
||||
manager.command(builder
|
||||
.flag(parseFlag("version"))
|
||||
|
|
@ -26,26 +31,25 @@ public class BukkitCommandPlugins extends CommandPlugins<BukkitPlugin, Plugin, B
|
|||
}
|
||||
|
||||
@Override
|
||||
protected void handlePlugins(CommandContext<BukkitCommandSender> context) {
|
||||
BukkitCommandSender sender = context.getSender();
|
||||
protected void handlePlugins(CommandContext<BukkitAudience> context) {
|
||||
BukkitAudience sender = context.getSender();
|
||||
boolean hasVersionFlag = context.flags().contains("version");
|
||||
|
||||
MessagesResource messages = plugin.getMessagesResource();
|
||||
handlePlugins(sender, plugin.getPluginManager().getPluginsSorted(), bukkitPlugin -> {
|
||||
PluginDescriptionFile description = bukkitPlugin.getDescription();
|
||||
|
||||
String message = plugin.getMessagesResource().getMessage(
|
||||
"serverutils.plugins.format",
|
||||
"%plugin%", description.getName()
|
||||
);
|
||||
|
||||
TextComponent.Builder builder = Component.text();
|
||||
builder.append(messages.get(MessageKey.PLUGINS_FORMAT).toComponent(
|
||||
Template.of("plugin", description.getName())
|
||||
));
|
||||
if (hasVersionFlag) {
|
||||
message += plugin.getMessagesResource().getMessage(
|
||||
"serverutils.plugins.version",
|
||||
"%version%", description.getVersion()
|
||||
);
|
||||
builder.append(messages.get(MessageKey.PLUGINS_FORMAT).toComponent(
|
||||
Template.of("version", description.getVersion())
|
||||
));
|
||||
}
|
||||
|
||||
return message;
|
||||
return builder.build();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,8 @@ import java.util.function.Consumer;
|
|||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import dev.frankheijden.minecraftreflection.MinecraftReflectionVersion;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitCommandSender;
|
||||
import net.frankheijden.serverutils.bukkit.config.BukkitMessageKey;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitAudience;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitPlugin;
|
||||
import net.frankheijden.serverutils.bukkit.managers.BukkitPluginManager;
|
||||
import net.frankheijden.serverutils.bukkit.reflection.RCraftServer;
|
||||
|
|
@ -20,17 +21,21 @@ import net.frankheijden.serverutils.bukkit.utils.ReloadHandler;
|
|||
import net.frankheijden.serverutils.bukkit.utils.VersionReloadHandler;
|
||||
import net.frankheijden.serverutils.common.commands.CommandServerUtils;
|
||||
import net.frankheijden.serverutils.common.commands.arguments.PluginsArgument;
|
||||
import net.frankheijden.serverutils.common.config.MessageKey;
|
||||
import net.frankheijden.serverutils.common.config.MessagesResource;
|
||||
import net.frankheijden.serverutils.common.entities.results.PluginResults;
|
||||
import net.frankheijden.serverutils.common.utils.FormatBuilder;
|
||||
import net.frankheijden.serverutils.common.utils.KeyValueComponentBuilder;
|
||||
import net.frankheijden.serverutils.common.utils.ForwardFilter;
|
||||
import net.frankheijden.serverutils.common.utils.ListBuilder;
|
||||
import net.frankheijden.serverutils.common.utils.ListComponentBuilder;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.PluginIdentifiableCommand;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.PluginDescriptionFile;
|
||||
|
||||
public class BukkitCommandServerUtils extends CommandServerUtils<BukkitPlugin, Plugin, BukkitCommandSender> {
|
||||
public class BukkitCommandServerUtils extends CommandServerUtils<BukkitPlugin, Plugin, BukkitAudience> {
|
||||
|
||||
private static final Map<String, ReloadHandler> supportedConfigs;
|
||||
|
||||
|
|
@ -53,8 +58,8 @@ public class BukkitCommandServerUtils extends CommandServerUtils<BukkitPlugin, P
|
|||
|
||||
@Override
|
||||
public void register(
|
||||
CommandManager<BukkitCommandSender> manager,
|
||||
cloud.commandframework.Command.Builder<BukkitCommandSender> builder
|
||||
CommandManager<BukkitAudience> manager,
|
||||
cloud.commandframework.Command.Builder<BukkitAudience> builder
|
||||
) {
|
||||
super.register(manager, builder);
|
||||
|
||||
|
|
@ -68,7 +73,7 @@ public class BukkitCommandServerUtils extends CommandServerUtils<BukkitPlugin, P
|
|||
})
|
||||
.map(Map.Entry::getKey)
|
||||
.collect(Collectors.toList());
|
||||
addArgument(CommandArgument.<BukkitCommandSender, String>ofType(String.class, "config")
|
||||
addArgument(CommandArgument.<BukkitAudience, String>ofType(String.class, "config")
|
||||
.manager(manager)
|
||||
.withSuggestionsProvider((context, s) -> supportedConfigNames)
|
||||
.build());
|
||||
|
|
@ -88,36 +93,36 @@ public class BukkitCommandServerUtils extends CommandServerUtils<BukkitPlugin, P
|
|||
.handler(this::handleReloadConfig));
|
||||
}
|
||||
|
||||
private void handleEnablePlugin(CommandContext<BukkitCommandSender> context) {
|
||||
BukkitCommandSender sender = context.getSender();
|
||||
private void handleEnablePlugin(CommandContext<BukkitAudience> context) {
|
||||
BukkitAudience sender = context.getSender();
|
||||
List<Plugin> plugins = Arrays.asList(context.get("plugins"));
|
||||
|
||||
PluginResults<Plugin> result = plugin.getPluginManager().enablePlugins(plugins);
|
||||
result.sendTo(sender, "enabl");
|
||||
PluginResults<Plugin> enableResults = plugin.getPluginManager().enablePlugins(plugins);
|
||||
sender.sendMessage(enableResults.toComponent(BukkitMessageKey.ENABLEPLUGIN));
|
||||
}
|
||||
|
||||
private void handleDisablePlugin(CommandContext<BukkitCommandSender> context) {
|
||||
BukkitCommandSender sender = context.getSender();
|
||||
private void handleDisablePlugin(CommandContext<BukkitAudience> context) {
|
||||
BukkitAudience sender = context.getSender();
|
||||
List<Plugin> plugins = Arrays.asList(context.get("plugins"));
|
||||
|
||||
if (checkDependingPlugins(context, sender, plugins, "disableplugin")) {
|
||||
return;
|
||||
}
|
||||
|
||||
PluginResults<Plugin> result = plugin.getPluginManager().disablePlugins(plugins);
|
||||
result.sendTo(sender, "disabl");
|
||||
PluginResults<Plugin> disableResults = plugin.getPluginManager().disablePlugins(plugins);
|
||||
sender.sendMessage(disableResults.toComponent(BukkitMessageKey.DISABLEPLUGIN));
|
||||
}
|
||||
|
||||
private void handleReloadConfig(CommandContext<BukkitCommandSender> context) {
|
||||
BukkitCommandSender sender = context.getSender();
|
||||
private void handleReloadConfig(CommandContext<BukkitAudience> context) {
|
||||
BukkitAudience sender = context.getSender();
|
||||
String config = context.get("config");
|
||||
|
||||
MessagesResource messages = plugin.getMessagesResource();
|
||||
ReloadHandler handler = supportedConfigs.get(config);
|
||||
if (handler == null) {
|
||||
plugin.getMessagesResource().sendMessage(
|
||||
messages.get(BukkitMessageKey.RELOADCONFIG_NOT_EXISTS).sendTo(
|
||||
sender,
|
||||
"serverutils.reloadconfig.not_exists",
|
||||
"%what%", config
|
||||
Template.of("config", config)
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
|
@ -127,37 +132,36 @@ public class BukkitCommandServerUtils extends CommandServerUtils<BukkitPlugin, P
|
|||
int max = versionReloadHandler.getMinecraftVersionMaximum();
|
||||
|
||||
if (MinecraftReflectionVersion.MINOR > max) {
|
||||
plugin.getMessagesResource().sendMessage(
|
||||
messages.get(BukkitMessageKey.RELOADCONFIG_NOT_SUPPORTED).sendTo(
|
||||
sender,
|
||||
"serverutils.reloadconfig.not_supported",
|
||||
"%what%", config
|
||||
Template.of("config", config)
|
||||
);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
String[] replacements = new String[]{ "%action%", "reload", "%what%", config };
|
||||
|
||||
ForwardFilter filter = new ForwardFilter(plugin.getChatProvider(), sender);
|
||||
ForwardFilter filter = new ForwardFilter(sender);
|
||||
filter.start(Bukkit.getLogger());
|
||||
try {
|
||||
handler.handle();
|
||||
filter.stop(Bukkit.getLogger());
|
||||
|
||||
String path = "serverutils." + (filter.hasWarnings() ? "warning" : "success");
|
||||
plugin.getMessagesResource().sendMessage(sender, path, replacements);
|
||||
BukkitMessageKey key = filter.hasWarnings()
|
||||
? BukkitMessageKey.RELOADCONFIG_WARNINGS
|
||||
: BukkitMessageKey.RELOADCONFIG_SUCCESS;
|
||||
plugin.getMessagesResource().get(key).sendTo(sender, Template.of("config", config));
|
||||
} catch (Exception ex) {
|
||||
filter.stop(Bukkit.getLogger());
|
||||
|
||||
ex.printStackTrace();
|
||||
plugin.getMessagesResource().sendMessage(sender, "serverutils.error", replacements);
|
||||
plugin.getMessagesResource().get(MessageKey.GENERIC_ERROR).sendTo(sender);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected FormatBuilder createPluginInfo(
|
||||
FormatBuilder builder,
|
||||
Function<Consumer<ListBuilder<String>>, String> listBuilderFunction,
|
||||
protected KeyValueComponentBuilder createPluginInfo(
|
||||
KeyValueComponentBuilder builder,
|
||||
Function<Consumer<ListComponentBuilder<String>>, Component> listBuilderFunction,
|
||||
Plugin bukkitPlugin
|
||||
) {
|
||||
PluginDescriptionFile description = bukkitPlugin.getDescription();
|
||||
|
|
@ -187,9 +191,9 @@ public class BukkitCommandServerUtils extends CommandServerUtils<BukkitPlugin, P
|
|||
}
|
||||
|
||||
@Override
|
||||
protected FormatBuilder createCommandInfo(
|
||||
FormatBuilder builder,
|
||||
Function<Consumer<ListBuilder<String>>, String> listBuilderFunction,
|
||||
protected KeyValueComponentBuilder createCommandInfo(
|
||||
KeyValueComponentBuilder builder,
|
||||
Function<Consumer<ListComponentBuilder<String>>, Component> listBuilderFunction,
|
||||
String commandName
|
||||
) {
|
||||
Command cmd = BukkitPluginManager.getCommand(commandName);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
package net.frankheijden.serverutils.bukkit.config;
|
||||
|
||||
import java.util.Locale;
|
||||
import net.frankheijden.serverutils.common.config.PlaceholderConfigKey;
|
||||
|
||||
public enum BukkitMessageKey implements PlaceholderConfigKey {
|
||||
|
||||
RELOADCONFIG_SUCCESS("reloadconfig.success"),
|
||||
RELOADCONFIG_WARNINGS("reloadconfig.warnings"),
|
||||
RELOADCONFIG_NOT_EXISTS("reloadconfig.not-exists"),
|
||||
RELOADCONFIG_NOT_SUPPORTED("reloadconfig.not-supported"),
|
||||
ENABLEPLUGIN("enableplugin"),
|
||||
DISABLEPLUGIN("disableplugin"),
|
||||
;
|
||||
|
||||
private final String path;
|
||||
private final boolean hasPlaceholders;
|
||||
|
||||
BukkitMessageKey(String path) {
|
||||
this(path, true);
|
||||
}
|
||||
|
||||
BukkitMessageKey(String path, boolean hasPlaceholders) {
|
||||
this.path = path;
|
||||
this.hasPlaceholders = hasPlaceholders;
|
||||
}
|
||||
|
||||
public static BukkitMessageKey fromPath(String path) {
|
||||
return BukkitMessageKey.valueOf(path.replaceAll("\\.|-", "_").toUpperCase(Locale.ENGLISH));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPath() {
|
||||
return path;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPlaceholders() {
|
||||
return hasPlaceholders;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package net.frankheijden.serverutils.bukkit.entities;
|
||||
|
||||
import net.frankheijden.serverutils.common.entities.ServerUtilsAudience;
|
||||
import net.kyori.adventure.audience.Audience;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class BukkitAudience extends ServerUtilsAudience<CommandSender> {
|
||||
|
||||
public BukkitAudience(Audience audience, CommandSender source) {
|
||||
super(audience, source);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPlayer() {
|
||||
return source instanceof Player;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(String permission) {
|
||||
return source.hasPermission(permission);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package net.frankheijden.serverutils.bukkit.entities;
|
||||
|
||||
import net.frankheijden.serverutils.bukkit.ServerUtils;
|
||||
import net.frankheijden.serverutils.common.providers.ServerUtilsAudienceProvider;
|
||||
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class BukkitAudienceProvider implements ServerUtilsAudienceProvider<CommandSender> {
|
||||
|
||||
private final BukkitAudiences audiences;
|
||||
private final BukkitAudience consoleServerAudience;
|
||||
|
||||
/**
|
||||
* Constructs a new BukkitAudienceProvider.
|
||||
*/
|
||||
public BukkitAudienceProvider(ServerUtils plugin, BukkitAudiences audiences) {
|
||||
this.audiences = audiences;
|
||||
this.consoleServerAudience = new BukkitAudience(
|
||||
audiences.console(),
|
||||
plugin.getServer().getConsoleSender()
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BukkitAudience getConsoleServerAudience() {
|
||||
return this.consoleServerAudience;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BukkitAudience get(CommandSender source) {
|
||||
return new BukkitAudience(audiences.sender(source), source);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void broadcast(Component component, String permission) {
|
||||
audiences.filter(sender -> sender.hasPermission(permission)).sendMessage(component);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
package net.frankheijden.serverutils.bukkit.entities;
|
||||
|
||||
import net.frankheijden.serverutils.common.providers.ChatProvider;
|
||||
import net.frankheijden.serverutils.common.utils.HexUtils;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public class BukkitChatProvider implements ChatProvider<BukkitCommandSender, CommandSender> {
|
||||
|
||||
@Override
|
||||
public BukkitCommandSender getConsoleSender() {
|
||||
return new BukkitCommandSender(Bukkit.getConsoleSender());
|
||||
}
|
||||
|
||||
@Override
|
||||
public BukkitCommandSender get(CommandSender source) {
|
||||
return new BukkitCommandSender(source);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String color(String str) {
|
||||
return ChatColor.translateAlternateColorCodes('&', HexUtils.convertHexString(str));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void broadcast(String permission, String message) {
|
||||
Bukkit.broadcast(message, permission);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
package net.frankheijden.serverutils.bukkit.entities;
|
||||
|
||||
import net.frankheijden.serverutils.common.entities.ServerCommandSender;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
/**
|
||||
* A wrap for a Bukkit CommandSender.
|
||||
*/
|
||||
public class BukkitCommandSender implements ServerCommandSender<CommandSender> {
|
||||
|
||||
private final CommandSender sender;
|
||||
|
||||
/**
|
||||
* Constructs a new CommandSender instance.
|
||||
* @param sender The sender to wrap.
|
||||
*/
|
||||
public BukkitCommandSender(CommandSender sender) {
|
||||
this.sender = sender;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a message to a CommandSender.
|
||||
* @param message The message to send.
|
||||
*/
|
||||
@Override
|
||||
public void sendMessage(String message) {
|
||||
sender.sendMessage(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the CommandSender has a permission.
|
||||
* @param permission The permission to check.
|
||||
* @return Whether or not they have the permission.
|
||||
*/
|
||||
@Override
|
||||
public boolean hasPermission(String permission) {
|
||||
return sender.hasPermission(permission);
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not the given instance is a player.
|
||||
* @return Boolean true or false.
|
||||
*/
|
||||
@Override
|
||||
public boolean isPlayer() {
|
||||
return sender instanceof Player;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommandSender getSource() {
|
||||
return sender;
|
||||
}
|
||||
}
|
||||
|
|
@ -4,26 +4,30 @@ import cloud.commandframework.bukkit.CloudBukkitCapabilities;
|
|||
import cloud.commandframework.execution.CommandExecutionCoordinator;
|
||||
import cloud.commandframework.paper.PaperCommandManager;
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
import java.util.logging.Logger;
|
||||
import net.frankheijden.serverutils.bukkit.ServerUtils;
|
||||
import net.frankheijden.serverutils.bukkit.commands.BukkitCommandPlugins;
|
||||
import net.frankheijden.serverutils.bukkit.commands.BukkitCommandServerUtils;
|
||||
import net.frankheijden.serverutils.bukkit.config.BukkitMessageKey;
|
||||
import net.frankheijden.serverutils.bukkit.listeners.BukkitPlayerListener;
|
||||
import net.frankheijden.serverutils.bukkit.managers.BukkitPluginManager;
|
||||
import net.frankheijden.serverutils.bukkit.managers.BukkitTaskManager;
|
||||
import net.frankheijden.serverutils.common.entities.ServerUtilsPlugin;
|
||||
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
||||
public class BukkitPlugin extends ServerUtilsPlugin<Plugin, BukkitTask, BukkitCommandSender, CommandSender, BukkitPluginDescription> {
|
||||
public class BukkitPlugin extends ServerUtilsPlugin<Plugin, BukkitTask, BukkitAudience, CommandSender, BukkitPluginDescription> {
|
||||
|
||||
private final ServerUtils plugin;
|
||||
private final BukkitPluginManager pluginManager;
|
||||
private final BukkitTaskManager taskManager;
|
||||
private final BukkitResourceProvider resourceProvider;
|
||||
private final BukkitChatProvider chatProvider;
|
||||
private final BukkitAudiences audiences;
|
||||
private final BukkitAudienceProvider chatProvider;
|
||||
private boolean registeredPluginsCommand;
|
||||
|
||||
/**
|
||||
|
|
@ -35,19 +39,20 @@ public class BukkitPlugin extends ServerUtilsPlugin<Plugin, BukkitTask, BukkitCo
|
|||
this.pluginManager = new BukkitPluginManager();
|
||||
this.taskManager = new BukkitTaskManager();
|
||||
this.resourceProvider = new BukkitResourceProvider(plugin);
|
||||
this.chatProvider = new BukkitChatProvider();
|
||||
this.audiences = BukkitAudiences.create(plugin);
|
||||
this.chatProvider = new BukkitAudienceProvider(plugin, this.audiences);
|
||||
this.registeredPluginsCommand = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected PaperCommandManager<BukkitCommandSender> newCommandManager() {
|
||||
PaperCommandManager<BukkitCommandSender> commandManager;
|
||||
protected PaperCommandManager<BukkitAudience> newCommandManager() {
|
||||
PaperCommandManager<BukkitAudience> commandManager;
|
||||
try {
|
||||
commandManager = new PaperCommandManager<>(
|
||||
plugin,
|
||||
CommandExecutionCoordinator.simpleCoordinator(),
|
||||
chatProvider::get,
|
||||
BukkitCommandSender::getSource
|
||||
BukkitAudience::getSource
|
||||
);
|
||||
} catch (Exception ex) {
|
||||
throw new RuntimeException(ex);
|
||||
|
|
@ -91,7 +96,7 @@ public class BukkitPlugin extends ServerUtilsPlugin<Plugin, BukkitTask, BukkitCo
|
|||
}
|
||||
|
||||
@Override
|
||||
public BukkitChatProvider getChatProvider() {
|
||||
public BukkitAudienceProvider getChatProvider() {
|
||||
return chatProvider;
|
||||
}
|
||||
|
||||
|
|
@ -110,8 +115,14 @@ public class BukkitPlugin extends ServerUtilsPlugin<Plugin, BukkitTask, BukkitCo
|
|||
Bukkit.getPluginManager().registerEvents(new BukkitPlayerListener(this), plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void disablePlugin() {
|
||||
this.audiences.close();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void reloadPlugin() {
|
||||
this.messagesResource.load(Arrays.asList(BukkitMessageKey.values()));
|
||||
if (getConfigResource().getConfig().getBoolean("settings.disable-plugins-command")) {
|
||||
if (registeredPluginsCommand) {
|
||||
BukkitPluginManager.unregisterCommands("pl", "plugins");
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package net.frankheijden.serverutils.bukkit.listeners;
|
||||
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitCommandSender;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitAudience;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitPlugin;
|
||||
import net.frankheijden.serverutils.common.listeners.PlayerListener;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
|
@ -10,7 +10,7 @@ import org.bukkit.event.player.PlayerJoinEvent;
|
|||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
public class BukkitPlayerListener
|
||||
extends PlayerListener<BukkitPlugin, Plugin, BukkitCommandSender>
|
||||
extends PlayerListener<BukkitPlugin, Plugin, BukkitAudience>
|
||||
implements Listener {
|
||||
|
||||
public BukkitPlayerListener(BukkitPlugin plugin) {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ import net.frankheijden.serverutils.common.entities.results.Result;
|
|||
import net.frankheijden.serverutils.common.entities.exceptions.InvalidPluginDescriptionException;
|
||||
import net.frankheijden.serverutils.common.events.PluginEvent;
|
||||
import net.frankheijden.serverutils.common.managers.AbstractPluginManager;
|
||||
import net.kyori.adventure.text.minimessage.Template;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
|
|
@ -67,7 +68,9 @@ public class BukkitPluginManager extends AbstractPluginManager<Plugin, BukkitPlu
|
|||
} catch (InvalidDescriptionException ex) {
|
||||
return pluginResults.addResult(pluginId, Result.INVALID_DESCRIPTION);
|
||||
} catch (UnknownDependencyException ex) {
|
||||
return pluginResults.addResult(pluginId, Result.UNKNOWN_DEPENDENCY.arg(ex.getMessage()));
|
||||
return pluginResults.addResult(pluginId, Result.UNKNOWN_DEPENDENCY,
|
||||
Template.of("dependency", ex.getMessage())
|
||||
);
|
||||
} catch (InvalidPluginException ex) {
|
||||
if (ex.getCause() instanceof IllegalArgumentException) {
|
||||
IllegalArgumentException e = (IllegalArgumentException) ex.getCause();
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
{
|
||||
"serverutils": {
|
||||
"messages": {
|
||||
"reloadconfig": {
|
||||
"not_exists": "&cConfig &4%what% &cdoes not exist.",
|
||||
"not_supported": "&cConfig &4%what% &cis not supported on your Minecraft version."
|
||||
}
|
||||
"success": "<dark_aqua>Successfully reloaded <aqua><config></aqua>!",
|
||||
"warnings": "<red>There were warnings while reloading <dark_red><config></dark_red>, please check the console!",
|
||||
"not-exists": "<red>Config <dark_red><config></dark_red> does not exist.",
|
||||
"not-supported": "<red>Config <dark_red><config></dark_red> is not supported on your Minecraft version."
|
||||
},
|
||||
"disableplugin": "<dark_aqua>Successfully disabled <aqua><plugin></aqua>!",
|
||||
"enableplugin": "<dark_aqua>Successfully enabled <aqua><plugin></aqua>!"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue