You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
5.6 KiB

package org.poopki.duckdns.user_db.Array;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.poopki.duckdns.user_db.UserInfoArray;
import java.util.UUID;
public class AccountEventHandler implements CommandExecutor {
AccountArray m_AccountArray;
UserInfoArray m_UserInfoArray;
public AccountEventHandler(AccountArray AA, UserInfoArray UIA){
m_AccountArray = AA;
m_UserInfoArray = UIA;
}
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) {
UUID op = m_UserInfoArray.getUserUUID(args[1]);
if (op != null) {
if (args.length > 2) {
if (isStringDouble(args[2])) {
if(m_AccountArray.setAccountInfo(m_UserInfoArray.getUserUUID(args[1]), Long.parseLong(args[2]))){
p.sendMessage(args[1] + "님의 잔액을 " + Integer.parseInt(args[2]) + "원으로 설정하였습니다.");
} else{
p.sendMessage("최대 금액 이상으로 설정할 수 없습니다.");
}
} else {
p.sendMessage("설정 금액은 숫자만 가능합니다.");
}
} else {
p.sendMessage("설정 금액을 입력해주세요.");
}
} else {
p.sendMessage("잘못된 계좌입니다.");
}
}
}else{
p.sendMessage("설정 대상이 지정되지 않았습니다.");
}
} else {
p.sendMessage("관리자만 실행 가능한 명령어입니다.");
}
break;
}
case "잔액": {
p.sendMessage("==잔액: " + m_AccountArray.getAccountInfo(p.getUniqueId()) + "원==");
break;
}
case "테스트": {
p.sendMessage("ㅅㅅㅅㅅㅅㅅ");
break;
}
case "이체": {
if (args.length > 1) {
if(args.length > 2) {
UUID op = m_UserInfoArray.getUserUUID(args[1]);
p.sendMessage("이체"+args[1]+op);
if (op != null) {
if (isStringDouble(args[2])) {
if(p.getUniqueId() != op) {
switch(m_AccountArray.transfer(p.getUniqueId(), op, Long.parseLong(args[2])))
{
case 1: {
p.sendMessage(args[1]+ "님에게 " + Integer.parseInt(args[2]) + "원을 이체하였습니다.");
break;
}
case 2: {
p.sendMessage("잔액은 최대 금액을 초과할 수 없습니다.");
break;
}
case 3:{
p.sendMessage("잔액이 부족합니다.");
break;
}
}
} else{
p.sendMessage("자기 자신에게는 이체할 수 없습니다.");
}
} else {
p.sendMessage("이체 금액은 숫자만 가능합니다.");
}
} else {
p.sendMessage("잘못된 계좌입니다.");
}
} else {
p.sendMessage("이체 금액을 입력해주세요.");
}
} else {
p.sendMessage("이체 대상이 지정되지 않았습니다.");
}
break;
}
default: {
p.sendMessage("잘못된 명령어");
}
}
}
else{
p.sendMessage("명령어를 입력하세요(잔액 | 이체)");
}
return true;
}
}