1.2.0 Dev
Added an option for players to confirm when an alias costs. (Per alias adjustable)
This commit is contained in:
@@ -34,6 +34,12 @@ public class AliasCmdExecuter implements CommandExecutor, TabCompleter {
|
||||
} else T2Csend.sender(sender, SelectMessages.noPermissionForCommand.replace("[cmd]", "/t2code-alias reload")
|
||||
.replace("[perm]", "t2code.alias.command.reload"));
|
||||
break;
|
||||
case "confirm":
|
||||
ExecuteAlias.storage(sender, true);
|
||||
break;
|
||||
case "cancel":
|
||||
ExecuteAlias.storage(sender, false);
|
||||
break;
|
||||
case "info":
|
||||
case "plugin":
|
||||
case "version":
|
||||
|
@@ -3,6 +3,7 @@ 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.AliasStorageObject;
|
||||
import net.t2code.alias.Spigot.objects.SubAliasObject;
|
||||
import net.t2code.alias.Spigot.system.BCommandSenderReciver;
|
||||
import net.t2code.alias.Util;
|
||||
@@ -11,16 +12,46 @@ 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;
|
||||
<<<<<<< Updated upstream
|
||||
=======
|
||||
import net.t2code.t2codelib.SPIGOT.api.yaml.T2CLibConfig;
|
||||
>>>>>>> Stashed changes
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class ExecuteAlias {
|
||||
|
||||
public static HashMap<UUID, AliasStorageObject> aliasStorage = new HashMap<>();
|
||||
|
||||
private static final String prefix = Util.getPrefix();
|
||||
|
||||
protected static void storage(CommandSender sender, boolean confirm) {
|
||||
Player player = (Player) sender;
|
||||
|
||||
if (!aliasStorage.containsKey(player.getUniqueId())) {
|
||||
T2Csend.player(player, SelectMessages.buyConfirmNotPossible);
|
||||
return;
|
||||
}
|
||||
|
||||
AliasStorageObject object = aliasStorage.get(player.getUniqueId());
|
||||
aliasStorage.remove(player.getUniqueId());
|
||||
|
||||
if (!confirm) {
|
||||
T2Csend.player(player, SelectMessages.buyCancel);
|
||||
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;
|
||||
|
||||
@@ -47,13 +78,26 @@ public class ExecuteAlias {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (aliasObject.costEnable && aliasObject.costConfirm) {
|
||||
if (!(aliasObject.costAllowBypass && player.hasPermission("t2code.alias.buy.bypass"))) {
|
||||
T2Csend.player(player, SelectMessages.buyConfirm.replace("[price]", aliasObject.costPrice.toString() + " " + SelectConfig.getBuyCurrency()));
|
||||
aliasStorage.put(player.getUniqueId(), new AliasStorageObject(aliasObject, alias, args, false));
|
||||
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);
|
||||
return;
|
||||
}
|
||||
if (SelectConfig.getBuyMessage()) T2Csend.player(player, SelectMessages.buy.replace("[price]", aliasObject.costPrice.toString()));
|
||||
if (SelectConfig.getBuyMessage())
|
||||
T2Csend.player(player, SelectMessages.buy.replace("[price]", aliasObject.costPrice.toString() + " " + SelectConfig.getBuyCurrency()));
|
||||
}
|
||||
}
|
||||
if (aliasObject.commandEnable) {
|
||||
@@ -76,7 +120,7 @@ public class ExecuteAlias {
|
||||
if (aliasObject.adminEnable) {
|
||||
if (player.hasPermission(aliasObject.adminPermission)) {
|
||||
if (aliasObject.adminCommandEnable) {
|
||||
subAliasAdminCommand(aliasObject,alias, player, args);
|
||||
subAliasAdminCommand(aliasObject, alias, player, args);
|
||||
}
|
||||
if (aliasObject.adminMessageEnable) {
|
||||
subAliasAdminMessage(aliasObject, alias, player, args);
|
||||
@@ -96,28 +140,41 @@ public class ExecuteAlias {
|
||||
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;
|
||||
}
|
||||
if (SelectConfig.getBuyMessage()) T2Csend.player(player, SelectMessages.buy.replace("[price]", aliasObject.costPrice.toString()));
|
||||
T2Csend.player(player, SelectMessages.buyConfirm.replace("[price]", aliasObject.costPrice.toString() + " " + SelectConfig.getBuyCurrency()));
|
||||
aliasStorage.put(player.getUniqueId(), new AliasStorageObject(aliasObject, alias, args, true));
|
||||
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);
|
||||
subAliasConsole(aliasObject, alias, sender, args);
|
||||
} else T2Csend.sender(sender, SelectMessages.onlyForPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
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, SelectMessages.noMoney);
|
||||
return;
|
||||
}
|
||||
if (SelectConfig.getBuyMessage())
|
||||
T2Csend.player(player, SelectMessages.buy.replace("[price]", aliasObject.costPrice.toString() + " " + SelectConfig.getBuyCurrency()));
|
||||
}
|
||||
}
|
||||
if (aliasObject.commandEnable) {
|
||||
subAliasCommand(aliasObject, player, args);
|
||||
}
|
||||
if (aliasObject.messageEnable) {
|
||||
subAliasMessage(aliasObject, alias, player, args);
|
||||
}
|
||||
}
|
||||
|
||||
protected static void aliasConsole(AliasObject alias, CommandSender sender, String prefix) {
|
||||
if (alias.consoleCommandEnable) {
|
||||
for (String cmd : alias.consoleCommands) {
|
||||
|
Reference in New Issue
Block a user