package me.km.api; import me.km.KajetansMod; import me.km.permissions.Permissions; import net.minecraftforge.fml.common.event.FMLServerStartingEvent; public class CommandOverloader { public static void overloadCommands(FMLServerStartingEvent e, Module m) { KajetansMod.server.commandManager.getCommands().values().stream() // Overload only vanilla commands .filter(command -> !(command instanceof ModuleCommand)) // Prevent overloading of already overloaded commands (summon, ...) .filter(command -> m.getCommand(command.getName()) == null) .forEach(command -> { Permissions perm; try { if(command.getClass().getName().startsWith("com.sk89q.")) { m.registerCommand(e, new WorldEditCommand(command, m)); m.sendToConsole(command.getName() + " wurde überschrieben."); return; } else { perm = Permissions.valueOf(command.getName()); } } catch(IllegalArgumentException ex) { m.sendWarningToConsole("Ungültige Permission für Command-Name: " + command.getName()); perm = Permissions.VANILLA; } m.registerCommand(e, new VanillaModuleCommand(command, m, perm)); m.sendToConsole(command.getName() + " wurde überschrieben."); }); m.sendToConsole("Alle Commands wurden überschrieben."); } }