mirror of
https://github.com/plexusorg/Fossil.git
synced 2024-12-22 18:07:39 +00:00
Fix everything
This commit is contained in:
parent
73ede11b7b
commit
c277b29457
@ -21,6 +21,7 @@ public final class Fossil extends JavaPlugin {
|
|||||||
plugin = this;
|
plugin = this;
|
||||||
server = plugin.getServer();
|
server = plugin.getServer();
|
||||||
getCommand("fossil").setExecutor(new FossilCommand());
|
getCommand("fossil").setExecutor(new FossilCommand());
|
||||||
|
getCommand("fossil").setTabCompleter(new FossilCommand());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,33 +1,39 @@
|
|||||||
package dev.plex.fossil;
|
package dev.plex.fossil;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.format.NamedTextColor;
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.*;
|
||||||
import org.bukkit.command.CommandExecutor;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
public class FossilCommand implements CommandExecutor, IFossil {
|
public class FossilCommand implements CommandExecutor, TabCompleter, IFossil {
|
||||||
private final List<String> FILES = plugin.getConfig().getStringList("plugins");
|
private List<String> FILES = new ArrayList<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
sender.sendMessage(Component.text("This server is running Fossil to keep plugins in sync."));
|
sender.sendMessage(Component.text("This server is running Fossil to keep plugins in sync."));
|
||||||
sender.sendMessage(Component.text("Source code available at https://github.com/plexusorg/Fossil"));
|
sender.sendMessage(Component.text("Source code available at: https://github.com/plexusorg/Fossil"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.length > 1) {
|
if (args[0].equalsIgnoreCase("update")) {
|
||||||
if (!sender.hasPermission("fossil.update")) {
|
if (!sender.hasPermission("fossil.update")) {
|
||||||
sender.sendMessage(Component.text("You do not have permission to use this command!").color(NamedTextColor.RED));
|
sender.sendMessage(Component.text("You do not have permission to use this command!").color(NamedTextColor.RED));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
sender.sendMessage(Component.text("Updating server plugins").color(NamedTextColor.GRAY));
|
sender.sendMessage(Component.text("Updating server plugins").color(NamedTextColor.GRAY));
|
||||||
|
|
||||||
|
for (String file : plugin.getConfig().getStringList("plugins")) {
|
||||||
|
FILES.add(plugin.getPlugin(file));
|
||||||
|
}
|
||||||
|
|
||||||
new BukkitRunnable() {
|
new BukkitRunnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -51,7 +57,17 @@ public class FossilCommand implements CommandExecutor, IFossil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.runTaskAsynchronously(plugin);
|
}.runTaskAsynchronously(plugin);
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @Nullable List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
|
||||||
|
if (args.length == 1 && sender.hasPermission("fossil.update")) {
|
||||||
|
return Collections.singletonList("update");
|
||||||
|
}
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,4 +1,8 @@
|
|||||||
name: Fossil
|
name: Fossil
|
||||||
version: '${version}'
|
version: '${version}'
|
||||||
main: dev.plex.fossil.Fossil
|
main: dev.plex.fossil.Fossil
|
||||||
api-version: 1.20
|
api-version: 1.19
|
||||||
|
commands:
|
||||||
|
fossil:
|
||||||
|
description: The main command for Fossil
|
||||||
|
usage: /<command> [update]
|
Loading…
Reference in New Issue
Block a user