From f90ed13bdac20e3a8c66b556b6b38ecbb4865f1d Mon Sep 17 00:00:00 2001 From: JaTiTV Date: Tue, 5 Jul 2022 20:01:48 +0200 Subject: [PATCH 1/9] change config --- pom.xml | 2 +- .../config/CreateExampleAliasConfig.java | 3 + .../config/CreateExampleSubAliasConfig.java | 75 +++++++++++++++ .../Spigot/config/config/SelectAlias.java | 86 +++++++++-------- .../Spigot/config/config/SelectSubAlias.java | 77 +++++++++++++++ .../resources/Alias/X_aliasDeclaration_X.yml | 52 ++-------- .../SubAlias/X_subaliasDeclaration_X.yml | 95 +++++++++++++++++++ 7 files changed, 306 insertions(+), 84 deletions(-) create mode 100644 src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleSubAliasConfig.java create mode 100644 src/main/java/net/t2code/alias/Spigot/config/config/SelectSubAlias.java create mode 100644 src/main/resources/SubAlias/X_subaliasDeclaration_X.yml diff --git a/pom.xml b/pom.xml index ac4f15d..275cc13 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ net.t2code Alias - 1.0.11 + 1.1.0_DEV jar T2C-Alias diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleAliasConfig.java b/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleAliasConfig.java index b66f198..3abdd49 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleAliasConfig.java +++ b/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleAliasConfig.java @@ -8,6 +8,7 @@ import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; import java.io.IOException; +import java.util.Arrays; import java.util.Collections; public class CreateExampleAliasConfig { @@ -20,6 +21,8 @@ public class CreateExampleAliasConfig { YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); Config.set("Alias.Enable", true, yamlConfiguration); + Config.set("Alias.AliasList", Arrays.asList("aliasexample1"),yamlConfiguration); + Config.set("Alias.Permission.Necessary", true, yamlConfiguration); Config.set("Alias.Cost.Enable", false,yamlConfiguration); diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleSubAliasConfig.java b/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleSubAliasConfig.java new file mode 100644 index 0000000..8fcb520 --- /dev/null +++ b/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleSubAliasConfig.java @@ -0,0 +1,75 @@ +package net.t2code.alias.Spigot.config.config; + +import net.t2code.alias.Spigot.Main; +import net.t2code.alias.Util; +import net.t2code.lib.Spigot.Lib.messages.send; +import net.t2code.lib.Spigot.Lib.yamlConfiguration.Config; +import org.bukkit.configuration.file.YamlConfiguration; + +import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.Collections; + +public class CreateExampleSubAliasConfig { + + public static void configCreate() { + long long_ = System.currentTimeMillis(); + send.console(Util.getPrefix() + " §4SubAlias/aliasexample.yml are created..."); + + File config = new File(Main.getPath(), "SubAlias/aliasexample.yml"); + YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); + + Config.set("SubAlias.Enable", true, yamlConfiguration); + Config.set("SubAlias.SubAliasList", Arrays.asList("test"),yamlConfiguration); + Config.set("SubAlias.SubAliasFor", Arrays.asList("aliasexample1"),yamlConfiguration); + + Config.set("SubAlias.Permission.Necessary", true, yamlConfiguration); + + Config.set("SubAlias.Cost.Enable", false,yamlConfiguration); + Config.set("SubAlias.Cost.Price", 0.0,yamlConfiguration); + Config.set("SubAlias.Cost.AllowByPass", true,yamlConfiguration); + + Config.set("SubAlias.Command.Enable", true, yamlConfiguration); + Config.set("SubAlias.Command.CommandAsConsole", true, yamlConfiguration); + Config.set("SubAlias.Command.BungeeCommand", false, yamlConfiguration); + Config.set("SubAlias.Command.Commands", Collections.singletonList("say hi"), yamlConfiguration); + + Config.set("SubAlias.Message.Enable", false, yamlConfiguration); + Config.set("SubAlias.Message.Messages", Collections.emptyList(), yamlConfiguration); + Config.set("SubAlias.Message.TextBuilder.Enable", false, yamlConfiguration); + Config.set("SubAlias.Message.TextBuilder.Hover", "", yamlConfiguration); + Config.set("SubAlias.Message.TextBuilder.ClickEvent.Enable", false, yamlConfiguration); + Config.set("SubAlias.Message.TextBuilder.ClickEvent.Action", "", yamlConfiguration); + Config.set("SubAlias.Message.TextBuilder.ClickEvent.ActionValue", "", yamlConfiguration); + + Config.set("SubAlias.Admin.Enable", true, yamlConfiguration); + Config.set("SubAlias.Admin.Permission", "t2code.alias.admin", yamlConfiguration); + + Config.set("SubAlias.Admin.Command.Enable", true, yamlConfiguration); + Config.set("SubAlias.Admin.Command.CommandAsConsole", true, yamlConfiguration); + Config.set("SubAlias.Admin.Command.BungeeCommand", false, yamlConfiguration); + Config.set("SubAlias.Admin.Command.Commands", Collections.singletonList("say hi"), yamlConfiguration); + + Config.set("SubAlias.Admin.Message.Enable", false, yamlConfiguration); + Config.set("SubAlias.Admin.Message.Messages", Collections.emptyList(), yamlConfiguration); + Config.set("SubAlias.Admin.Message.TextBuilder.Enable", false, yamlConfiguration); + Config.set("SubAlias.Admin.Message.TextBuilder.Hover", "", yamlConfiguration); + Config.set("SubAlias.Admin.Message.TextBuilder.ClickEvent.Enable", false, yamlConfiguration); + Config.set("SubAlias.Admin.Message.TextBuilder.ClickEvent.Action", "", yamlConfiguration); + Config.set("SubAlias.Admin.Message.TextBuilder.ClickEvent.ActionValue", "", yamlConfiguration); + + Config.set("SubAlias.Console.Enable", false, yamlConfiguration); + Config.set("SubAlias.Console.Command.Enable", false, yamlConfiguration); + Config.set("SubAlias.Console.Command.BungeeCommand", false, yamlConfiguration); + Config.set("SubAlias.Console.Command.Commands", Collections.emptyList(), yamlConfiguration); + Config.set("SubAlias.Console.Message.Enable", false, yamlConfiguration); + Config.set("SubAlias.Console.Message.Messages", Collections.emptyList(), yamlConfiguration); + try { + yamlConfiguration.save(config); + } catch (IOException e) { + e.printStackTrace(); + } + send.console(Util.getPrefix() + " §2Alias/aliasexample.yml were successfully created." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms"); + } +} diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/SelectAlias.java b/src/main/java/net/t2code/alias/Spigot/config/config/SelectAlias.java index c731365..e027862 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/config/SelectAlias.java +++ b/src/main/java/net/t2code/alias/Spigot/config/config/SelectAlias.java @@ -5,12 +5,18 @@ import net.t2code.alias.Spigot.Main; import net.t2code.alias.Spigot.system.AliasRegister; import net.t2code.alias.Spigot.objects.AliasObjekt; import net.t2code.alias.Util; +import net.t2code.lib.Spigot.Lib.messages.send; import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; public class SelectAlias { private static String Prefix = Util.getPrefix(); + public static void onSelect() { Main.aliasHashMap.clear(); @@ -21,55 +27,57 @@ public class SelectAlias { if (config_gui.getName().equals("X_aliasDeclaration_X.yml")) continue; String sub = config_gui.getName().substring(config_gui.getName().length() - 4); if (sub.equals(".yml")) { - Main.allAliases.add(config_gui.getName().replace(".yml", "")); + YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config_gui); - AliasObjekt alias = new AliasObjekt( - yamlConfiguration.getBoolean("Alias.Enable"), - yamlConfiguration.getBoolean("Alias.Permission.Necessary"), + Boolean aliasEnable = yamlConfiguration.getBoolean("Alias.Enable"); + List aliasList; + if (yamlConfiguration.get("Alias.AliasList") != null) { + aliasList = yamlConfiguration.getStringList("Alias.AliasList"); + } else aliasList = Collections.singletonList(config_gui.getName().toLowerCase()); - yamlConfiguration.getBoolean("Alias.Cost.Enable"), - yamlConfiguration.getDouble("Alias.Cost.Price"), - yamlConfiguration.getBoolean("Alias.Cost.AllowByPass"), + Boolean permNecessary = yamlConfiguration.getBoolean("Alias.Permission.Necessary"); - yamlConfiguration.getBoolean("Alias.Command.Enable"), - yamlConfiguration.getBoolean("Alias.Command.CommandAsConsole"), - yamlConfiguration.getBoolean("Alias.Command.BungeeCommand"), - yamlConfiguration.getStringList("Alias.Command.Commands"), + Boolean costEnable = yamlConfiguration.getBoolean("Alias.Cost.Enable"); + Double costPrice = yamlConfiguration.getDouble("Alias.Cost.Price"); + Boolean costAllowBypass = yamlConfiguration.getBoolean("Alias.Cost.AllowByPass"); - yamlConfiguration.getBoolean("Alias.Message.Enable"), - yamlConfiguration.getStringList("Alias.Message.Messages"), - yamlConfiguration.getBoolean("Alias.Message.TextBuilder.Enable"), - yamlConfiguration.getString("Alias.Message.TextBuilder.Hover"), - yamlConfiguration.getBoolean("Alias.Message.TextBuilder.ClickEvent.Enable"), - yamlConfiguration.getString("Alias.Message.TextBuilder.ClickEvent.Action"), - yamlConfiguration.getString("Alias.Message.TextBuilder.ClickEvent.ActionValue"), + Boolean commandEnable = yamlConfiguration.getBoolean("Alias.Command.Enable"); + Boolean commandAsConsole = yamlConfiguration.getBoolean("Alias.Command.CommandAsConsole"); + Boolean bungeeCommand = yamlConfiguration.getBoolean("Alias.Command.BungeeCommand"); + List command = yamlConfiguration.getStringList("Alias.Command.Commands"); - yamlConfiguration.getBoolean("Alias.Admin.Enable"), - yamlConfiguration.getString("Alias.Admin.Permission"), + Boolean messageEnable = yamlConfiguration.getBoolean("Alias.Message.Enable"); + List messages = yamlConfiguration.getStringList("Alias.Message.Messages"); - yamlConfiguration.getBoolean("Alias.Admin.Command.Enable"), - yamlConfiguration.getBoolean("Alias.Admin.Command.CommandAsConsole"), - yamlConfiguration.getBoolean("Alias.Admin.Command.BungeeCommand"), - yamlConfiguration.getStringList("Alias.Admin.Command.Commands"), + Boolean adminEnable = yamlConfiguration.getBoolean("Alias.Admin.Enable"); + String adminPermission = yamlConfiguration.getString("Alias.Admin.Permission"); - yamlConfiguration.getBoolean("Alias.Admin.Message.Enable"), - yamlConfiguration.getStringList("Alias.Admin.Message.Messages"), - yamlConfiguration.getBoolean("Alias.Admin.Message.TextBuilder.Enable"), - yamlConfiguration.getString("Alias.Admin.Message.TextBuilder.Hover"), - yamlConfiguration.getBoolean("Alias.Admin.Message.TextBuilder.ClickEvent.Enable"), - yamlConfiguration.getString("Alias.Admin.Message.TextBuilder.ClickEvent.Action"), - yamlConfiguration.getString("Alias.Admin.Message.TextBuilder.ClickEvent.ActionValue"), + Boolean adminCommandEnable = yamlConfiguration.getBoolean("Alias.Admin.Command.Enable"); + Boolean adminCommandAsConsole = yamlConfiguration.getBoolean("Alias.Admin.Command.CommandAsConsole"); + Boolean adminBungeeCommand = yamlConfiguration.getBoolean("Alias.Admin.Command.BungeeCommand"); + List adminCommands = yamlConfiguration.getStringList("Alias.Admin.Command.Commands"); - yamlConfiguration.getBoolean("Alias.Console.Enable"), - yamlConfiguration.getBoolean("Alias.Console.Command.Enable"), - yamlConfiguration.getBoolean("Alias.Console.Command.BungeeCommand"), - yamlConfiguration.getStringList("Alias.Console.Command.Commands"), - yamlConfiguration.getBoolean("Alias.Console.Message.Enable"), - yamlConfiguration.getStringList("Alias.Console.Message.Messages")); - Main.aliasHashMap.put(config_gui.getName().replace(".yml", ""), alias); - AliasRegister.onRegister(); + Boolean adminMessageEnable = yamlConfiguration.getBoolean("Alias.Admin.Message.Enable"); + List adminMessages = yamlConfiguration.getStringList("Alias.Admin.Message.Messages"); + + Boolean consoleEnable = yamlConfiguration.getBoolean("Alias.Console.Enable"); + Boolean consoleCommandEnable = yamlConfiguration.getBoolean("Alias.Console.Command.Enable"); + Boolean consoleBungeeCommand = yamlConfiguration.getBoolean("Alias.Console.Command.BungeeCommand"); + List consoleCommands = yamlConfiguration.getStringList("Alias.Console.Command.Commands"); + Boolean consoleMessageEnable = yamlConfiguration.getBoolean("Alias.Console.Message.Enable"); + List consoleMessages = yamlConfiguration.getStringList("Alias.Console.Message.Messages"); + + Main.allAliases.addAll(aliasList); + AliasObjekt alias = new AliasObjekt(aliasEnable, aliasList, permNecessary, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand, + command, messageEnable, messages, adminEnable, adminPermission, adminCommandEnable, adminCommandAsConsole, adminBungeeCommand, adminCommands, + adminMessageEnable, adminMessages, consoleEnable, consoleCommandEnable, consoleBungeeCommand, consoleCommands, consoleMessageEnable, consoleMessages); + + for (String al : aliasList) { + Main.aliasHashMap.put(al, alias); + } } } + AliasRegister.onRegister(); } } diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/SelectSubAlias.java b/src/main/java/net/t2code/alias/Spigot/config/config/SelectSubAlias.java new file mode 100644 index 0000000..ae8bac4 --- /dev/null +++ b/src/main/java/net/t2code/alias/Spigot/config/config/SelectSubAlias.java @@ -0,0 +1,77 @@ +package net.t2code.alias.Spigot.config.config; + +import net.minecraft.world.level.levelgen.DensityFunctions; +import net.t2code.alias.Spigot.Main; +import net.t2code.alias.Spigot.objects.SubAliasObjekt; +import net.t2code.alias.Spigot.system.AliasRegister; +import net.t2code.alias.Spigot.objects.AliasObjekt; +import net.t2code.alias.Util; +import net.t2code.lib.Spigot.Lib.messages.send; +import org.bukkit.configuration.file.YamlConfiguration; + +import java.io.File; +import java.util.List; + +public class SelectSubAlias { + private static String Prefix = Util.getPrefix(); + + public static void onSelect() { + + Main.aliasHashMap.clear(); + Main.allAliases.clear(); + File f = new File(Main.getPath() + "/SubAlias/"); + File[] fileArray = f.listFiles(); + for (File config_gui : fileArray) { + if (config_gui.getName().equals("X_subAliasDeclaration_X.yml")) continue; + String sub = config_gui.getName().substring(config_gui.getName().length() - 4); + if (sub.equals(".yml")) { + + YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config_gui); + + Boolean aliasEnable = yamlConfiguration.getBoolean("SubAlias.Enable"); + List subAliasList = yamlConfiguration.getStringList("SubAlias.SubAliasList"); + String subAliasFor = yamlConfiguration.getString("SubAlias.SubAliasFor"); + Integer subAliasArg = yamlConfiguration.getInt("SubAlias.SubAliasArg"); + Boolean permNecessary = yamlConfiguration.getBoolean("SubAlias.Permission.Necessary"); + + Boolean costEnable = yamlConfiguration.getBoolean("SubAlias.Cost.Enable"); + Double costPrice = yamlConfiguration.getDouble("SubAlias.Cost.Price"); + Boolean costAllowBypass = yamlConfiguration.getBoolean("SubAlias.Cost.AllowByPass"); + + Boolean commandEnable = yamlConfiguration.getBoolean("SubAlias.Command.Enable"); + Boolean commandAsConsole = yamlConfiguration.getBoolean("SubAlias.Command.CommandAsConsole"); + Boolean bungeeCommand = yamlConfiguration.getBoolean("SubAlias.Command.BungeeCommand"); + List command = yamlConfiguration.getStringList("SubAlias.Command.Commands"); + + Boolean messageEnable = yamlConfiguration.getBoolean("SubAlias.Message.Enable"); + List messages = yamlConfiguration.getStringList("SubAlias.Message.Messages"); + + Boolean adminEnable = yamlConfiguration.getBoolean("SubAlias.Admin.Enable"); + String adminPermission = yamlConfiguration.getString("SubAlias.Admin.Permission"); + + Boolean adminCommandEnable = yamlConfiguration.getBoolean("SubAlias.Admin.Command.Enable"); + Boolean adminCommandAsConsole = yamlConfiguration.getBoolean("SubAlias.Admin.Command.CommandAsConsole"); + Boolean adminBungeeCommand = yamlConfiguration.getBoolean("SubAlias.Admin.Command.BungeeCommand"); + List adminCommands = yamlConfiguration.getStringList("SubAlias.Admin.Command.Commands"); + + Boolean adminMessageEnable = yamlConfiguration.getBoolean("SubAlias.Admin.Message.Enable"); + List adminMessages = yamlConfiguration.getStringList("SubAlias.Admin.Message.Messages"); + + Boolean consoleEnable = yamlConfiguration.getBoolean("SubAlias.Console.Enable"); + Boolean consoleCommandEnable = yamlConfiguration.getBoolean("SubAlias.Console.Command.Enable"); + Boolean consoleBungeeCommand = yamlConfiguration.getBoolean("SubAlias.Console.Command.BungeeCommand"); + List consoleCommands = yamlConfiguration.getStringList("SubAlias.Console.Command.Commands"); + Boolean consoleMessageEnable = yamlConfiguration.getBoolean("SubAlias.Console.Message.Enable"); + List consoleMessages = yamlConfiguration.getStringList("SubAlias.Console.Message.Messages"); + + SubAliasObjekt subAlias = new SubAliasObjekt(aliasEnable, subAliasList, subAliasFor, subAliasArg, permNecessary, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand, + command, messageEnable, messages, adminEnable, adminPermission, adminCommandEnable, adminCommandAsConsole, adminBungeeCommand, adminCommands, + adminMessageEnable, adminMessages, consoleEnable, consoleCommandEnable, consoleBungeeCommand, consoleCommands, consoleMessageEnable, consoleMessages); + for (String sal : subAliasList) { + Main.subAliasHashMap.put(sal, subAlias); + } + Main.allSubAliases.addAll(subAliasList); + } + } + } +} diff --git a/src/main/resources/Alias/X_aliasDeclaration_X.yml b/src/main/resources/Alias/X_aliasDeclaration_X.yml index 1ab94e1..8272a5d 100644 --- a/src/main/resources/Alias/X_aliasDeclaration_X.yml +++ b/src/main/resources/Alias/X_aliasDeclaration_X.yml @@ -7,6 +7,14 @@ Alias: # Here you can disable the alias Enable: true + + + # >>>>>> New 1.1 <<<<<< <<<<<<<<<<<<<<<<<<<<< + AliasList: + - alias1 + - alias2 + + Permission: # Here you can say if a permission is needed to use the alias# # Permission: t2code.alias.use. @@ -37,28 +45,6 @@ Alias: # Multiple lines can be used and placeholders are supported! # Placeholder: [player] = The player who executes the alias Messages: [] - # With the TextBuilder it is possible to create messages with hover and clickable messages with actions. - # !!! There is currently a poll on our Discord asking if this option should be removed !!! - # To the poll: https://ptb.discord.com/channels/780682397950672897/915625982910672896/984228029297471529 - TextBuilder: - # Here you can activate the TextBuilder. - Enable: false - # Set the hover here - Hover: '' - ClickEvent: - # Here you can give the message a function when clicked on - Enable: false - # Specify here what should happen - # OPEN_URL - Opens a URL under the path specified in ActionValue. - # OPEN_FILE - Opens a file under the path specified by ActionValue. - # RUN_COMMAND - Runs the command specified by ActionValue. - # SUGGEST_COMMAND - Inserts the string specified in ActionValue into the player text box. - # CHANGE_PAGE - Changes to the page number in a book specified by ActionValue. - # COPY_TO_CLIPBOARD - Copies the string specified by ActionValue to the player's clipboard. - Action: '' - # Here you set the value of the action. - # For example, the URL for the link to be opened or the command to be executed. - ActionValue: '' # Here you can specify that players with the permission () have a different function than other players. # For example, you can say that players should come to a certain point and players with the admin function only to the server to the position where they were before. @@ -89,28 +75,6 @@ Alias: # Multiple lines can be used and placeholders are supported! # Placeholder: [player] = The player who executes the alias Messages: [ ] - # With the TextBuilder it is possible to create messages with hover and clickable messages with actions. - # !!! There is currently a poll on our Discord asking if this option should be removed !!! - # To the poll: https://ptb.discord.com/channels/780682397950672897/915625982910672896/984228029297471529 - TextBuilder: - # Here you can activate the TextBuilder. - Enable: false - # Set the hover here - Hover: '' - ClickEvent: - # Here you can give the message a function when clicked on - Enable: false - # Specify here what should happen - # OPEN_URL - Opens a URL under the path specified in ActionValue. - # OPEN_FILE - Opens a file under the path specified by ActionValue. - # RUN_COMMAND - Runs the command specified by ActionValue. - # SUGGEST_COMMAND - Inserts the string specified in ActionValue into the player text box. - # CHANGE_PAGE - Changes to the page number in a book specified by ActionValue. - # COPY_TO_CLIPBOARD - Copies the string specified by ActionValue to the player's clipboard. - Action: '' - # Here you set the value of the action. - # For example, the URL for the link to be opened or the command to be executed. - ActionValue: '' Console: # Here you can define if the alias is also usable in the console and what it should do from there. diff --git a/src/main/resources/SubAlias/X_subaliasDeclaration_X.yml b/src/main/resources/SubAlias/X_subaliasDeclaration_X.yml new file mode 100644 index 0000000..34e11cc --- /dev/null +++ b/src/main/resources/SubAlias/X_subaliasDeclaration_X.yml @@ -0,0 +1,95 @@ +#################################################################### +## To create another alias, simply copy the file ## +## and name it what you want the aliascommand to be. ## +## The alias command is always the filename without .yml!!! ## +#################################################################### + +SubAlias: + # Here you can disable the alias + Enable: true + + + # >>>>>> New 1.1 <<<<<< <<<<<<<<<<<<<<<<<<<<< + SubAliasList: + - subalias1 + SubAliasFor: + - alias1 + + + Permission: + # Here you can say if a permission is needed to use the alias# + # Permission: t2code.subalias.use. + Necessary: true + Cost: + # Here you can say if you have to pay for the alias + Enable: false + # Here you set the price + Price: 0.0 + # Here you define if the bypass is activated or if you have to pay despite the bypass (t2code.alias.buy.bypass). + AllowByPass: true + Command: + # Here you can tell the alias to execute one or more commands + Enable: false + # Here you can specify whether the command should be executed from the console of the server + CommandAsConsole: false + # Here you can define if the command should be executed on the bungee. + # For this option, BungeeCord must be set to true in config.yml and the plugin must also work on the proxy as a bridge. + # (If it is to be executed from the proxy console, the CommandAsConsole option must also be enabled). + BungeeCommand: false + # Here you can specify one or more commands to be executed. + # Placeholder: [player] = The player who executes the alias + Commands: [] + Message: + # Here you can specify whether the player should receive a message. + Enable: false + # Specify here the message that the player should get. + # Multiple lines can be used and placeholders are supported! + # Placeholder: [player] = The player who executes the alias + Messages: [] + + # Here you can specify that players with the permission () have a different function than other players. + # For example, you can say that players should come to a certain point and players with the admin function only to the server to the position where they were before. + # Example: + # Player: /warp CityBuild + # Player with Admin Perm: /server CityBuild + Admin: + # Here you can enable or disable the admin function + Enable: true + # Here you set the permission for the admin function + Permission: t2code.alias.admin + Command: + # Here you can tell the alias to execute one or more commands + Enable: false + # Here you can specify whether the command should be executed from the console of the server + CommandAsConsole: false + # Here you can define if the command should be executed on the bungee. + # For this option, BungeeCord must be set to true in config.yml and the plugin must also work on the proxy as a bridge. + # (If it is to be executed from the proxy console, the CommandAsConsole option must also be enabled). + BungeeCommand: false + # Here you can specify one or more commands to be executed. + # Placeholder: [player] = The player who executes the alias + Commands: [] + Message: + # Here you can specify whether the player should receive a message. + Enable: false + # Specify here the message that the player should get. + # Multiple lines can be used and placeholders are supported! + # Placeholder: [player] = The player who executes the alias + Messages: [ ] + + Console: + # Here you can define if the alias is also usable in the console and what it should do from there. + Enable: false + Command: + # Here you can tell the alias to execute one or more commands + Enable: false + # Here you can specify whether the command should be executed by the Bungee console. + # For this option, BungeeCord must be set to true in config.yml and the plugin must also work on the proxy as a bridge. + BungeeCommand: false + # Here you can specify one or more commands to be executed. + Commands: [ ] + Message: + # Here you can specify whether the player should receive a message. + Enable: false + # Specify here the message that the player should get. + Messages: [ ] From 156e5c05852b898da19a462dce161583c8ee1713 Mon Sep 17 00:00:00 2001 From: JaTiTV Date: Tue, 5 Jul 2022 20:02:13 +0200 Subject: [PATCH 2/9] Create RegisterSubAliasCommands.java --- .../RegisterSubAliasCommands.java | 166 ++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterSubAliasCommands.java diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterSubAliasCommands.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterSubAliasCommands.java new file mode 100644 index 0000000..05e97da --- /dev/null +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterSubAliasCommands.java @@ -0,0 +1,166 @@ +package net.t2code.alias.Spigot.cmdManagement; + +import net.t2code.alias.Spigot.config.config.SelectConfig; +import net.t2code.alias.Spigot.config.languages.SelectMessages; +import net.t2code.alias.Spigot.objects.SubAliasObjekt; +import net.t2code.alias.Spigot.system.BCommandSenderReciver; +import net.t2code.alias.Util; +import net.t2code.lib.Spigot.Lib.commands.Cmd; +import net.t2code.lib.Spigot.Lib.eco.Eco; +import net.t2code.lib.Spigot.Lib.messages.send; +import net.t2code.lib.Spigot.Lib.plugins.PluginCheck; +import net.t2code.lib.Spigot.Lib.replace.Replace; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class RegisterSubAliasCommands { + private static String prefix = Util.getPrefix(); + + + + public static void execute(CommandSender sender, SubAliasObjekt alias, String aliasString) { + if (!alias.subAliasEnable) { + send.sender(sender, SelectMessages.aliasDisabled); + return ; + } + if (sender instanceof Player) { + Player player = (Player) sender; + + if (alias.adminEnable) { + if (player.hasPermission(alias.adminPermission)) { + if (alias.adminCommandEnable) { + adminCommand(alias, player); + } + if (alias.adminMessageEnable) { + adminMessage(alias, player, prefix); + } + return ; + } + } + + if (alias.permNecessary) { + if (!(player.hasPermission("t2code.alias.use.subalias." + aliasString.toLowerCase()) || player.hasPermission("t2code.alias.admin"))) { + send.player(player, SelectMessages.noPermissionForCommand.replace("[cmd]", "/" +aliasString.toLowerCase()) + .replace("[perm]", "t2code.alias.subalias.use." + aliasString.toLowerCase())); + return ; + } + } + if (alias.costEnable) { + if (!(alias.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass"))) { + if (!Eco.moneyRemove(prefix, player, alias.costPrice)) { + send.player(player, SelectMessages.noMoney); + return ; + } + if (SelectConfig.buyMessage) send.player(player, SelectMessages.buy.replace("[price]", alias.costPrice.toString())); + } + } + if (alias.commandEnable) { + command(alias, player); + } + if (alias.messageEnable) { + message(alias, player, prefix); + } + } else { + if (alias.consoleEnable) { + console(alias, sender, prefix); + } else send.sender(sender, SelectMessages.onlyForPlayer); + } + } + + private static void adminCommand(SubAliasObjekt alias, Player player) { + for (String cmd : alias.adminCommands) { + if (alias.adminBungeeCommand) { + if (SelectConfig.Bungee) { + if (alias.adminCommandAsConsole) { + BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), true); + } else BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), false); + + } else { + send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + send.player(player, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + } + } else { + if (alias.adminCommandAsConsole) { + Cmd.console(cmd.replace("[player]", player.getName())); + } else { + Cmd.player(player, cmd.replace("[player]", player.getName())); + } + } + } + } + + private static void adminMessage(SubAliasObjekt alias, Player player, String prefix) { + for (String msg : alias.adminMessages) { + String text; + String hover; + if (PluginCheck.papi()) { + text = Replace.replace(prefix, player, replacePlayer(msg, player)); + } else { + text = Replace.replace(prefix, replacePlayer(msg, player)); + } + send.player(player, text); + } + } + + private static void command(SubAliasObjekt alias, Player player) { + for (String cmd : alias.command) { + if (alias.bungeeCommand) { + if (SelectConfig.Bungee) { + if (alias.commandAsConsole) { + BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), true); + } else BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), false); + + } else { + send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + send.player(player, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + } + } else { + if (alias.commandAsConsole) { + Cmd.console(cmd.replace("[player]", player.getName())); + } else { + Cmd.player(player, cmd.replace("[player]", player.getName())); + } + } + } + } + + private static void message(SubAliasObjekt alias, Player player, String prefix) { + for (String msg : alias.messages) { + String text; + String hover; + if (PluginCheck.papi()) { + text = Replace.replace(prefix, player, replacePlayer(msg, player)); + } else { + text = Replace.replace(prefix, replacePlayer(msg, player)); + } + send.player(player, text); + } + } + + private static void console(SubAliasObjekt alias, CommandSender sender, String prefix) { + if (alias.consoleCommandEnable) { + for (String cmd : alias.consoleCommands) { + if (alias.consoleBungeeCommand) { + if (SelectConfig.Bungee) { + BCommandSenderReciver.sendToBungee(sender, cmd, true); + } else { + send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + send.sender(sender, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + } + } else { + Cmd.console(cmd); + } + } + } + if (alias.consoleMessageEnable) { + for (String msg : alias.consoleMessages) { + send.console(Replace.replace(prefix, msg)); + } + } + } + + private static String replacePlayer(String s, Player player) { + return s.replace("[player]", player.getName()); + } +} + From cf300acff116c6ffb35461b00c97b17e825d1659 Mon Sep 17 00:00:00 2001 From: JaTiTV Date: Tue, 5 Jul 2022 20:02:18 +0200 Subject: [PATCH 3/9] Create SubAliasObjekt.java --- .../alias/Spigot/objects/SubAliasObjekt.java | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 src/main/java/net/t2code/alias/Spigot/objects/SubAliasObjekt.java diff --git a/src/main/java/net/t2code/alias/Spigot/objects/SubAliasObjekt.java b/src/main/java/net/t2code/alias/Spigot/objects/SubAliasObjekt.java new file mode 100644 index 0000000..d03f441 --- /dev/null +++ b/src/main/java/net/t2code/alias/Spigot/objects/SubAliasObjekt.java @@ -0,0 +1,106 @@ +package net.t2code.alias.Spigot.objects; + +import java.util.List; + +public class SubAliasObjekt { + public Boolean subAliasEnable; + public List subAliasList; + public Integer subAliasArg; + public String subAliasFor; + + public Boolean permNecessary; + + public Boolean costEnable; + public Double costPrice; + public Boolean costAllowBypass; + + public Boolean commandEnable; + public Boolean commandAsConsole; + public Boolean bungeeCommand; + public List command; + public Boolean messageEnable; + public List messages; + + + public Boolean adminEnable; + public String adminPermission; + public Boolean adminCommandEnable; + public Boolean adminCommandAsConsole; + public Boolean adminBungeeCommand; + public List adminCommands; + public Boolean adminMessageEnable; + public List adminMessages; + public Boolean consoleEnable; + public Boolean consoleCommandEnable; + public Boolean consoleBungeeCommand; + public List consoleCommands; + public Boolean consoleMessageEnable; + public List consoleMessages; + + public SubAliasObjekt(Boolean subAliasEnable, + List subAliasList, + String subAliasFor, + Integer subAliasArg, + Boolean permNecessary, + + Boolean costEnable, + Double costPrice, + Boolean costAllowBypass, + + Boolean commandEnable, + Boolean commandAsConsole, + Boolean bungeeCommand, + List command, + Boolean messageEnable, + List messages, + + Boolean adminEnable, + String adminPermission, + Boolean adminCommandEnable, + Boolean adminCommandAsConsole, + Boolean adminBungeeCommand, + List adminCommands, + Boolean adminMessageEnable, + List adminMessages, + + Boolean consoleEnable, + Boolean consoleCommandEnable, + Boolean consoleBungeeCommand, + List consoleCommands, + Boolean consoleMessageEnable, + List consoleMessages) { + this.subAliasEnable = subAliasEnable; + this.subAliasList = subAliasList; + this.subAliasFor = subAliasFor; + this.subAliasArg = subAliasArg; + this.permNecessary = permNecessary; + + this.costEnable = costEnable; + this.costPrice = costPrice; + this.costAllowBypass = costAllowBypass; + + this.commandEnable = commandEnable; + this.commandAsConsole = commandAsConsole; + this.bungeeCommand = bungeeCommand; + this.command = command; + this.messageEnable = messageEnable; + this.messages = messages; + this.adminEnable = adminEnable; + this.adminPermission = adminPermission; + this.adminCommandEnable = adminCommandEnable; + this.adminCommandAsConsole = adminCommandAsConsole; + this.adminBungeeCommand = adminBungeeCommand; + this.adminCommands = adminCommands; + this.adminMessageEnable = adminMessageEnable; + this.adminMessages = adminMessages; + + + this.consoleEnable = consoleEnable; + this.consoleCommandEnable = consoleCommandEnable; + this.consoleBungeeCommand = consoleBungeeCommand; + this.consoleCommands = consoleCommands; + this.consoleMessageEnable = consoleMessageEnable; + this.consoleMessages = consoleMessages; + + } +} From f8b86086db3e3977b69e3503d3c3efef01a5b4a2 Mon Sep 17 00:00:00 2001 From: JaTiTV Date: Tue, 5 Jul 2022 20:03:22 +0200 Subject: [PATCH 4/9] remove textBuilder and other changes --- .../java/net/t2code/alias/Spigot/Main.java | 3 + .../cmdManagement/RegisterCommands.java | 148 ++++++++++-------- .../alias/Spigot/objects/AliasObjekt.java | 38 +---- .../net/t2code/alias/Spigot/system/Load.java | 21 ++- 4 files changed, 109 insertions(+), 101 deletions(-) diff --git a/src/main/java/net/t2code/alias/Spigot/Main.java b/src/main/java/net/t2code/alias/Spigot/Main.java index f0c60c9..6531807 100644 --- a/src/main/java/net/t2code/alias/Spigot/Main.java +++ b/src/main/java/net/t2code/alias/Spigot/Main.java @@ -1,6 +1,7 @@ package net.t2code.alias.Spigot; import net.t2code.alias.Spigot.objects.AliasObjekt; +import net.t2code.alias.Spigot.objects.SubAliasObjekt; import net.t2code.alias.Spigot.system.Load; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate; @@ -23,7 +24,9 @@ public final class Main extends JavaPlugin { public static List autor; public static Main plugin; public static HashMap aliasHashMap = new HashMap<>(); + public static HashMap subAliasHashMap = new HashMap<>(); public static ArrayList allAliases = new ArrayList<>(); + public static ArrayList allSubAliases = new ArrayList<>(); @Override public void onEnable() { diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java index efbf5b1..074f234 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java @@ -1,23 +1,28 @@ package net.t2code.alias.Spigot.cmdManagement; -import net.md_5.bungee.api.chat.ClickEvent; import net.t2code.alias.Spigot.Main; import net.t2code.alias.Spigot.config.config.SelectConfig; import net.t2code.alias.Spigot.config.languages.SelectMessages; import net.t2code.alias.Spigot.objects.AliasObjekt; +import net.t2code.alias.Spigot.objects.SubAliasObjekt; import net.t2code.alias.Spigot.system.*; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.commands.Cmd; +import net.t2code.lib.Spigot.Lib.commands.Tab; import net.t2code.lib.Spigot.Lib.eco.Eco; -import net.t2code.lib.Spigot.Lib.messages.TextBuilder; import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.plugins.PluginCheck; import net.t2code.lib.Spigot.Lib.replace.Replace; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; +import org.bukkit.command.TabCompleter; import org.bukkit.entity.Player; -public class RegisterCommands extends Command { +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +public class RegisterCommands extends Command implements TabCompleter { private String alias; private String prefix = Util.getPrefix(); @@ -34,51 +39,68 @@ public class RegisterCommands extends Command { send.sender(sender, SelectMessages.aliasDisabled); return true; } - if (sender instanceof Player) { - Player player = (Player) sender; - - if (alias.adminEnable) { - if (player.hasPermission(alias.adminPermission)) { - if (alias.adminCommandEnable) { - adminCommand(alias, player); - } - if (alias.adminMessageEnable) { - adminMessage(alias, player, prefix); - } - return true; - } - } - - if (alias.permNecessary) { - if (!(player.hasPermission("t2code.alias.use." + this.alias.toLowerCase()) || player.hasPermission("t2code.alias.admin"))) { - send.player(player, SelectMessages.noPermissionForCommand.replace("[cmd]", "/" + this.alias.toLowerCase()) - .replace("[perm]", "t2code.alias.use." + this.alias.toLowerCase())); - return true; - } - } - if (alias.costEnable) { - if (!(alias.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass")) ){ - if (!Eco.moneyRemove(prefix, player, alias.costPrice)) { - send.player(player, SelectMessages.noMoney); - return true; - } - if (SelectConfig.buyMessage) send.player(player, SelectMessages.buy.replace("[price]", alias.costPrice.toString())); - } - } - if (alias.commandEnable) { - command(alias, player); - } - if (alias.messageEnable) { - message(alias, player, prefix); + if (args.length == 0) { + if (sender instanceof Player) { + exPlayer(sender, alias); + } else { + if (alias.consoleEnable) { + console(alias, sender, prefix); + } else send.sender(sender, SelectMessages.onlyForPlayer); } } else { - if (alias.consoleEnable) { - console(alias, sender, prefix); - } else send.sender(sender, SelectMessages.onlyForPlayer); + for (String sals : Main.allSubAliases) { + SubAliasObjekt sal = Main.subAliasHashMap.get(sals); + if (args.length == sal.subAliasArg) { + for (String al : sal.subAliasList) { + if (args[sal.subAliasArg].toLowerCase().equals(al)) { + RegisterSubAliasCommands.execute(sender, sal, al); + } + } + } + } } return true; } + private void exPlayer(CommandSender sender, AliasObjekt alias) { + Player player = (Player) sender; + + if (alias.adminEnable) { + if (player.hasPermission(alias.adminPermission)) { + if (alias.adminCommandEnable) { + adminCommand(alias, player); + } + if (alias.adminMessageEnable) { + adminMessage(alias, player, prefix); + } + return; + } + } + + if (alias.permNecessary) { + if (!(player.hasPermission("t2code.alias.use." + this.alias.toLowerCase()) || player.hasPermission("t2code.alias.admin"))) { + send.player(player, SelectMessages.noPermissionForCommand.replace("[cmd]", "/" + this.alias.toLowerCase()) + .replace("[perm]", "t2code.alias.use." + this.alias.toLowerCase())); + return; + } + } + if (alias.costEnable) { + if (!(alias.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass"))) { + if (!Eco.moneyRemove(prefix, player, alias.costPrice)) { + send.player(player, SelectMessages.noMoney); + return; + } + if (SelectConfig.buyMessage) send.player(player, SelectMessages.buy.replace("[price]", alias.costPrice.toString())); + } + } + if (alias.commandEnable) { + command(alias, player); + } + if (alias.messageEnable) { + message(alias, player, prefix); + } + } + private static void adminCommand(AliasObjekt alias, Player player) { for (String cmd : alias.adminCommands) { if (alias.adminBungeeCommand) { @@ -107,21 +129,10 @@ public class RegisterCommands extends Command { String hover; if (PluginCheck.papi()) { text = Replace.replace(prefix, player, replacePlayer(msg, player)); - hover = Replace.replace(prefix, player, alias.adminHover); } else { text = Replace.replace(prefix, replacePlayer(msg, player)); - hover = Replace.replace(prefix, alias.adminHover); - } - if (alias.adminTextBuilder) { - TextBuilder textBuilder = new TextBuilder(text); - textBuilder.addHover(hover); - if (alias.adminClickEvent) { - textBuilder.addClickEvent(ClickEvent.Action.valueOf(alias.adminAction), alias.adminActionValue); - } - player.spigot().sendMessage(textBuilder.build()); - } else { - send.player(player, text); } + send.player(player, text); } } @@ -153,21 +164,10 @@ public class RegisterCommands extends Command { String hover; if (PluginCheck.papi()) { text = Replace.replace(prefix, player, replacePlayer(msg, player)); - hover = Replace.replace(prefix, player, alias.hover); } else { text = Replace.replace(prefix, replacePlayer(msg, player)); - hover = Replace.replace(prefix, alias.hover); - } - if (alias.textBuilder) { - TextBuilder textBuilder = new TextBuilder(text); - textBuilder.addHover(hover); - if (alias.clickEvent) { - textBuilder.addClickEvent(ClickEvent.Action.valueOf(alias.action), alias.actionValue); - } - player.spigot().sendMessage(textBuilder.build()); - } else { - send.player(player, text); } + send.player(player, text); } } @@ -196,5 +196,21 @@ public class RegisterCommands extends Command { private static String replacePlayer(String s, Player player) { return s.replace("[player]", player.getName()); } + + private static HashMap arg1 = new HashMap(); + + @Override + public List onTabComplete(CommandSender sender, Command cmd, String s, String[] args) { + List list = new ArrayList<>(); + arg1.clear(); + for (String sals : Main.allSubAliases) { + SubAliasObjekt sal = Main.subAliasHashMap.get(sals); + for (String al : sal.subAliasList) { + arg1.put(al, "t2code.alias.use.subalias." + al.toLowerCase()); + } + Tab.tab(list, sender, sal.subAliasArg, args, arg1); + } + return list; + } } diff --git a/src/main/java/net/t2code/alias/Spigot/objects/AliasObjekt.java b/src/main/java/net/t2code/alias/Spigot/objects/AliasObjekt.java index a6d149f..cf9be93 100644 --- a/src/main/java/net/t2code/alias/Spigot/objects/AliasObjekt.java +++ b/src/main/java/net/t2code/alias/Spigot/objects/AliasObjekt.java @@ -4,23 +4,21 @@ import java.util.List; public class AliasObjekt { public Boolean aliasEnable; - public Boolean commandEnable; + public List aliasList; + public Boolean permNecessary; public Boolean costEnable; public Double costPrice; public Boolean costAllowBypass; + public Boolean commandEnable; public Boolean commandAsConsole; public Boolean bungeeCommand; public List command; public Boolean messageEnable; public List messages; - public Boolean textBuilder; - public String hover; - public Boolean clickEvent; - public String action; - public String actionValue; + public Boolean adminEnable; public String adminPermission; @@ -30,11 +28,6 @@ public class AliasObjekt { public List adminCommands; public Boolean adminMessageEnable; public List adminMessages; - public Boolean adminTextBuilder; - public String adminHover; - public Boolean adminClickEvent; - public String adminAction; - public String adminActionValue; public Boolean consoleEnable; public Boolean consoleCommandEnable; public Boolean consoleBungeeCommand; @@ -43,6 +36,7 @@ public class AliasObjekt { public List consoleMessages; public AliasObjekt(Boolean aliasEnable, + List aliasList, Boolean permNecessary, Boolean costEnable, @@ -55,11 +49,6 @@ public class AliasObjekt { List command, Boolean messageEnable, List messages, - Boolean textBuilder, - String hover, - Boolean clickEvent, - String action, - String actionValue, Boolean adminEnable, String adminPermission, @@ -69,11 +58,6 @@ public class AliasObjekt { List adminCommands, Boolean adminMessageEnable, List adminMessages, - Boolean adminTextBuilder, - String adminHover, - Boolean adminClickEvent, - String adminAction, - String adminActionValue, Boolean consoleEnable, Boolean consoleCommandEnable, @@ -82,6 +66,7 @@ public class AliasObjekt { Boolean consoleMessageEnable, List consoleMessages) { this.aliasEnable = aliasEnable; + this.aliasList=aliasList; this.permNecessary = permNecessary; this.costEnable = costEnable; @@ -94,11 +79,6 @@ public class AliasObjekt { this.command = command; this.messageEnable = messageEnable; this.messages = messages; - this.textBuilder = textBuilder; - this.hover = hover; - this.clickEvent = clickEvent; - this.action = action; - this.actionValue = actionValue; this.adminEnable = adminEnable; this.adminPermission = adminPermission; this.adminCommandEnable = adminCommandEnable; @@ -107,11 +87,7 @@ public class AliasObjekt { this.adminCommands = adminCommands; this.adminMessageEnable = adminMessageEnable; this.adminMessages = adminMessages; - this.adminTextBuilder = adminTextBuilder; - this.adminHover = adminHover; - this.adminClickEvent = adminClickEvent; - this.adminAction = adminAction; - this.adminActionValue = adminActionValue; + this.consoleEnable = consoleEnable; this.consoleCommandEnable = consoleCommandEnable; diff --git a/src/main/java/net/t2code/alias/Spigot/system/Load.java b/src/main/java/net/t2code/alias/Spigot/system/Load.java index 642954e..c62027f 100644 --- a/src/main/java/net/t2code/alias/Spigot/system/Load.java +++ b/src/main/java/net/t2code/alias/Spigot/system/Load.java @@ -2,14 +2,12 @@ package net.t2code.alias.Spigot.system; import net.t2code.alias.Spigot.Main; import net.t2code.alias.Spigot.cmdManagement.AliasCmdExecuter; -import net.t2code.alias.Spigot.config.config.CreateConfig; -import net.t2code.alias.Spigot.config.config.CreateExampleAliasConfig; -import net.t2code.alias.Spigot.config.config.SelectAlias; -import net.t2code.alias.Spigot.config.config.SelectConfig; +import net.t2code.alias.Spigot.config.config.*; import net.t2code.alias.Spigot.config.languages.LanguagesCreate; import net.t2code.alias.Spigot.config.languages.SelectMessages; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate; +import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.update.UpdateAPI; import org.bukkit.Bukkit; import org.bukkit.plugin.Plugin; @@ -37,24 +35,39 @@ public class Load { CreateExampleAliasConfig.configCreate(); } catch (Exception e) { e.printStackTrace(); + }try { + CreateExampleSubAliasConfig.configCreate(); + } catch (Exception e) { + e.printStackTrace(); } } try { plugin.saveResource("Alias/X_aliasDeclaration_X.yml",true); } catch (Exception e) { e.printStackTrace(); + }try { + plugin.saveResource("SubAlias/X_subaliasDeclaration_X.yml",true); + } catch (Exception e) { + e.printStackTrace(); } CreateConfig.configCreate(); LanguagesCreate.langCreate(); SelectConfig.onSelect(); SelectMessages.onSelect(Util.getPrefix()); SelectAlias.onSelect(); + SelectSubAlias.onSelect(); if (SelectConfig.Bungee) { Main.plugin.getServer().getMessenger().registerOutgoingPluginChannel(Main.plugin, "BungeeCord"); Bukkit.getMessenger().registerOutgoingPluginChannel(Main.plugin, "t2codealias:bungee"); } AliasRegisterPermissions.onPermRegister(); + + send.debugmsg(plugin,Main.aliasHashMap.toString()); + send.debugmsg(plugin,Main.allAliases.toString()); + send.debugmsg(plugin,Main.subAliasHashMap.toString()); + + send.debugmsg(plugin,Main.allSubAliases.toString()); } } From d5669d82d46700b0ea1978da7783ad9c1378e8d9 Mon Sep 17 00:00:00 2001 From: JaTiTV Date: Thu, 7 Jul 2022 05:54:36 +0200 Subject: [PATCH 5/9] 1. trial version for SubCommands / Sub TabComplete --- pom.xml | 93 +----- .../java/net/t2code/alias/Spigot/Main.java | 35 ++- .../cmdManagement/AliasCmdExecuter.java | 7 + .../Spigot/cmdManagement/ExecuteAlias.java | 288 ++++++++++++++++++ .../cmdManagement/RegisterCommands.java | 183 +---------- .../RegisterSubAliasCommands.java | 166 ---------- .../alias/Spigot/cmdManagement/TabEvent.java | 49 +++ .../config/CreateExampleSubAliasConfig.java | 4 +- .../Spigot/config/config/SelectAlias.java | 8 +- .../Spigot/config/config/SelectSubAlias.java | 23 +- .../{AliasObjekt.java => AliasObject.java} | 4 +- ...ubAliasObjekt.java => SubAliasObject.java} | 4 +- .../alias/Spigot/system/AliasRegister.java | 5 +- .../net/t2code/alias/Spigot/system/Load.java | 24 +- src/main/java/net/t2code/alias/Util.java | 4 +- ...tion_X.yml => X_subAliasDeclaration_X.yml} | 0 16 files changed, 428 insertions(+), 469 deletions(-) create mode 100644 src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java delete mode 100644 src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterSubAliasCommands.java create mode 100644 src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java rename src/main/java/net/t2code/alias/Spigot/objects/{AliasObjekt.java => AliasObject.java} (97%) rename src/main/java/net/t2code/alias/Spigot/objects/{SubAliasObjekt.java => SubAliasObject.java} (97%) rename src/main/resources/SubAlias/{X_subaliasDeclaration_X.yml => X_subAliasDeclaration_X.yml} (100%) diff --git a/pom.xml b/pom.xml index 275cc13..5d30bc4 100644 --- a/pom.xml +++ b/pom.xml @@ -69,7 +69,8 @@ net.t2code T2CodeLib - 12.0 + 12.4 + dev-1 net.t2code @@ -82,94 +83,10 @@ 3.0 - net.t2code.minecraft.1_18.r2 + net.t2code.minecraft.1_19.r1 spigot - 1.18r2 - - - net.t2code.minecraft.1_18.r1 - spigot - 1.18r1 - - - net.t2code.minecraft.1_17.r1 - spigot - 1.17r1 - - - net.t2code.minecraft.1_16.r3 - spigot - 1.16r3 - - - net.t2code.minecraft.1_16.r2 - spigot - 1.16r2 - - - net.t2code.minecraft.1_16.r1 - spigot - 1.16r1 - - - net.t2code.minecraft.1_15.r1 - spigot - 1.15r1 - - - net.t2code.minecraft.1_14.r1 - spigot - 1.14r1 - - - net.t2code.minecraft.1_13.r2 - spigot - 1.13r2 - - - net.t2code.minecraft.1_13.r1 - spigot - 1.13r1 - - - net.t2code.minecraft.1_12.r1 - spigot - 1.12r1 - - - net.t2code.minecraft.1_11.r1 - spigot - 1.11r1 - - - net.t2code.minecraft.1_10.r1 - spigot - 1.10r1 - - - net.t2code.minecraft.1_9.r2 - spigot - 1.9r2 - - - net.t2code.minecraft.1_9.r1 - spigot - 1.9r1 - - - net.t2code.minecraft.1_8.r3 - spigot - 1.8r3 - - - net.t2code.minecraft.1_8.r2 - spigot - 1.8r2 - - - net.t2code.minecraft.1_8.r1 - spigot - 1.8r1 + 1.19r1 + diff --git a/src/main/java/net/t2code/alias/Spigot/Main.java b/src/main/java/net/t2code/alias/Spigot/Main.java index 6531807..6a93d36 100644 --- a/src/main/java/net/t2code/alias/Spigot/Main.java +++ b/src/main/java/net/t2code/alias/Spigot/Main.java @@ -1,7 +1,7 @@ package net.t2code.alias.Spigot; -import net.t2code.alias.Spigot.objects.AliasObjekt; -import net.t2code.alias.Spigot.objects.SubAliasObjekt; +import net.t2code.alias.Spigot.objects.AliasObject; +import net.t2code.alias.Spigot.objects.SubAliasObject; import net.t2code.alias.Spigot.system.Load; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate; @@ -12,7 +12,6 @@ import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import java.util.Objects; import java.util.logging.Level; public final class Main extends JavaPlugin { @@ -23,10 +22,11 @@ public final class Main extends JavaPlugin { public static String version; public static List autor; public static Main plugin; - public static HashMap aliasHashMap = new HashMap<>(); - public static HashMap subAliasHashMap = new HashMap<>(); + public static HashMap aliasHashMap = new HashMap<>(); + public static HashMap subAliasHashMap = new HashMap<>(); public static ArrayList allAliases = new ArrayList<>(); public static ArrayList allSubAliases = new ArrayList<>(); + public static ArrayList allForSubAliases = new ArrayList<>(); @Override public void onEnable() { @@ -47,17 +47,32 @@ public final class Main extends JavaPlugin { T2CodeTemplate.onDisable(Util.getPrefix(), autor, version, Util.getSpigot(), Util.getDiscord()); } - public static Boolean pluginNotFound(String pl, Integer spigotID, double ver) { + public static Boolean pluginNotFound(String pl, Integer spigotID, String ver) { if (Bukkit.getPluginManager().getPlugin(pl) == null) { plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!"); - Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §e" + pl + " §4could not be found. Please download it here: " + - "§6https://spigotmc.org/resources/" + pl + "." + spigotID + " §4to be able to use this plugin."); + Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §e" + pl + " §4could not be found. Please download it here: " + + "§6https://spigotmc.org/resources/" + pl + "." + spigotID + " §4to be able to use this plugin."); Main.plugin.getPluginLoader().disablePlugin(Main.plugin); return true; } else { - if (Double.parseDouble(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin(pl)).getDescription().getVersion()) < ver) { + String plVer = Bukkit.getPluginManager().getPlugin(pl).getDescription().getVersion(); + if (ver.contains("_")) { + if (!plVer.equals(ver)) { + plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!"); + Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §e" + pl + " §4is out of date! This plugin requires the version §2" + + ver + " §4of §6" + pl + " §4Please use this version! Please download it here or contact us in Discord: §6https://spigotmc.org/resources/" + + pl + "." + spigotID + " Or contact us in Discord: http://dc.t2code.net"); + Main.plugin.getPluginLoader().disablePlugin(Main.plugin); + return true; + } + return false; + } + String[] split = plVer.split("_"); + if (Double.parseDouble(split[0]) < Double.parseDouble(ver)) { plugin.getLogger().log(Level.SEVERE, "Plugin can not be loaded!"); - Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §e" + pl + " §4is out of date! This plugin requires at least version §2" + ver + " §4of §6" + pl + " §4Please update it here: §6https://spigotmc.org/resources/" + pl + "." + spigotID + " §4to use this version of " + plugin.getDescription().getName() + "."); + Bukkit.getConsoleSender().sendMessage(Util.getPrefix() + " §e" + pl + " §4is out of date! This plugin requires at least version §2" + + ver + " §4of §6" + pl + " §4Please update it here: §6https://spigotmc.org/resources/" + pl + "." + spigotID + + " §4to use this version of " + plugin.getDescription().getName() + "."); Main.plugin.getPluginLoader().disablePlugin(Main.plugin); return true; } diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/AliasCmdExecuter.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/AliasCmdExecuter.java index 90982f5..d9d9a81 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/AliasCmdExecuter.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/AliasCmdExecuter.java @@ -1,5 +1,6 @@ package net.t2code.alias.Spigot.cmdManagement; +import net.t2code.alias.Spigot.Main; import net.t2code.alias.Spigot.config.languages.SelectMessages; import net.t2code.lib.Spigot.Lib.messages.send; import org.bukkit.command.Command; @@ -9,6 +10,7 @@ import org.bukkit.command.TabCompleter; import org.bukkit.entity.Player; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -60,6 +62,11 @@ public class AliasCmdExecuter implements CommandExecutor, TabCompleter { List list = new ArrayList<>(); if (sender instanceof Player) { Player p = (Player) sender; + send.debugmsg(Main.plugin, "------------"); + send.debugmsg(Main.plugin, "tab a: " + 0); + send.debugmsg(Main.plugin, "tab a: " + args.length); + send.debugmsg(Main.plugin, "tab a: " + Arrays.toString(args)); + send.debugmsg(Main.plugin, "tab a: " + arg1.toString()); if (args.length == 1) { for (String command : arg1.keySet()) { Boolean passend = true; diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java new file mode 100644 index 0000000..5598262 --- /dev/null +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java @@ -0,0 +1,288 @@ +package net.t2code.alias.Spigot.cmdManagement; + +import net.t2code.alias.Spigot.config.config.SelectConfig; +import net.t2code.alias.Spigot.config.languages.SelectMessages; +import net.t2code.alias.Spigot.objects.AliasObject; +import net.t2code.alias.Spigot.objects.SubAliasObject; +import net.t2code.alias.Spigot.system.BCommandSenderReciver; +import net.t2code.alias.Util; +import net.t2code.lib.Spigot.Lib.commands.Cmd; +import net.t2code.lib.Spigot.Lib.eco.Eco; +import net.t2code.lib.Spigot.Lib.messages.send; +import net.t2code.lib.Spigot.Lib.plugins.PluginCheck; +import net.t2code.lib.Spigot.Lib.replace.Replace; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class ExecuteAlias { + private static final String prefix = Util.getPrefix(); + + protected static void aliasPlayer(CommandSender sender, AliasObject aliasObject, String alias) { + Player player = (Player) sender; + + if (aliasObject.adminEnable) { + if (player.hasPermission(aliasObject.adminPermission)) { + if (aliasObject.adminCommandEnable) { + aliasAdminCommand(aliasObject, player); + } + if (aliasObject.adminMessageEnable) { + aliasAdminMessage(aliasObject, player); + } + return; + } + } + + if (aliasObject.permNecessary) { + if (!(player.hasPermission("t2code.alias.use." + alias.toLowerCase()) || player.hasPermission("t2code.alias.admin"))) { + send.player(player, SelectMessages.noPermissionForCommand.replace("[cmd]", "/" + alias.toLowerCase()) + .replace("[perm]", "t2code.alias.use." + alias.toLowerCase())); + return; + } + } + if (aliasObject.costEnable) { + if (!(aliasObject.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass"))) { + if (!Eco.moneyRemove(prefix, player, aliasObject.costPrice)) { + send.player(player, SelectMessages.noMoney); + return; + } + if (SelectConfig.buyMessage) send.player(player, SelectMessages.buy.replace("[price]", aliasObject.costPrice.toString())); + } + } + if (aliasObject.commandEnable) { + aliasCommand(aliasObject, player); + } + if (aliasObject.messageEnable) { + aliasMessage(aliasObject, player); + } + } + + protected static void subAliasPlayer(CommandSender sender, SubAliasObject aliasObject, String alias) { + if (!aliasObject.subAliasEnable) { + send.sender(sender, SelectMessages.aliasDisabled); + return; + } + + if (sender instanceof Player) { + Player player = (Player) sender; + + if (aliasObject.adminEnable) { + if (player.hasPermission(aliasObject.adminPermission)) { + if (aliasObject.adminCommandEnable) { + subAliasAdminCommand(aliasObject, player); + } + if (aliasObject.adminMessageEnable) { + subAliasAdminMessage(aliasObject, player); + } + return; + } + } + + if (aliasObject.permNecessary) { + if (!(player.hasPermission("t2code.alias.use.subalias." + alias.toLowerCase()) || player.hasPermission("t2code.alias.admin"))) { + send.player(player, SelectMessages.noPermissionForCommand.replace("[cmd]", "/" + alias.toLowerCase()) + .replace("[perm]", "t2code.alias.subalias.use." + alias.toLowerCase())); + return; + } + } + if (aliasObject.costEnable) { + if (!(aliasObject.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass"))) { + if (!Eco.moneyRemove(prefix, player, aliasObject.costPrice)) { + send.player(player, SelectMessages.noMoney); + return; + } + if (SelectConfig.buyMessage) send.player(player, SelectMessages.buy.replace("[price]", aliasObject.costPrice.toString())); + } + } + if (aliasObject.commandEnable) { + subAliasCommand(aliasObject, player); + } + if (aliasObject.messageEnable) { + subAliasMessage(aliasObject, player); + } + } else { + if (aliasObject.consoleEnable) { + subAliasConsole(aliasObject, sender); + } else send.sender(sender, SelectMessages.onlyForPlayer); + } + } + + protected static void aliasConsole(AliasObject alias, CommandSender sender, String prefix) { + if (alias.consoleCommandEnable) { + for (String cmd : alias.consoleCommands) { + if (alias.consoleBungeeCommand) { + if (SelectConfig.Bungee) { + BCommandSenderReciver.sendToBungee(sender, cmd, true); + } else { + send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + send.sender(sender, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + } + } else { + Cmd.console(cmd); + } + } + } + if (alias.consoleMessageEnable) { + for (String msg : alias.consoleMessages) { + send.console(Replace.replace(prefix, msg)); + } + } + } + + private static void subAliasConsole(SubAliasObject alias, CommandSender sender) { + if (alias.consoleCommandEnable) { + for (String cmd : alias.consoleCommands) { + if (alias.consoleBungeeCommand) { + if (SelectConfig.Bungee) { + BCommandSenderReciver.sendToBungee(sender, cmd, true); + } else { + send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + send.sender(sender, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + } + } else { + Cmd.console(cmd); + } + } + } + if (alias.consoleMessageEnable) { + for (String msg : alias.consoleMessages) { + send.console(Replace.replace(prefix, msg)); + } + } + } + + private static void aliasAdminCommand(AliasObject alias, Player player) { + for (String cmd : alias.adminCommands) { + if (alias.adminBungeeCommand) { + if (SelectConfig.Bungee) { + BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), alias.adminCommandAsConsole); + + } else { + send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + send.player(player, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + } + } else { + if (alias.adminCommandAsConsole) { + Cmd.console(cmd.replace("[player]", player.getName())); + } else { + Cmd.player(player, cmd.replace("[player]", player.getName())); + } + } + } + } + + private static void subAliasAdminCommand(SubAliasObject alias, Player player) { + for (String cmd : alias.adminCommands) { + if (alias.adminBungeeCommand) { + if (SelectConfig.Bungee) { + BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), alias.adminCommandAsConsole); + + } else { + send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + send.player(player, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + } + } else { + if (alias.adminCommandAsConsole) { + Cmd.console(cmd.replace("[player]", player.getName())); + } else { + Cmd.player(player, cmd.replace("[player]", player.getName())); + } + } + } + } + + private static void aliasAdminMessage(AliasObject alias, Player player) { + for (String msg : alias.adminMessages) { + String text; + String hover; + if (PluginCheck.papi()) { + text = Replace.replace(prefix, player, replacePlayer(msg, player)); + } else { + text = Replace.replace(prefix, replacePlayer(msg, player)); + } + send.player(player, text); + } + } + + private static void subAliasAdminMessage(SubAliasObject alias, Player player) { + for (String msg : alias.adminMessages) { + String text; + String hover; + if (PluginCheck.papi()) { + text = Replace.replace(prefix, player, replacePlayer(msg, player)); + } else { + text = Replace.replace(prefix, replacePlayer(msg, player)); + } + send.player(player, text); + } + } + + private static void aliasCommand(AliasObject alias, Player player) { + for (String cmd : alias.command) { + if (alias.bungeeCommand) { + if (SelectConfig.Bungee) { + BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), alias.commandAsConsole); + + } else { + send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + send.player(player, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + } + } else { + if (alias.commandAsConsole) { + Cmd.console(cmd.replace("[player]", player.getName())); + } else { + Cmd.player(player, cmd.replace("[player]", player.getName())); + } + } + } + } + + private static void subAliasCommand(SubAliasObject alias, Player player) { + for (String cmd : alias.command) { + if (alias.bungeeCommand) { + if (SelectConfig.Bungee) { + BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), alias.commandAsConsole); + + } else { + send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + send.player(player, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); + } + } else { + if (alias.commandAsConsole) { + Cmd.console(cmd.replace("[player]", player.getName())); + } else { + Cmd.player(player, cmd.replace("[player]", player.getName())); + } + } + } + } + + private static void aliasMessage(AliasObject alias, Player player) { + for (String msg : alias.messages) { + String text; + String hover; + if (PluginCheck.papi()) { + text = Replace.replace(prefix, player, replacePlayer(msg, player)); + } else { + text = Replace.replace(prefix, replacePlayer(msg, player)); + } + send.player(player, text); + } + } + + private static void subAliasMessage(SubAliasObject alias, Player player) { + for (String msg : alias.messages) { + String text; + String hover; + if (PluginCheck.papi()) { + text = Replace.replace(prefix, player, replacePlayer(msg, player)); + } else { + text = Replace.replace(prefix, replacePlayer(msg, player)); + } + send.player(player, text); + } + } + + private static String replacePlayer(String s, Player player) { + return s.replace("[player]", player.getName()); + } +} diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java index 074f234..431d992 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java @@ -1,28 +1,16 @@ package net.t2code.alias.Spigot.cmdManagement; import net.t2code.alias.Spigot.Main; -import net.t2code.alias.Spigot.config.config.SelectConfig; import net.t2code.alias.Spigot.config.languages.SelectMessages; -import net.t2code.alias.Spigot.objects.AliasObjekt; -import net.t2code.alias.Spigot.objects.SubAliasObjekt; -import net.t2code.alias.Spigot.system.*; +import net.t2code.alias.Spigot.objects.AliasObject; +import net.t2code.alias.Spigot.objects.SubAliasObject; import net.t2code.alias.Util; -import net.t2code.lib.Spigot.Lib.commands.Cmd; -import net.t2code.lib.Spigot.Lib.commands.Tab; -import net.t2code.lib.Spigot.Lib.eco.Eco; import net.t2code.lib.Spigot.Lib.messages.send; -import net.t2code.lib.Spigot.Lib.plugins.PluginCheck; -import net.t2code.lib.Spigot.Lib.replace.Replace; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; -import org.bukkit.command.TabCompleter; import org.bukkit.entity.Player; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class RegisterCommands extends Command implements TabCompleter { +public class RegisterCommands extends Command { private String alias; private String prefix = Util.getPrefix(); @@ -33,7 +21,8 @@ public class RegisterCommands extends Command implements TabCompleter { @Override public boolean execute(CommandSender sender, String commandLabel, String[] args) { - AliasObjekt alias = Main.aliasHashMap.get(this.alias); + send.debugmsg(Main.plugin, "tabevent"); + AliasObject alias = Main.aliasHashMap.get(this.alias); if (!alias.aliasEnable) { send.sender(sender, SelectMessages.aliasDisabled); @@ -41,19 +30,20 @@ public class RegisterCommands extends Command implements TabCompleter { } if (args.length == 0) { if (sender instanceof Player) { - exPlayer(sender, alias); + ExecuteAlias.aliasPlayer(sender, alias, this.alias); } else { if (alias.consoleEnable) { - console(alias, sender, prefix); + ExecuteAlias.aliasConsole(alias, sender, prefix); } else send.sender(sender, SelectMessages.onlyForPlayer); } } else { + if (!Main.allForSubAliases.contains(this.alias)) return false; for (String sals : Main.allSubAliases) { - SubAliasObjekt sal = Main.subAliasHashMap.get(sals); - if (args.length == sal.subAliasArg) { + SubAliasObject sal = Main.subAliasHashMap.get(sals); + if (args.length == sal.subAliasArg + 1) { for (String al : sal.subAliasList) { if (args[sal.subAliasArg].toLowerCase().equals(al)) { - RegisterSubAliasCommands.execute(sender, sal, al); + ExecuteAlias.subAliasPlayer(sender, sal, al); } } } @@ -61,156 +51,5 @@ public class RegisterCommands extends Command implements TabCompleter { } return true; } - - private void exPlayer(CommandSender sender, AliasObjekt alias) { - Player player = (Player) sender; - - if (alias.adminEnable) { - if (player.hasPermission(alias.adminPermission)) { - if (alias.adminCommandEnable) { - adminCommand(alias, player); - } - if (alias.adminMessageEnable) { - adminMessage(alias, player, prefix); - } - return; - } - } - - if (alias.permNecessary) { - if (!(player.hasPermission("t2code.alias.use." + this.alias.toLowerCase()) || player.hasPermission("t2code.alias.admin"))) { - send.player(player, SelectMessages.noPermissionForCommand.replace("[cmd]", "/" + this.alias.toLowerCase()) - .replace("[perm]", "t2code.alias.use." + this.alias.toLowerCase())); - return; - } - } - if (alias.costEnable) { - if (!(alias.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass"))) { - if (!Eco.moneyRemove(prefix, player, alias.costPrice)) { - send.player(player, SelectMessages.noMoney); - return; - } - if (SelectConfig.buyMessage) send.player(player, SelectMessages.buy.replace("[price]", alias.costPrice.toString())); - } - } - if (alias.commandEnable) { - command(alias, player); - } - if (alias.messageEnable) { - message(alias, player, prefix); - } - } - - private static void adminCommand(AliasObjekt alias, Player player) { - for (String cmd : alias.adminCommands) { - if (alias.adminBungeeCommand) { - if (SelectConfig.Bungee) { - if (alias.adminCommandAsConsole) { - BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), true); - } else BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), false); - - } else { - send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - send.player(player, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - } - } else { - if (alias.adminCommandAsConsole) { - Cmd.console(cmd.replace("[player]", player.getName())); - } else { - Cmd.player(player, cmd.replace("[player]", player.getName())); - } - } - } - } - - private static void adminMessage(AliasObjekt alias, Player player, String prefix) { - for (String msg : alias.adminMessages) { - String text; - String hover; - if (PluginCheck.papi()) { - text = Replace.replace(prefix, player, replacePlayer(msg, player)); - } else { - text = Replace.replace(prefix, replacePlayer(msg, player)); - } - send.player(player, text); - } - } - - private static void command(AliasObjekt alias, Player player) { - for (String cmd : alias.command) { - if (alias.bungeeCommand) { - if (SelectConfig.Bungee) { - if (alias.commandAsConsole) { - BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), true); - } else BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), false); - - } else { - send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - send.player(player, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - } - } else { - if (alias.commandAsConsole) { - Cmd.console(cmd.replace("[player]", player.getName())); - } else { - Cmd.player(player, cmd.replace("[player]", player.getName())); - } - } - } - } - - private static void message(AliasObjekt alias, Player player, String prefix) { - for (String msg : alias.messages) { - String text; - String hover; - if (PluginCheck.papi()) { - text = Replace.replace(prefix, player, replacePlayer(msg, player)); - } else { - text = Replace.replace(prefix, replacePlayer(msg, player)); - } - send.player(player, text); - } - } - - private static void console(AliasObjekt alias, CommandSender sender, String prefix) { - if (alias.consoleCommandEnable) { - for (String cmd : alias.consoleCommands) { - if (alias.consoleBungeeCommand) { - if (SelectConfig.Bungee) { - BCommandSenderReciver.sendToBungee(sender, cmd, true); - } else { - send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - send.sender(sender, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - } - } else { - Cmd.console(cmd); - } - } - } - if (alias.consoleMessageEnable) { - for (String msg : alias.consoleMessages) { - send.console(Replace.replace(prefix, msg)); - } - } - } - - private static String replacePlayer(String s, Player player) { - return s.replace("[player]", player.getName()); - } - - private static HashMap arg1 = new HashMap(); - - @Override - public List onTabComplete(CommandSender sender, Command cmd, String s, String[] args) { - List list = new ArrayList<>(); - arg1.clear(); - for (String sals : Main.allSubAliases) { - SubAliasObjekt sal = Main.subAliasHashMap.get(sals); - for (String al : sal.subAliasList) { - arg1.put(al, "t2code.alias.use.subalias." + al.toLowerCase()); - } - Tab.tab(list, sender, sal.subAliasArg, args, arg1); - } - return list; - } } diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterSubAliasCommands.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterSubAliasCommands.java deleted file mode 100644 index 05e97da..0000000 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterSubAliasCommands.java +++ /dev/null @@ -1,166 +0,0 @@ -package net.t2code.alias.Spigot.cmdManagement; - -import net.t2code.alias.Spigot.config.config.SelectConfig; -import net.t2code.alias.Spigot.config.languages.SelectMessages; -import net.t2code.alias.Spigot.objects.SubAliasObjekt; -import net.t2code.alias.Spigot.system.BCommandSenderReciver; -import net.t2code.alias.Util; -import net.t2code.lib.Spigot.Lib.commands.Cmd; -import net.t2code.lib.Spigot.Lib.eco.Eco; -import net.t2code.lib.Spigot.Lib.messages.send; -import net.t2code.lib.Spigot.Lib.plugins.PluginCheck; -import net.t2code.lib.Spigot.Lib.replace.Replace; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class RegisterSubAliasCommands { - private static String prefix = Util.getPrefix(); - - - - public static void execute(CommandSender sender, SubAliasObjekt alias, String aliasString) { - if (!alias.subAliasEnable) { - send.sender(sender, SelectMessages.aliasDisabled); - return ; - } - if (sender instanceof Player) { - Player player = (Player) sender; - - if (alias.adminEnable) { - if (player.hasPermission(alias.adminPermission)) { - if (alias.adminCommandEnable) { - adminCommand(alias, player); - } - if (alias.adminMessageEnable) { - adminMessage(alias, player, prefix); - } - return ; - } - } - - if (alias.permNecessary) { - if (!(player.hasPermission("t2code.alias.use.subalias." + aliasString.toLowerCase()) || player.hasPermission("t2code.alias.admin"))) { - send.player(player, SelectMessages.noPermissionForCommand.replace("[cmd]", "/" +aliasString.toLowerCase()) - .replace("[perm]", "t2code.alias.subalias.use." + aliasString.toLowerCase())); - return ; - } - } - if (alias.costEnable) { - if (!(alias.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass"))) { - if (!Eco.moneyRemove(prefix, player, alias.costPrice)) { - send.player(player, SelectMessages.noMoney); - return ; - } - if (SelectConfig.buyMessage) send.player(player, SelectMessages.buy.replace("[price]", alias.costPrice.toString())); - } - } - if (alias.commandEnable) { - command(alias, player); - } - if (alias.messageEnable) { - message(alias, player, prefix); - } - } else { - if (alias.consoleEnable) { - console(alias, sender, prefix); - } else send.sender(sender, SelectMessages.onlyForPlayer); - } - } - - private static void adminCommand(SubAliasObjekt alias, Player player) { - for (String cmd : alias.adminCommands) { - if (alias.adminBungeeCommand) { - if (SelectConfig.Bungee) { - if (alias.adminCommandAsConsole) { - BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), true); - } else BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), false); - - } else { - send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - send.player(player, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - } - } else { - if (alias.adminCommandAsConsole) { - Cmd.console(cmd.replace("[player]", player.getName())); - } else { - Cmd.player(player, cmd.replace("[player]", player.getName())); - } - } - } - } - - private static void adminMessage(SubAliasObjekt alias, Player player, String prefix) { - for (String msg : alias.adminMessages) { - String text; - String hover; - if (PluginCheck.papi()) { - text = Replace.replace(prefix, player, replacePlayer(msg, player)); - } else { - text = Replace.replace(prefix, replacePlayer(msg, player)); - } - send.player(player, text); - } - } - - private static void command(SubAliasObjekt alias, Player player) { - for (String cmd : alias.command) { - if (alias.bungeeCommand) { - if (SelectConfig.Bungee) { - if (alias.commandAsConsole) { - BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), true); - } else BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), false); - - } else { - send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - send.player(player, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - } - } else { - if (alias.commandAsConsole) { - Cmd.console(cmd.replace("[player]", player.getName())); - } else { - Cmd.player(player, cmd.replace("[player]", player.getName())); - } - } - } - } - - private static void message(SubAliasObjekt alias, Player player, String prefix) { - for (String msg : alias.messages) { - String text; - String hover; - if (PluginCheck.papi()) { - text = Replace.replace(prefix, player, replacePlayer(msg, player)); - } else { - text = Replace.replace(prefix, replacePlayer(msg, player)); - } - send.player(player, text); - } - } - - private static void console(SubAliasObjekt alias, CommandSender sender, String prefix) { - if (alias.consoleCommandEnable) { - for (String cmd : alias.consoleCommands) { - if (alias.consoleBungeeCommand) { - if (SelectConfig.Bungee) { - BCommandSenderReciver.sendToBungee(sender, cmd, true); - } else { - send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - send.sender(sender, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); - } - } else { - Cmd.console(cmd); - } - } - } - if (alias.consoleMessageEnable) { - for (String msg : alias.consoleMessages) { - send.console(Replace.replace(prefix, msg)); - } - } - } - - private static String replacePlayer(String s, Player player) { - return s.replace("[player]", player.getName()); - } -} - diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java new file mode 100644 index 0000000..2cf59cd --- /dev/null +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java @@ -0,0 +1,49 @@ +package net.t2code.alias.Spigot.cmdManagement; + +import net.t2code.alias.Spigot.Main; +import net.t2code.alias.Spigot.objects.SubAliasObject; +import net.t2code.lib.Spigot.Lib.commands.Tab; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.server.TabCompleteEvent; +import org.bukkit.plugin.Plugin; + +import java.util.*; + +public class TabEvent implements Listener { + + Plugin plugin = Main.plugin; + private static HashMap arg1 = new HashMap(); + + @EventHandler + public void onTab(TabCompleteEvent e) { + String buffer = e.getBuffer(); + String[] imp = buffer.replace("/", "").split(" "); + if (!Main.allAliases.contains(imp[0])) return; + if (!Main.allForSubAliases.contains(imp[0])) return; + arg1.clear(); + List list = new ArrayList<>(Collections.emptyList()); + for (String sals : Main.allSubAliases) { + SubAliasObject sal = Main.subAliasHashMap.get(sals); + if (!buffer.contains(sal.subAliasFor)) continue; + + String[] im = sal.subAliasFor.split(" "); + String input = buffer.replace("/" + im[0] + " ", ""); + String[] args = input.split(" ", -1); + + for (String al : sal.subAliasList) { + arg1.put(al, "t2code.alias.use.subalias." + al.toLowerCase()); + } + int arg = sal.subAliasArg; + if (args.length - 1 == arg) { + for (String command : sal.subAliasList) { + if (Tab.hasPermission(e.getSender(), arg1.get(command)) && Tab.passend(command, args[arg])) { + list.add(command); + } + } + } + + } + e.setCompletions(list); + } +} diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleSubAliasConfig.java b/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleSubAliasConfig.java index 8fcb520..42c439d 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleSubAliasConfig.java +++ b/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleSubAliasConfig.java @@ -22,7 +22,7 @@ public class CreateExampleSubAliasConfig { Config.set("SubAlias.Enable", true, yamlConfiguration); Config.set("SubAlias.SubAliasList", Arrays.asList("test"),yamlConfiguration); - Config.set("SubAlias.SubAliasFor", Arrays.asList("aliasexample1"),yamlConfiguration); + Config.set("SubAlias.SubAliasFor", "aliasexample1",yamlConfiguration); Config.set("SubAlias.Permission.Necessary", true, yamlConfiguration); @@ -49,7 +49,7 @@ public class CreateExampleSubAliasConfig { Config.set("SubAlias.Admin.Command.Enable", true, yamlConfiguration); Config.set("SubAlias.Admin.Command.CommandAsConsole", true, yamlConfiguration); Config.set("SubAlias.Admin.Command.BungeeCommand", false, yamlConfiguration); - Config.set("SubAlias.Admin.Command.Commands", Collections.singletonList("say hi"), yamlConfiguration); + Config.set("SubAlias.Admin.Command.Commands", Collections.singletonList("say subalias hi"), yamlConfiguration); Config.set("SubAlias.Admin.Message.Enable", false, yamlConfiguration); Config.set("SubAlias.Admin.Message.Messages", Collections.emptyList(), yamlConfiguration); diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/SelectAlias.java b/src/main/java/net/t2code/alias/Spigot/config/config/SelectAlias.java index e027862..ae1c1ca 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/config/SelectAlias.java +++ b/src/main/java/net/t2code/alias/Spigot/config/config/SelectAlias.java @@ -1,16 +1,13 @@ package net.t2code.alias.Spigot.config.config; -import net.minecraft.world.level.levelgen.DensityFunctions; import net.t2code.alias.Spigot.Main; import net.t2code.alias.Spigot.system.AliasRegister; -import net.t2code.alias.Spigot.objects.AliasObjekt; +import net.t2code.alias.Spigot.objects.AliasObject; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.send; import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -import java.lang.reflect.Array; -import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -69,11 +66,12 @@ public class SelectAlias { List consoleMessages = yamlConfiguration.getStringList("Alias.Console.Message.Messages"); Main.allAliases.addAll(aliasList); - AliasObjekt alias = new AliasObjekt(aliasEnable, aliasList, permNecessary, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand, + AliasObject alias = new AliasObject(aliasEnable, aliasList, permNecessary, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand, command, messageEnable, messages, adminEnable, adminPermission, adminCommandEnable, adminCommandAsConsole, adminBungeeCommand, adminCommands, adminMessageEnable, adminMessages, consoleEnable, consoleCommandEnable, consoleBungeeCommand, consoleCommands, consoleMessageEnable, consoleMessages); for (String al : aliasList) { + send.debugmsg(Main.plugin,"put " + al); Main.aliasHashMap.put(al, alias); } } diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/SelectSubAlias.java b/src/main/java/net/t2code/alias/Spigot/config/config/SelectSubAlias.java index ae8bac4..349c21f 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/config/SelectSubAlias.java +++ b/src/main/java/net/t2code/alias/Spigot/config/config/SelectSubAlias.java @@ -1,10 +1,7 @@ package net.t2code.alias.Spigot.config.config; -import net.minecraft.world.level.levelgen.DensityFunctions; import net.t2code.alias.Spigot.Main; -import net.t2code.alias.Spigot.objects.SubAliasObjekt; -import net.t2code.alias.Spigot.system.AliasRegister; -import net.t2code.alias.Spigot.objects.AliasObjekt; +import net.t2code.alias.Spigot.objects.SubAliasObject; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.send; import org.bukkit.configuration.file.YamlConfiguration; @@ -17,8 +14,8 @@ public class SelectSubAlias { public static void onSelect() { - Main.aliasHashMap.clear(); - Main.allAliases.clear(); + Main.subAliasHashMap.clear(); + Main.allSubAliases.clear(); File f = new File(Main.getPath() + "/SubAlias/"); File[] fileArray = f.listFiles(); for (File config_gui : fileArray) { @@ -31,7 +28,16 @@ public class SelectSubAlias { Boolean aliasEnable = yamlConfiguration.getBoolean("SubAlias.Enable"); List subAliasList = yamlConfiguration.getStringList("SubAlias.SubAliasList"); String subAliasFor = yamlConfiguration.getString("SubAlias.SubAliasFor"); - Integer subAliasArg = yamlConfiguration.getInt("SubAlias.SubAliasArg"); + String[] imp = subAliasFor.split(" "); + if (!Main.allAliases.contains(imp[0])) { + send.error(Main.plugin, "Den Alias " + imp[0] + " in der Datei " + config_gui.getName() + " existiert nicht!"); + } + int subAliasArg = 0; + if (subAliasFor != null) { + String[] args = subAliasFor.split(" "); + send.debugmsg(Main.plugin, config_gui.getName() + " " +String.valueOf(args.length)); + subAliasArg = args.length - 1; + } Boolean permNecessary = yamlConfiguration.getBoolean("SubAlias.Permission.Necessary"); Boolean costEnable = yamlConfiguration.getBoolean("SubAlias.Cost.Enable"); @@ -64,13 +70,14 @@ public class SelectSubAlias { Boolean consoleMessageEnable = yamlConfiguration.getBoolean("SubAlias.Console.Message.Enable"); List consoleMessages = yamlConfiguration.getStringList("SubAlias.Console.Message.Messages"); - SubAliasObjekt subAlias = new SubAliasObjekt(aliasEnable, subAliasList, subAliasFor, subAliasArg, permNecessary, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand, + SubAliasObject subAlias = new SubAliasObject(aliasEnable, subAliasList, subAliasFor, subAliasArg, permNecessary, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand, command, messageEnable, messages, adminEnable, adminPermission, adminCommandEnable, adminCommandAsConsole, adminBungeeCommand, adminCommands, adminMessageEnable, adminMessages, consoleEnable, consoleCommandEnable, consoleBungeeCommand, consoleCommands, consoleMessageEnable, consoleMessages); for (String sal : subAliasList) { Main.subAliasHashMap.put(sal, subAlias); } Main.allSubAliases.addAll(subAliasList); + Main.allForSubAliases.add(subAliasFor); } } } diff --git a/src/main/java/net/t2code/alias/Spigot/objects/AliasObjekt.java b/src/main/java/net/t2code/alias/Spigot/objects/AliasObject.java similarity index 97% rename from src/main/java/net/t2code/alias/Spigot/objects/AliasObjekt.java rename to src/main/java/net/t2code/alias/Spigot/objects/AliasObject.java index cf9be93..4400520 100644 --- a/src/main/java/net/t2code/alias/Spigot/objects/AliasObjekt.java +++ b/src/main/java/net/t2code/alias/Spigot/objects/AliasObject.java @@ -2,7 +2,7 @@ package net.t2code.alias.Spigot.objects; import java.util.List; -public class AliasObjekt { +public class AliasObject { public Boolean aliasEnable; public List aliasList; @@ -35,7 +35,7 @@ public class AliasObjekt { public Boolean consoleMessageEnable; public List consoleMessages; - public AliasObjekt(Boolean aliasEnable, + public AliasObject(Boolean aliasEnable, List aliasList, Boolean permNecessary, diff --git a/src/main/java/net/t2code/alias/Spigot/objects/SubAliasObjekt.java b/src/main/java/net/t2code/alias/Spigot/objects/SubAliasObject.java similarity index 97% rename from src/main/java/net/t2code/alias/Spigot/objects/SubAliasObjekt.java rename to src/main/java/net/t2code/alias/Spigot/objects/SubAliasObject.java index d03f441..565cbd7 100644 --- a/src/main/java/net/t2code/alias/Spigot/objects/SubAliasObjekt.java +++ b/src/main/java/net/t2code/alias/Spigot/objects/SubAliasObject.java @@ -2,7 +2,7 @@ package net.t2code.alias.Spigot.objects; import java.util.List; -public class SubAliasObjekt { +public class SubAliasObject { public Boolean subAliasEnable; public List subAliasList; public Integer subAliasArg; @@ -37,7 +37,7 @@ public class SubAliasObjekt { public Boolean consoleMessageEnable; public List consoleMessages; - public SubAliasObjekt(Boolean subAliasEnable, + public SubAliasObject(Boolean subAliasEnable, List subAliasList, String subAliasFor, Integer subAliasArg, diff --git a/src/main/java/net/t2code/alias/Spigot/system/AliasRegister.java b/src/main/java/net/t2code/alias/Spigot/system/AliasRegister.java index 62009a1..ecde443 100644 --- a/src/main/java/net/t2code/alias/Spigot/system/AliasRegister.java +++ b/src/main/java/net/t2code/alias/Spigot/system/AliasRegister.java @@ -1,6 +1,7 @@ package net.t2code.alias.Spigot.system; import net.t2code.alias.Spigot.Main; +import net.t2code.alias.Spigot.cmdManagement.AliasCmdExecuter; import net.t2code.alias.Spigot.cmdManagement.RegisterCommands; import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.minecraftVersion.NMSVersion; @@ -19,12 +20,10 @@ public class AliasRegister { if (Main.aliasHashMap.get(alias).aliasEnable) { try { final Field bukkitCommandMap = Bukkit.getServer().getClass().getDeclaredField("commandMap"); - bukkitCommandMap.setAccessible(true); CommandMap commandMap = (CommandMap) bukkitCommandMap.get(Bukkit.getServer()); - commandMap.register(alias, new RegisterCommands(alias)); - } catch(Exception e) { + } catch (Exception e) { e.printStackTrace(); } } diff --git a/src/main/java/net/t2code/alias/Spigot/system/Load.java b/src/main/java/net/t2code/alias/Spigot/system/Load.java index c62027f..96607a8 100644 --- a/src/main/java/net/t2code/alias/Spigot/system/Load.java +++ b/src/main/java/net/t2code/alias/Spigot/system/Load.java @@ -2,12 +2,14 @@ package net.t2code.alias.Spigot.system; import net.t2code.alias.Spigot.Main; import net.t2code.alias.Spigot.cmdManagement.AliasCmdExecuter; +import net.t2code.alias.Spigot.cmdManagement.TabEvent; import net.t2code.alias.Spigot.config.config.*; import net.t2code.alias.Spigot.config.languages.LanguagesCreate; import net.t2code.alias.Spigot.config.languages.SelectMessages; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate; import net.t2code.lib.Spigot.Lib.messages.send; +import net.t2code.lib.Spigot.Lib.register.Register; import net.t2code.lib.Spigot.Lib.update.UpdateAPI; import org.bukkit.Bukkit; import org.bukkit.plugin.Plugin; @@ -18,6 +20,7 @@ import java.util.List; public class Load { static Plugin plugin = Main.plugin; + public static void onLoad(String prefix, List autor, String version, String spigot, int spigotID, String discord, int bstatsID) { Long long_ = T2CodeTemplate.onLoadHeader(prefix, autor, version, spigot, discord); Main.plugin.getCommand("t2code-alias").setExecutor(new AliasCmdExecuter()); @@ -25,7 +28,7 @@ public class Load { UpdateAPI.onUpdateCheck(plugin, prefix, spigot, spigotID, discord); Bukkit.getServer().getPluginManager().registerEvents(new JoinEvent(), plugin); - T2CodeTemplate.onLoadFooter(prefix, long_,version); + T2CodeTemplate.onLoadFooter(prefix, long_, version); Metrics.Bstats(plugin, bstatsID); } @@ -35,18 +38,20 @@ public class Load { CreateExampleAliasConfig.configCreate(); } catch (Exception e) { e.printStackTrace(); - }try { + } + try { CreateExampleSubAliasConfig.configCreate(); } catch (Exception e) { e.printStackTrace(); } } try { - plugin.saveResource("Alias/X_aliasDeclaration_X.yml",true); + plugin.saveResource("Alias/X_aliasDeclaration_X.yml", true); } catch (Exception e) { e.printStackTrace(); - }try { - plugin.saveResource("SubAlias/X_subaliasDeclaration_X.yml",true); + } + try { + plugin.saveResource("SubAlias/X_subAliasDeclaration_X.yml", true); } catch (Exception e) { e.printStackTrace(); } @@ -56,6 +61,7 @@ public class Load { SelectMessages.onSelect(Util.getPrefix()); SelectAlias.onSelect(); SelectSubAlias.onSelect(); + Register.listener(new TabEvent(), plugin); if (SelectConfig.Bungee) { Main.plugin.getServer().getMessenger().registerOutgoingPluginChannel(Main.plugin, "BungeeCord"); @@ -63,11 +69,11 @@ public class Load { } AliasRegisterPermissions.onPermRegister(); - send.debugmsg(plugin,Main.aliasHashMap.toString()); - send.debugmsg(plugin,Main.allAliases.toString()); - send.debugmsg(plugin,Main.subAliasHashMap.toString()); + send.debugmsg(plugin, Main.aliasHashMap.toString()); + send.debugmsg(plugin, Main.allAliases.toString()); + send.debugmsg(plugin, Main.subAliasHashMap.toString()); - send.debugmsg(plugin,Main.allSubAliases.toString()); + send.debugmsg(plugin, Main.allSubAliases.toString()); } } diff --git a/src/main/java/net/t2code/alias/Util.java b/src/main/java/net/t2code/alias/Util.java index 0a6fe2f..bec38fb 100644 --- a/src/main/java/net/t2code/alias/Util.java +++ b/src/main/java/net/t2code/alias/Util.java @@ -1,14 +1,14 @@ package net.t2code.alias; public class Util { - private static double requiredT2CodeLibVersion = 11.6; + private static String requiredT2CodeLibVersion = "12.4_dev-1"; private static String Prefix = "§8[§4T2Code§7-§aAlias§8]"; private static Integer SpigotID = 96389; private static Integer BstatsID = 12517; private static String Spigot = "https://www.spigotmc.org/resources/" + SpigotID; private static String Discord = "http://dc.t2code.net"; - public static double getRequiredT2CodeLibVersion() { + public static String getRequiredT2CodeLibVersion() { return requiredT2CodeLibVersion; } diff --git a/src/main/resources/SubAlias/X_subaliasDeclaration_X.yml b/src/main/resources/SubAlias/X_subAliasDeclaration_X.yml similarity index 100% rename from src/main/resources/SubAlias/X_subaliasDeclaration_X.yml rename to src/main/resources/SubAlias/X_subAliasDeclaration_X.yml From 41c2c95b366d8aeabacf5c08f203a3e628311dfb Mon Sep 17 00:00:00 2001 From: JaTiTV Date: Thu, 7 Jul 2022 13:48:08 +0200 Subject: [PATCH 6/9] code changes | update status 80% --- .../java/net/t2code/alias/Spigot/Main.java | 18 ++++++++-- .../cmdManagement/AliasCmdExecuter.java | 5 --- .../alias/Spigot/cmdManagement/Commands.java | 5 ++- .../Spigot/cmdManagement/ExecuteAlias.java | 1 - .../cmdManagement/RegisterCommands.java | 9 +++-- .../alias/Spigot/cmdManagement/TabEvent.java | 2 -- .../config/alias/AliasConfigConverter.java | 36 +++++++++++++++++++ .../CreateExampleAliasConfig.java | 2 +- .../config/{config => alias}/SelectAlias.java | 30 ++++++++++------ .../Spigot/config/config/CreateConfig.java | 7 ++-- .../Spigot/config/config/SelectConfig.java | 19 ++++++++-- .../config/languages/LanguagesCreate.java | 7 ++-- .../config/languages/SelectMessages.java | 6 ++-- .../CreateExampleSubAliasConfig.java | 2 +- .../{config => subAlias}/SelectSubAlias.java | 12 +++---- .../alias/Spigot/system/AliasRegister.java | 3 +- .../system/AliasRegisterPermissions.java | 2 +- .../Spigot/system/BCommandSenderReciver.java | 4 +-- .../t2code/alias/Spigot/system/JoinEvent.java | 15 +------- .../net/t2code/alias/Spigot/system/Load.java | 25 +++++++------ src/main/java/net/t2code/alias/Util.java | 2 +- 21 files changed, 135 insertions(+), 77 deletions(-) create mode 100644 src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java rename src/main/java/net/t2code/alias/Spigot/config/{config => alias}/CreateExampleAliasConfig.java (98%) rename src/main/java/net/t2code/alias/Spigot/config/{config => alias}/SelectAlias.java (80%) rename src/main/java/net/t2code/alias/Spigot/config/{config => subAlias}/CreateExampleSubAliasConfig.java (98%) rename src/main/java/net/t2code/alias/Spigot/config/{config => subAlias}/SelectSubAlias.java (91%) diff --git a/src/main/java/net/t2code/alias/Spigot/Main.java b/src/main/java/net/t2code/alias/Spigot/Main.java index 6a93d36..3102ee4 100644 --- a/src/main/java/net/t2code/alias/Spigot/Main.java +++ b/src/main/java/net/t2code/alias/Spigot/Main.java @@ -19,9 +19,9 @@ public final class Main extends JavaPlugin { return plugin.getDataFolder(); } - public static String version; - public static List autor; - public static Main plugin; + private static String version; + private static List autor; + private static Main plugin; public static HashMap aliasHashMap = new HashMap<>(); public static HashMap subAliasHashMap = new HashMap<>(); public static ArrayList allAliases = new ArrayList<>(); @@ -79,4 +79,16 @@ public final class Main extends JavaPlugin { return false; } } + + public static Main getPlugin() { + return plugin; + } + + public static String getVersion() { + return version; + } + + public static List getAutor() { + return autor; + } } diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/AliasCmdExecuter.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/AliasCmdExecuter.java index d9d9a81..b9ddd88 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/AliasCmdExecuter.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/AliasCmdExecuter.java @@ -62,11 +62,6 @@ public class AliasCmdExecuter implements CommandExecutor, TabCompleter { List list = new ArrayList<>(); if (sender instanceof Player) { Player p = (Player) sender; - send.debugmsg(Main.plugin, "------------"); - send.debugmsg(Main.plugin, "tab a: " + 0); - send.debugmsg(Main.plugin, "tab a: " + args.length); - send.debugmsg(Main.plugin, "tab a: " + Arrays.toString(args)); - send.debugmsg(Main.plugin, "tab a: " + arg1.toString()); if (args.length == 1) { for (String command : arg1.keySet()) { Boolean passend = true; diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/Commands.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/Commands.java index 0935343..b7eb672 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/Commands.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/Commands.java @@ -7,12 +7,14 @@ import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate; import net.t2code.lib.Spigot.Lib.messages.send; import net.t2code.lib.Spigot.Lib.update.UpdateAPI; +import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public class Commands { public static void info(CommandSender sender) { - T2CodeTemplate.sendInfo(sender, Util.getPrefix(),Util.getSpigot(),Util.getDiscord(),Main.autor,Main.version, UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion); + T2CodeTemplate.sendInfo(sender, Util.getPrefix(), Util.getSpigot(), Util.getDiscord(), Main.getAutor(), Main.getVersion(), + UpdateAPI.PluginVersionen.get(Main.getPlugin().getName()).publicVersion); } public static void reload(CommandSender sender) { @@ -21,6 +23,7 @@ public class Commands { send.console(Util.getPrefix() + " §6Plugin reload..."); send.console(Util.getPrefix() + "§8-------------------------------"); Load.loadReload(); + Main.getPlugin().onEnable(); if (sender instanceof Player) sender.sendMessage(SelectMessages.reloadEnd); send.console(Util.getPrefix() + "§8-------------------------------"); send.console(Util.getPrefix() + " §2Plugin successfully reloaded."); diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java index 5598262..0fd753a 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java @@ -259,7 +259,6 @@ public class ExecuteAlias { private static void aliasMessage(AliasObject alias, Player player) { for (String msg : alias.messages) { String text; - String hover; if (PluginCheck.papi()) { text = Replace.replace(prefix, player, replacePlayer(msg, player)); } else { diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java index 431d992..88cc6c0 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java @@ -21,19 +21,22 @@ public class RegisterCommands extends Command { @Override public boolean execute(CommandSender sender, String commandLabel, String[] args) { - send.debugmsg(Main.plugin, "tabevent"); AliasObject alias = Main.aliasHashMap.get(this.alias); + if (alias == null) { + send.error(Main.getPlugin(), "The alias " + this.alias + " does not exist."); + return false; + } if (!alias.aliasEnable) { send.sender(sender, SelectMessages.aliasDisabled); return true; } if (args.length == 0) { if (sender instanceof Player) { - ExecuteAlias.aliasPlayer(sender, alias, this.alias); + ExecuteAlias.aliasPlayer(sender, alias, this.alias); } else { if (alias.consoleEnable) { - ExecuteAlias.aliasConsole(alias, sender, prefix); + ExecuteAlias.aliasConsole(alias, sender, prefix); } else send.sender(sender, SelectMessages.onlyForPlayer); } } else { diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java index 2cf59cd..47e85ec 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java @@ -11,8 +11,6 @@ import org.bukkit.plugin.Plugin; import java.util.*; public class TabEvent implements Listener { - - Plugin plugin = Main.plugin; private static HashMap arg1 = new HashMap(); @EventHandler diff --git a/src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java b/src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java new file mode 100644 index 0000000..b457e8a --- /dev/null +++ b/src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java @@ -0,0 +1,36 @@ +package net.t2code.alias.Spigot.config.alias; + +import net.t2code.alias.Spigot.Main; +import net.t2code.lib.Spigot.Lib.messages.send; +import org.bukkit.configuration.file.YamlConfiguration; + +import java.io.File; +import java.io.IOException; +import java.util.Collections; + +public class AliasConfigConverter { + /** + * Converter 1.1 + * + * @param yamlConfiguration + * @param config_gui + */ + + public static void convertAliasList(YamlConfiguration yamlConfiguration, File config_gui) { + yamlConfiguration.set("Alias.AliasList", Collections.singletonList(config_gui.getName().replace(".yml", ""))); + try { + yamlConfiguration.save(config_gui); + } catch (IOException e) { + e.printStackTrace(); + } + + send.error(Main.getPlugin(), "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); + send.error(Main.getPlugin(), ""); + send.warning(Main.getPlugin(), "The " + config_gui.getName() + " file is converted to the new config format."); + send.warning(Main.getPlugin(), "The alias is no longer the filename, this is now adjustable in the file under 'Alias.AliasList'!"); + send.warning(Main.getPlugin(), "This allows a function to have multiple alias commands without creating multiple files!"); + send.error(Main.getPlugin(), ""); + send.error(Main.getPlugin(), "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); + + } +} diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleAliasConfig.java b/src/main/java/net/t2code/alias/Spigot/config/alias/CreateExampleAliasConfig.java similarity index 98% rename from src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleAliasConfig.java rename to src/main/java/net/t2code/alias/Spigot/config/alias/CreateExampleAliasConfig.java index 3abdd49..ce4d7a1 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleAliasConfig.java +++ b/src/main/java/net/t2code/alias/Spigot/config/alias/CreateExampleAliasConfig.java @@ -1,4 +1,4 @@ -package net.t2code.alias.Spigot.config.config; +package net.t2code.alias.Spigot.config.alias; import net.t2code.alias.Spigot.Main; import net.t2code.alias.Util; diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/SelectAlias.java b/src/main/java/net/t2code/alias/Spigot/config/alias/SelectAlias.java similarity index 80% rename from src/main/java/net/t2code/alias/Spigot/config/config/SelectAlias.java rename to src/main/java/net/t2code/alias/Spigot/config/alias/SelectAlias.java index ae1c1ca..4eb8794 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/config/SelectAlias.java +++ b/src/main/java/net/t2code/alias/Spigot/config/alias/SelectAlias.java @@ -1,14 +1,16 @@ -package net.t2code.alias.Spigot.config.config; +package net.t2code.alias.Spigot.config.alias; import net.t2code.alias.Spigot.Main; +import net.t2code.alias.Spigot.config.config.SelectConfig; import net.t2code.alias.Spigot.system.AliasRegister; import net.t2code.alias.Spigot.objects.AliasObject; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.send; +import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; -import java.util.Collections; +import java.io.IOException; import java.util.List; public class SelectAlias { @@ -22,17 +24,22 @@ public class SelectAlias { File[] fileArray = f.listFiles(); for (File config_gui : fileArray) { if (config_gui.getName().equals("X_aliasDeclaration_X.yml")) continue; + String sub = config_gui.getName().substring(config_gui.getName().length() - 4); + YamlConfiguration yamlConfiguration; if (sub.equals(".yml")) { + try { + yamlConfiguration = YamlConfiguration.loadConfiguration(config_gui); - YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config_gui); - + } catch (Exception ex) { + continue; + } Boolean aliasEnable = yamlConfiguration.getBoolean("Alias.Enable"); List aliasList; - if (yamlConfiguration.get("Alias.AliasList") != null) { - aliasList = yamlConfiguration.getStringList("Alias.AliasList"); - } else aliasList = Collections.singletonList(config_gui.getName().toLowerCase()); - + if (SelectConfig.isConfigVersion < 3 && yamlConfiguration.get("Alias.AliasList") == null) { + AliasConfigConverter.convertAliasList(yamlConfiguration, config_gui); + } + aliasList = yamlConfiguration.getStringList("Alias.AliasList"); Boolean permNecessary = yamlConfiguration.getBoolean("Alias.Permission.Necessary"); Boolean costEnable = yamlConfiguration.getBoolean("Alias.Cost.Enable"); @@ -69,13 +76,16 @@ public class SelectAlias { AliasObject alias = new AliasObject(aliasEnable, aliasList, permNecessary, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand, command, messageEnable, messages, adminEnable, adminPermission, adminCommandEnable, adminCommandAsConsole, adminBungeeCommand, adminCommands, adminMessageEnable, adminMessages, consoleEnable, consoleCommandEnable, consoleBungeeCommand, consoleCommands, consoleMessageEnable, consoleMessages); - for (String al : aliasList) { - send.debugmsg(Main.plugin,"put " + al); Main.aliasHashMap.put(al, alias); } } + send.console(Prefix + " §aAlias file §e" + config_gui.getName() + " §awas loaded"); } AliasRegister.onRegister(); } + + private YamlConfiguration loadFile(File file) throws InvalidConfigurationException { + return YamlConfiguration.loadConfiguration(file); + } } diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/CreateConfig.java b/src/main/java/net/t2code/alias/Spigot/config/config/CreateConfig.java index 7df2ead..c8f0c07 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/config/CreateConfig.java +++ b/src/main/java/net/t2code/alias/Spigot/config/config/CreateConfig.java @@ -10,25 +10,24 @@ import java.io.File; import java.io.IOException; public class CreateConfig { - public static Integer ConfigVersion = 2; + public static void configCreate() { long long_ = System.currentTimeMillis(); if (new File(Main.getPath(), "config.yml").exists()) { - if (Main.plugin.getConfig().getBoolean("Plugin.Debug")) send.console(Util.getPrefix() + " §5DEBUG: §6" + " §4config.yml are created / updated..."); + if (Main.getPlugin().getConfig().getBoolean("Plugin.Debug")) send.console(Util.getPrefix() + " §5DEBUG: §6" + " §4config.yml are created / updated..."); } else send.console(Util.getPrefix() + " §4config.yml are created..."); File config = new File(Main.getPath(), "config.yml"); YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); - yamlConfiguration.set("ConfigVersion", ConfigVersion); - Config.set("Plugin.language", "english", yamlConfiguration); Config.set("BungeeCord.Enable", false, yamlConfiguration); Config.set("BungeeCord.ThisServer", "server", yamlConfiguration); Config.set("Buy.Message", true, yamlConfiguration); + Config.set("SubAlias.TabComplete", true, yamlConfiguration); try { yamlConfiguration.save(config); diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/SelectConfig.java b/src/main/java/net/t2code/alias/Spigot/config/config/SelectConfig.java index 1ddfef5..9acdbc6 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/config/SelectConfig.java +++ b/src/main/java/net/t2code/alias/Spigot/config/config/SelectConfig.java @@ -4,20 +4,24 @@ import net.t2code.alias.Spigot.Main; import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; +import java.io.IOException; public class SelectConfig { - public static Integer ConfigVersion; + private static Integer ConfigVersion = 3; + public static Integer isConfigVersion; public static Boolean UpdateCheckOnJoin; public static String language; public static Boolean Bungee; public static String thisServer; public static Boolean buyMessage; + public static Boolean subAliasTab; + public static void onSelect() { File config = new File(Main.getPath(), "config.yml"); YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); - ConfigVersion =yamlConfiguration.getInt("ConfigVersion"); + isConfigVersion = yamlConfiguration.getInt("ConfigVersion"); UpdateCheckOnJoin = yamlConfiguration.getBoolean("Plugin.UpdateCheckOnJoin"); language = yamlConfiguration.getString("Plugin.language"); @@ -25,5 +29,16 @@ public class SelectConfig { thisServer = yamlConfiguration.getString("BungeeCord.ThisServer"); buyMessage = yamlConfiguration.getBoolean("Buy.Message"); + subAliasTab = yamlConfiguration.getBoolean("SubAlias.TabComplete"); + } + public static void setConfigVersion() { + File config = new File(Main.getPath(), "config.yml"); + YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config); + yamlConfiguration.set("ConfigVersion", ConfigVersion); + try { + yamlConfiguration.save(config); + } catch (IOException e) { + e.printStackTrace(); + } } } diff --git a/src/main/java/net/t2code/alias/Spigot/config/languages/LanguagesCreate.java b/src/main/java/net/t2code/alias/Spigot/config/languages/LanguagesCreate.java index b00d101..2a17351 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/languages/LanguagesCreate.java +++ b/src/main/java/net/t2code/alias/Spigot/config/languages/LanguagesCreate.java @@ -11,10 +11,9 @@ import java.io.File; import java.io.IOException; public class LanguagesCreate { - private static Plugin plugin = Main.plugin; public static void langCreate() { - send.debug(plugin,"§4Language files are created / updated..."); + send.debug(Main.getPlugin(),"§4Language files are created / updated..."); long long_ = System.currentTimeMillis(); /** @@ -38,7 +37,7 @@ public class LanguagesCreate { try { yamlConfigurationEN.save(messagesEN); } catch (IOException e) { - send.warning(plugin,e.getMessage()); + send.warning(Main.getPlugin(),e.getMessage()); e.printStackTrace(); } @@ -64,7 +63,7 @@ public class LanguagesCreate { try { yamlConfigurationDE.save(messagesDE); } catch (IOException e) { - send.warning(plugin,e.getMessage()); + send.warning(Main.getPlugin(),e.getMessage()); e.printStackTrace(); } diff --git a/src/main/java/net/t2code/alias/Spigot/config/languages/SelectMessages.java b/src/main/java/net/t2code/alias/Spigot/config/languages/SelectMessages.java index 2cdace1..6f48932 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/languages/SelectMessages.java +++ b/src/main/java/net/t2code/alias/Spigot/config/languages/SelectMessages.java @@ -26,8 +26,8 @@ public class SelectMessages { public static void onSelect(String Prefix) { - send.debug(Main.plugin, "§4Select language..."); - Long long_ = Long.valueOf(System.currentTimeMillis()); + send.debug(Main.getPlugin(), "§4Select language..."); + long long_ = System.currentTimeMillis(); File msg; @@ -52,7 +52,7 @@ public class SelectMessages { buy = replace(yamlConfiguration.getString("Cost.Buy")); noMoney = replace(yamlConfiguration.getString("Cost.NoMoney")); - send.console(Prefix + " §2Language successfully selected to: §6" + selectMSG + " §7- §e" + (System.currentTimeMillis() - long_.longValue()) + "ms"); + send.console(Prefix + " §2Language successfully selected to: §6" + selectMSG + " §7- §e" + (System.currentTimeMillis() - long_) + "ms"); } private static String replace(String text) { diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleSubAliasConfig.java b/src/main/java/net/t2code/alias/Spigot/config/subAlias/CreateExampleSubAliasConfig.java similarity index 98% rename from src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleSubAliasConfig.java rename to src/main/java/net/t2code/alias/Spigot/config/subAlias/CreateExampleSubAliasConfig.java index 42c439d..e797b64 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/config/CreateExampleSubAliasConfig.java +++ b/src/main/java/net/t2code/alias/Spigot/config/subAlias/CreateExampleSubAliasConfig.java @@ -1,4 +1,4 @@ -package net.t2code.alias.Spigot.config.config; +package net.t2code.alias.Spigot.config.subAlias; import net.t2code.alias.Spigot.Main; import net.t2code.alias.Util; diff --git a/src/main/java/net/t2code/alias/Spigot/config/config/SelectSubAlias.java b/src/main/java/net/t2code/alias/Spigot/config/subAlias/SelectSubAlias.java similarity index 91% rename from src/main/java/net/t2code/alias/Spigot/config/config/SelectSubAlias.java rename to src/main/java/net/t2code/alias/Spigot/config/subAlias/SelectSubAlias.java index 349c21f..5d57453 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/config/SelectSubAlias.java +++ b/src/main/java/net/t2code/alias/Spigot/config/subAlias/SelectSubAlias.java @@ -1,4 +1,4 @@ -package net.t2code.alias.Spigot.config.config; +package net.t2code.alias.Spigot.config.subAlias; import net.t2code.alias.Spigot.Main; import net.t2code.alias.Spigot.objects.SubAliasObject; @@ -28,14 +28,13 @@ public class SelectSubAlias { Boolean aliasEnable = yamlConfiguration.getBoolean("SubAlias.Enable"); List subAliasList = yamlConfiguration.getStringList("SubAlias.SubAliasList"); String subAliasFor = yamlConfiguration.getString("SubAlias.SubAliasFor"); - String[] imp = subAliasFor.split(" "); - if (!Main.allAliases.contains(imp[0])) { - send.error(Main.plugin, "Den Alias " + imp[0] + " in der Datei " + config_gui.getName() + " existiert nicht!"); - } int subAliasArg = 0; if (subAliasFor != null) { + String[] imp = subAliasFor.split(" "); + if (!Main.allAliases.contains(imp[0])) { + send.error(Main.getPlugin(), "Den Alias " + imp[0] + " in der Datei " + config_gui.getName() + " existiert nicht!"); + } String[] args = subAliasFor.split(" "); - send.debugmsg(Main.plugin, config_gui.getName() + " " +String.valueOf(args.length)); subAliasArg = args.length - 1; } Boolean permNecessary = yamlConfiguration.getBoolean("SubAlias.Permission.Necessary"); @@ -78,6 +77,7 @@ public class SelectSubAlias { } Main.allSubAliases.addAll(subAliasList); Main.allForSubAliases.add(subAliasFor); + send.console(Prefix + " §aSubAlias file §e" + config_gui.getName() + " §awas loaded"); } } } diff --git a/src/main/java/net/t2code/alias/Spigot/system/AliasRegister.java b/src/main/java/net/t2code/alias/Spigot/system/AliasRegister.java index ecde443..6356bdf 100644 --- a/src/main/java/net/t2code/alias/Spigot/system/AliasRegister.java +++ b/src/main/java/net/t2code/alias/Spigot/system/AliasRegister.java @@ -13,7 +13,6 @@ import java.lang.reflect.Field; public class AliasRegister { public static void onRegister() { - Plugin plugin = Main.plugin; for (String alias : Main.allAliases) { if (Main.aliasHashMap.get(alias) != null) { if (alias.equals(" ")) continue; @@ -27,7 +26,7 @@ public class AliasRegister { e.printStackTrace(); } } - } else send.warning(plugin, " §4AliasHashmap is null! - " + alias); + } else send.warning(Main.getPlugin(), " §4AliasHashmap is null! - " + alias); } } } diff --git a/src/main/java/net/t2code/alias/Spigot/system/AliasRegisterPermissions.java b/src/main/java/net/t2code/alias/Spigot/system/AliasRegisterPermissions.java index 2eb948b..b80ad84 100644 --- a/src/main/java/net/t2code/alias/Spigot/system/AliasRegisterPermissions.java +++ b/src/main/java/net/t2code/alias/Spigot/system/AliasRegisterPermissions.java @@ -9,7 +9,7 @@ public class AliasRegisterPermissions { public static void onPermRegister() { for (String alias : Main.allAliases){ if (Bukkit.getPluginManager().getPermission("t2code.alias.use." + alias.toLowerCase()) == null) { - Register.permission("t2code.alias.use." + alias.toLowerCase(), Main.plugin); + Register.permission("t2code.alias.use." + alias.toLowerCase(), Main.getPlugin()); } } } diff --git a/src/main/java/net/t2code/alias/Spigot/system/BCommandSenderReciver.java b/src/main/java/net/t2code/alias/Spigot/system/BCommandSenderReciver.java index 449d21a..e05f0c2 100644 --- a/src/main/java/net/t2code/alias/Spigot/system/BCommandSenderReciver.java +++ b/src/main/java/net/t2code/alias/Spigot/system/BCommandSenderReciver.java @@ -30,10 +30,10 @@ public class BCommandSenderReciver { } if (sender instanceof Player) { Player player = (Player) sender; - player.sendPluginMessage(Main.plugin, "t2codealias:bungee", stream.toByteArray()); + player.sendPluginMessage(Main.getPlugin(), "t2codealias:bungee", stream.toByteArray()); }else { for(Player player : Bukkit.getOnlinePlayers()){ - player.sendPluginMessage(Main.plugin, "t2codealias:bungee", stream.toByteArray()); + player.sendPluginMessage(Main.getPlugin(), "t2codealias:bungee", stream.toByteArray()); return; } } diff --git a/src/main/java/net/t2code/alias/Spigot/system/JoinEvent.java b/src/main/java/net/t2code/alias/Spigot/system/JoinEvent.java index 38bd916..8fb3926 100644 --- a/src/main/java/net/t2code/alias/Spigot/system/JoinEvent.java +++ b/src/main/java/net/t2code/alias/Spigot/system/JoinEvent.java @@ -17,19 +17,6 @@ public class JoinEvent implements Listener { @EventHandler public void onJoinEvent(PlayerLoginEvent event) { - Player player = event.getPlayer(); - new BukkitRunnable() { - @Override - public void run() { - String publicVersion = UpdateAPI.PluginVersionen.get(Main.plugin.getName()).publicVersion; - if (player.hasPermission("alias.updatemsg") || player.isOp()) { - if (!Main.version.equals(publicVersion)) { - if (SelectLibConfig.UpdateCheckOnJoin) { - UpdateAPI.sendUpdateMsg(Util.getPrefix(), Util.getSpigot(), Util.getDiscord(), Main.version, publicVersion, player); - } - } - } - } - }.runTaskLater(Main.plugin, 200L); + UpdateAPI.join(Main.getPlugin(),Util.getPrefix(), "t2code.alias.updatemsg", event.getPlayer(), Util.getSpigot(), Util.getDiscord()); } } \ No newline at end of file diff --git a/src/main/java/net/t2code/alias/Spigot/system/Load.java b/src/main/java/net/t2code/alias/Spigot/system/Load.java index 96607a8..c9e2ada 100644 --- a/src/main/java/net/t2code/alias/Spigot/system/Load.java +++ b/src/main/java/net/t2code/alias/Spigot/system/Load.java @@ -3,9 +3,13 @@ package net.t2code.alias.Spigot.system; import net.t2code.alias.Spigot.Main; import net.t2code.alias.Spigot.cmdManagement.AliasCmdExecuter; import net.t2code.alias.Spigot.cmdManagement.TabEvent; +import net.t2code.alias.Spigot.config.alias.CreateExampleAliasConfig; +import net.t2code.alias.Spigot.config.alias.SelectAlias; import net.t2code.alias.Spigot.config.config.*; import net.t2code.alias.Spigot.config.languages.LanguagesCreate; import net.t2code.alias.Spigot.config.languages.SelectMessages; +import net.t2code.alias.Spigot.config.subAlias.CreateExampleSubAliasConfig; +import net.t2code.alias.Spigot.config.subAlias.SelectSubAlias; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.T2CodeTemplate; import net.t2code.lib.Spigot.Lib.messages.send; @@ -19,11 +23,11 @@ import java.io.File; import java.util.List; public class Load { - static Plugin plugin = Main.plugin; + private static Main plugin = Main.getPlugin(); public static void onLoad(String prefix, List autor, String version, String spigot, int spigotID, String discord, int bstatsID) { Long long_ = T2CodeTemplate.onLoadHeader(prefix, autor, version, spigot, discord); - Main.plugin.getCommand("t2code-alias").setExecutor(new AliasCmdExecuter()); + plugin.getCommand("t2code-alias").setExecutor(new AliasCmdExecuter()); loadReload(); UpdateAPI.onUpdateCheck(plugin, prefix, spigot, spigotID, discord); Bukkit.getServer().getPluginManager().registerEvents(new JoinEvent(), plugin); @@ -59,21 +63,20 @@ public class Load { LanguagesCreate.langCreate(); SelectConfig.onSelect(); SelectMessages.onSelect(Util.getPrefix()); + T2CodeTemplate.onLoadSeparateStroke(Util.getPrefix()); SelectAlias.onSelect(); + T2CodeTemplate.onLoadSeparateStroke(Util.getPrefix()); SelectSubAlias.onSelect(); - Register.listener(new TabEvent(), plugin); + SelectConfig.setConfigVersion(); + if (SelectConfig.subAliasTab) { + Register.listener(new TabEvent(), plugin); + } if (SelectConfig.Bungee) { - Main.plugin.getServer().getMessenger().registerOutgoingPluginChannel(Main.plugin, "BungeeCord"); - Bukkit.getMessenger().registerOutgoingPluginChannel(Main.plugin, "t2codealias:bungee"); + plugin.getServer().getMessenger().registerOutgoingPluginChannel(plugin, "BungeeCord"); + Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "t2codealias:bungee"); } AliasRegisterPermissions.onPermRegister(); - - send.debugmsg(plugin, Main.aliasHashMap.toString()); - send.debugmsg(plugin, Main.allAliases.toString()); - send.debugmsg(plugin, Main.subAliasHashMap.toString()); - - send.debugmsg(plugin, Main.allSubAliases.toString()); } } diff --git a/src/main/java/net/t2code/alias/Util.java b/src/main/java/net/t2code/alias/Util.java index bec38fb..9aac550 100644 --- a/src/main/java/net/t2code/alias/Util.java +++ b/src/main/java/net/t2code/alias/Util.java @@ -1,7 +1,7 @@ package net.t2code.alias; public class Util { - private static String requiredT2CodeLibVersion = "12.4_dev-1"; + private static String requiredT2CodeLibVersion = "12.4"; private static String Prefix = "§8[§4T2Code§7-§aAlias§8]"; private static Integer SpigotID = 96389; private static Integer BstatsID = 12517; From 9aed0f58955a61357aac7954eefd82d4645ecdff Mon Sep 17 00:00:00 2001 From: JaTiTV Date: Fri, 8 Jul 2022 19:06:12 +0200 Subject: [PATCH 7/9] 1.1.0_Snapshot-#1 --- pom.xml | 3 +- .../alias/Spigot/cmdManagement/Commands.java | 1 - .../Spigot/cmdManagement/ExecuteAlias.java | 185 ++++++++++++------ .../cmdManagement/RegisterCommands.java | 27 ++- .../config/alias/AliasConfigConverter.java | 24 ++- .../alias/CreateExampleAliasConfig.java | 12 +- .../Spigot/config/alias/SelectAlias.java | 32 ++- .../alias/Spigot/config/languages/MSG.java | 24 +-- .../config/languages/SelectMessages.java | 3 + .../subAlias/CreateExampleSubAliasConfig.java | 12 +- .../config/subAlias/SelectSubAlias.java | 35 +++- .../alias/Spigot/objects/AliasObject.java | 8 +- .../alias/Spigot/objects/SubAliasObject.java | 6 + src/main/java/net/t2code/alias/Util.java | 4 + .../resources/Alias/X_aliasDeclaration_X.yml | 70 +++++-- .../SubAlias/X_subAliasDeclaration_X.yml | 65 ++++-- 16 files changed, 376 insertions(+), 135 deletions(-) diff --git a/pom.xml b/pom.xml index 5d30bc4..e6de707 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ net.t2code Alias - 1.1.0_DEV + 1.1.0_Snapshot-#1 jar T2C-Alias @@ -70,7 +70,6 @@ net.t2code T2CodeLib 12.4 - dev-1 net.t2code diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/Commands.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/Commands.java index b7eb672..decb4bc 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/Commands.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/Commands.java @@ -22,7 +22,6 @@ public class Commands { send.console(Util.getPrefix() + "§8-------------------------------"); send.console(Util.getPrefix() + " §6Plugin reload..."); send.console(Util.getPrefix() + "§8-------------------------------"); - Load.loadReload(); Main.getPlugin().onEnable(); if (sender instanceof Player) sender.sendMessage(SelectMessages.reloadEnd); send.console(Util.getPrefix() + "§8-------------------------------"); diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java index 0fd753a..fb362bf 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/ExecuteAlias.java @@ -1,5 +1,6 @@ package net.t2code.alias.Spigot.cmdManagement; +import net.t2code.alias.Spigot.Main; import net.t2code.alias.Spigot.config.config.SelectConfig; import net.t2code.alias.Spigot.config.languages.SelectMessages; import net.t2code.alias.Spigot.objects.AliasObject; @@ -14,28 +15,36 @@ import net.t2code.lib.Spigot.Lib.replace.Replace; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + public class ExecuteAlias { private static final String prefix = Util.getPrefix(); - protected static void aliasPlayer(CommandSender sender, AliasObject aliasObject, String alias) { + protected static void aliasPlayer(CommandSender sender, AliasObject aliasObject, String alias, String[] args) { Player player = (Player) sender; if (aliasObject.adminEnable) { if (player.hasPermission(aliasObject.adminPermission)) { if (aliasObject.adminCommandEnable) { - aliasAdminCommand(aliasObject, player); + aliasAdminCommand(aliasObject, player, args); } if (aliasObject.adminMessageEnable) { - aliasAdminMessage(aliasObject, player); + aliasAdminMessage(aliasObject, alias, player, args); } return; } } if (aliasObject.permNecessary) { - if (!(player.hasPermission("t2code.alias.use." + alias.toLowerCase()) || player.hasPermission("t2code.alias.admin"))) { - send.player(player, SelectMessages.noPermissionForCommand.replace("[cmd]", "/" + alias.toLowerCase()) - .replace("[perm]", "t2code.alias.use." + alias.toLowerCase())); + if (!(player.hasPermission(aliasObject.permission.replace("", alias.toLowerCase())) || player.hasPermission("t2code.alias.admin"))) { + String npmsg; + if (aliasObject.permissionMSG == null || aliasObject.permissionMSG.equals("")) { + npmsg = SelectMessages.noPermissionForCommand; + } else npmsg = aliasObject.permissionMSG; + send.player(player, npmsg.replace("[cmd]", "/" + alias.toLowerCase()) + .replace("[perm]", aliasObject.permission.replace("", alias.toLowerCase())).replace("[alias]", alias)); return; } } @@ -49,14 +58,14 @@ public class ExecuteAlias { } } if (aliasObject.commandEnable) { - aliasCommand(aliasObject, player); + aliasCommand(aliasObject, player, args); } if (aliasObject.messageEnable) { - aliasMessage(aliasObject, player); + aliasMessage(aliasObject, alias, player, args); } } - protected static void subAliasPlayer(CommandSender sender, SubAliasObject aliasObject, String alias) { + protected static void subAliasPlayer(CommandSender sender, SubAliasObject aliasObject, String alias, String[] args) { if (!aliasObject.subAliasEnable) { send.sender(sender, SelectMessages.aliasDisabled); return; @@ -68,19 +77,23 @@ public class ExecuteAlias { if (aliasObject.adminEnable) { if (player.hasPermission(aliasObject.adminPermission)) { if (aliasObject.adminCommandEnable) { - subAliasAdminCommand(aliasObject, player); + subAliasAdminCommand(aliasObject, player, args); } if (aliasObject.adminMessageEnable) { - subAliasAdminMessage(aliasObject, player); + subAliasAdminMessage(aliasObject, alias, player, args); } return; } } if (aliasObject.permNecessary) { - if (!(player.hasPermission("t2code.alias.use.subalias." + alias.toLowerCase()) || player.hasPermission("t2code.alias.admin"))) { - send.player(player, SelectMessages.noPermissionForCommand.replace("[cmd]", "/" + alias.toLowerCase()) - .replace("[perm]", "t2code.alias.subalias.use." + alias.toLowerCase())); + if (!(player.hasPermission(aliasObject.permission.replace("", alias.toLowerCase())) || player.hasPermission("t2code.alias.admin"))) { + String npmsg; + if (aliasObject.permissionMSG == null || aliasObject.permissionMSG.equals("")) { + npmsg = SelectMessages.noPermissionForCommand; + } else npmsg = aliasObject.permissionMSG; + send.player(player, npmsg.replace("[cmd]", "/" + alias.toLowerCase()) + .replace("[perm]", aliasObject.permission.replace("", alias.toLowerCase())).replace("[alias]", alias)); return; } } @@ -94,14 +107,14 @@ public class ExecuteAlias { } } if (aliasObject.commandEnable) { - subAliasCommand(aliasObject, player); + subAliasCommand(aliasObject, player, args); } if (aliasObject.messageEnable) { - subAliasMessage(aliasObject, player); + subAliasMessage(aliasObject, alias, player, args); } } else { if (aliasObject.consoleEnable) { - subAliasConsole(aliasObject, sender); + subAliasConsole(aliasObject, sender, args); } else send.sender(sender, SelectMessages.onlyForPlayer); } } @@ -128,18 +141,25 @@ public class ExecuteAlias { } } - private static void subAliasConsole(SubAliasObject alias, CommandSender sender) { + private static void subAliasConsole(SubAliasObject alias, CommandSender sender, String[] args) { + String targetSt = "[target]"; + try { + List results = Arrays.stream(args).filter(a -> a.contains("-p:")).collect(Collectors.toList()); + targetSt = results.get(0).replace("-p:", ""); + } catch (Exception ignored) { + + } if (alias.consoleCommandEnable) { for (String cmd : alias.consoleCommands) { if (alias.consoleBungeeCommand) { if (SelectConfig.Bungee) { - BCommandSenderReciver.sendToBungee(sender, cmd, true); + BCommandSenderReciver.sendToBungee(sender, cmd.replace("[target]", targetSt), true); } else { send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); send.sender(sender, Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); } } else { - Cmd.console(cmd); + Cmd.console(cmd.replace("[target]", targetSt)); } } } @@ -150,11 +170,18 @@ public class ExecuteAlias { } } - private static void aliasAdminCommand(AliasObject alias, Player player) { + private static void aliasAdminCommand(AliasObject alias, Player player, String[] args) { + String targetSt = "[target]"; + try { + List results = Arrays.stream(args).filter(a -> a.contains("-p:")).collect(Collectors.toList()); + targetSt = results.get(0).replace("-p:", ""); + } catch (Exception ignored) { + + } for (String cmd : alias.adminCommands) { if (alias.adminBungeeCommand) { if (SelectConfig.Bungee) { - BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), alias.adminCommandAsConsole); + BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt), alias.adminCommandAsConsole); } else { send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); @@ -162,19 +189,26 @@ public class ExecuteAlias { } } else { if (alias.adminCommandAsConsole) { - Cmd.console(cmd.replace("[player]", player.getName())); + Cmd.console(cmd.replace("[player]", player.getName()).replace("[target]", targetSt)); } else { - Cmd.player(player, cmd.replace("[player]", player.getName())); + Cmd.player(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt)); } } } } - private static void subAliasAdminCommand(SubAliasObject alias, Player player) { + private static void subAliasAdminCommand(SubAliasObject alias, Player player, String[] args) { + String targetSt = "[target]"; + try { + List results = Arrays.stream(args).filter(a -> a.contains("-p:")).collect(Collectors.toList()); + targetSt = results.get(0).replace("-p:", ""); + } catch (Exception ignored) { + + } for (String cmd : alias.adminCommands) { if (alias.adminBungeeCommand) { if (SelectConfig.Bungee) { - BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), alias.adminCommandAsConsole); + BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt), alias.adminCommandAsConsole); } else { send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); @@ -182,45 +216,64 @@ public class ExecuteAlias { } } else { if (alias.adminCommandAsConsole) { - Cmd.console(cmd.replace("[player]", player.getName())); + Cmd.console(cmd.replace("[player]", player.getName()).replace("[target]", targetSt)); } else { - Cmd.player(player, cmd.replace("[player]", player.getName())); + Cmd.player(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt)); } } } } - private static void aliasAdminMessage(AliasObject alias, Player player) { - for (String msg : alias.adminMessages) { + private static void aliasAdminMessage(AliasObject aliasObject, String alias, Player player, String[] args) { + String targetSt = "[target]"; + try { + List results = Arrays.stream(args).filter(a -> a.contains("-p:")).collect(Collectors.toList()); + targetSt = results.get(0).replace("-p:", ""); + } catch (Exception ignored) { + + } + for (String msg : aliasObject.adminMessages) { String text; - String hover; if (PluginCheck.papi()) { - text = Replace.replace(prefix, player, replacePlayer(msg, player)); + text = Replace.replace(prefix, player, replacePlayer(msg, player)).replace("[target]", targetSt).replace("[alias]", alias); } else { - text = Replace.replace(prefix, replacePlayer(msg, player)); + text = Replace.replace(prefix, replacePlayer(msg, player)).replace("[target]", targetSt).replace("[alias]", alias); } send.player(player, text); } } - private static void subAliasAdminMessage(SubAliasObject alias, Player player) { - for (String msg : alias.adminMessages) { + private static void subAliasAdminMessage(SubAliasObject subAliasObject, String alias, Player player, String[] args) { + String targetSt = "[target]"; + try { + List results = Arrays.stream(args).filter(a -> a.contains("-p:")).collect(Collectors.toList()); + targetSt = results.get(0).replace("-p:", ""); + } catch (Exception ignored) { + + } + for (String msg : subAliasObject.adminMessages) { String text; - String hover; if (PluginCheck.papi()) { - text = Replace.replace(prefix, player, replacePlayer(msg, player)); + text = Replace.replace(prefix, player, replacePlayer(msg, player)).replace("[target]", targetSt).replace("[alias]", alias); } else { - text = Replace.replace(prefix, replacePlayer(msg, player)); + text = Replace.replace(prefix, replacePlayer(msg, player)).replace("[target]", targetSt).replace("[alias]", alias); } send.player(player, text); } } - private static void aliasCommand(AliasObject alias, Player player) { + private static void aliasCommand(AliasObject alias, Player player, String[] args) { + String targetSt = "[target]"; + try { + List results = Arrays.stream(args).filter(a -> a.contains("-p:")).collect(Collectors.toList()); + targetSt = results.get(0).replace("-p:", ""); + } catch (Exception ignored) { + + } for (String cmd : alias.command) { if (alias.bungeeCommand) { if (SelectConfig.Bungee) { - BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), alias.commandAsConsole); + BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt), alias.commandAsConsole); } else { send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); @@ -228,19 +281,26 @@ public class ExecuteAlias { } } else { if (alias.commandAsConsole) { - Cmd.console(cmd.replace("[player]", player.getName())); + Cmd.console(cmd.replace("[player]", player.getName()).replace("[target]", targetSt)); } else { - Cmd.player(player, cmd.replace("[player]", player.getName())); + Cmd.player(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt)); } } } } - private static void subAliasCommand(SubAliasObject alias, Player player) { + private static void subAliasCommand(SubAliasObject alias, Player player, String[] args) { + String targetSt = "[target]"; + try { + List results = Arrays.stream(args).filter(a -> a.contains("-p:")).collect(Collectors.toList()); + targetSt = results.get(0).replace("-p:", ""); + } catch (Exception ignored) { + + } for (String cmd : alias.command) { if (alias.bungeeCommand) { if (SelectConfig.Bungee) { - BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()), alias.commandAsConsole); + BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt), alias.commandAsConsole); } else { send.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config."); @@ -248,34 +308,49 @@ public class ExecuteAlias { } } else { if (alias.commandAsConsole) { - Cmd.console(cmd.replace("[player]", player.getName())); + Cmd.console(cmd.replace("[player]", player.getName()).replace("[target]", targetSt)); } else { - Cmd.player(player, cmd.replace("[player]", player.getName())); + Cmd.player(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt)); } } } } - private static void aliasMessage(AliasObject alias, Player player) { - for (String msg : alias.messages) { + private static void aliasMessage(AliasObject aliasObject, String alias, Player player, String[] args) { + + String targetSt = "[target]"; + try { + List results = Arrays.stream(args).filter(a -> a.contains("-p:")).collect(Collectors.toList()); + targetSt = results.get(0).replace("-p:", ""); + } catch (Exception ignored) { + + } + + for (String msg : aliasObject.messages) { String text; if (PluginCheck.papi()) { - text = Replace.replace(prefix, player, replacePlayer(msg, player)); + text = Replace.replace(prefix, player, replacePlayer(msg, player)).replace("[target]", targetSt).replace("[alias]", alias); } else { - text = Replace.replace(prefix, replacePlayer(msg, player)); + text = Replace.replace(prefix, replacePlayer(msg, player)).replace("[target]", targetSt).replace("[alias]", alias); } send.player(player, text); } } - private static void subAliasMessage(SubAliasObject alias, Player player) { - for (String msg : alias.messages) { + private static void subAliasMessage(SubAliasObject subAliasObject, String alias, Player player, String[] args) { + String targetSt = "[target]"; + try { + List results = Arrays.stream(args).filter(a -> a.contains("-p:")).collect(Collectors.toList()); + targetSt = results.get(0).replace("-p:", ""); + } catch (Exception ignored) { + + } + for (String msg : subAliasObject.messages) { String text; - String hover; if (PluginCheck.papi()) { - text = Replace.replace(prefix, player, replacePlayer(msg, player)); + text = Replace.replace(prefix, player, replacePlayer(msg, player)).replace("[target]", targetSt).replace("[alias]", alias); } else { - text = Replace.replace(prefix, replacePlayer(msg, player)); + text = Replace.replace(prefix, replacePlayer(msg, player)).replace("[target]", targetSt).replace("[alias]", alias); } send.player(player, text); } diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java index 88cc6c0..65f0b03 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java @@ -7,10 +7,17 @@ import net.t2code.alias.Spigot.objects.SubAliasObject; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.send; import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; +import org.bukkit.command.TabCompleter; import org.bukkit.entity.Player; -public class RegisterCommands extends Command { +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +public class RegisterCommands extends Command implements TabCompleter { private String alias; private String prefix = Util.getPrefix(); @@ -31,28 +38,38 @@ public class RegisterCommands extends Command { send.sender(sender, SelectMessages.aliasDisabled); return true; } - if (args.length == 0) { + if (args.length == 0 || args.length == 1 && args[0].contains("-p:")) { if (sender instanceof Player) { - ExecuteAlias.aliasPlayer(sender, alias, this.alias); + ExecuteAlias.aliasPlayer(sender, alias, this.alias, args); } else { if (alias.consoleEnable) { ExecuteAlias.aliasConsole(alias, sender, prefix); } else send.sender(sender, SelectMessages.onlyForPlayer); } } else { - if (!Main.allForSubAliases.contains(this.alias)) return false; + if (!Main.allForSubAliases.contains(this.alias)) { + return false; + } for (String sals : Main.allSubAliases) { SubAliasObject sal = Main.subAliasHashMap.get(sals); if (args.length == sal.subAliasArg + 1) { for (String al : sal.subAliasList) { if (args[sal.subAliasArg].toLowerCase().equals(al)) { - ExecuteAlias.subAliasPlayer(sender, sal, al); + ExecuteAlias.subAliasPlayer(sender, sal, al, args); + return true; } } } } + send.sender(sender, "TODO DEV'>Diesen Befehl gibt es nicht"); + //todo } return true; } + + @Override + public List onTabComplete(CommandSender commandSender, Command command, String s, String[] strings) { + return Collections.singletonList("hallodepp"); + } } diff --git a/src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java b/src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java index b457e8a..44f020c 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java +++ b/src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java @@ -23,7 +23,7 @@ public class AliasConfigConverter { } catch (IOException e) { e.printStackTrace(); } - + send.error(Main.getPlugin(), "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); send.error(Main.getPlugin(), ""); send.warning(Main.getPlugin(), "The " + config_gui.getName() + " file is converted to the new config format."); @@ -33,4 +33,26 @@ public class AliasConfigConverter { send.error(Main.getPlugin(), "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); } + + public static void convertAddPermission(YamlConfiguration yamlConfiguration, File config_gui, Boolean subalias) { + if (subalias) { + yamlConfiguration.set("Alias.Permission.Permission", "t2code.alias.use."); + } else yamlConfiguration.set("SubAlias.Permission.Permission", "t2code.alias.use.subalias."); + try { + yamlConfiguration.save(config_gui); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static void convertAddPermissionMSG(YamlConfiguration yamlConfiguration, File config_gui, Boolean subalias) { + if (subalias) { + yamlConfiguration.set("Alias.Permission.CustomNoPermissionMSG", ""); + } else yamlConfiguration.set("SubAlias.Permission.CustomNoPermissionMSG", ""); + try { + yamlConfiguration.save(config_gui); + } catch (IOException e) { + e.printStackTrace(); + } + } } diff --git a/src/main/java/net/t2code/alias/Spigot/config/alias/CreateExampleAliasConfig.java b/src/main/java/net/t2code/alias/Spigot/config/alias/CreateExampleAliasConfig.java index ce4d7a1..8d12614 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/alias/CreateExampleAliasConfig.java +++ b/src/main/java/net/t2code/alias/Spigot/config/alias/CreateExampleAliasConfig.java @@ -24,6 +24,8 @@ public class CreateExampleAliasConfig { Config.set("Alias.AliasList", Arrays.asList("aliasexample1"),yamlConfiguration); Config.set("Alias.Permission.Necessary", true, yamlConfiguration); + Config.set("Alias.Permission.Permission", "t2code.alias.use.", yamlConfiguration); + Config.set("Alias.Permission.CustomNoPermissionMSG", "", yamlConfiguration); Config.set("Alias.Cost.Enable", false,yamlConfiguration); Config.set("Alias.Cost.Price", 0.0,yamlConfiguration); @@ -36,11 +38,6 @@ public class CreateExampleAliasConfig { Config.set("Alias.Message.Enable", false, yamlConfiguration); Config.set("Alias.Message.Messages", Collections.emptyList(), yamlConfiguration); - Config.set("Alias.Message.TextBuilder.Enable", false, yamlConfiguration); - Config.set("Alias.Message.TextBuilder.Hover", "", yamlConfiguration); - Config.set("Alias.Message.TextBuilder.ClickEvent.Enable", false, yamlConfiguration); - Config.set("Alias.Message.TextBuilder.ClickEvent.Action", "", yamlConfiguration); - Config.set("Alias.Message.TextBuilder.ClickEvent.ActionValue", "", yamlConfiguration); Config.set("Alias.Admin.Enable", true, yamlConfiguration); Config.set("Alias.Admin.Permission", "t2code.alias.admin", yamlConfiguration); @@ -52,11 +49,6 @@ public class CreateExampleAliasConfig { Config.set("Alias.Admin.Message.Enable", false, yamlConfiguration); Config.set("Alias.Admin.Message.Messages", Collections.emptyList(), yamlConfiguration); - Config.set("Alias.Admin.Message.TextBuilder.Enable", false, yamlConfiguration); - Config.set("Alias.Admin.Message.TextBuilder.Hover", "", yamlConfiguration); - Config.set("Alias.Admin.Message.TextBuilder.ClickEvent.Enable", false, yamlConfiguration); - Config.set("Alias.Admin.Message.TextBuilder.ClickEvent.Action", "", yamlConfiguration); - Config.set("Alias.Admin.Message.TextBuilder.ClickEvent.ActionValue", "", yamlConfiguration); Config.set("Alias.Console.Enable", false, yamlConfiguration); Config.set("Alias.Console.Command.Enable", false, yamlConfiguration); diff --git a/src/main/java/net/t2code/alias/Spigot/config/alias/SelectAlias.java b/src/main/java/net/t2code/alias/Spigot/config/alias/SelectAlias.java index 4eb8794..0ecaa61 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/alias/SelectAlias.java +++ b/src/main/java/net/t2code/alias/Spigot/config/alias/SelectAlias.java @@ -1,17 +1,21 @@ package net.t2code.alias.Spigot.config.alias; +import com.google.common.base.Preconditions; import net.t2code.alias.Spigot.Main; import net.t2code.alias.Spigot.config.config.SelectConfig; import net.t2code.alias.Spigot.system.AliasRegister; import net.t2code.alias.Spigot.objects.AliasObject; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.send; +import org.bukkit.Bukkit; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; +import java.io.FileNotFoundException; import java.io.IOException; import java.util.List; +import java.util.logging.Level; public class SelectAlias { private static String Prefix = Util.getPrefix(); @@ -26,21 +30,37 @@ public class SelectAlias { if (config_gui.getName().equals("X_aliasDeclaration_X.yml")) continue; String sub = config_gui.getName().substring(config_gui.getName().length() - 4); - YamlConfiguration yamlConfiguration; if (sub.equals(".yml")) { + YamlConfiguration yamlConfiguration; try { - yamlConfiguration = YamlConfiguration.loadConfiguration(config_gui); - - } catch (Exception ex) { + Preconditions.checkArgument(config_gui != null, "File cannot be null"); + YamlConfiguration config = new YamlConfiguration(); + config.load(config_gui); + yamlConfiguration = config; + } catch (FileNotFoundException var3) { + continue; + } catch (IOException var4) { + Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + config_gui, var4); + continue; + } catch (InvalidConfigurationException var5) { + Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + config_gui, var5); continue; } Boolean aliasEnable = yamlConfiguration.getBoolean("Alias.Enable"); List aliasList; - if (SelectConfig.isConfigVersion < 3 && yamlConfiguration.get("Alias.AliasList") == null) { + if (yamlConfiguration.get("Alias.AliasList") == null) { AliasConfigConverter.convertAliasList(yamlConfiguration, config_gui); } aliasList = yamlConfiguration.getStringList("Alias.AliasList"); Boolean permNecessary = yamlConfiguration.getBoolean("Alias.Permission.Necessary"); + if (yamlConfiguration.get("Alias.Permission.Permission") == null) { + AliasConfigConverter.convertAddPermission(yamlConfiguration, config_gui, false); + } + String permission = yamlConfiguration.getString("Alias.Permission.Permission"); + if (yamlConfiguration.get("Alias.Permission.CustomNoPermissionMSG") == null) { + AliasConfigConverter.convertAddPermissionMSG(yamlConfiguration, config_gui, false); + } + String permissionMSG = yamlConfiguration.getString("Alias.Permission.CustomNoPermissionMSG"); Boolean costEnable = yamlConfiguration.getBoolean("Alias.Cost.Enable"); Double costPrice = yamlConfiguration.getDouble("Alias.Cost.Price"); @@ -73,7 +93,7 @@ public class SelectAlias { List consoleMessages = yamlConfiguration.getStringList("Alias.Console.Message.Messages"); Main.allAliases.addAll(aliasList); - AliasObject alias = new AliasObject(aliasEnable, aliasList, permNecessary, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand, + AliasObject alias = new AliasObject(aliasEnable, aliasList, permNecessary, permission, permissionMSG, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand, command, messageEnable, messages, adminEnable, adminPermission, adminCommandEnable, adminCommandAsConsole, adminBungeeCommand, adminCommands, adminMessageEnable, adminMessages, consoleEnable, consoleCommandEnable, consoleBungeeCommand, consoleCommands, consoleMessageEnable, consoleMessages); for (String al : aliasList) { diff --git a/src/main/java/net/t2code/alias/Spigot/config/languages/MSG.java b/src/main/java/net/t2code/alias/Spigot/config/languages/MSG.java index 5e838fc..4f53d5d 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/languages/MSG.java +++ b/src/main/java/net/t2code/alias/Spigot/config/languages/MSG.java @@ -15,30 +15,30 @@ public class MSG { // EN - public static String EN_OnlyForPlayer = "[prefix] &cThis command is for players only!"; + public static String EN_OnlyForPlayer = "[prefix] This command is for players only!"; public static String EN_Disabled = "Unknown command. Type ''/help'' for help."; - public static String EN_ReloadStart = "[prefix] &6Plugin is reloaded..."; - public static String EN_ReloadEnd = "[prefix] &2Plugin was successfully reloaded."; + public static String EN_ReloadStart = "[prefix] Plugin is reloaded..."; + public static String EN_ReloadEnd = "[prefix] Plugin was successfully reloaded."; - public static String EN_NoPermissionForCommand = "[prefix] &cFor &b[cmd] &cyou lack the permission &6[perm]&c!"; + public static String EN_NoPermissionForCommand = "[prefix] For [cmd] you lack the permission [perm]!"; - public static String EN_Buy = "[prefix] &2You have paid &6[price] &2for this command.&2."; - public static String EN_NoMoney = "[prefix] &cYou don't have enough money for this command!"; + public static String EN_Buy = "[prefix] You have paid [price] for this command."; + public static String EN_NoMoney = "[prefix] You don't have enough money for this command!"; // DE - public static String DE_OnlyForPlayer = "[prefix] &cDieser Command ist nur f[ue]r Spieler!"; + public static String DE_OnlyForPlayer = "[prefix] Dieser Command ist nur f[ue]r Spieler!"; public static String DE_Disabled = "Unknown command. Type ''/help'' for help."; - public static String DE_ReloadStart = "[prefix] &6Plugin wird neu geladen..."; - public static String DE_ReloadEnd = "[prefix] &2Plugin wurde erfolgreich neu geladen."; + public static String DE_ReloadStart = "[prefix] Plugin wird neu geladen..."; + public static String DE_ReloadEnd = "[prefix] Plugin wurde erfolgreich neu geladen."; - public static String DE_NoPermissionForCommand = "[prefix] &cF[ue]r &b[cmd] &cfehlt dir die Permission &6[perm]&c!"; + public static String DE_NoPermissionForCommand = "[prefix] F[ue]r [cmd] fehlt dir die Permission [perm]!"; - public static String DE_Buy = "[prefix] &2Du hast f[ue]r diesen Command &6[price] &2bezahlt."; - public static String DE_NoMoney = "[prefix] &cDu hast nicht gen[ue]gend Geld für diesen Command!"; + public static String DE_Buy = "[prefix] Du hast f[ue]r diesen Command [price] bezahlt."; + public static String DE_NoMoney = "[prefix] Du hast nicht gen[ue]gend Geld für diesen Command!"; } diff --git a/src/main/java/net/t2code/alias/Spigot/config/languages/SelectMessages.java b/src/main/java/net/t2code/alias/Spigot/config/languages/SelectMessages.java index 6f48932..837a7da 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/languages/SelectMessages.java +++ b/src/main/java/net/t2code/alias/Spigot/config/languages/SelectMessages.java @@ -44,6 +44,9 @@ public class SelectMessages { } else selectMSG = SelectConfig.language; YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(msg); + if (yamlConfiguration.get("Plugin.Prefix") != null) { + Util.setPrefix(replace(yamlConfiguration.getString("Plugin.Prefix"))); + } onlyForPlayer = replace(yamlConfiguration.getString("Plugin.OnlyForPlayer")); aliasDisabled = replace(yamlConfiguration.getString("Plugin.AliasDisabled")); reloadStart = replace(yamlConfiguration.getString("Plugin.Reload.Start")); diff --git a/src/main/java/net/t2code/alias/Spigot/config/subAlias/CreateExampleSubAliasConfig.java b/src/main/java/net/t2code/alias/Spigot/config/subAlias/CreateExampleSubAliasConfig.java index e797b64..563932d 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/subAlias/CreateExampleSubAliasConfig.java +++ b/src/main/java/net/t2code/alias/Spigot/config/subAlias/CreateExampleSubAliasConfig.java @@ -25,6 +25,8 @@ public class CreateExampleSubAliasConfig { Config.set("SubAlias.SubAliasFor", "aliasexample1",yamlConfiguration); Config.set("SubAlias.Permission.Necessary", true, yamlConfiguration); + Config.set("SubAlias.Permission.Permission", "t2code.alias.use.subalias.", yamlConfiguration); + Config.set("SubAlias.Permission.CustomNoPermissionMSG", "", yamlConfiguration); Config.set("SubAlias.Cost.Enable", false,yamlConfiguration); Config.set("SubAlias.Cost.Price", 0.0,yamlConfiguration); @@ -37,11 +39,6 @@ public class CreateExampleSubAliasConfig { Config.set("SubAlias.Message.Enable", false, yamlConfiguration); Config.set("SubAlias.Message.Messages", Collections.emptyList(), yamlConfiguration); - Config.set("SubAlias.Message.TextBuilder.Enable", false, yamlConfiguration); - Config.set("SubAlias.Message.TextBuilder.Hover", "", yamlConfiguration); - Config.set("SubAlias.Message.TextBuilder.ClickEvent.Enable", false, yamlConfiguration); - Config.set("SubAlias.Message.TextBuilder.ClickEvent.Action", "", yamlConfiguration); - Config.set("SubAlias.Message.TextBuilder.ClickEvent.ActionValue", "", yamlConfiguration); Config.set("SubAlias.Admin.Enable", true, yamlConfiguration); Config.set("SubAlias.Admin.Permission", "t2code.alias.admin", yamlConfiguration); @@ -53,11 +50,6 @@ public class CreateExampleSubAliasConfig { Config.set("SubAlias.Admin.Message.Enable", false, yamlConfiguration); Config.set("SubAlias.Admin.Message.Messages", Collections.emptyList(), yamlConfiguration); - Config.set("SubAlias.Admin.Message.TextBuilder.Enable", false, yamlConfiguration); - Config.set("SubAlias.Admin.Message.TextBuilder.Hover", "", yamlConfiguration); - Config.set("SubAlias.Admin.Message.TextBuilder.ClickEvent.Enable", false, yamlConfiguration); - Config.set("SubAlias.Admin.Message.TextBuilder.ClickEvent.Action", "", yamlConfiguration); - Config.set("SubAlias.Admin.Message.TextBuilder.ClickEvent.ActionValue", "", yamlConfiguration); Config.set("SubAlias.Console.Enable", false, yamlConfiguration); Config.set("SubAlias.Console.Command.Enable", false, yamlConfiguration); diff --git a/src/main/java/net/t2code/alias/Spigot/config/subAlias/SelectSubAlias.java b/src/main/java/net/t2code/alias/Spigot/config/subAlias/SelectSubAlias.java index 5d57453..23ab045 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/subAlias/SelectSubAlias.java +++ b/src/main/java/net/t2code/alias/Spigot/config/subAlias/SelectSubAlias.java @@ -1,13 +1,20 @@ package net.t2code.alias.Spigot.config.subAlias; +import com.google.common.base.Preconditions; import net.t2code.alias.Spigot.Main; +import net.t2code.alias.Spigot.config.alias.AliasConfigConverter; import net.t2code.alias.Spigot.objects.SubAliasObject; import net.t2code.alias.Util; import net.t2code.lib.Spigot.Lib.messages.send; +import org.bukkit.Bukkit; +import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; import java.util.List; +import java.util.logging.Level; public class SelectSubAlias { private static String Prefix = Util.getPrefix(); @@ -22,9 +29,21 @@ public class SelectSubAlias { if (config_gui.getName().equals("X_subAliasDeclaration_X.yml")) continue; String sub = config_gui.getName().substring(config_gui.getName().length() - 4); if (sub.equals(".yml")) { - - YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config_gui); - + YamlConfiguration yamlConfiguration; + try { + Preconditions.checkArgument(config_gui != null, "File cannot be null"); + YamlConfiguration config = new YamlConfiguration(); + config.load(config_gui); + yamlConfiguration = config; + } catch (FileNotFoundException var3) { + continue; + } catch (IOException var4) { + Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + config_gui, var4); + continue; + } catch (InvalidConfigurationException var5) { + Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + config_gui, var5); + continue; + } Boolean aliasEnable = yamlConfiguration.getBoolean("SubAlias.Enable"); List subAliasList = yamlConfiguration.getStringList("SubAlias.SubAliasList"); String subAliasFor = yamlConfiguration.getString("SubAlias.SubAliasFor"); @@ -38,6 +57,14 @@ public class SelectSubAlias { subAliasArg = args.length - 1; } Boolean permNecessary = yamlConfiguration.getBoolean("SubAlias.Permission.Necessary"); + if (yamlConfiguration.get("SubAlias.Permission.Permission") == null) { + AliasConfigConverter.convertAddPermission(yamlConfiguration, config_gui, true); + } + String permission = yamlConfiguration.getString("SubAlias.Permission.Permission"); + if (yamlConfiguration.get("SubAlias.Permission.CustomNoPermissionMSG") == null) { + AliasConfigConverter.convertAddPermissionMSG(yamlConfiguration, config_gui, true); + } + String permissionMSG = yamlConfiguration.getString("SubAlias.Permission.CustomNoPermissionMSG"); Boolean costEnable = yamlConfiguration.getBoolean("SubAlias.Cost.Enable"); Double costPrice = yamlConfiguration.getDouble("SubAlias.Cost.Price"); @@ -69,7 +96,7 @@ public class SelectSubAlias { Boolean consoleMessageEnable = yamlConfiguration.getBoolean("SubAlias.Console.Message.Enable"); List consoleMessages = yamlConfiguration.getStringList("SubAlias.Console.Message.Messages"); - SubAliasObject subAlias = new SubAliasObject(aliasEnable, subAliasList, subAliasFor, subAliasArg, permNecessary, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand, + SubAliasObject subAlias = new SubAliasObject(aliasEnable, subAliasList, subAliasFor, subAliasArg, permNecessary, permission, permissionMSG, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand, command, messageEnable, messages, adminEnable, adminPermission, adminCommandEnable, adminCommandAsConsole, adminBungeeCommand, adminCommands, adminMessageEnable, adminMessages, consoleEnable, consoleCommandEnable, consoleBungeeCommand, consoleCommands, consoleMessageEnable, consoleMessages); for (String sal : subAliasList) { diff --git a/src/main/java/net/t2code/alias/Spigot/objects/AliasObject.java b/src/main/java/net/t2code/alias/Spigot/objects/AliasObject.java index 4400520..6ab3eab 100644 --- a/src/main/java/net/t2code/alias/Spigot/objects/AliasObject.java +++ b/src/main/java/net/t2code/alias/Spigot/objects/AliasObject.java @@ -7,6 +7,8 @@ public class AliasObject { public List aliasList; public Boolean permNecessary; + public String permission; + public String permissionMSG; public Boolean costEnable; public Double costPrice; @@ -38,6 +40,8 @@ public class AliasObject { public AliasObject(Boolean aliasEnable, List aliasList, Boolean permNecessary, + String permission, + String permissionMSG, Boolean costEnable, Double costPrice, @@ -66,8 +70,10 @@ public class AliasObject { Boolean consoleMessageEnable, List consoleMessages) { this.aliasEnable = aliasEnable; - this.aliasList=aliasList; + this.aliasList = aliasList; this.permNecessary = permNecessary; + this.permission = permission; + this.permissionMSG = permissionMSG; this.costEnable = costEnable; this.costPrice = costPrice; diff --git a/src/main/java/net/t2code/alias/Spigot/objects/SubAliasObject.java b/src/main/java/net/t2code/alias/Spigot/objects/SubAliasObject.java index 565cbd7..777bfa0 100644 --- a/src/main/java/net/t2code/alias/Spigot/objects/SubAliasObject.java +++ b/src/main/java/net/t2code/alias/Spigot/objects/SubAliasObject.java @@ -9,6 +9,8 @@ public class SubAliasObject { public String subAliasFor; public Boolean permNecessary; + public String permission; + public String permissionMSG; public Boolean costEnable; public Double costPrice; @@ -42,6 +44,8 @@ public class SubAliasObject { String subAliasFor, Integer subAliasArg, Boolean permNecessary, + String permission, + String permissionMSG, Boolean costEnable, Double costPrice, @@ -74,6 +78,8 @@ public class SubAliasObject { this.subAliasFor = subAliasFor; this.subAliasArg = subAliasArg; this.permNecessary = permNecessary; + this.permission = permission; + this.permissionMSG = permissionMSG; this.costEnable = costEnable; this.costPrice = costPrice; diff --git a/src/main/java/net/t2code/alias/Util.java b/src/main/java/net/t2code/alias/Util.java index 9aac550..82beb79 100644 --- a/src/main/java/net/t2code/alias/Util.java +++ b/src/main/java/net/t2code/alias/Util.java @@ -31,4 +31,8 @@ public class Util { public static String getDiscord() { return Discord; } + + public static void setPrefix(String prefix) { + Prefix = prefix; + } } diff --git a/src/main/resources/Alias/X_aliasDeclaration_X.yml b/src/main/resources/Alias/X_aliasDeclaration_X.yml index 8272a5d..c11bb9f 100644 --- a/src/main/resources/Alias/X_aliasDeclaration_X.yml +++ b/src/main/resources/Alias/X_aliasDeclaration_X.yml @@ -1,24 +1,26 @@ #################################################################### -## To create another alias, simply copy the file ## -## and name it what you want the aliascommand to be. ## -## The alias command is always the filename without .yml!!! ## +## The alias command is no longer the filename! ## +## Multiple alias commands can now be specified in one file, ## +## so there is no need to create multiple files! ## +## This option is under 'Alias.AliasList' ## #################################################################### Alias: # Here you can disable the alias Enable: true - - - # >>>>>> New 1.1 <<<<<< <<<<<<<<<<<<<<<<<<<<< + # Specify here what the Alias commands should be for this function AliasList: - - alias1 - - alias2 - - + - aliasexample1 + - aliasexample2 Permission: # Here you can say if a permission is needed to use the alias# - # Permission: t2code.alias.use. Necessary: true + # Here you can set the permission for the alias. + # The placeholder is the alias name. + # If you have set multiple alias referrers in the list 'Alias.AliasList' you have a permission for each alias. + Permission: 't2code.alias.use.' + # Here you can set a custom No Permission message for this alias. If you want to use the default message, just leave this blank. + CustomNoPermissionMSG: "" Cost: # Here you can say if you have to pay for the alias Enable: false @@ -37,14 +39,33 @@ Alias: BungeeCommand: false # Here you can specify one or more commands to be executed. # Placeholder: [player] = The player who executes the alias - Commands: [] + Commands: [ ] Message: # Here you can specify whether the player should receive a message. Enable: false # Specify here the message that the player should get. # Multiple lines can be used and placeholders are supported! # Placeholder: [player] = The player who executes the alias - Messages: [] + # + # You can use Minecraft custom color codes: https://minecraft.fandom.com/de/wiki/Formatierungscodes + # You can use the hover module from T2Code: + # You can add a hover and/or clickable feature to all messages sent to players. + # Use /*/ to separate the message. + # Use [nl] to set a line break in a message or hover. + # Hover message: /*/ + # Message with hover and click function: /*//*//*/ + # Message only with click function: /*//*//*/ + # Action: + # - OPEN_URL - Opens a URL under the path specified in ActionValue. + # - OPEN_FILE - Opens a file under the path specified by ActionValue. + # - RUN_COMMAND - Runs the command specified by ActionValue. + # - SUGGEST_COMMAND - Inserts the string specified in ActionValue into the player text box. + # - CHANGE_PAGE - Changes to the page number in a book specified by ActionValue. + # - COPY_TO_CLIPBOARD - Copies the string specified by ActionValue to the player's clipboard. + # You can also use MiniMessage: + # Wiki: https://docs.adventure.kyori.net/minimessage/format.html + # WebUI: https://webui.adventure.kyori.net + Messages: [ ] # Here you can specify that players with the permission () have a different function than other players. # For example, you can say that players should come to a certain point and players with the admin function only to the server to the position where they were before. @@ -67,13 +88,32 @@ Alias: BungeeCommand: false # Here you can specify one or more commands to be executed. # Placeholder: [player] = The player who executes the alias - Commands: [] + Commands: [ ] Message: # Here you can specify whether the player should receive a message. Enable: false # Specify here the message that the player should get. # Multiple lines can be used and placeholders are supported! # Placeholder: [player] = The player who executes the alias + # + # You can use Minecraft custom color codes: https://minecraft.fandom.com/de/wiki/Formatierungscodes + # You can use the hover module from T2Code: + # You can add a hover and/or clickable feature to all messages sent to players. + # Use /*/ to separate the message. + # Use [nl] to set a line break in a message or hover. + # Hover message: /*/ + # Message with hover and click function: /*//*//*/ + # Message only with click function: /*//*//*/ + # Action: + # - OPEN_URL - Opens a URL under the path specified in ActionValue. + # - OPEN_FILE - Opens a file under the path specified by ActionValue. + # - RUN_COMMAND - Runs the command specified by ActionValue. + # - SUGGEST_COMMAND - Inserts the string specified in ActionValue into the player text box. + # - CHANGE_PAGE - Changes to the page number in a book specified by ActionValue. + # - COPY_TO_CLIPBOARD - Copies the string specified by ActionValue to the player's clipboard. + # You can also use MiniMessage: + # Wiki: https://docs.adventure.kyori.net/minimessage/format.html + # WebUI: https://webui.adventure.kyori.net Messages: [ ] Console: @@ -91,4 +131,4 @@ Alias: # Here you can specify whether the player should receive a message. Enable: false # Specify here the message that the player should get. - Messages: [ ] + Messages: [ ] \ No newline at end of file diff --git a/src/main/resources/SubAlias/X_subAliasDeclaration_X.yml b/src/main/resources/SubAlias/X_subAliasDeclaration_X.yml index 34e11cc..3f64cc9 100644 --- a/src/main/resources/SubAlias/X_subAliasDeclaration_X.yml +++ b/src/main/resources/SubAlias/X_subAliasDeclaration_X.yml @@ -1,25 +1,26 @@ -#################################################################### -## To create another alias, simply copy the file ## -## and name it what you want the aliascommand to be. ## -## The alias command is always the filename without .yml!!! ## -#################################################################### +# SubAlias: # Here you can disable the alias Enable: true - - - # >>>>>> New 1.1 <<<<<< <<<<<<<<<<<<<<<<<<<<< + # Specify here what the SubAlias commands should be for this function SubAliasList: - subalias1 + # Enter here the alias command where the subalias should follow. + # For example: + # - aliasexample1 -> aliasexample1 + # - aliasexample2 test -> aliasexample2 test SubAliasFor: - - alias1 - - + - aliasexample1 Permission: # Here you can say if a permission is needed to use the alias# - # Permission: t2code.subalias.use. Necessary: true + # Here you can set the permission for the alias. + # The placeholder is the alias name. + # If you have set multiple alias referrers in the list 'Alias.AliasList' you have a permission for each alias. + Permission: 't2code.alias.use.subalias.' + # Here you can set a custom No Permission message for this alias. If you want to use the default message, just leave this blank. + CustomNoPermissionMSG: "" Cost: # Here you can say if you have to pay for the alias Enable: false @@ -45,6 +46,25 @@ SubAlias: # Specify here the message that the player should get. # Multiple lines can be used and placeholders are supported! # Placeholder: [player] = The player who executes the alias + # + # You can use Minecraft custom color codes: https://minecraft.fandom.com/de/wiki/Formatierungscodes + # You can use the hover module from T2Code: + # You can add a hover and/or clickable feature to all messages sent to players. + # Use /*/ to separate the message. + # Use [nl] to set a line break in a message or hover. + # Hover message: /*/ + # Message with hover and click function: /*//*//*/ + # Message only with click function: /*//*//*/ + # Action: + # - OPEN_URL - Opens a URL under the path specified in ActionValue. + # - OPEN_FILE - Opens a file under the path specified by ActionValue. + # - RUN_COMMAND - Runs the command specified by ActionValue. + # - SUGGEST_COMMAND - Inserts the string specified in ActionValue into the player text box. + # - CHANGE_PAGE - Changes to the page number in a book specified by ActionValue. + # - COPY_TO_CLIPBOARD - Copies the string specified by ActionValue to the player's clipboard. + # You can also use MiniMessage: + # Wiki: https://docs.adventure.kyori.net/minimessage/format.html + # WebUI: https://webui.adventure.kyori.net Messages: [] # Here you can specify that players with the permission () have a different function than other players. @@ -75,6 +95,25 @@ SubAlias: # Specify here the message that the player should get. # Multiple lines can be used and placeholders are supported! # Placeholder: [player] = The player who executes the alias + # + # You can use Minecraft custom color codes: https://minecraft.fandom.com/de/wiki/Formatierungscodes + # You can use the hover module from T2Code: + # You can add a hover and/or clickable feature to all messages sent to players. + # Use /*/ to separate the message. + # Use [nl] to set a line break in a message or hover. + # Hover message: /*/ + # Message with hover and click function: /*//*//*/ + # Message only with click function: /*//*//*/ + # Action: + # - OPEN_URL - Opens a URL under the path specified in ActionValue. + # - OPEN_FILE - Opens a file under the path specified by ActionValue. + # - RUN_COMMAND - Runs the command specified by ActionValue. + # - SUGGEST_COMMAND - Inserts the string specified in ActionValue into the player text box. + # - CHANGE_PAGE - Changes to the page number in a book specified by ActionValue. + # - COPY_TO_CLIPBOARD - Copies the string specified by ActionValue to the player's clipboard. + # You can also use MiniMessage: + # Wiki: https://docs.adventure.kyori.net/minimessage/format.html + # WebUI: https://webui.adventure.kyori.net Messages: [ ] Console: @@ -92,4 +131,4 @@ SubAlias: # Here you can specify whether the player should receive a message. Enable: false # Specify here the message that the player should get. - Messages: [ ] + Messages: [ ] \ No newline at end of file From 63f8a8a5e2ea6c1d36bdce71b129cda5c9f3bcab Mon Sep 17 00:00:00 2001 From: JaTiTV Date: Sat, 9 Jul 2022 04:40:03 +0200 Subject: [PATCH 8/9] 1.1.0_Snapshot-#3 --- pom.xml | 2 +- .../alias/Spigot/cmdManagement/TabEvent.java | 26 ++++++++++--------- .../config/alias/AliasConfigConverter.java | 8 +++--- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/pom.xml b/pom.xml index e6de707..9c61c66 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ net.t2code Alias - 1.1.0_Snapshot-#1 + 1.1.0_Snapshot-#3 jar T2C-Alias diff --git a/src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java b/src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java index 47e85ec..1fa238a 100644 --- a/src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java +++ b/src/main/java/net/t2code/alias/Spigot/cmdManagement/TabEvent.java @@ -17,30 +17,32 @@ public class TabEvent implements Listener { public void onTab(TabCompleteEvent e) { String buffer = e.getBuffer(); String[] imp = buffer.replace("/", "").split(" "); - if (!Main.allAliases.contains(imp[0])) return; - if (!Main.allForSubAliases.contains(imp[0])) return; - arg1.clear(); List list = new ArrayList<>(Collections.emptyList()); - for (String sals : Main.allSubAliases) { - SubAliasObject sal = Main.subAliasHashMap.get(sals); - if (!buffer.contains(sal.subAliasFor)) continue; + if (!Main.allAliases.contains(imp[0]) || !Main.allForSubAliases.contains(imp[0])){ + e.setCompletions(list); + return; + } + arg1.clear(); - String[] im = sal.subAliasFor.split(" "); + for (String sals : Main.allSubAliases) { + SubAliasObject aliasObject = Main.subAliasHashMap.get(sals); + if (!buffer.contains(aliasObject.subAliasFor)) continue; + + String[] im = aliasObject.subAliasFor.split(" "); String input = buffer.replace("/" + im[0] + " ", ""); String[] args = input.split(" ", -1); - for (String al : sal.subAliasList) { - arg1.put(al, "t2code.alias.use.subalias." + al.toLowerCase()); + for (String al : aliasObject.subAliasList) { + arg1.put(al, aliasObject.permission.replace("", al.toLowerCase())); } - int arg = sal.subAliasArg; + int arg = aliasObject.subAliasArg; if (args.length - 1 == arg) { - for (String command : sal.subAliasList) { + for (String command : aliasObject.subAliasList) { if (Tab.hasPermission(e.getSender(), arg1.get(command)) && Tab.passend(command, args[arg])) { list.add(command); } } } - } e.setCompletions(list); } diff --git a/src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java b/src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java index 44f020c..2056e2c 100644 --- a/src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java +++ b/src/main/java/net/t2code/alias/Spigot/config/alias/AliasConfigConverter.java @@ -36,8 +36,8 @@ public class AliasConfigConverter { public static void convertAddPermission(YamlConfiguration yamlConfiguration, File config_gui, Boolean subalias) { if (subalias) { - yamlConfiguration.set("Alias.Permission.Permission", "t2code.alias.use."); - } else yamlConfiguration.set("SubAlias.Permission.Permission", "t2code.alias.use.subalias."); + yamlConfiguration.set("SubAlias.Permission.Permission", "t2code.alias.use.subalias."); + } else yamlConfiguration.set("Alias.Permission.Permission", "t2code.alias.use."); try { yamlConfiguration.save(config_gui); } catch (IOException e) { @@ -47,8 +47,8 @@ public class AliasConfigConverter { public static void convertAddPermissionMSG(YamlConfiguration yamlConfiguration, File config_gui, Boolean subalias) { if (subalias) { - yamlConfiguration.set("Alias.Permission.CustomNoPermissionMSG", ""); - } else yamlConfiguration.set("SubAlias.Permission.CustomNoPermissionMSG", ""); + yamlConfiguration.set("SubAlias.Permission.CustomNoPermissionMSG", ""); + } else yamlConfiguration.set("Alias.Permission.CustomNoPermissionMSG", ""); try { yamlConfiguration.save(config_gui); } catch (IOException e) { From b9a91baed7743ede642ed9c4822841ccd1dbcf12 Mon Sep 17 00:00:00 2001 From: JaTiTV Date: Thu, 14 Jul 2022 21:56:13 +0200 Subject: [PATCH 9/9] 1.1.0 --- pom.xml | 3 +-- src/main/java/net/t2code/alias/Util.java | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 9c61c66..c658675 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ net.t2code Alias - 1.1.0_Snapshot-#3 + 1.1.0 jar T2C-Alias @@ -86,6 +86,5 @@ spigot 1.19r1 - diff --git a/src/main/java/net/t2code/alias/Util.java b/src/main/java/net/t2code/alias/Util.java index 82beb79..6a533fe 100644 --- a/src/main/java/net/t2code/alias/Util.java +++ b/src/main/java/net/t2code/alias/Util.java @@ -1,7 +1,7 @@ package net.t2code.alias; public class Util { - private static String requiredT2CodeLibVersion = "12.4"; + private static String requiredT2CodeLibVersion = "12.5"; private static String Prefix = "§8[§4T2Code§7-§aAlias§8]"; private static Integer SpigotID = 96389; private static Integer BstatsID = 12517;