|
|
|
package org.poopki.duckdns.user_db;
|
|
|
|
|
|
|
|
import org.bukkit.Bukkit;
|
|
|
|
import org.bukkit.command.Command;
|
|
|
|
import org.bukkit.command.CommandExecutor;
|
|
|
|
import org.bukkit.command.CommandSender;
|
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
|
|
|
|
public class AccountEventHandler implements CommandExecutor {
|
|
|
|
AccountArray m_AccountArray;
|
|
|
|
public AccountEventHandler(AccountArray AA){
|
|
|
|
m_AccountArray = AA;
|
|
|
|
}
|
|
|
|
public static boolean isStringDouble(String s) {
|
|
|
|
try {
|
|
|
|
Double.parseDouble(s);
|
|
|
|
return true;
|
|
|
|
} catch (NumberFormatException e) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
|
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
|
|
|
Player p = (Player) sender;
|
|
|
|
|
|
|
|
if (args.length != 0) {
|
|
|
|
switch (args[0]) {
|
|
|
|
case "설정": {
|
|
|
|
if (p.isOp()) {
|
|
|
|
if (args.length > 1) {
|
|
|
|
if (args[1] != null) {
|
|
|
|
Player op = Bukkit.getPlayer(args[1]);
|
|
|
|
if (op != null) {
|
|
|
|
if (args.length > 2) {
|
|
|
|
if (isStringDouble(args[2])) {
|
|
|
|
m_AccountArray.setAccountInfo(op.getUniqueId(), Integer.parseInt(args[2]));
|
|
|
|
p.sendMessage(op.getName() + "님의 잔액을" + Integer.parseInt(args[2]) + "원으로 설정하였습니다.");
|
|
|
|
} else {
|
|
|
|
p.sendMessage("설정 금액은 숫자만 가능합니다.");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
p.sendMessage("설정 금액을 입력해주세요.");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
p.sendMessage("잘못된 계좌입니다.");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
p.sendMessage("설정 대상이 지정되지 않았습니다.");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
p.sendMessage("OP만 실행 가능한 명령어");
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case "잔액": {
|
|
|
|
p.sendMessage("잔액: " + m_AccountArray.getAccountInfo(p.getUniqueId()) + "원");
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case "이체": {
|
|
|
|
if (args.length > 1) {
|
|
|
|
if(args.length > 2) {
|
|
|
|
Player op = Bukkit.getPlayer(args[1]);
|
|
|
|
if (op != null) {
|
|
|
|
if (isStringDouble(args[2])) {
|
|
|
|
if(p.getUniqueId() != op.getUniqueId()) {
|
|
|
|
if (m_AccountArray.transfer(p.getUniqueId(), op.getUniqueId(), Integer.parseInt(args[2])))
|
|
|
|
p.sendMessage(op.getName() + "님에게 " + Integer.parseInt(args[2]) + "원을 이체하였습니다.");
|
|
|
|
else
|
|
|
|
p.sendMessage("잔액이 부족합니다.");
|
|
|
|
} else{
|
|
|
|
p.sendMessage("자기 자신에게는 이체할 수 없습니다.");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
p.sendMessage("이체 금액은 숫자만 가능합니다.");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
p.sendMessage("잘못된 계좌입니다.");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
p.sendMessage("이체 금액을 입력해주세요.");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
p.sendMessage("이체 대상이 지정되지 않았습니다.");
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
default: {
|
|
|
|
p.sendMessage("잘못된 명령어");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
p.sendMessage("명령어를 입력하세요(잔액 | 이체)");
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|