From 05720afdf84a4afec286a459380cf16a0cbb3af2 Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Tue, 25 Feb 2020 17:34:25 +0100 Subject: [PATCH] Separate command class, fix processor parent POM --- ButtonProcessor/pom.xml | 36 +++++++++---------- .../core/component/spawn/SpawnComponent.java | 1 - .../lib/architecture/Component.java | 4 --- .../buttondevteam/lib/chat/Command2MC.java | 29 +++++++-------- 4 files changed, 33 insertions(+), 37 deletions(-) diff --git a/ButtonProcessor/pom.xml b/ButtonProcessor/pom.xml index 01031b8..9857638 100755 --- a/ButtonProcessor/pom.xml +++ b/ButtonProcessor/pom.xml @@ -1,6 +1,12 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + com.github.TBMCPlugins.ChromaCore + CorePOM + master-SNAPSHOT + ../CorePOM + spigot-repo @@ -21,12 +27,6 @@ compile - - com.github.TBMCPlugins - ChromaCore - master-SNAPSHOT - - com.github.TBMCPlugins.ChromaCore ButtonProcessor jar @@ -40,17 +40,17 @@ -proc:none - - - org.apache.maven.plugins - maven-surefire-plugin + + + org.apache.maven.plugins + maven-surefire-plugin 3.0.0-M3 - - false - - - - + + false + + + + diff --git a/Chroma-Core/src/main/java/buttondevteam/core/component/spawn/SpawnComponent.java b/Chroma-Core/src/main/java/buttondevteam/core/component/spawn/SpawnComponent.java index 7ad07aa..b786558 100644 --- a/Chroma-Core/src/main/java/buttondevteam/core/component/spawn/SpawnComponent.java +++ b/Chroma-Core/src/main/java/buttondevteam/core/component/spawn/SpawnComponent.java @@ -54,7 +54,6 @@ public class SpawnComponent extends Component implements PluginMessa if ("ChromaCore-Spawn".equals(subchannel)) { // Use the code sample in the 'Response' sections below to read // the data. - System.out.println("Heh nice"); short len = in.readShort(); byte[] msgbytes = new byte[len]; in.readFully(msgbytes); diff --git a/Chroma-Core/src/main/java/buttondevteam/lib/architecture/Component.java b/Chroma-Core/src/main/java/buttondevteam/lib/architecture/Component.java index ba9925f..ccc0d3e 100644 --- a/Chroma-Core/src/main/java/buttondevteam/lib/architecture/Component.java +++ b/Chroma-Core/src/main/java/buttondevteam/lib/architecture/Component.java @@ -129,15 +129,11 @@ public abstract class Component { throw new UnregisteredComponentException(component); if (component.enabled == enabled) return; //Don't do anything if (component.enabled = enabled) { - //System.out.println("Updating config for "+component.getClassName()); updateConfig(component.getPlugin(), component); - //System.out.println("Enabling "+component.getClassName()); component.enable(); if (ButtonPlugin.configGenAllowed(component)) { - //System.out.println("Pregenning config for "+component.getClassName()); IHaveConfig.pregenConfig(component, null); } - //System.out.println("Done enabling "+component.getClassName()); } else { component.disable(); ButtonPlugin.getCommand2MC().unregisterCommands(component); diff --git a/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2MC.java b/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2MC.java index 0604ef1..466e81f 100644 --- a/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2MC.java +++ b/Chroma-Core/src/main/java/buttondevteam/lib/chat/Command2MC.java @@ -19,7 +19,6 @@ import org.bukkit.permissions.Permission; import org.bukkit.permissions.PermissionDefault; import java.lang.annotation.Annotation; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Arrays; import java.util.HashMap; @@ -83,8 +82,6 @@ public class Command2MC extends Command2 implemen p = MainPlugin.permission.playerHas(sender instanceof Player ? ((Player) sender).getLocation().getWorld().getName() : null, (OfflinePlayer) sender, perm); else p = false; //Use sender's method - //System.out.println("playerHas " + perm + ": " + p); - //System.out.println("hasPermission: " + sender.hasPermission(perm)); if (!p) p = sender.hasPermission(perm); } else break; //If any of the permissions aren't granted then don't allow } @@ -158,14 +155,11 @@ public class Command2MC extends Command2 implemen private void handleTabComplete(TabCompleteEvent event) { String commandline = event.getBuffer(); CommandSender sender = event.getSender(); - //System.out.println("tab"); for (int i = commandline.length(); i != -1; i = commandline.lastIndexOf(' ', i - 1)) { String subcommand = commandline.substring(0, i).toLowerCase(); if (subcommand.length() == 0 || subcommand.charAt(0) != '/') subcommand = '/' + subcommand; //Console - //System.out.println("Subcommand: " + subcommand); SubcommandData sd = subcommands.get(subcommand); //O(1) if (sd == null) continue; - //System.out.println("ht: " + Arrays.toString(sd.helpText)); Arrays.stream(sd.helpText).skip(1).map(ht -> new HashMap.SimpleEntry<>(ht, subcommands.get(ht))).filter(e -> e.getValue() != null) .filter(kv -> kv.getKey().startsWith(commandline)) .filter(kv -> hasPermission(sender, kv.getValue().command, kv.getValue().method)) @@ -266,19 +260,26 @@ public class Command2MC extends Command2 implemen private void registerOfficially(ICommand2MC command) { if(!shouldRegisterOfficially) return; try { - var cmdmap=(SimpleCommandMap)Bukkit.getServer().getClass().getMethod("getCommandMap").invoke(Bukkit.getServer()); + var cmdmap = (SimpleCommandMap) Bukkit.getServer().getClass().getMethod("getCommandMap").invoke(Bukkit.getServer()); var path = command.getCommandPath(); int x = path.indexOf(' '); var mainPath = path.substring(0, x == -1 ? path.length() : x); - cmdmap.register(command.getPlugin().getName(), new Command(mainPath) { - @Override - public boolean execute(CommandSender commandSender, String s, String[] strings) { - return true; - } - }); + cmdmap.register(command.getPlugin().getName(), new BukkitCommand(mainPath)); } catch (Exception e) { TBMCCoreAPI.SendException("Failed to register command in command map!", e); - shouldRegisterOfficially=false; + shouldRegisterOfficially = false; + } + } + + private static class BukkitCommand extends Command { + protected BukkitCommand(String name) { + super(name); + } + + @Override + public boolean execute(CommandSender sender, String commandLabel, String[] args) { + sender.sendMessage("§cThe command wasn't executed for some reason... (command processing failed)"); + return true; } } }