156 lines
7.1 KiB
Java
156 lines
7.1 KiB
Java
![]() |
package jesse.keeblarcraft.Commands;
|
||
|
|
||
|
import com.mojang.brigadier.arguments.IntegerArgumentType;
|
||
|
import com.mojang.brigadier.arguments.LongArgumentType;
|
||
|
import com.mojang.brigadier.arguments.StringArgumentType;
|
||
|
import com.mojang.brigadier.context.CommandContext;
|
||
|
|
||
|
import jesse.keeblarcraft.BankMgr.BankManager;
|
||
|
import jesse.keeblarcraft.ConfigMgr.ConfigManager;
|
||
|
import net.minecraft.server.command.CommandManager;
|
||
|
import net.minecraft.server.command.ServerCommandSource;
|
||
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||
|
import net.minecraft.text.Text;
|
||
|
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
|
||
|
|
||
|
public class BankCommands {
|
||
|
ConfigManager config = new ConfigManager();
|
||
|
|
||
|
public void RegisterCommands(){
|
||
|
// Command: "/getbalance"
|
||
|
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> {
|
||
|
dispatcher.register(CommandManager.literal("getbalance")
|
||
|
.executes(context -> GetBalance(context)));
|
||
|
});
|
||
|
|
||
|
// Command: "/setbalance || rootSetBalance"
|
||
|
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> {
|
||
|
final var rootSetBalance = dispatcher.register(CommandManager.literal("setbalance")
|
||
|
.then(CommandManager.argument("newBalance", IntegerArgumentType.integer())
|
||
|
.then(CommandManager.argument("reason", StringArgumentType.string())
|
||
|
.then(CommandManager.argument("otherParty", StringArgumentType.string())
|
||
|
.executes(context -> SetBalance(
|
||
|
IntegerArgumentType.getInteger(context, "newBalance"),
|
||
|
StringArgumentType.getString(context, "reason"),
|
||
|
StringArgumentType.getString(context, "otherParty"),
|
||
|
context))))));
|
||
|
|
||
|
dispatcher.register(CommandManager.literal("setbalance").redirect(rootSetBalance));
|
||
|
});
|
||
|
|
||
|
// Command: "/AddMoney"
|
||
|
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> {
|
||
|
dispatcher.register(CommandManager.literal("AddMoney")
|
||
|
.then(CommandManager.argument("reason", StringArgumentType.string())
|
||
|
.then(CommandManager.argument("payment", LongArgumentType.longArg())
|
||
|
.then(CommandManager.argument("otherParty", StringArgumentType.string())
|
||
|
.executes(context -> AddMoney(
|
||
|
StringArgumentType.getString(context, "reason"),
|
||
|
LongArgumentType.getLong(context, "payment"),
|
||
|
StringArgumentType.getString(context, "otherParty"),
|
||
|
context))))));
|
||
|
});
|
||
|
|
||
|
// Command: "/subtractbalance || /SubtractBalance"
|
||
|
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> {
|
||
|
final var SubtractBalance = dispatcher.register(CommandManager.literal("subtractbalance")
|
||
|
.then(CommandManager.argument("reason", StringArgumentType.string())
|
||
|
.then(CommandManager.argument("payment", LongArgumentType.longArg())
|
||
|
.then(CommandManager.argument("otherParty", StringArgumentType.string())
|
||
|
.executes(context -> SubtractBalance(
|
||
|
StringArgumentType.getString(context, "reason"),
|
||
|
LongArgumentType.getLong(context, "payment"),
|
||
|
StringArgumentType.getString(context, "otherParty"),
|
||
|
context))))));
|
||
|
|
||
|
dispatcher.register(CommandManager.literal("subtractbalance").redirect(SubtractBalance));
|
||
|
});
|
||
|
|
||
|
// Command: "/wire || /sendmoney"
|
||
|
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> {
|
||
|
final var sendmoney = dispatcher.register(CommandManager.literal("wire")
|
||
|
.then(CommandManager.argument("reason", StringArgumentType.string())
|
||
|
.then(CommandManager.argument("payment", LongArgumentType.longArg())
|
||
|
.then(CommandManager.argument("otherParty", StringArgumentType.string())
|
||
|
.executes(context -> Wire(
|
||
|
StringArgumentType.getString(context, "reason"),
|
||
|
LongArgumentType.getLong(context, "payment"),
|
||
|
StringArgumentType.getString(context, "otherParty"),
|
||
|
context))))));
|
||
|
|
||
|
dispatcher.register(CommandManager.literal("wire").redirect(sendmoney));
|
||
|
});
|
||
|
}
|
||
|
|
||
|
public Integer GetBalance(CommandContext<ServerCommandSource> context) {
|
||
|
Integer ret = -1;
|
||
|
|
||
|
if (context.getSource().isExecutedByPlayer()) {
|
||
|
ServerPlayerEntity player = context.getSource().getPlayer();
|
||
|
BankManager playerBank = new BankManager(player.getUuidAsString());
|
||
|
player.sendMessage(Text.literal(String.valueOf(playerBank.GetBalance())));
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
return ret;
|
||
|
}
|
||
|
|
||
|
//SetBalance will be a ServerCommand only Perm level Op
|
||
|
public Integer SetBalance(Integer newBalance, String reason, String otherParty, CommandContext<ServerCommandSource> context) {
|
||
|
Integer ret = -1;
|
||
|
|
||
|
if (context.getSource().hasPermissionLevel(1)) {
|
||
|
ServerPlayerEntity player = context.getSource().getPlayer();
|
||
|
BankManager playerBank = new BankManager(player.getUuidAsString());
|
||
|
playerBank.SetBalance(newBalance, reason, otherParty);
|
||
|
player.sendMessage(Text.literal(String.valueOf(playerBank.GetBalance())));
|
||
|
}
|
||
|
|
||
|
return ret;
|
||
|
}
|
||
|
|
||
|
//AddMoney will be a ServerCommand Only Perm level Op
|
||
|
public Integer AddMoney(String reason, long payment, String otherParty, CommandContext<ServerCommandSource> context) {
|
||
|
Integer ret = -1;
|
||
|
|
||
|
if (context.getSource().hasPermissionLevel(1)) {
|
||
|
ret = 0;
|
||
|
ServerPlayerEntity player = context.getSource().getPlayer();
|
||
|
BankManager playerBank = new BankManager(player.getUuidAsString());
|
||
|
playerBank.AddMoney(reason, payment, otherParty);
|
||
|
player.sendMessage(Text.literal(String.valueOf(playerBank.GetBalance())));
|
||
|
}
|
||
|
|
||
|
return ret;
|
||
|
}
|
||
|
|
||
|
//SubtractBalance will be a ServerCommand Perm leve Op
|
||
|
public Integer SubtractBalance(String reason, long payment, String otherParty, CommandContext<ServerCommandSource> context) {
|
||
|
Integer ret = -1;
|
||
|
|
||
|
if (context.getSource().hasPermissionLevel(1)) {
|
||
|
ret = 0;
|
||
|
ServerPlayerEntity player = context.getSource().getPlayer();
|
||
|
BankManager playerBank = new BankManager(player.getUuidAsString());
|
||
|
playerBank.SubtractBalance(reason, payment, otherParty);
|
||
|
player.sendMessage(Text.literal(String.valueOf(playerBank.GetBalance())));
|
||
|
}
|
||
|
|
||
|
return ret;
|
||
|
}
|
||
|
|
||
|
public Integer Wire(String reason, long payment, String otherParty, CommandContext<ServerCommandSource> context) {
|
||
|
Integer ret = -1;
|
||
|
|
||
|
if (context.getSource().isExecutedByPlayer()) {
|
||
|
ret = 0;
|
||
|
ServerPlayerEntity player = context.getSource().getPlayer();
|
||
|
BankManager playerBank = new BankManager(player.getUuidAsString());
|
||
|
playerBank.Wire(reason, payment, otherParty);
|
||
|
player.sendMessage(Text.literal(String.valueOf(playerBank.GetBalance())));
|
||
|
}
|
||
|
|
||
|
return ret;
|
||
|
}
|
||
|
}
|