Compare commits

...

19 Commits

Author SHA1 Message Date
JaTiTV 9aede116ac 1.4
Bugfix:
Fixed a bug where the plugin was not loading properly
2023-07-31 18:35:45 +02:00
JaTiTV 97fc283951 1.3 hotfix 2023-07-16 11:43:13 +02:00
JaTiTV 7e6c889583 1.3
T2CodeLib 15.7 is required
2023-07-16 08:27:20 +02:00
JaTiTV a1ffd48f3e The admin permission now also supports the placeholder <alias>.
The admin permission now also supports the placeholder <alias>.
2023-07-16 08:19:03 +02:00
JaTiTV 0c1d32e0e8 Update AliasRegisterPermissions.java
Bugfix: The permissions of the alias commands were not registered
2023-07-16 08:10:18 +02:00
JaTiTV 987370586a 1.3_beta-2
A bug was fixed, if you use confirm via the gui and let another gui open via the alias, then this direnk was closed again.
2023-07-09 17:46:16 +02:00
JaTiTV 020f33da07 Update pom.xml 2023-07-09 17:01:29 +02:00
JaTiTV 48196f446c Update Language.java 2023-07-09 17:01:28 +02:00
JaTiTV 6e96509069 final 1.2.3_beta-1 2023-07-08 22:47:52 +02:00
JaTiTV fd0db6939a 1.2.3_beta-1 2023-07-08 21:30:45 +02:00
JaTiTV b5f3737fbd 1.2.2 2023-06-30 18:50:32 +02:00
JaTiTV 7833144a9a 1.2.1
- API update to Minecraft version 1.20
- T2CodeLib API update to 15.0 (this version is required from now on)
2023-06-08 07:23:14 +02:00
JaTiTV 10e23c6dcf Update pom.xml 2023-06-08 07:12:30 +02:00
JaTiTV be73deface [1.2.0 Stable]
- Added an option for players to confirm when an alias costs. (Per alias adjustable)
- Preselected T2CodeLib version: 14.5
2023-05-10 21:12:16 +02:00
JaTiTV f4d8d3496a Update pom.xml 2023-05-04 16:44:45 +02:00
JaTiTV 5514e62f5d Update pom.xml 2023-05-04 16:43:04 +02:00
JaTiTV ba1db37a90 dev fix 2023-05-04 16:38:21 +02:00
JaTiTV 02e7020815 1.2.0 Dev
[HOTFIX CODE] Added an option for players to confirm when an alias costs. (Per alias adjustable)
2023-05-03 22:47:58 +02:00
JaTiTV 546b827e02 1.2.0 Dev
Added an option for players to confirm when an alias costs. (Per alias adjustable)
2023-05-03 22:35:46 +02:00
38 changed files with 866 additions and 433 deletions

17
pom.xml
View File

@ -6,7 +6,8 @@
<groupId>net.t2code</groupId>
<artifactId>Alias</artifactId>
<version>1.1.7</version>
<version>1.4</version>
<packaging>jar</packaging>
<name>T2C-Alias</name>
@ -19,6 +20,7 @@
<url>T2Code.net</url>
<build>
<finalName>${project.name}_${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@ -69,22 +71,33 @@
<dependency>
<groupId>net.t2code</groupId>
<artifactId>T2CodeLib</artifactId>
<version>13.4</version>
<version>15.7</version>
<!--classifier>dev-3</classifier-->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.t2code</groupId>
<artifactId>bungee</artifactId>
<version>1615</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.t2code</groupId>
<artifactId>PlugmanGUI</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.t2code.minecraft.1_13.r1</groupId>
<artifactId>spigot</artifactId>
<version>1.13r1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,12 @@
package net.t2code.alias.Spigot;
import net.t2code.alias.Spigot.objects.AliasStorageObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.UUID;
public class Cache {
public static ArrayList<UUID> openPlayers = new ArrayList<UUID>();
public static HashMap<UUID, AliasStorageObject> aliasStorage = new HashMap<>();
}

View File

@ -1,5 +1,6 @@
package net.t2code.alias.Spigot;
import lombok.Getter;
import net.t2code.alias.Spigot.objects.AliasObject;
import net.t2code.alias.Spigot.objects.SubAliasObject;
import net.t2code.alias.Spigot.system.BukkitCommandWrap;
@ -7,6 +8,7 @@ import net.t2code.alias.Spigot.system.BukkitCommandWrap_Useless;
import net.t2code.alias.Spigot.system.Load;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Ctemplate;
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2CmcVersion;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
@ -21,9 +23,14 @@ public final class Main extends JavaPlugin {
return plugin.getDataFolder();
}
@Getter
private static String version;
@Getter
private static List<String> autor;
@Getter
private static Main plugin;
@Getter
private static String guiCode;
public static HashMap<String, AliasObject> aliasHashMap = new HashMap<>();
public static HashMap<String, Boolean> loadAliasHashMap = new HashMap<>();
public static HashMap<String, SubAliasObject> subAliasHashMap = new HashMap<>();
@ -31,6 +38,14 @@ public final class Main extends JavaPlugin {
public static ArrayList<String> allSubAliases = new ArrayList<>();
public static ArrayList<String> allForSubAliases = new ArrayList<>();
private BukkitCommandWrap bukkitCommandWrap = null;
public BukkitCommandWrap getBukkitCommandWrap() {
return this.bukkitCommandWrap;
}
@Override
public void onEnable() {
// Plugin startup logic
@ -44,6 +59,9 @@ public final class Main extends JavaPlugin {
} catch (ClassNotFoundException | NoClassDefFoundError e) {
this.bukkitCommandWrap = new BukkitCommandWrap_Useless();
}
if (T2CmcVersion.isMc1_13()) {
guiCode = "";
} else guiCode = "§6§8§9§r";
Load.onLoad(Util.getPrefix(), autor, version, Util.getSpigot(), Util.getDiscord(), Util.getBstatsID());
}
@ -88,22 +106,4 @@ public final class Main extends JavaPlugin {
return false;
}
}
public static Main getPlugin() {
return plugin;
}
public static String getVersion() {
return version;
}
public static List<String> getAutor() {
return autor;
}
private BukkitCommandWrap bukkitCommandWrap = null;
public BukkitCommandWrap getBukkitCommandWrap() {
return this.bukkitCommandWrap;
}
}

View File

@ -1,6 +1,8 @@
package net.t2code.alias.Spigot.cmdManagement;
import net.t2code.alias.Spigot.config.languages.SelectMessages;
import net.t2code.alias.Spigot.config.config.Config;
import net.t2code.alias.Spigot.config.config.Language;
import net.t2code.alias.Spigot.enums.Confirm;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
@ -23,7 +25,7 @@ public class AliasCmdExecuter implements CommandExecutor, TabCompleter {
// Command
if (sender.hasPermission("t2code.alias.command.info")) {
Commands.info(sender);
} else T2Csend.sender(sender, SelectMessages.noPermissionForCommand.replace("[cmd]", "/t2code-alias info")
} else T2Csend.sender(sender, Language.noPermission.value.replace("[cmd]", "/t2code-alias info")
.replace("[perm]", "t2code.alias.command.info"));
} else {
switch (args[0].toLowerCase()) {
@ -31,15 +33,21 @@ public class AliasCmdExecuter implements CommandExecutor, TabCompleter {
case "rl":
if (sender.hasPermission("t2code.alias.command.reload") || sender.isOp()) {
Commands.reload(sender);
} else T2Csend.sender(sender, SelectMessages.noPermissionForCommand.replace("[cmd]", "/t2code-alias reload")
} else T2Csend.sender(sender, Language.noPermission.value.replace("[cmd]", "/t2code-alias reload")
.replace("[perm]", "t2code.alias.command.reload"));
break;
case "confirm":
if (Config.buyConfirmDefault.value == Confirm.COMMAND) ExecuteAlias.storage(sender, true);
break;
case "cancel":
ExecuteAlias.storage(sender, false);
break;
case "info":
case "plugin":
case "version":
if (sender.hasPermission("t2code.alias.command.info")) {
Commands.info(sender);
} else T2Csend.sender(sender, SelectMessages.noPermissionForCommand.replace("[cmd]", "/t2code-alias info")
} else T2Csend.sender(sender, Language.noPermission.value.replace("[cmd]", "/t2code-alias info")
.replace("[perm]", "t2code.alias.command.info"));
break;

View File

@ -1,7 +1,7 @@
package net.t2code.alias.Spigot.cmdManagement;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Spigot.config.languages.SelectMessages;
import net.t2code.alias.Spigot.config.config.Language;
import net.t2code.alias.Spigot.system.Load;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
@ -15,12 +15,12 @@ public class Commands {
}
public static void reload(CommandSender sender) {
if (sender instanceof Player) T2Csend.player((Player) sender, SelectMessages.reloadStart);
if (sender instanceof Player) T2Csend.player((Player) sender, Language.reloadStart.value);
T2Csend.console(Util.getPrefix() + "§8-------------------------------");
T2Csend.console(Util.getPrefix() + " §6Plugin reload...");
T2Csend.console(Util.getPrefix() + "§8-------------------------------");
Load.loadReload();
if (sender instanceof Player) T2Csend.player((Player) sender, SelectMessages.reloadEnd);
if (sender instanceof Player) T2Csend.player((Player) sender, Language.reloadEnd.value);
T2Csend.console(Util.getPrefix() + "§8-------------------------------");
T2Csend.console(Util.getPrefix() + " §2Plugin successfully reloaded.");
T2Csend.console(Util.getPrefix() + "§8-------------------------------");

View File

@ -1,8 +1,12 @@
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.Cache;
import net.t2code.alias.Spigot.config.config.Config;
import net.t2code.alias.Spigot.config.config.Language;
import net.t2code.alias.Spigot.confirm.gui.ConfirmGUI;
import net.t2code.alias.Spigot.enums.Confirm;
import net.t2code.alias.Spigot.objects.AliasObject;
import net.t2code.alias.Spigot.objects.AliasStorageObject;
import net.t2code.alias.Spigot.objects.SubAliasObject;
import net.t2code.alias.Spigot.system.BCommandSenderReciver;
import net.t2code.alias.Util;
@ -11,6 +15,7 @@ import net.t2code.t2codelib.SPIGOT.api.eco.T2Ceco;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Creplace;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
import net.t2code.t2codelib.SPIGOT.api.plugins.T2CpluginCheck;
import net.t2code.t2codelib.SPIGOT.api.yaml.T2CLibConfig;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@ -19,13 +24,35 @@ import java.util.List;
import java.util.stream.Collectors;
public class ExecuteAlias {
private static final String prefix = Util.getPrefix();
public static void storage(CommandSender sender, boolean confirm) {
Player player = (Player) sender;
if (!Cache.aliasStorage.containsKey(player.getUniqueId())) {
T2Csend.player(player, Language.confirmNotPossible.value);
return;
}
AliasStorageObject object = Cache.aliasStorage.get(player.getUniqueId());
Cache.aliasStorage.remove(player.getUniqueId());
if (!confirm) {
T2Csend.player(player, Language.confirmCancel.value);
return;
}
if (object.sub) {
executeSubAlias(player, (SubAliasObject) object.aliasObject, object.alias, object.args);
} else executeAlias(player, (AliasObject) object.aliasObject, object.alias, object.args);
}
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 (player.hasPermission(aliasObject.adminPermission.replace("<alias>", alias.toLowerCase()))) {
if (aliasObject.adminCommandEnable) {
aliasAdminCommand(aliasObject, alias, player, args);
}
@ -40,20 +67,46 @@ public class ExecuteAlias {
if (!(player.hasPermission(aliasObject.permission.replace("<alias>", alias.toLowerCase())) || player.hasPermission("t2code.alias.admin"))) {
String npmsg;
if (aliasObject.permissionMSG == null || aliasObject.permissionMSG.equals("")) {
npmsg = SelectMessages.noPermissionForCommand;
npmsg = Language.noPermission.value;
} else npmsg = aliasObject.permissionMSG;
T2Csend.player(player, npmsg.replace("[cmd]", "/" + alias.toLowerCase())
.replace("[perm]", aliasObject.permission.replace("<alias>", alias.toLowerCase())).replace("[alias]", alias));
return;
}
}
if (aliasObject.costEnable && aliasObject.costConfirm) {
if (!(aliasObject.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass"))) {
Cache.aliasStorage.put(player.getUniqueId(), new AliasStorageObject(aliasObject, alias, args, false));
switch ((Confirm) Config.buyConfirmDefault.value) {
case GUI:
ConfirmGUI.open(player, aliasObject.costPrice, alias);
break;
case CHAT:
T2Csend.player(player, Language.confirmChat.value.replace("[price]", aliasObject.costPrice.toString() + " " + Config.buyCurrency.value));
break;
case COMMAND:
default:
T2Csend.player(player, Language.confirmCommand.value.replace("[price]", aliasObject.costPrice.toString() + " " + Config.buyCurrency.value));
break;
}
return;
}
}
executeAlias(player, aliasObject, alias, args);
}
protected static void executeAlias(Player player, AliasObject aliasObject, String alias, String[] args) {
if (aliasObject.costEnable) {
if (!(aliasObject.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass"))) {
if (!T2Ceco.moneyRemove(prefix, player, aliasObject.costPrice)) {
T2Csend.player(player, SelectMessages.noMoney);
T2Csend.player(player, Language.noMoney.value);
return;
}
if (SelectConfig.getBuyMessage()) T2Csend.player(player, SelectMessages.buy.replace("[price]", aliasObject.costPrice.toString()));
if ((Boolean) Config.buyMessage.value)
T2Csend.player(player, Language.buy.value.replace("[price]", aliasObject.costPrice.toString() + " " + Config.buyCurrency.value));
}
}
if (aliasObject.commandEnable) {
@ -66,7 +119,7 @@ public class ExecuteAlias {
protected static void subAliasPlayer(CommandSender sender, SubAliasObject aliasObject, String alias, String[] args) {
if (!aliasObject.subAliasEnable) {
T2Csend.sender(sender, SelectMessages.aliasDisabled);
T2Csend.sender(sender, Language.aliasDisabled.value);
return;
}
@ -74,9 +127,9 @@ public class ExecuteAlias {
Player player = (Player) sender;
if (aliasObject.adminEnable) {
if (player.hasPermission(aliasObject.adminPermission)) {
if (player.hasPermission(aliasObject.adminPermission.replace("<alias>", alias.toLowerCase()))){
if (aliasObject.adminCommandEnable) {
subAliasAdminCommand(aliasObject,alias, player, args);
subAliasAdminCommand(aliasObject, alias, player, args);
}
if (aliasObject.adminMessageEnable) {
subAliasAdminMessage(aliasObject, alias, player, args);
@ -89,32 +142,58 @@ public class ExecuteAlias {
if (!(player.hasPermission(aliasObject.permission.replace("<alias>", alias.toLowerCase())) || player.hasPermission("t2code.alias.admin"))) {
String npmsg;
if (aliasObject.permissionMSG == null || aliasObject.permissionMSG.equals("")) {
npmsg = SelectMessages.noPermissionForCommand;
npmsg = Language.noPermission.value;
} else npmsg = aliasObject.permissionMSG;
T2Csend.player(player, npmsg.replace("[cmd]", "/" + alias.toLowerCase())
.replace("[perm]", aliasObject.permission.replace("<alias>", alias.toLowerCase())).replace("[alias]", alias));
return;
}
}
if (aliasObject.costEnable) {
if (aliasObject.costEnable && aliasObject.costConfirm) {
if (!(aliasObject.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass"))) {
if (!T2Ceco.moneyRemove(prefix, player, aliasObject.costPrice)) {
T2Csend.player(player, SelectMessages.noMoney);
return;
Cache.aliasStorage.put(player.getUniqueId(), new AliasStorageObject(aliasObject, alias, args, true));
switch ((Confirm) Config.buyConfirmDefault.value) {
case GUI:
ConfirmGUI.open(player, aliasObject.costPrice, alias);
break;
case CHAT:
T2Csend.player(player, Language.confirmChat.value.replace("[price]", aliasObject.costPrice.toString() + " " + Config.buyCurrency.value));
break;
case COMMAND:
default:
T2Csend.player(player, Language.confirmCommand.value.replace("[price]", aliasObject.costPrice.toString() + " " + Config.buyCurrency.value));
break;
}
if (SelectConfig.getBuyMessage()) T2Csend.player(player, SelectMessages.buy.replace("[price]", aliasObject.costPrice.toString()));
return;
}
}
if (aliasObject.commandEnable) {
subAliasCommand(aliasObject, player, args);
}
if (aliasObject.messageEnable) {
subAliasMessage(aliasObject, alias, player, args);
}
executeSubAlias(player, aliasObject, alias, args);
} else {
if (aliasObject.consoleEnable) {
subAliasConsole(aliasObject,alias, sender, args);
} else T2Csend.sender(sender, SelectMessages.onlyForPlayer);
subAliasConsole(aliasObject, alias, sender, args);
} else T2Csend.sender(sender, Language.onlyForPlayer.value);
}
}
protected static void executeSubAlias(Player player, SubAliasObject aliasObject, String alias, String[] args) {
if (aliasObject.costEnable) {
if (!(aliasObject.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass"))) {
if (!T2Ceco.moneyRemove(prefix, player, aliasObject.costPrice)) {
T2Csend.player(player, Language.noMoney.value);
return;
}
if ((Boolean) Config.buyMessage.value)
T2Csend.player(player, Language.buy.value.replace("[price]", aliasObject.costPrice.toString() + " " + Config.buyCurrency.value));
}
}
if (aliasObject.commandEnable) {
subAliasCommand(aliasObject, player, args);
}
if (aliasObject.messageEnable) {
subAliasMessage(aliasObject, alias, player, args);
}
}
@ -122,7 +201,7 @@ public class ExecuteAlias {
if (alias.consoleCommandEnable) {
for (String cmd : alias.consoleCommands) {
if (alias.consoleBungeeCommand) {
if (SelectConfig.getBungee()) {
if (T2CLibConfig.getBungee()) {
BCommandSenderReciver.sendToBungee(sender, cmd, true);
} else {
T2Csend.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config.");
@ -152,7 +231,7 @@ public class ExecuteAlias {
for (String cmd : aliasObject.consoleCommands) {
String replace = cmd.replace("[target]", targetSt).replace("[alias]", alias);
if (aliasObject.consoleBungeeCommand) {
if (SelectConfig.getBungee()) {
if (T2CLibConfig.getBungee()) {
BCommandSenderReciver.sendToBungee(sender, replace, true);
} else {
T2Csend.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config.");
@ -180,7 +259,7 @@ public class ExecuteAlias {
}
for (String cmd : aliasObject.adminCommands) {
if (aliasObject.adminBungeeCommand) {
if (SelectConfig.getBungee()) {
if (T2CLibConfig.getBungee()) {
BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt).replace("[alias]", alias), aliasObject.adminCommandAsConsole);
} else {
@ -207,7 +286,7 @@ public class ExecuteAlias {
}
for (String cmd : aliasObject.adminCommands) {
if (aliasObject.adminBungeeCommand) {
if (SelectConfig.getBungee()) {
if (T2CLibConfig.getBungee()) {
BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt).replace("[alias]", alias), aliasObject.adminCommandAsConsole);
} else {
@ -272,7 +351,7 @@ public class ExecuteAlias {
}
for (String cmd : aliasObject.command) {
if (aliasObject.bungeeCommand) {
if (SelectConfig.getBungee()) {
if (T2CLibConfig.getBungee()) {
BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt).replace("[alias]", alias), aliasObject.commandAsConsole);
} else {
T2Csend.console(Util.getPrefix() + " §4To use bungee commands, enable the Bungee option in the config.");
@ -298,7 +377,7 @@ public class ExecuteAlias {
}
for (String cmd : alias.command) {
if (alias.bungeeCommand) {
if (SelectConfig.getBungee()) {
if (T2CLibConfig.getBungee()) {
BCommandSenderReciver.sendToBungee(player, cmd.replace("[player]", player.getName()).replace("[target]", targetSt), alias.commandAsConsole);
} else {

View File

@ -1,20 +1,15 @@
package net.t2code.alias.Spigot.cmdManagement;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Spigot.config.languages.SelectMessages;
import net.t2code.alias.Spigot.config.config.Language;
import net.t2code.alias.Spigot.objects.AliasObject;
import net.t2code.alias.Spigot.objects.SubAliasObject;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class RegisterCommands extends Command {
private String alias;
private String prefix = Util.getPrefix();
@ -33,7 +28,7 @@ public class RegisterCommands extends Command {
return false;
}
if (!alias.aliasEnable) {
T2Csend.sender(sender, SelectMessages.aliasDisabled);
T2Csend.sender(sender, Language.aliasDisabled.value);
return true;
}
if (args.length == 0 || args.length == 1 && args[0].contains("-p:")) {
@ -42,7 +37,7 @@ public class RegisterCommands extends Command {
} else {
if (alias.consoleEnable) {
ExecuteAlias.aliasConsole(alias, sender, prefix);
} else T2Csend.sender(sender, SelectMessages.onlyForPlayer);
} else T2Csend.sender(sender, Language.onlyForPlayer.value);
}
} else {
if (!Main.allForSubAliases.contains(this.alias)) {
@ -59,7 +54,7 @@ public class RegisterCommands extends Command {
}
}
}
T2Csend.sender(sender, SelectMessages.noSubCommand);
T2Csend.sender(sender, Language.noSubCommand.value);
}
return true;
}

View File

@ -55,4 +55,15 @@ public class AliasConfigConverter {
e.printStackTrace();
}
}
public static void convertAddCostConfirm(YamlConfiguration yamlConfiguration, File config_gui, Boolean subalias) {
if (subalias) {
yamlConfiguration.set("SubAlias.Cost.Confirm", false);
} else yamlConfiguration.set("Alias.Cost.Confirm", false);
try {
yamlConfiguration.save(config_gui);
} catch (IOException e) {
e.printStackTrace();
}
}
}

View File

@ -28,6 +28,7 @@ public class CreateExampleAliasConfig {
T2Cconfig.set("Alias.Permission.CustomNoPermissionMSG", "", yamlConfiguration);
T2Cconfig.set("Alias.Cost.Enable", false,yamlConfiguration);
T2Cconfig.set("Alias.Cost.Confirm", true,yamlConfiguration);
T2Cconfig.set("Alias.Cost.Price", 0.0,yamlConfiguration);
T2Cconfig.set("Alias.Cost.AllowByPass", true,yamlConfiguration);

View File

@ -66,6 +66,10 @@ public class SelectAlias {
String permissionMSG = yamlConfiguration.getString("Alias.Permission.CustomNoPermissionMSG");
Boolean costEnable = yamlConfiguration.getBoolean("Alias.Cost.Enable");
if (yamlConfiguration.get("Alias.Cost.Confirm") == null) {
AliasConfigConverter.convertAddCostConfirm(yamlConfiguration, config_gui, false);
}
Boolean costConfirm = yamlConfiguration.getBoolean("Alias.Cost.Confirm");
Double costPrice = yamlConfiguration.getDouble("Alias.Cost.Price");
Boolean costAllowBypass = yamlConfiguration.getBoolean("Alias.Cost.AllowByPass");
@ -96,7 +100,7 @@ public class SelectAlias {
List<String> consoleMessages = yamlConfiguration.getStringList("Alias.Console.Message.Messages");
Main.allAliases.addAll(aliasList);
AliasObject alias = new AliasObject(aliasEnable, aliasList, permNecessary, permission, permissionMSG, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand,
AliasObject alias = new AliasObject(aliasEnable, aliasList, permNecessary, permission, permissionMSG, costEnable, costConfirm, 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) {

View File

@ -0,0 +1,45 @@
package net.t2code.alias.Spigot.config.config;
import net.t2code.alias.Spigot.enums.ConfigParam;
import net.t2code.alias.Spigot.enums.Confirm;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.items.T2CitemBuilder;
import net.t2code.t2codelib.SPIGOT.api.items.T2CitemVersion;
import net.t2code.t2codelib.SPIGOT.api.minecraftVersion.T2CmcVersion;
import org.bukkit.Sound;
public enum Config {
configVersion("configVersion", Util.getConfigVersion(), ConfigParam.INTEGER),
language("plugin.language", "english", ConfigParam.STRING),
updateCheckOnJoin("plugin.updateCheck.onJoin", true, ConfigParam.BOOLEAN),
updateCheckSeePreReleaseUpdates("plugin.updateCheck.seePreReleaseUpdates", true, ConfigParam.BOOLEAN),
updateCheckTimeInterval("plugin.updateCheck.timeInterval", 60, ConfigParam.INTEGER),
buyMessage("buy.message", true, ConfigParam.BOOLEAN),
buyCurrency("buy.currency", "$", ConfigParam.STRING),
buyConfirmDefault("buy.confirm.use", Confirm.COMMAND, ConfigParam.CONFIRMENUM),
buyConfirmGuiFillItemEnabled("buy.confirm.gui.fillItem.enabled", true, ConfigParam.BOOLEAN),
buyConfirmGuiFillItem("buy.confirm.gui.fillItem.material", T2CitemVersion.getBlackStainedGlassPane().getType().toString(), ConfigParam.STRING),
buyConfirmGuiConfirm("buy.confirm.gui.confirm.material", T2CitemVersion.getGreenWool().getType().toString(), ConfigParam.STRING),
buyConfirmGuiCancel("buy.confirm.gui.cancel.material", T2CitemVersion.getRedWool().getType().toString(), ConfigParam.STRING),
subAliasTab("subAlias.tabComplete", true, ConfigParam.BOOLEAN);
public String path;
public Object value;
public Sound sound;
public ConfigParam configParam;
Config(String path, Object value, ConfigParam cEnum) {
this.path = path;
this.value = value;
this.configParam = cEnum;
}
public static Sound sound() {
if (T2CmcVersion.isMc1_8()) {
return Sound.valueOf("NOTE_PIANO");
} else if (T2CmcVersion.isMc1_9() || T2CmcVersion.isMc1_10() || T2CmcVersion.isMc1_11() || T2CmcVersion.isMc1_12()) {
return Sound.valueOf("BLOCK_NOTE_HARP");
} else return Sound.valueOf("BLOCK_NOTE_BLOCK_HARP");
}
}

View File

@ -0,0 +1,98 @@
package net.t2code.alias.Spigot.config.config;
import com.google.common.base.Preconditions;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Ctemplate;
import org.apache.commons.io.FileUtils;
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.logging.Level;
public class Convert {
protected static void convert() {
File path = new File(Main.getPath(),"");
File file = new File(Main.getPath(), "config.yml");
if (path.exists() && file.exists()) convertTo4();
}
private static void convertTo4() {
long long1 = System.currentTimeMillis();
File config = new File(Main.getPath(), "config.yml");
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
if (yamlConfiguration.get(Config.configVersion.path) == null || ((Integer) Config.configVersion.value) < Util.getConfigVersion()) {
yamlConfiguration.set("ConfigVersion", null);
try {
yamlConfiguration.save(config);
} catch (IOException e) {
e.printStackTrace();
}
File dir = new File(Main.getPath() + "/languages");
File newDir = new File(Main.getPath() + "/OldConfig/Version3/languages");
if (!dir.exists()){
return;
}
try {
FileUtils.moveDirectory(dir, newDir);
} catch (IOException e) {
e.printStackTrace();
}
File f = new File(Main.getPath() + "/OldConfig/Version3/languages/");
File[] fileArray = f.listFiles();
for (File file : fileArray) {
long long2 = System.currentTimeMillis();
String sub = file.getName().substring(file.getName().length() - 4);
if (sub.equals(".yml")) {
YamlConfiguration yamlConfigurationOld;
try {
Preconditions.checkArgument(file != null, "File cannot be null");
YamlConfiguration language = new YamlConfiguration();
language.load(file);
yamlConfigurationOld = language;
} catch (FileNotFoundException var3) {
continue;
} catch (IOException var4) {
Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + file, var4);
continue;
} catch (InvalidConfigurationException var5) {
Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + file, var5);
continue;
}
File newFile = new File(Main.getPath(), "languages/" + file.getName().replace("_messages.yml", "") + ".yml");
YamlConfiguration yamlConfigurationNew = YamlConfiguration.loadConfiguration(newFile);
yamlConfigurationNew.set("plugin.onlyForPlayer", yamlConfigurationOld.getString("Plugin.OnlyForPlayer"));
yamlConfigurationNew.set("plugin.aliasDisabled", yamlConfigurationOld.getString("Plugin.AliasDisabled"));
yamlConfigurationNew.set("plugin.reload.start", yamlConfigurationOld.getString("Plugin.Reload.Start"));
yamlConfigurationNew.set("plugin.reload.end", yamlConfigurationOld.getString("Plugin.Reload.End"));
yamlConfigurationNew.set("plugin.noPermissionForCommand", yamlConfigurationOld.getString("Plugin.ForCommand"));
yamlConfigurationNew.set("plugin.noSubCommand", yamlConfigurationOld.getString("Plugin.NoSubCommand"));
yamlConfigurationNew.set("cost.buy", yamlConfigurationOld.getString("Cost.Buy"));
yamlConfigurationNew.set("cost.noMoney", yamlConfigurationOld.getString("Cost.NoMoney"));
yamlConfigurationNew.set("cost.confirm.command", yamlConfigurationOld.getString("Cost.BuyConfirm"));
yamlConfigurationNew.set("cost.confirm.cancel", yamlConfigurationOld.getString("Cost.BuyCancel"));
yamlConfigurationNew.set("cost.confirm.notPossible", yamlConfigurationOld.getString("Cost.BuyConfirmNotPossible"));
try {
yamlConfigurationNew.save(newFile);
} catch (IOException e) {
T2Csend.warning(Main.getPlugin(), e.getMessage());
e.printStackTrace();
}
T2Csend.console(Util.getPrefix() + " §2The language file §6(" + newFile.getName() + ") &2was converted to the new config format §7- §e" + (System.currentTimeMillis() - long2) + "ms");
}
}
}
T2Csend.console(Util.getPrefix() + " §2All files were successfully converted. §7- §e" + (System.currentTimeMillis() - long1) + "ms");
T2Ctemplate.onLoadSeparateStroke(Util.getPrefix());
}
}

View File

@ -1,42 +0,0 @@
package net.t2code.alias.Spigot.config.config;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
import net.t2code.t2codelib.SPIGOT.api.yaml.T2Cconfig;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.IOException;
public class CreateConfig {
public static void configCreate() {
long long_ = System.currentTimeMillis();
if (new File(Main.getPath(), "config.yml").exists()) {
if (Main.getPlugin().getConfig().getBoolean("Plugin.Debug")) T2Csend.console(Util.getPrefix() + " §5DEBUG: §6" + " §4config.yml are created / updated...");
} else T2Csend.console(Util.getPrefix() + " §4config.yml are created...");
File config = new File(Main.getPath(), "config.yml");
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
T2Cconfig.set("Plugin.language", "english", yamlConfiguration);
T2Cconfig.set("Plugin.updateCheck.onJoin", true, yamlConfiguration);
T2Cconfig.set("Plugin.updateCheck.seePreReleaseUpdates", true, yamlConfiguration);
T2Cconfig.set("Plugin.updateCheck.timeInterval", 60, yamlConfiguration);
T2Cconfig.set("BungeeCord.Enable", false, yamlConfiguration);
T2Cconfig.set("BungeeCord.ThisServer", "server", yamlConfiguration);
T2Cconfig.set("Buy.Message", true, yamlConfiguration);
T2Cconfig.set("SubAlias.TabComplete", true, yamlConfiguration);
try {
yamlConfiguration.save(config);
} catch (IOException e) {
e.printStackTrace();
}
T2Csend.console(Util.getPrefix() + " §2config.yml were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
}

View File

@ -0,0 +1,150 @@
package net.t2code.alias.Spigot.config.config;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Spigot.enums.Confirm;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.debug.T2Cdebug;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Creplace;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
import net.t2code.t2codelib.SPIGOT.system.config.languages.SelectLibMsg;
import org.bukkit.Sound;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class FileSelect {
public static void config() {
Convert.convert();
long long_ = System.currentTimeMillis();
File config = new File(Main.getPath(), "config.yml");
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
for (Config value : Config.values()) {
switch (value.configParam) {
case STRING:
if (!yamlConfiguration.contains(value.path)) {
yamlConfiguration.set(value.path, value.value);
}
value.value = T2Creplace.replace(Util.getPrefix(), yamlConfiguration.getString(value.path));
break;
case SOUND:
if (!yamlConfiguration.contains(value.path)) {
yamlConfiguration.set(value.path, value.sound.toString());
}
try {
value.sound = Sound.valueOf(yamlConfiguration.getString(value.path));
} catch (Exception ex) {
T2Csend.console("§4\n§4\n§4\n" + SelectLibMsg.soundNotFound.replace("[prefix]", Util.getPrefix())
.replace("[sound]", "§8" + value.path + ": §6" + yamlConfiguration.getString(value.path)) + "§4\n§4\n§4\n");
}
break;
case BOOLEAN:
case INTEGER:
if (!yamlConfiguration.contains(value.path)) {
yamlConfiguration.set(value.path, value.value);
}
value.value = yamlConfiguration.get(value.path);
break;
case CONFIRMENUM:
if (!yamlConfiguration.contains(value.path)) {
yamlConfiguration.set(value.path, value.value.toString());
}
try {
value.value = Confirm.valueOf(yamlConfiguration.getString(value.path).toUpperCase());
} catch (Exception ex) {
value.value = Confirm.COMMAND;
T2Csend.console(("[prefix] <red>The value in the <gold>config.yml</gold> at the path <gold>[path]</gold> <aqua>([value])</aqua> must be one of these values!</red>" +
" <gray>COMMAND, CHAT, GUI</gray><br>[prefix] <blue>The default option COMMAND is used!</blue>")
.replace("[prefix]", Util.getPrefix()).replace("[path]", value.path).replace("[value]", yamlConfiguration.getString(value.path)));
}
break;
}
}
try {
yamlConfiguration.save(config);
} catch (IOException e) {
e.printStackTrace();
}
T2Csend.console(Util.getPrefix() + " §2The config.yml was loaded successfully §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
private static ArrayList<String> defaultLanguages = new ArrayList<>(Arrays.asList("german", "english"));
public static void language() {
long long_ = System.currentTimeMillis();
for (String language : defaultLanguages) {
File config = new File(Main.getPath(), "languages/" + language + ".yml");
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
for (Language value : Language.values()) {
if (!yamlConfiguration.contains(value.path)) {
switch (value.configParam) {
case STRING:
switch (language) {
case "german":
yamlConfiguration.set(value.path, value.german);
break;
case "english":
yamlConfiguration.set(value.path, value.english);
break;
}
break;
case LIST:
switch (language) {
case "german":
yamlConfiguration.set(value.path, value.germanList);
break;
case "english":
yamlConfiguration.set(value.path, value.englishList);
break;
}
break;
}
}
}
T2Cdebug.debug(Main.getPlugin(), "save: " + language);
try {
yamlConfiguration.save(config);
} catch (IOException e) {
e.printStackTrace();
}
}
String selectMSG;
File config = new File(Main.getPath(), "languages/" + Config.language.value + ".yml");
T2Cdebug.debug(Main.getPlugin(), config.getAbsolutePath());
if (!config.isFile()) {
T2Csend.console(Util.getPrefix());
T2Csend.console(Util.getPrefix() + " §4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
T2Csend.console(Util.getPrefix() + " §4The selected §c" + Config.language.value + " §4language file was not found.");
T2Csend.console(Util.getPrefix() + " §6The default language §eEnglish §6is used!");
T2Csend.console(Util.getPrefix() + " §4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
T2Csend.console(Util.getPrefix());
config = new File(Main.getPath(), "languages/" + "english.yml");
selectMSG = "english";
} else selectMSG = (String) Config.language.value;
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
for (Language value : Language.values()) {
switch (value.configParam) {
case STRING:
T2Cdebug.debug(Main.getPlugin(), "Select: File: " + config.getName() + " Path: " + value.path);
value.value = T2Creplace.replace(Util.getPrefix(), yamlConfiguration.getString(value.path));
break;
case LIST:
T2Cdebug.debug(Main.getPlugin(), "Select: File: " + config.getName() + " Path: " + value.path);
value.valueList = T2Creplace.replace(Util.getPrefix(), (List<String>) yamlConfiguration.getList(value.path));
break;
}
}
T2Csend.console(Util.getPrefix() + " §2Language successfully selected to: §6" + selectMSG + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
}

View File

@ -0,0 +1,72 @@
package net.t2code.alias.Spigot.config.config;
import net.t2code.alias.Spigot.enums.ConfigParam;
import java.util.Arrays;
import java.util.List;
public enum Language {
onlyForPlayer("plugin.onlyForPlayer", null, "[prefix] <red>Dieser Command ist nur f[ue]r Spieler!</red>",
"[prefix] <red>This command is for players only!</red>", ConfigParam.STRING),
aliasDisabled("plugin.aliasDisabled", null, "Unknown command. Type ''/help'' for help.",
"Unknown command. Type ''/help'' for help.", ConfigParam.STRING),
reloadStart("plugin.reload.start", null, "[prefix] <gold>Plugin wird neu geladen...</gold>",
"[prefix] <gold>Plugin is reloaded...</gold>", ConfigParam.STRING),
reloadEnd("plugin.reload.end", null, "[prefix] <dark_green>Plugin wurde erfolgreich neu geladen.</dark_green>",
"[prefix] <dark_green>Plugin was successfully reloaded.</dark_green>", ConfigParam.STRING),
noPermission("plugin.noPermissionForCommand", null, "[prefix] <red>F[ue]r <aqua>[cmd]</aqua> fehlt dir die Permission <gold>[perm]</gold>!</red>",
"[prefix] <red>For <aqua>[cmd]</aqua> you lack the permission <gold>[perm]</gold>!</red>", ConfigParam.STRING),
noSubCommand("plugin.noSubCommand", null, "[prefix] <red>Diesen Befehl gibt es nicht!</red>",
"[prefix] <red>This command does not exist!</red>", ConfigParam.STRING),
buy("cost.buy", null, "[prefix] <dark_green>Du hast f[ue]r diesen Command <gold>[price]</gold> bezahlt.</dark_green>",
"[prefix] <dark_green>You have paid <gold>[price]</gold> for this command.</dark_green>", ConfigParam.STRING),
noMoney("cost.noMoney", null, "[prefix] <red>Du hast nicht gen[ue]gend Geld für diesen Command!</red>", "[prefix] <red>You don't have enough money for this command!</red>", ConfigParam.STRING),
confirmCommand("cost.confirm.command", null, "[prefix] <gold>Für diesen Befehl musst du [price] bezahlen!</gold><br>[prefix] <green><click:run_command:'/t2c-a confirm'><hover:show_text:'<gray>Klicke zum bestätigen</gray>'>Bestätigen</hover></click></green> <gray>-</gray> <red><click:run_command:'/t2c-a cancel'><hover:show_text:'<gray>Klicke zum abbrechen</gray>'>Abbrechen</hover></click></red>",
"[prefix] <gold>For this command you have to pay [price]!</gold><br>[prefix] <green><click:run_command:'/t2c-a confirm'><hover:show_text:'<gray>Click to confirm</gray>'>Confirm</hover></click></green> <gray>-</gray> <red><click:run_command:'/t2c-a cancel'><hover:show_text:'<gray>click to cancel</gray>'>Cancel</hover></click></red>", ConfigParam.STRING),
confirmChat("cost.confirm.chat", null, "[prefix] <gold>Für diesen Befehl musst du [price] bezahlen!</gold><br>[prefix] <green><click:run_command:'t2code-alias-confirm'><hover:show_text:'<gray>Klicke zum bestätigen</gray>'>Bestätigen</hover></click></green> <gray>-</gray> <red><click:run_command:'t2code-alias-cancel'><hover:show_text:'<gray>Klicke zum abbrechen</gray>'>Abbrechen</hover></click></red>",
"[prefix] <gold>For this command you have to pay [price]!</gold><br>[prefix] <green><click:run_command:'t2code-alias-confirm'><hover:show_text:'<gray>Click to confirm</gray>'>Confirm</hover></click></green> <gray>-</gray> <red><click:run_command:'t2code-alias-cancel'><hover:show_text:'<gray>click to cancel</gray>'>Cancel</hover></click></red>", ConfigParam.STRING),
confirmGuiTitle("cost.confirm.gui.title", null, "&2Bestätige den Zahlvorgang für: &6/[alias]",
"&2Confirm the payment process for: &6/[alias]", ConfigParam.STRING),
confirmGuiConfirm("cost.confirm.gui.confirm.displayName", null, "&2Bestätigen", "&2Confirm", ConfigParam.STRING),
confirmGuiConfirmLore("cost.confirm.gui.confirm.lore", null, Arrays.asList("&aDieser Befehl kostet", "&6[price]"),
Arrays.asList("&aThis command costs","&6[price]"), ConfigParam.LIST),
confirmGuiCancel("cost.confirm.gui.cancel.displayName", null, "&cAbbrechen", "&cCancel", ConfigParam.STRING),
confirmGuiCancelLore("cost.confirm.gui.cancel.lore", null, Arrays.asList(""), Arrays.asList(""), ConfigParam.LIST),
confirmCancel("cost.confirm.cancel", null, "[prefix] <gold>Der befehl wurde abgebrochen und du musst nichts bezahlen!</gold>",
"[prefix] <gold>The command was canceled and you do not have to pay anything!</gold>", ConfigParam.STRING),
confirmNotPossible("cost.confirm.notPossible", null, "[prefix] <gold>Bestätigen nicht möglich, du hast keinen bezahlungspflichtigen befehl ausgeführt.</gold>",
"[prefix] <gold>Confirmation not possible, you have not executed a payable command.</gold>", ConfigParam.STRING);
public String path;
public String value;
public List<String> valueList;
public String german;
public List<String> germanList;
public String english;
public List<String> englishList;
public ConfigParam configParam;
Language(String path, String value, String german, String english, ConfigParam cEnum) {
this.path = path;
this.value = value;
this.german = german;
this.english = english;
this.configParam = cEnum;
}
Language(String path, List<String> valueList, List<String> german, List<String> english, ConfigParam cEnum) {
this.path = path;
this.valueList = valueList;
this.germanList = german;
this.englishList = english;
this.configParam = cEnum;
}
}

View File

@ -1,91 +0,0 @@
package net.t2code.alias.Spigot.config.config;
import net.t2code.alias.Spigot.Main;
import net.t2code.t2codelib.SPIGOT.api.yaml.T2Cconfig;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.IOException;
public class SelectConfig {
private static Integer ConfigVersion = 3;
private static Integer isConfigVersion;
private static Boolean updateCheckOnJoin;
private static Boolean updateCheckSeePreReleaseUpdates;
private static Integer updateCheckTimeInterval;
private static String language;
private static Boolean Bungee;
private static String thisServer;
private static Boolean buyMessage;
private static Boolean subAliasTab;
public static void onSelect() {
File config = new File(Main.getPath(), "config.yml");
YamlConfiguration yamlConfiguration = YamlConfiguration.loadConfiguration(config);
isConfigVersion = yamlConfiguration.getInt("ConfigVersion");
updateCheckOnJoin = yamlConfiguration.getBoolean("Plugin.updateCheck.onJoin");
updateCheckSeePreReleaseUpdates = yamlConfiguration.getBoolean("Plugin.updateCheck.seePreReleaseUpdates");
updateCheckTimeInterval = yamlConfiguration.getInt("Plugin.updateCheck.timeInterval");
language = yamlConfiguration.getString("Plugin.language");
Bungee = yamlConfiguration.getBoolean("BungeeCord.Enable");
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();
}
}
public static Integer getConfigVersion() {
return ConfigVersion;
}
public static Integer getIsConfigVersion() {
return isConfigVersion;
}
public static Boolean getUpdateCheckOnJoin() {
return updateCheckOnJoin;
}
public static Boolean getUpdateCheckSeePreReleaseUpdates() {
return updateCheckSeePreReleaseUpdates;
}
public static Integer getUpdateCheckTimeInterval() {
return updateCheckTimeInterval;
}
public static String getLanguage() {
return language;
}
public static Boolean getBungee() {
return Bungee;
}
public static String getThisServer() {
return thisServer;
}
public static Boolean getBuyMessage() {
return buyMessage;
}
public static Boolean getSubAliasTab() {
return subAliasTab;
}
}

View File

@ -1,75 +0,0 @@
package net.t2code.alias.Spigot.config.languages;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
import net.t2code.t2codelib.SPIGOT.api.yaml.T2Cconfig;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.IOException;
public class LanguagesCreate {
public static void langCreate() {
T2Csend.debug(Main.getPlugin(),"§4Language files are created / updated...");
long long_ = System.currentTimeMillis();
/**
*
* ENGLISH
*
*/
File messagesEN = new File(Main.getPath(), "languages/english_messages.yml");
YamlConfiguration yamlConfigurationEN = YamlConfiguration.loadConfiguration(messagesEN);
T2Cconfig.set("Plugin.OnlyForPlayer", MSG.EN_OnlyForPlayer, yamlConfigurationEN);
T2Cconfig.set("Plugin.AliasDisabled", MSG.EN_Disabled, yamlConfigurationEN);
T2Cconfig.set("Plugin.Reload.Start", MSG.EN_ReloadStart, yamlConfigurationEN);
T2Cconfig.set("Plugin.Reload.End", MSG.EN_ReloadEnd, yamlConfigurationEN);
T2Cconfig.set("Plugin.ForCommand", MSG.EN_NoPermissionForCommand, yamlConfigurationEN);
T2Cconfig.set("Plugin.NoSubCommand", MSG.EN_NoSubCommand, yamlConfigurationEN);
T2Cconfig. set("Cost.Buy", MSG.EN_Buy, yamlConfigurationEN);
T2Cconfig.set("Cost.NoMoney", MSG.EN_NoMoney, yamlConfigurationEN);
try {
yamlConfigurationEN.save(messagesEN);
} catch (IOException e) {
T2Csend.warning(Main.getPlugin(),e.getMessage());
e.printStackTrace();
}
/**
*
* GERMAN
*
*/
File messagesDE = new File(Main.getPath(), "languages/german_messages.yml");
YamlConfiguration yamlConfigurationDE = YamlConfiguration.loadConfiguration(messagesDE);
T2Cconfig.set("Plugin.OnlyForPlayer", MSG.DE_OnlyForPlayer, yamlConfigurationDE);
T2Cconfig.set("Plugin.AliasDisabled", MSG.DE_Disabled, yamlConfigurationDE);
T2Cconfig.set("Plugin.Reload.Start", MSG.DE_ReloadStart, yamlConfigurationDE);
T2Cconfig.set("Plugin.Reload.End", MSG.DE_ReloadEnd, yamlConfigurationDE);
T2Cconfig.set("Plugin.ForCommand", MSG.DE_NoPermissionForCommand, yamlConfigurationDE);
T2Cconfig.set("Plugin.NoSubCommand", MSG.DE_NoSubCommand, yamlConfigurationDE);
T2Cconfig.set("Cost.Buy", MSG.DE_Buy, yamlConfigurationDE);
T2Cconfig.set("Cost.NoMoney", MSG.DE_NoMoney, yamlConfigurationDE);
try {
yamlConfigurationDE.save(messagesDE);
} catch (IOException e) {
T2Csend.warning(Main.getPlugin(),e.getMessage());
e.printStackTrace();
}
T2Csend.console(Util.getPrefix() + " §2Language files were successfully created / updated." + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
}

View File

@ -1,47 +0,0 @@
// This claas was created by JaTiTV
// -----------------------------
// _____ _____ _ _ _____
// / ____/ ____| | | |_ _|
// | | | | __| | | | | |
// | | | | |_ | | | | | |
// | |___| |__| | |__| |_| |_
// \_____\_____|\____/|_____|
// -----------------------------
package net.t2code.alias.Spigot.config.languages;
public class MSG {
// EN
public static String EN_OnlyForPlayer = "[prefix] <red>This command is for players only!</red>";
public static String EN_Disabled = "Unknown command. Type ''/help'' for help.";
public static String EN_ReloadStart = "[prefix] <gold>Plugin is reloaded...</gold>";
public static String EN_ReloadEnd = "[prefix] <dark_green>Plugin was successfully reloaded.</dark_green>";
public static String EN_NoPermissionForCommand = "[prefix] <red>For <aqua>[cmd]</aqua> you lack the permission <gold>[perm]</gold>!</red>";
public static String EN_Buy = "[prefix] <dark_green>You have paid <gold>[price]</gold> for this command.</dark_green>";
public static String EN_NoMoney = "[prefix] <red>You don't have enough money for this command!</red>";
public static String EN_NoSubCommand = "[prefix] <red>This command does not exist!</red>";
// DE
public static String DE_OnlyForPlayer = "[prefix] <red>Dieser Command ist nur f[ue]r Spieler!</red>";
public static String DE_Disabled = "Unknown command. Type ''/help'' for help.";
public static String DE_ReloadStart = "[prefix] <gold>Plugin wird neu geladen...</gold>";
public static String DE_ReloadEnd = "[prefix] <dark_green>Plugin wurde erfolgreich neu geladen.</dark_green>";
public static String DE_NoPermissionForCommand = "[prefix] <red>F[ue]r <aqua>[cmd]</aqua> fehlt dir die Permission <gold>[perm]</gold>!</red>";
public static String DE_Buy = "[prefix] <dark_green>Du hast f[ue]r diesen Command <gold>[price]</gold> bezahlt.</dark_green>";
public static String DE_NoMoney = "[prefix] <red>Du hast nicht gen[ue]gend Geld für diesen Command!</red>";
public static String DE_NoSubCommand = "[prefix] <red>Diesen Befehl gibt es nicht!</red>";
}

View File

@ -1,65 +0,0 @@
package net.t2code.alias.Spigot.config.languages;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Spigot.config.config.SelectConfig;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Creplace;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
public class SelectMessages {
public static String selectMSG;
public static String onlyForPlayer;
public static String reloadStart;
public static String reloadEnd;
public static String noPermissionForCommand;
public static String noSubCommand;
public static String aliasDisabled;
public static String buy;
public static String noMoney;
public static void onSelect(String Prefix) {
T2Csend.debug(Main.getPlugin(), "§4Select language...");
long long_ = System.currentTimeMillis();
File msg;
msg = new File(Main.getPath(), "languages/" + SelectConfig.getLanguage() + "_messages.yml");
if (!msg.isFile()) {
T2Csend.console(Prefix);
T2Csend.console(Prefix + " §4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
T2Csend.console(Prefix + " §4The selected §c" + SelectConfig.getLanguage() + " §4language file was not found.");
T2Csend.console(Prefix + " §6The default language §eEnglish §6is used!");
T2Csend.console(Prefix + " §4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
T2Csend.console(Prefix);
msg = new File(Main.getPath(), "languages/" + "english_messages.yml");
selectMSG = "english";
} else selectMSG = SelectConfig.getLanguage();
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"));
reloadEnd = replace(yamlConfiguration.getString("Plugin.Reload.End"));
noPermissionForCommand = replace(yamlConfiguration.getString("Plugin.ForCommand"));
noSubCommand = replace(yamlConfiguration.getString("Plugin.NoSubCommand"));
buy = replace(yamlConfiguration.getString("Cost.Buy"));
noMoney = replace(yamlConfiguration.getString("Cost.NoMoney"));
T2Csend.console(Prefix + " §2Language successfully selected to: §6" + selectMSG + " §7- §e" + (System.currentTimeMillis() - long_) + "ms");
}
private static String replace(String text) {
return T2Creplace.replace(Util.getPrefix(), text);
}
}

View File

@ -29,6 +29,7 @@ public class CreateExampleSubAliasConfig {
T2Cconfig.set("SubAlias.Permission.CustomNoPermissionMSG", "", yamlConfiguration);
T2Cconfig.set("SubAlias.Cost.Enable", false, yamlConfiguration);
T2Cconfig.set("SubAlias.Cost.Confirm", true,yamlConfiguration);
T2Cconfig.set("SubAlias.Cost.Price", 0.0, yamlConfiguration);
T2Cconfig.set("SubAlias.Cost.AllowByPass", true, yamlConfiguration);

View File

@ -67,6 +67,10 @@ public class SelectSubAlias {
String permissionMSG = yamlConfiguration.getString("SubAlias.Permission.CustomNoPermissionMSG");
Boolean costEnable = yamlConfiguration.getBoolean("SubAlias.Cost.Enable");
if (yamlConfiguration.get("SubAlias.Cost.Confirm") == null) {
AliasConfigConverter.convertAddCostConfirm(yamlConfiguration, config_gui, true);
}
Boolean costConfirm = yamlConfiguration.getBoolean("SubAlias.Cost.Confirm");
Double costPrice = yamlConfiguration.getDouble("SubAlias.Cost.Price");
Boolean costAllowBypass = yamlConfiguration.getBoolean("SubAlias.Cost.AllowByPass");
@ -96,7 +100,7 @@ public class SelectSubAlias {
Boolean consoleMessageEnable = yamlConfiguration.getBoolean("SubAlias.Console.Message.Enable");
List<String> consoleMessages = yamlConfiguration.getStringList("SubAlias.Console.Message.Messages");
SubAliasObject subAlias = new SubAliasObject(aliasEnable, subAliasList, subAliasFor, subAliasArg, permNecessary, permission, permissionMSG, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand,
SubAliasObject subAlias = new SubAliasObject(aliasEnable, subAliasList, subAliasFor, subAliasArg, permNecessary, permission, permissionMSG, costEnable,costConfirm, 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) {

View File

@ -0,0 +1,42 @@
package net.t2code.alias.Spigot.confirm;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Spigot.cmdManagement.ExecuteAlias;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
public class ChatConfirm implements Listener {
@EventHandler
public void onChat(AsyncPlayerChatEvent e) {
String[] args = e.getMessage().split(" ");
if (args.length == 0) {
return;
}
Player player = e.getPlayer();
switch (args[0].toLowerCase()) {
case "t2code-alias-confirm":
e.setCancelled(true);
Bukkit.getScheduler().runTask(Main.getPlugin(), new Runnable() {
@Override
public void run() {
ExecuteAlias.storage(player, true);
}
});
break;
case "t2code-alias-cancel":
e.setCancelled(true);
Bukkit.getScheduler().runTask(Main.getPlugin(), new Runnable() {
@Override
public void run() {
ExecuteAlias.storage(player, false);
}
});
break;
}
}
}

View File

@ -0,0 +1,32 @@
package net.t2code.alias.Spigot.confirm.gui;
import net.t2code.alias.Spigot.Cache;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Spigot.config.config.Config;
import net.t2code.alias.Spigot.config.config.Language;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.items.T2CitemBuilder;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Creplace;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import java.util.List;
public class ConfirmGUI {
public static void open(Player player, Double price, String alias) {
Inventory inventory = Bukkit.createInventory((InventoryHolder) null, 9 * 3, (T2Creplace.replace(Util.getPrefix(), player,
Main.getGuiCode() + Language.confirmGuiTitle.value.replace("[price]",price+ " "+Config.buyCurrency.value).replace("[alias]", alias))));
T2CitemBuilder.fillItem((boolean) Config.buyConfirmGuiFillItemEnabled.value, (String) Config.buyConfirmGuiFillItem.value, 3, inventory);
T2CitemBuilder.setItem(12, 1, (String) Config.buyConfirmGuiConfirm.value, Language.confirmGuiConfirm.value,
(List<String>) T2Creplace.replace(Language.confirmGuiConfirmLore.valueList, "[price]", price + " " + Config.buyCurrency.value), inventory);
T2CitemBuilder.setItem(14, 1, (String) Config.buyConfirmGuiCancel.value, Language.confirmGuiCancel.value,
(List<String>) T2Creplace.replace(Language.confirmGuiCancelLore.valueList, "[price]", price + " " + Config.buyCurrency.value), inventory);
Cache.openPlayers.add(player.getUniqueId());
player.openInventory(inventory);
}
}

View File

@ -0,0 +1,40 @@
package net.t2code.alias.Spigot.confirm.gui;
import net.t2code.alias.Spigot.Cache;
import net.t2code.alias.Spigot.cmdManagement.ExecuteAlias;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
public class GuiListener implements Listener {
@EventHandler
public void onInventoryClick(InventoryClickEvent e) {
Player player = (Player) e.getWhoClicked();
if (e.getInventory() == null) return;
if (e.getCurrentItem() == null) return;
if (!Cache.openPlayers.contains(player.getUniqueId())) return;
e.setCancelled(true);
if (e.getClickedInventory() != e.getWhoClicked().getOpenInventory().getTopInventory()) return;
switch (e.getSlot()) {
case 12:
Cache.openPlayers.remove(player.getUniqueId());
player.closeInventory();
ExecuteAlias.storage(player, true);
break;
case 14:
Cache.openPlayers.remove(player.getUniqueId());
player.closeInventory();
ExecuteAlias.storage(player, false);
break;
}
}
@EventHandler
public void onInventoryCloseEvent(InventoryCloseEvent e) {
Player player = (Player) e.getPlayer();
Cache.openPlayers.remove(player.getUniqueId());
}
}

View File

@ -0,0 +1,10 @@
package net.t2code.alias.Spigot.enums;
public enum ConfigParam {
STRING,
INTEGER,
LIST,
BOOLEAN,
CONFIRMENUM,
SOUND
}

View File

@ -0,0 +1,7 @@
package net.t2code.alias.Spigot.enums;
public enum Confirm {
COMMAND,
CHAT,
GUI
}

View File

@ -11,6 +11,7 @@ public class AliasObject {
public String permissionMSG;
public Boolean costEnable;
public Boolean costConfirm;
public Double costPrice;
public Boolean costAllowBypass;
@ -44,6 +45,7 @@ public class AliasObject {
String permissionMSG,
Boolean costEnable,
Boolean costConfirm,
Double costPrice,
Boolean costAllowBypass,
@ -76,6 +78,7 @@ public class AliasObject {
this.permissionMSG = permissionMSG;
this.costEnable = costEnable;
this.costConfirm = costConfirm;
this.costPrice = costPrice;
this.costAllowBypass = costAllowBypass;

View File

@ -0,0 +1,15 @@
package net.t2code.alias.Spigot.objects;
public class AliasStorageObject {
public Object aliasObject;
public String alias;
public String[] args;
public boolean sub;
public AliasStorageObject( Object aliasObject, String alias, String[] args, boolean sub) {
this.aliasObject = aliasObject;
this.alias = alias;
this.args = args;
this.sub=sub;
}
}

View File

@ -13,6 +13,7 @@ public class SubAliasObject {
public String permissionMSG;
public Boolean costEnable;
public Boolean costConfirm;
public Double costPrice;
public Boolean costAllowBypass;
@ -48,6 +49,7 @@ public class SubAliasObject {
String permissionMSG,
Boolean costEnable,
Boolean costConfirm,
Double costPrice,
Boolean costAllowBypass,
@ -82,6 +84,7 @@ public class SubAliasObject {
this.permissionMSG = permissionMSG;
this.costEnable = costEnable;
this.costConfirm = costConfirm;
this.costPrice = costPrice;
this.costAllowBypass = costAllowBypass;

View File

@ -1,15 +1,35 @@
package net.t2code.alias.Spigot.system;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Spigot.objects.AliasObject;
import net.t2code.alias.Spigot.objects.SubAliasObject;
import net.t2code.t2codelib.SPIGOT.api.register.T2Cregister;
import org.bukkit.Bukkit;
public class AliasRegisterPermissions {
public static void onPermRegister() {
for (String alias : Main.allAliases){
if (Bukkit.getPluginManager().getPermission("t2code.alias.use." + alias.toLowerCase()) == null) {
T2Cregister.permission("t2code.alias.use." + alias.toLowerCase(), Main.getPlugin());
for (AliasObject aliasObject : Main.aliasHashMap.values()) {
for (String alias : aliasObject.aliasList){
if (Bukkit.getPluginManager().getPermission(aliasObject.permission.replace("<alias>",alias).toLowerCase()) == null) {
T2Cregister.permission(aliasObject.permission.replace("<alias>",alias).toLowerCase(), Main.getPlugin());
}
if (Bukkit.getPluginManager().getPermission(aliasObject.adminPermission.replace("<alias>",alias).toLowerCase()) == null) {
T2Cregister.permission(aliasObject.adminPermission.replace("<alias>",alias).toLowerCase(), Main.getPlugin());
}
}
}
for (SubAliasObject subAliasObject : Main.subAliasHashMap.values()) {
for (String alias : subAliasObject.subAliasList){
if (Bukkit.getPluginManager().getPermission(subAliasObject.permission.replace("<alias>",alias).toLowerCase()) == null) {
T2Cregister.permission(subAliasObject.permission.replace("<alias>",alias).toLowerCase(), Main.getPlugin());
}
if (Bukkit.getPluginManager().getPermission(subAliasObject.adminPermission.replace("<alias>",alias).toLowerCase()) == null) {
T2Cregister.permission(subAliasObject.adminPermission.replace("<alias>",alias).toLowerCase(), Main.getPlugin());
}
}
}
}

View File

@ -1,18 +0,0 @@
// This claas was created by JaTiTV
package net.t2code.alias.Spigot.system;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.update.T2CupdateAPI;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
public class JoinEvent implements Listener {
@EventHandler
public void onJoinEvent(PlayerLoginEvent event) {
T2CupdateAPI.join(Main.getPlugin(),Util.getPrefix(), "t2code.alias.updatemsg", event.getPlayer(), Util.getSpigotID(), Util.getDiscord());
}
}

View File

@ -5,16 +5,20 @@ 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.config.Config;
import net.t2code.alias.Spigot.config.config.FileSelect;
import net.t2code.alias.Spigot.config.subAlias.CreateExampleSubAliasConfig;
import net.t2code.alias.Spigot.config.subAlias.SelectSubAlias;
import net.t2code.alias.Spigot.confirm.ChatConfirm;
import net.t2code.alias.Spigot.confirm.gui.GuiListener;
import net.t2code.alias.Spigot.enums.Confirm;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Ctemplate;
import net.t2code.t2codelib.SPIGOT.api.register.T2Cregister;
import net.t2code.t2codelib.SPIGOT.api.update.T2CupdateAPI;
import net.t2code.t2codelib.SPIGOT.api.yaml.T2CLibConfig;
import org.bukkit.Bukkit;
import org.bukkit.event.HandlerList;
import java.io.File;
import java.util.List;
@ -26,16 +30,25 @@ public class Load {
Long long_ = T2Ctemplate.onLoadHeader(prefix, autor, version, spigot, discord);
plugin.getCommand("t2code-alias").setExecutor(new AliasCmdExecuter());
loadReload();
T2CupdateAPI.onUpdateCheck(plugin,prefix,Util.getGit(),Util.getSpigotID(),Util.getDiscord(),
SelectConfig.getUpdateCheckOnJoin(),SelectConfig.getUpdateCheckSeePreReleaseUpdates(),SelectConfig.getUpdateCheckTimeInterval());
Bukkit.getServer().getPluginManager().registerEvents(new JoinEvent(), plugin);
T2CupdateAPI.onUpdateCheck(plugin, prefix, Util.getGit(), Util.getSpigotID(), Util.getDiscord(),
(Boolean) Config.updateCheckOnJoin.value, (Boolean) Config.updateCheckSeePreReleaseUpdates.value, (Integer) Config.updateCheckTimeInterval.value);
T2Ctemplate.onLoadFooter(prefix, long_, version);
T2Ctemplate.onLoadFooter(prefix, long_);
T2Cregister.listener(new PluginEvents(), plugin);
Metrics.Bstats(plugin, bstatsID);
}
private static ChatConfirm chatListener;
private static GuiListener guiListener;
public static void loadReload() {
if (!new File(Main.getPath(), "config.yml").exists()) {
HandlerList.unregisterAll(chatListener);
HandlerList.unregisterAll(guiListener);
boolean newInstall = !new File(Main.getPath(), "config.yml").exists();
FileSelect.config();
T2Ctemplate.onLoadSeparateStroke(Util.getPrefix());
FileSelect.language();
if (newInstall) {
try {
CreateExampleAliasConfig.configCreate();
} catch (Exception e) {
@ -47,30 +60,37 @@ public class Load {
e.printStackTrace();
}
}
try {
plugin.saveResource("Alias/X_aliasDeclaration_X.yml", true);
} catch (Exception e) {
e.printStackTrace();
}
try {
plugin.saveResource("X_configDeclaration_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());
T2Ctemplate.onLoadSeparateStroke(Util.getPrefix());
SelectAlias.onSelect();
T2Ctemplate.onLoadSeparateStroke(Util.getPrefix());
SelectSubAlias.onSelect();
SelectConfig.setConfigVersion();
if (SelectConfig.getSubAliasTab()) {
if ((Boolean) Config.subAliasTab.value) {
T2Cregister.listener(new TabEvent(), plugin);
}
if (SelectConfig.getBungee()) {
chatListener = new ChatConfirm();
if (Config.buyConfirmDefault.value == Confirm.CHAT) T2Cregister.listener(chatListener, plugin);
guiListener = new GuiListener();
if (Config.buyConfirmDefault.value == Confirm.GUI) T2Cregister.listener(guiListener, plugin);
if (T2CLibConfig.getBungee()) {
Bukkit.getMessenger().registerOutgoingPluginChannel(plugin, "t2c:bcmd");
}
AliasRegisterPermissions.onPermRegister();

View File

@ -2,8 +2,6 @@
package net.t2code.alias.Spigot.system;
import net.t2code.alias.Spigot.config.config.SelectConfig;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;

View File

@ -0,0 +1,27 @@
package net.t2code.alias.Spigot.system;
import net.t2code.alias.Spigot.Cache;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Spigot.cmdManagement.ExecuteAlias;
import net.t2code.alias.Spigot.confirm.gui.ConfirmGUI;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.update.T2CupdateAPI;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent;
public class PluginEvents implements Listener {
@EventHandler
public void onJoinEvent(PlayerQuitEvent event) {
Player player = event.getPlayer();
Cache.aliasStorage.remove(player.getUniqueId());
Cache.openPlayers.remove(player.getUniqueId());
}
@EventHandler
public void onJoinEvent(PlayerLoginEvent event) {
T2CupdateAPI.join(Main.getPlugin(), Util.getPrefix(), "t2code.alias.updatemsg", event.getPlayer(), Util.getSpigotID(), Util.getDiscord());
}
}

View File

@ -8,7 +8,7 @@ public class Util {
}
public static String getRequiredT2CodeLibVersion() {
return "13.4";
return "15.7";
}
public static String getPrefix() {
@ -40,4 +40,8 @@ public class Util {
}
private static String prefix = "§8[§4T2Code§7-§aAlias§8]";
public static Integer getConfigVersion() {
return 4;
}
}

View File

@ -1,8 +1,7 @@
####################################################################
## 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' ##
## This is an example file and serves only for the explanation ##
## of the individual options. ##
## Changes in this file are not considered and will be reset! ##
####################################################################
Alias:
@ -28,6 +27,9 @@ Alias:
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
# Here you can set if you have to confirm if you want to pay before executing the command
# In the config.yml you can set under 'buy.confirm.use' if a command, a chatListener or a GUI should be used to confirm the command.
Confirm: true
Command:
# Here you can tell the alias to execute one or more commands
Enable: false
@ -76,6 +78,8 @@ Alias:
# Here you can enable or disable the admin function
Enable: false
# Here you set the permission for the admin function
# The placeholder <alias> 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.admin
Command:
# Here you can tell the alias to execute one or more commands

View File

@ -1,4 +1,8 @@
#
####################################################################
## This is an example file and serves only for the explanation ##
## of the individual options. ##
## Changes in this file are not considered and will be reset! ##
####################################################################
SubAlias:
# Here you can disable the alias
@ -16,7 +20,7 @@ SubAlias:
Necessary: true
# Here you can set the permission for the alias.
# The placeholder <alias> is the alias name.
# If you have set multiple alias referrers in the list 'Alias.AliasList' you have a permission for each alias.
# If you have set multiple alias referrers in the list 'Alias.SubAliasList' you have a permission for each alias.
Permission: 't2code.alias.use.subalias.<alias>'
# 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: ""
@ -27,6 +31,9 @@ SubAlias:
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
# Here you can set if you have to confirm if you want to pay before executing the command
# In the config.yml you can set under 'buy.confirm.use' if a command, a chatListener or a GUI should be used to confirm the command.
Confirm: true
Command:
# Here you can tell the alias to execute one or more commands
Enable: false
@ -75,6 +82,8 @@ SubAlias:
# Here you can enable or disable the admin function
Enable: false
# Here you set the permission for the admin function
# The placeholder <alias> is the alias name.
# If you have set multiple alias referrers in the list 'Alias.SubAliasList' you have a permission for each alias.
Permission: t2code.alias.admin
Command:
# Here you can tell the alias to execute one or more commands

View File

@ -0,0 +1,44 @@
####################################################################
## This is an example file and serves only for the explanation ##
## of the individual options. ##
## Changes in this file are not considered and will be reset! ##
####################################################################
# This option is only used for updates and file conversions.
configVersion: 4
plugin:
# In this option you can set the language of the plugin.
language: english
updateCheck:
# In this option you can set if players with the permission 't2code.alias.updatemsg' will get an update message on join when an update for the plugin is available.
onJoin: true
# In this option you can set whether you want to receive and display beta and snapshot versions in the update check.
seePreReleaseUpdates: true
# In this option you can set the time interval in minutes in which updates should be checked.
timeInterval: 60
buy:
# With this option you can set whether a confirmation should be sent after the payment for an alias for which you have to pay.
message: true
# With this option you set the currency.
currency: $
confirm:
# Here you can choose which confirmation method you want to use. (COMMAND, CHAT, GUI)
use: COMMAND
gui:
#
# !! You can change the GUI name and the button texts in the language file !!
#
fillItem:
# Here you can set if a fillitem should be used in the Confirm GUI.
enabled: true
# Here you can set which fillitem should be used in the Confirm GUI
material: BLACK_STAINED_GLASS_PANE
confirm:
# Here you can set the material for the confirmation button.
material: GREEN_WOOL
cancel:
# Here you can set the material for the cancel button.
material: RED_WOOL
subAlias:
# Here you can set if subcommands should be displayed as tabComplete
tabComplete: true