Compare commits
16 Commits
Command
...
Group_Syst
Author | SHA1 | Date |
---|---|---|
poopki | b3e5851b05 | 2 years ago |
poopki | d464d5a77d | 2 years ago |
poopki | de6b3de02f | 2 years ago |
poopki | 8295f06691 | 2 years ago |
poopki | 6037d17087 | 2 years ago |
poopki | 7ae1f2c1e6 | 2 years ago |
poopki | 012f82b805 | 2 years ago |
poopki | 93c37e2d12 | 2 years ago |
poopki | dbc6dc05fd | 2 years ago |
poopki | 7f011904ce | 2 years ago |
poopki | 29567fd793 | 2 years ago |
poopki | 5f7c4b2904 | 3 years ago |
poopki | fe9efa748b | 3 years ago |
poopki | b26bb99496 | 3 years ago |
poopki | 6bbf4c8713 | 3 years ago |
poopki | 71a5aa8e8c | 3 years ago |
32 changed files with 2535 additions and 186 deletions
@ -0,0 +1,3 @@ |
|||||||
|
# Default ignored files |
||||||
|
/shelf/ |
||||||
|
/workspace.xml |
@ -0,0 +1,6 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<project version="4"> |
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" project-jdk-name="1.8" project-jdk-type="JavaSDK"> |
||||||
|
<output url="file://$PROJECT_DIR$/out" /> |
||||||
|
</component> |
||||||
|
</project> |
@ -0,0 +1,8 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<project version="4"> |
||||||
|
<component name="ProjectModuleManager"> |
||||||
|
<modules> |
||||||
|
<module fileurl="file://$PROJECT_DIR$/Project.The_SEED.iml" filepath="$PROJECT_DIR$/Project.The_SEED.iml" /> |
||||||
|
</modules> |
||||||
|
</component> |
||||||
|
</project> |
@ -0,0 +1,6 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<project version="4"> |
||||||
|
<component name="VcsDirectoryMappings"> |
||||||
|
<mapping directory="" vcs="Git" /> |
||||||
|
</component> |
||||||
|
</project> |
@ -1,113 +0,0 @@ |
|||||||
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])) { |
|
||||||
if(m_AccountArray.setAccountInfo(op.getUniqueId(), Long.parseLong(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; |
|
||||||
} |
|
||||||
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()) { |
|
||||||
switch(m_AccountArray.transfer(p.getUniqueId(), op.getUniqueId(), Long.parseLong(args[2]))) |
|
||||||
{ |
|
||||||
case 1: { |
|
||||||
p.sendMessage(op.getName() + "님에게 " + 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; |
|
||||||
} |
|
||||||
} |
|
@ -1,5 +1,4 @@ |
|||||||
package org.poopki.duckdns.user_db; |
package org.poopki.duckdns.user_db.Array; |
||||||
|
|
||||||
|
|
||||||
public class Account { |
public class Account { |
||||||
private int m_Balance; |
private int m_Balance; |
@ -0,0 +1,119 @@ |
|||||||
|
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(UserInfoArray UIA, AccountArray AA){ |
||||||
|
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()) { |
||||||
|
p.sendMessage("관리자만 실행 가능한 명령어입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("설정 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_UserInfoArray.getUserUUID(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 계좌입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 2) { |
||||||
|
p.sendMessage("설정 금액을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (!isStringDouble(args[2])) { |
||||||
|
p.sendMessage("설정 금액은 숫자만 가능합니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(m_AccountArray.getAccountInfo(op)+Long.parseLong(args[2])>2147483647){ |
||||||
|
p.sendMessage("최대 금액 이상으로 설정할 수 없습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
m_AccountArray.setAccountInfo(m_UserInfoArray.getUserUUID(args[1]), Long.parseLong(args[2])); |
||||||
|
p.sendMessage(args[1] + "님의 잔액을 " + Integer.parseInt(args[2]) + "원으로 설정하였습니다."); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "입금": { |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("이체 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_UserInfoArray.getUserUUID(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 계좌입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 2) { |
||||||
|
p.sendMessage("이체 금액을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (!isStringDouble(args[2])) { |
||||||
|
p.sendMessage("이체 금액은 숫자만 가능합니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(p.getUniqueId() == op) { |
||||||
|
p.sendMessage("자기 자신에게는 이체할 수 없습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
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; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "잔액": { |
||||||
|
p.sendMessage("==잔액: " + m_AccountArray.getAccountInfo(p.getUniqueId()) + "원=="); |
||||||
|
break; |
||||||
|
} |
||||||
|
default: { |
||||||
|
p.sendMessage("잘못된 명령어"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("명령어를 입력하세요(잔액 | 이체)"); |
||||||
|
} |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package org.poopki.duckdns.user_db.Array; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
public class Farm extends Group{ |
||||||
|
public Farm(String Name, List<UUID> uuid_list){ |
||||||
|
super(Name, uuid_list); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,12 @@ |
|||||||
|
package org.poopki.duckdns.user_db.Array; |
||||||
|
|
||||||
|
import org.bukkit.Bukkit; |
||||||
|
import org.poopki.duckdns.user_db.UserInfoArray; |
||||||
|
|
||||||
|
import java.util.*; |
||||||
|
|
||||||
|
public class FarmArray extends GroupArray{ |
||||||
|
public FarmArray(UserInfoArray m_UIA){ |
||||||
|
super(m_UIA, 10); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,286 @@ |
|||||||
|
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 FarmEventHandler implements CommandExecutor { |
||||||
|
|
||||||
|
FarmArray m_FarmArray; |
||||||
|
UserInfoArray m_UserInfoArray; |
||||||
|
AccountArray m_AccountArray; |
||||||
|
UUID ZERO_UUID = new UUID(0,0); |
||||||
|
public FarmEventHandler(UserInfoArray UIA, FarmArray GA, AccountArray AA){ |
||||||
|
m_FarmArray = GA; |
||||||
|
m_UserInfoArray = UIA; |
||||||
|
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 "생성":{ |
||||||
|
UUID tempUUID = UUID.randomUUID(); |
||||||
|
if(!m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("이미 농장을 소유중"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm")); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
if(!m_FarmArray.CreateGroup(tempUUID, args[1], p.getUniqueId())){ |
||||||
|
p.sendMessage("이미 존재하는 농장 이름"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
m_UserInfoArray.setUserGroupUUID("Farm",p.getUniqueId(), tempUUID); |
||||||
|
m_AccountArray.putAccountInfo(tempUUID,0); |
||||||
|
|
||||||
|
for (UUID key: m_UserInfoArray.getKeySet()){ |
||||||
|
p.sendMessage("------------"+p.getUniqueId()); |
||||||
|
p.sendMessage(""+m_UserInfoArray.getUserGroupUUID(key,"Farm")); |
||||||
|
} |
||||||
|
|
||||||
|
p.sendMessage(args[1]+"농장이 생성되었습니다."); |
||||||
|
p.sendMessage("농장 멤버 목록: "); |
||||||
|
|
||||||
|
for (String Name: m_FarmArray.GetGroupMembersName(tempUUID)){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
|
||||||
|
p.sendMessage("농장 목록:"); |
||||||
|
|
||||||
|
for (String Name: m_FarmArray.GetGroupNameList()){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "가입":{ |
||||||
|
p.sendMessage("플레이어 UUID:"+p.getUniqueId()+" 농장 UUID:"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm")); |
||||||
|
p.sendMessage("ZERO UUID:"+ZERO_UUID); |
||||||
|
if(!m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("이미 가입한 농장이 존재"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("가입 완료"); |
||||||
|
m_FarmArray.SignUpGroup("Farm",m_FarmArray.m_GroupNameList.get(args[1]),p.getUniqueId()); |
||||||
|
p.sendMessage("농장 멤버 목록: "); |
||||||
|
for (String Name: m_FarmArray.GetGroupMembersName(m_FarmArray.m_GroupNameList.get(args[1]))){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
p.sendMessage("농장 목록:"); |
||||||
|
for (String Name: m_FarmArray.GetGroupNameList()){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "초대":{ |
||||||
|
p.sendMessage("초대 테스트"); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "강퇴":{ |
||||||
|
p.sendMessage("강퇴 테스트"+args[1]); |
||||||
|
if(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("가입한 농장이 없습니다."+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm")); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
if(!m_FarmArray.isOwner(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm"), p.getUniqueId())){ |
||||||
|
p.sendMessage("농장주만 사용 가능한 명령어"+ p.getUniqueId()); |
||||||
|
} |
||||||
|
|
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("강퇴할 대상을 지정"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
UUID op = m_UserInfoArray.getUserUUID(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 대상"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
if(!m_FarmArray.isGroupMember(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm"),op)) { |
||||||
|
p.sendMessage("농장에 가입되지 않은 유저"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
m_FarmArray.ExpulsionGroupPlayer("Farm", m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm"), op); |
||||||
|
break; |
||||||
|
} |
||||||
|
case "탈퇴": { |
||||||
|
if(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("가입한 농장이 없습니다."+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm")); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("탈퇴 플레이어 UUID:"+p.getUniqueId()+" 농장 UUID:"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Farm")); |
||||||
|
m_FarmArray.ExpulsionGroupPlayer("Farm",m_UserInfoArray.getUserGroupUUID(p.getUniqueId(),"Farm"),p.getUniqueId()); |
||||||
|
|
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "이름":{ |
||||||
|
p.sendMessage("현재 파티 이름"+m_FarmArray.GetGroupName(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(),"Farm"))); |
||||||
|
break; |
||||||
|
} |
||||||
|
case "정보": { |
||||||
|
for (String Name: m_FarmArray.GetGroupNameList()){ |
||||||
|
p.sendMessage("농장 이름:"); |
||||||
|
p.sendMessage(Name); |
||||||
|
p.sendMessage("인원 목록"); |
||||||
|
for (String Name2: m_FarmArray.GetGroupMembersName(m_FarmArray.m_GroupNameList.get(Name))) { |
||||||
|
p.sendMessage(Name2); |
||||||
|
} |
||||||
|
p.sendMessage("계좌 잔액:"+m_AccountArray.getAccountInfo(m_FarmArray.m_GroupNameList.get(Name))); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "계좌설정":{ |
||||||
|
if (!p.isOp()) { |
||||||
|
p.sendMessage("관리자만 실행 가능한 명령어입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("설정 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_FarmArray.m_GroupNameList.get(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 계좌입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 2) { |
||||||
|
p.sendMessage("설정 금액을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (!isStringDouble(args[2])) { |
||||||
|
p.sendMessage("설정 금액은 숫자만 가능합니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(m_AccountArray.getAccountInfo(op)+Long.parseLong(args[2])>2147483647){ |
||||||
|
p.sendMessage("최대 금액 이상으로 설정할 수 없습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
m_AccountArray.setAccountInfo(op, Long.parseLong(args[2])); |
||||||
|
p.sendMessage(args[1] + "님의 잔액을 " + Integer.parseInt(args[2]) + "원으로 설정하였습니다."); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "입금": { |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("이체 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args[1] == null) { |
||||||
|
p.sendMessage("이체 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_FarmArray.m_GroupNameList.get(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 계좌입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 2) { |
||||||
|
p.sendMessage("이체 금액을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (!isStringDouble(args[2])) { |
||||||
|
p.sendMessage("이체 금액은 숫자만 가능합니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(p.getUniqueId() == op) { |
||||||
|
p.sendMessage("자기 자신에게는 이체할 수 없습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
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; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "출금": { |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("출금 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args[1] == null) { |
||||||
|
p.sendMessage("출금 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_FarmArray.m_GroupNameList.get(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 계좌입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 2) { |
||||||
|
p.sendMessage("출금 금액을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (!isStringDouble(args[2])) { |
||||||
|
p.sendMessage("출금 금액은 숫자만 가능합니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(p.getUniqueId() == op) { |
||||||
|
p.sendMessage("자기 자신에게는 출금할 수 없습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
switch(m_AccountArray.transfer(op, p.getUniqueId(), 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; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "잔액": { |
||||||
|
p.sendMessage("==잔액: " + m_AccountArray.getAccountInfo(m_FarmArray.GetUUID(args[1]))+ "원=="); |
||||||
|
break; |
||||||
|
} |
||||||
|
default: { |
||||||
|
p.sendMessage("잘못된 명령어"); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
package org.poopki.duckdns.user_db.Array; |
||||||
|
|
||||||
|
import java.util.Collections; |
||||||
|
import java.util.List; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
public class Group { |
||||||
|
private String m_Name; |
||||||
|
private List<UUID> m_MemberList = new ArrayList<>(); |
||||||
|
UUID ZERO_UUID = UUID.fromString("00000000-0000-0000-0000-000000000000"); |
||||||
|
int MAX_FARM_NUM = 10; |
||||||
|
|
||||||
|
public Group(String Name, List<UUID> uuid_list){ |
||||||
|
int index = 0; |
||||||
|
for(UUID key: uuid_list){ |
||||||
|
m_MemberList.add(index,key); |
||||||
|
index++; |
||||||
|
} |
||||||
|
m_Name = Name; |
||||||
|
} |
||||||
|
|
||||||
|
public void SignUp(UUID uuid){ |
||||||
|
m_MemberList.add((UUID)uuid); |
||||||
|
} |
||||||
|
|
||||||
|
public void Expulsion(UUID uuid){ |
||||||
|
m_MemberList.remove(uuid); |
||||||
|
} |
||||||
|
|
||||||
|
public boolean isMember(UUID uuid){ |
||||||
|
return m_MemberList.contains(uuid); |
||||||
|
} |
||||||
|
public int getMemMaxNUM(){ |
||||||
|
return MAX_FARM_NUM; |
||||||
|
} |
||||||
|
public List<UUID> getGroupMembers(){ return m_MemberList;} |
||||||
|
public int getMemNUM(){ |
||||||
|
int num = m_MemberList.size(); |
||||||
|
return num; |
||||||
|
} |
||||||
|
|
||||||
|
public String getGroupName(){ return m_Name; } |
||||||
|
public int isEmpty(){return m_MemberList.size();} |
||||||
|
public boolean isOwner(UUID uuid){ |
||||||
|
if(m_MemberList.get(0).equals(uuid)){ |
||||||
|
return true; |
||||||
|
}else{ |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,170 @@ |
|||||||
|
package org.poopki.duckdns.user_db.Array; |
||||||
|
|
||||||
|
import org.bukkit.Bukkit; |
||||||
|
import org.bukkit.entity.Player; |
||||||
|
import org.poopki.duckdns.user_db.UserInfoArray; |
||||||
|
|
||||||
|
import java.util.*; |
||||||
|
|
||||||
|
public class GroupArray { |
||||||
|
|
||||||
|
|
||||||
|
protected Map<UUID, Group> m_GroupArray; |
||||||
|
protected Map<String, UUID> m_GroupNameList; |
||||||
|
public List<UUID> m_DeleteQueue = new ArrayList<>(); |
||||||
|
UserInfoArray m_UserInfoArray; |
||||||
|
UUID ZERO_UUID = UUID.fromString("00000000-0000-0000-0000-000000000000"); |
||||||
|
int MAX_GROUP_NUM = 10; |
||||||
|
|
||||||
|
public GroupArray(UserInfoArray m_UIA, int num){ |
||||||
|
m_UserInfoArray = m_UIA; |
||||||
|
m_GroupArray = new HashMap<UUID, Group>(); |
||||||
|
m_GroupNameList = new HashMap<String, UUID>(); |
||||||
|
MAX_GROUP_NUM = num; |
||||||
|
} |
||||||
|
|
||||||
|
public boolean CreateGroup(UUID GroupUUID, String Name, UUID PlayerUUID){ |
||||||
|
if(m_GroupNameList.containsKey(Name)){ |
||||||
|
return false; // Conflict
|
||||||
|
} else{ |
||||||
|
List<UUID> m_MemberList = new ArrayList<>(); |
||||||
|
m_MemberList.add(PlayerUUID); |
||||||
|
|
||||||
|
m_GroupArray.put(GroupUUID, new Group(Name, m_MemberList)); |
||||||
|
m_GroupNameList.put(Name, GroupUUID); |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public boolean PutGroup(UUID GroupUUID, String Name,List<UUID> PlayerUUID){ |
||||||
|
List<UUID> m_MemberList = new ArrayList<>(); |
||||||
|
|
||||||
|
Iterator <UUID> it = PlayerUUID.iterator(); |
||||||
|
|
||||||
|
while(it.hasNext()){ |
||||||
|
m_MemberList.add(it.next()); |
||||||
|
} |
||||||
|
|
||||||
|
m_GroupArray.put(GroupUUID, new Group(Name, m_MemberList)); |
||||||
|
m_GroupNameList.put(Name,GroupUUID); |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
public boolean CheckGroup(String GroupType, String Name){ |
||||||
|
return m_GroupArray.containsKey(m_GroupNameList.get(Name)); |
||||||
|
} |
||||||
|
public static <K, V> K getKey(Map<K, V> map, V value) { |
||||||
|
|
||||||
|
for (K key : map.keySet()) { |
||||||
|
if (value.equals(map.get(key))) { |
||||||
|
return key; |
||||||
|
} |
||||||
|
} |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
public UUID GetUUID(String name){ |
||||||
|
return m_GroupNameList.get(name); |
||||||
|
} |
||||||
|
|
||||||
|
public boolean DeleteGroup(UUID GroupUUID, String GroupType){ |
||||||
|
if(m_GroupArray.containsKey(GroupUUID)){ |
||||||
|
for(UUID key: GetGroupMembersUUID(GroupUUID)){ |
||||||
|
m_UserInfoArray.setUserGroupUUID(GroupType,key,new UUID(0,0)); |
||||||
|
} |
||||||
|
|
||||||
|
m_GroupNameList.remove(GetGroupName(GroupUUID)); |
||||||
|
m_GroupArray.remove(GroupUUID); |
||||||
|
return true; |
||||||
|
} |
||||||
|
else{ |
||||||
|
return false; // Group is not exists.
|
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
public String SignUpGroup(String GroupType, UUID GroupUUID, UUID PlayerUUID){ |
||||||
|
if(m_GroupArray.containsKey(GroupUUID) && m_UserInfoArray.getUserGroupUUID(PlayerUUID, GroupType).equals(ZERO_UUID)){ |
||||||
|
Group m_Group = m_GroupArray.get(GroupUUID); |
||||||
|
m_Group.SignUp(PlayerUUID); |
||||||
|
m_UserInfoArray.setUserGroupUUID(GroupType,PlayerUUID,GroupUUID); |
||||||
|
return ""; |
||||||
|
} else{ |
||||||
|
return "다른 그룹에 가입되어있습니다."; // Wrong Group
|
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public boolean ExpulsionGroupPlayer(String GroupType, UUID GroupUUID, UUID PlayerUUID){ |
||||||
|
if(m_GroupArray.get(GroupUUID).isMember(PlayerUUID)) { |
||||||
|
Group m_Group = m_GroupArray.get(GroupUUID); |
||||||
|
m_Group.Expulsion(PlayerUUID); |
||||||
|
m_UserInfoArray.setUserGroupUUID(GroupType,PlayerUUID,ZERO_UUID); |
||||||
|
int temp = m_GroupArray.get(GroupUUID).getMemNUM(); |
||||||
|
|
||||||
|
if(temp==0){ |
||||||
|
m_GroupNameList.remove(m_Group.getGroupName()); |
||||||
|
m_GroupArray.remove(GroupUUID); |
||||||
|
m_DeleteQueue.add(GroupUUID); |
||||||
|
Bukkit.getPlayer(PlayerUUID).sendMessage(""+temp+" "+m_DeleteQueue); |
||||||
|
} |
||||||
|
return true; |
||||||
|
} else{ |
||||||
|
return false; // Wrong Player Name. FIXME{Need Checking function for a validate user name's }
|
||||||
|
/* Player op = Bukkit.getPlayer(args[1]); |
||||||
|
if (op != null) { |
||||||
|
*/ |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public List<String> GetGroupMembersName(UUID GroupUUID){ |
||||||
|
List<String> MembersName = new ArrayList<>(); |
||||||
|
for (UUID key : m_GroupArray.get(GroupUUID).getGroupMembers()){ |
||||||
|
try { |
||||||
|
MembersName.add(Bukkit.getPlayer(key).getDisplayName()); |
||||||
|
} |
||||||
|
catch(NullPointerException e){ |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
return MembersName; |
||||||
|
} |
||||||
|
public List<UUID> GetGroupMembersUUID(UUID GroupUUID){ |
||||||
|
return m_GroupArray.get(GroupUUID).getGroupMembers(); |
||||||
|
} |
||||||
|
public boolean isGroupMember(UUID GroupUUID, UUID PlayerUUID){ |
||||||
|
Group m_Group = m_GroupArray.get(GroupUUID); |
||||||
|
return m_Group.isMember(PlayerUUID); |
||||||
|
} |
||||||
|
public int GetGroupMemNUM(UUID GroupUUID){ |
||||||
|
Group m_Group = m_GroupArray.get(GroupUUID); |
||||||
|
return m_Group.getMemNUM(); |
||||||
|
} |
||||||
|
public Set<String> GetGroupNameList(){ |
||||||
|
return m_GroupNameList.keySet(); |
||||||
|
} |
||||||
|
|
||||||
|
public Set<UUID> getKeySet(){ // 유저 목록 return
|
||||||
|
return m_GroupArray.keySet(); |
||||||
|
} |
||||||
|
|
||||||
|
public Set<String> getNameSet() { return m_GroupNameList.keySet(); } |
||||||
|
public String GetGroupName(UUID GroupUUID){ |
||||||
|
Group m_Group = m_GroupArray.get(GroupUUID); |
||||||
|
return m_Group.getGroupName(); |
||||||
|
} |
||||||
|
public int GetGroupMemMaxNum(UUID GroupUUID){ |
||||||
|
Group m_Group = m_GroupArray.get(GroupUUID); |
||||||
|
return m_Group.getMemMaxNUM(); |
||||||
|
} |
||||||
|
public boolean isOffline(UUID uuid){ |
||||||
|
return Bukkit.getPlayer(uuid).equals(null) && !Bukkit.getOfflinePlayer(uuid).equals(null); |
||||||
|
} |
||||||
|
|
||||||
|
public boolean isOwner(UUID GroupUUID, UUID PlayerUUID){ |
||||||
|
return m_GroupArray.get(GroupUUID).isOwner(PlayerUUID); |
||||||
|
} |
||||||
|
private boolean isAvaliableGroup(UUID GroupUUID){ |
||||||
|
return m_GroupArray.containsKey(GroupUUID); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,268 @@ |
|||||||
|
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 GroupEventHandler implements CommandExecutor { |
||||||
|
|
||||||
|
GroupArray m_GroupArray; |
||||||
|
UserInfoArray m_UserInfoArray; |
||||||
|
AccountArray m_AccountArray; |
||||||
|
UUID ZERO_UUID = new UUID(0,0); |
||||||
|
|
||||||
|
String m_GroupType; |
||||||
|
String m_Type; |
||||||
|
public GroupEventHandler(GroupArray GA, UserInfoArray UIA, AccountArray AA, String GroupType, String Type){ |
||||||
|
m_GroupArray = GA; |
||||||
|
m_UserInfoArray = UIA; |
||||||
|
m_GroupType = GroupType; |
||||||
|
m_Type=Type; |
||||||
|
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 "생성":{ |
||||||
|
UUID tempUUID = UUID.randomUUID(); |
||||||
|
if(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type).equals(ZERO_UUID)){ |
||||||
|
if(m_GroupArray.CreateGroup(tempUUID, args[1], p.getUniqueId())){ |
||||||
|
m_UserInfoArray.setUserGroupUUID(m_Type,p.getUniqueId(), tempUUID); |
||||||
|
m_AccountArray.putAccountInfo(tempUUID,0); |
||||||
|
p.sendMessage(args[1]+m_GroupType+"이 생성되었습니다."); |
||||||
|
p.sendMessage(m_GroupType+" 멤버 목록: "); |
||||||
|
for (String Name: m_GroupArray.GetGroupMembersName(tempUUID)){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
p.sendMessage(m_GroupType+" 목록:"); |
||||||
|
for (String Name: m_GroupArray.GetGroupNameList()){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("이미 존재하는 "+m_GroupType+" 이름입니다."); |
||||||
|
} |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("이미"+m_GroupType+"을(를) 소유중입니다."+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type)); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "가입":{ |
||||||
|
p.sendMessage("플레이어 UUID:"+p.getUniqueId()+" 농장 UUID:"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type)); |
||||||
|
p.sendMessage("ZERO UUID:"+ZERO_UUID); |
||||||
|
if(!m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type).equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("이미 가입한 "+m_GroupType+"이(가) 존재합니다."); |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("가입 완료"); |
||||||
|
m_GroupArray.SignUpGroup(m_Type,m_GroupArray.m_GroupNameList.get(args[1]),p.getUniqueId()); |
||||||
|
p.sendMessage(m_GroupType+" 멤버 목록: "); |
||||||
|
for (String Name: m_GroupArray.GetGroupMembersName(m_GroupArray.m_GroupNameList.get(args[1]))){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
p.sendMessage(m_GroupType+" 목록:"); |
||||||
|
for (String Name: m_GroupArray.GetGroupNameList()){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "초대":{ |
||||||
|
p.sendMessage("초대 테스트"); |
||||||
|
break; |
||||||
|
} |
||||||
|
case "강퇴":{ |
||||||
|
p.sendMessage("강퇴 테스트"); |
||||||
|
if(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type).equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("가입한 "+m_GroupType+"이(가) 없습니다."+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type)); |
||||||
|
} |
||||||
|
else{ |
||||||
|
if(m_GroupArray.isOwner(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type), p.getUniqueId())){ |
||||||
|
if (args.length > 1) { |
||||||
|
Player op = Bukkit.getPlayer(args[1]); |
||||||
|
if (op != null) { |
||||||
|
if(m_GroupArray.isGroupMember(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type),op.getUniqueId())) { |
||||||
|
m_GroupArray.ExpulsionGroupPlayer(m_Type, m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type), p.getUniqueId()); |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage(m_GroupType+"에 가입되지 않은 유저입니다"); |
||||||
|
} |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("잘못된 대상입니다."); |
||||||
|
} |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("강퇴할 대상을 지정"); |
||||||
|
} |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage(m_GroupType+"주만 사용 가능한 명령어입니다."+ p.getUniqueId()); |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "탈퇴": { |
||||||
|
if(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type).equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("가입한 "+m_GroupType+"이(가) 없습니다."+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type)); |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("탈퇴 플레이어 UUID:"+p.getUniqueId()+m_GroupType+" UUID:"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), m_Type)); |
||||||
|
m_GroupArray.ExpulsionGroupPlayer(m_Type,m_UserInfoArray.getUserGroupUUID(p.getUniqueId(),m_Type),p.getUniqueId()); |
||||||
|
|
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "이름":{ |
||||||
|
p.sendMessage("현재 "+m_GroupType+" 이름"+m_GroupArray.GetGroupName(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(),"Party"))); |
||||||
|
break; |
||||||
|
} |
||||||
|
case "정보": { |
||||||
|
for (String Name: m_GroupArray.GetGroupNameList()){ |
||||||
|
p.sendMessage(m_GroupType+" 이름:"); |
||||||
|
p.sendMessage(Name); |
||||||
|
p.sendMessage("인원 목록"); |
||||||
|
for (String Name2: m_GroupArray.GetGroupMembersName(m_GroupArray.m_GroupNameList.get(Name))) { |
||||||
|
p.sendMessage(Name2); |
||||||
|
} |
||||||
|
p.sendMessage("계좌 잔액:"+m_AccountArray.getAccountInfo(m_GroupArray.m_GroupNameList.get(Name))); |
||||||
|
} |
||||||
|
} |
||||||
|
case "계좌설정":{ |
||||||
|
if (p.isOp()) { |
||||||
|
if (args.length > 1) { |
||||||
|
if (args[1] != null) { |
||||||
|
UUID op = m_GroupArray.m_GroupNameList.get(args[1]); |
||||||
|
if (op != null) { |
||||||
|
if (args.length > 2) { |
||||||
|
if (isStringDouble(args[2])) { |
||||||
|
if(m_AccountArray.setAccountInfo(op, 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 "입금": { |
||||||
|
if (args.length > 1) { |
||||||
|
if(args.length > 2) { |
||||||
|
UUID op = m_GroupArray.m_GroupNameList.get(args[1]); |
||||||
|
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] + m_GroupType+"에 " + 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; |
||||||
|
} |
||||||
|
case "출금": { |
||||||
|
if (args.length > 1) { |
||||||
|
if(args.length > 2) { |
||||||
|
UUID op = m_GroupArray.m_GroupNameList.get(args[1]); |
||||||
|
if (op != null) { |
||||||
|
if (isStringDouble(args[2])) { |
||||||
|
if(p.getUniqueId() != op) { |
||||||
|
switch(m_AccountArray.transfer(op,p.getUniqueId(), Long.parseLong(args[2]))) |
||||||
|
{ |
||||||
|
case 1: { |
||||||
|
p.sendMessage(args[1] + m_GroupType+"에서 " + 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; |
||||||
|
} |
||||||
|
case "잔액": { |
||||||
|
p.sendMessage("==잔액: " + m_AccountArray.getAccountInfo(m_GroupArray.GetUUID(args[1]))+ "원=="); |
||||||
|
break; |
||||||
|
} |
||||||
|
default: { |
||||||
|
p.sendMessage("잘못된 명령어"); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package org.poopki.duckdns.user_db.Array; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
public class Nation extends Group{ |
||||||
|
public Nation(String Name, List<UUID> uuid_list){ |
||||||
|
super(Name, uuid_list); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
package org.poopki.duckdns.user_db.Array; |
||||||
|
|
||||||
|
import org.poopki.duckdns.user_db.UserInfoArray; |
||||||
|
|
||||||
|
public class NationArray extends GroupArray{ |
||||||
|
public NationArray(UserInfoArray m_UIA){ |
||||||
|
super(m_UIA, 50); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,290 @@ |
|||||||
|
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 NationEventHandler implements CommandExecutor { |
||||||
|
|
||||||
|
NationArray m_NationArray; |
||||||
|
UserInfoArray m_UserInfoArray; |
||||||
|
AccountArray m_AccountArray; |
||||||
|
UUID ZERO_UUID = new UUID(0,0); |
||||||
|
public NationEventHandler(UserInfoArray UIA, NationArray GA, AccountArray AA){ |
||||||
|
m_NationArray = GA; |
||||||
|
m_UserInfoArray = UIA; |
||||||
|
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 "생성":{ |
||||||
|
UUID tempUUID = UUID.randomUUID(); |
||||||
|
if(!m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("이미 국가을 소유중"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation")); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
if(!m_NationArray.CreateGroup(tempUUID, args[1], p.getUniqueId())){ |
||||||
|
p.sendMessage("이미 존재하는 국가 이름"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
m_UserInfoArray.setUserGroupUUID("Nation",p.getUniqueId(), tempUUID); |
||||||
|
m_AccountArray.putAccountInfo(tempUUID,0); |
||||||
|
|
||||||
|
for (UUID key: m_UserInfoArray.getKeySet()){ |
||||||
|
p.sendMessage("------------"+p.getUniqueId()); |
||||||
|
p.sendMessage(""+m_UserInfoArray.getUserGroupUUID(key,"Nation")); |
||||||
|
} |
||||||
|
|
||||||
|
p.sendMessage(args[1]+"국가이 생성되었습니다."); |
||||||
|
p.sendMessage("국가 멤버 목록: "); |
||||||
|
|
||||||
|
for (String Name: m_NationArray.GetGroupMembersName(tempUUID)){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
|
||||||
|
p.sendMessage("국가 목록:"); |
||||||
|
|
||||||
|
for (String Name: m_NationArray.GetGroupNameList()){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "가입":{ |
||||||
|
p.sendMessage("플레이어 UUID:"+p.getUniqueId()+" 국가 UUID:"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation")); |
||||||
|
p.sendMessage("ZERO UUID:"+ZERO_UUID); |
||||||
|
if(!m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("이미 가입한 국가가 존재"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("가입 완료"); |
||||||
|
m_NationArray.SignUpGroup("Nation",m_NationArray.m_GroupNameList.get(args[1]),p.getUniqueId()); |
||||||
|
p.sendMessage("국가 멤버 목록: "); |
||||||
|
for (String Name: m_NationArray.GetGroupMembersName(m_NationArray.m_GroupNameList.get(args[1]))){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
p.sendMessage("국가 목록:"); |
||||||
|
for (String Name: m_NationArray.GetGroupNameList()){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "초대":{ |
||||||
|
p.sendMessage("초대 테스트"); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "강퇴":{ |
||||||
|
p.sendMessage("강퇴 테스트"+args[1]); |
||||||
|
if(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("가입한 국가이 없습니다."+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation")); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
if(!m_NationArray.isOwner(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation"), p.getUniqueId())){ |
||||||
|
p.sendMessage("국가 대표만 사용 가능한 명령어"+ p.getUniqueId()); |
||||||
|
} |
||||||
|
|
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("강퇴할 대상을 지정"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
UUID op = m_UserInfoArray.getUserUUID(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 대상"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
if(!m_NationArray.isGroupMember(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation"),op)) { |
||||||
|
p.sendMessage("국가에 가입되지 않은 유저"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
m_NationArray.ExpulsionGroupPlayer("Nation", m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation"), op); |
||||||
|
break; |
||||||
|
} |
||||||
|
case "탈퇴": { |
||||||
|
if(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("가입한 국가이 없습니다."+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation")); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("탈퇴 플레이어 UUID:"+p.getUniqueId()+" 국가 UUID:"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Nation")); |
||||||
|
m_NationArray.ExpulsionGroupPlayer("Nation",m_UserInfoArray.getUserGroupUUID(p.getUniqueId(),"Nation"),p.getUniqueId()); |
||||||
|
|
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "이름":{ |
||||||
|
p.sendMessage("현재 파티 이름"+m_NationArray.GetGroupName(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(),"Nation"))); |
||||||
|
break; |
||||||
|
} |
||||||
|
case "정보": { |
||||||
|
for (String Name: m_NationArray.GetGroupNameList()){ |
||||||
|
p.sendMessage("국가 이름:"); |
||||||
|
p.sendMessage(Name); |
||||||
|
p.sendMessage("인원 목록"); |
||||||
|
for (String Name2: m_NationArray.GetGroupMembersName(m_NationArray.m_GroupNameList.get(Name))) { |
||||||
|
p.sendMessage(Name2); |
||||||
|
} |
||||||
|
p.sendMessage("계좌 잔액:"+m_AccountArray.getAccountInfo(m_NationArray.m_GroupNameList.get(Name))); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "계좌설정":{ |
||||||
|
if (!p.isOp()) { |
||||||
|
p.sendMessage("관리자만 실행 가능한 명령어입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("설정 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args[1] == null) { |
||||||
|
p.sendMessage("설정 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_NationArray.m_GroupNameList.get(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 계좌입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 2) { |
||||||
|
p.sendMessage("설정 금액을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (!isStringDouble(args[2])) { |
||||||
|
p.sendMessage("설정 금액은 숫자만 가능합니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(m_AccountArray.getAccountInfo(op)+Long.parseLong(args[2])>2147483647){ |
||||||
|
p.sendMessage("최대 금액 이상으로 설정할 수 없습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
m_AccountArray.setAccountInfo(op, Long.parseLong(args[2])); |
||||||
|
p.sendMessage(args[1] + "님의 잔액을 " + Integer.parseInt(args[2]) + "원으로 설정하였습니다."); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "입금": { |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("이체 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args[1] == null) { |
||||||
|
p.sendMessage("이체 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_NationArray.m_GroupNameList.get(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 계좌입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 2) { |
||||||
|
p.sendMessage("이체 금액을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (!isStringDouble(args[2])) { |
||||||
|
p.sendMessage("이체 금액은 숫자만 가능합니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(p.getUniqueId() == op) { |
||||||
|
p.sendMessage("자기 자신에게는 이체할 수 없습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
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; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "출금": { |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("출금 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args[1] == null) { |
||||||
|
p.sendMessage("출금 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_NationArray.m_GroupNameList.get(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 계좌입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 2) { |
||||||
|
p.sendMessage("출금 금액을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (!isStringDouble(args[2])) { |
||||||
|
p.sendMessage("출금 금액은 숫자만 가능합니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(p.getUniqueId() == op) { |
||||||
|
p.sendMessage("자기 자신에게는 출금할 수 없습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
switch(m_AccountArray.transfer(op, p.getUniqueId(), 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; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "잔액": { |
||||||
|
p.sendMessage("==잔액: " + m_AccountArray.getAccountInfo(m_NationArray.GetUUID(args[1]))+ "원=="); |
||||||
|
break; |
||||||
|
} |
||||||
|
default: { |
||||||
|
p.sendMessage("잘못된 명령어"); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,10 @@ |
|||||||
|
package org.poopki.duckdns.user_db.Array; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
public class Squad extends Group{ |
||||||
|
public Squad(String Name, List<UUID> uuid_list){ |
||||||
|
super(Name, uuid_list); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
package org.poopki.duckdns.user_db.Array; |
||||||
|
|
||||||
|
import org.poopki.duckdns.user_db.UserInfoArray; |
||||||
|
|
||||||
|
public class SquadArray extends GroupArray{ |
||||||
|
public SquadArray(UserInfoArray m_UIA){ |
||||||
|
super(m_UIA, 8); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,292 @@ |
|||||||
|
package org.poopki.duckdns.user_db.Array; |
||||||
|
|
||||||
|
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 SquadEventHandler implements CommandExecutor { |
||||||
|
|
||||||
|
SquadArray m_SquadArray; |
||||||
|
UserInfoArray m_UserInfoArray; |
||||||
|
AccountArray m_AccountArray; |
||||||
|
UUID ZERO_UUID = new UUID(0,0); |
||||||
|
public SquadEventHandler(UserInfoArray UIA, SquadArray GA, AccountArray AA){ |
||||||
|
m_SquadArray = GA; |
||||||
|
m_UserInfoArray = UIA; |
||||||
|
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 "생성":{ |
||||||
|
UUID tempUUID = UUID.randomUUID(); |
||||||
|
if(!m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("이미 분대를 소유중"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad")); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
if(!m_SquadArray.CreateGroup(tempUUID, args[1], p.getUniqueId())){ |
||||||
|
p.sendMessage("이미 존재하는 분대 이름"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
m_UserInfoArray.setUserGroupUUID("Squad",p.getUniqueId(), tempUUID); |
||||||
|
m_AccountArray.putAccountInfo(tempUUID,0); |
||||||
|
|
||||||
|
for (UUID key: m_UserInfoArray.getKeySet()){ |
||||||
|
p.sendMessage("------------"+p.getUniqueId()); |
||||||
|
p.sendMessage(""+m_UserInfoArray.getUserGroupUUID(key,"Squad")); |
||||||
|
} |
||||||
|
|
||||||
|
p.sendMessage(args[1]+"분대이 생성되었습니다."); |
||||||
|
p.sendMessage("분대 멤버 목록: "); |
||||||
|
|
||||||
|
for (String Name: m_SquadArray.GetGroupMembersName(tempUUID)){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
|
||||||
|
p.sendMessage("분대 목록:"); |
||||||
|
|
||||||
|
for (String Name: m_SquadArray.GetGroupNameList()){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "가입":{ |
||||||
|
p.sendMessage("플레이어 UUID:"+p.getUniqueId()+" 분대 UUID:"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad")); |
||||||
|
p.sendMessage("ZERO UUID:"+ZERO_UUID); |
||||||
|
if(!m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("이미 가입한 분대가 존재"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("가입 완료"); |
||||||
|
m_SquadArray.SignUpGroup("Squad",m_SquadArray.m_GroupNameList.get(args[1]),p.getUniqueId()); |
||||||
|
p.sendMessage("분대 멤버 목록: "); |
||||||
|
for (String Name: m_SquadArray.GetGroupMembersName(m_SquadArray.m_GroupNameList.get(args[1]))){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
p.sendMessage("분대 목록:"); |
||||||
|
for (String Name: m_SquadArray.GetGroupNameList()){ |
||||||
|
p.sendMessage(Name); |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "초대":{ |
||||||
|
p.sendMessage("초대 테스트"); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "강퇴":{ |
||||||
|
p.sendMessage("강퇴 테스트"+args[1]); |
||||||
|
if(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("가입한 분대이 없습니다."+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad")); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
if(!m_SquadArray.isOwner(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad"), p.getUniqueId())){ |
||||||
|
p.sendMessage("분대장만 사용 가능한 명령어"+ p.getUniqueId()); |
||||||
|
} |
||||||
|
|
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("강퇴할 대상을 지정"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
UUID op = m_UserInfoArray.getUserUUID(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 대상"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
if(!m_SquadArray.isGroupMember(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad"),op)) { |
||||||
|
p.sendMessage("분대에 가입되지 않은 유저"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
m_SquadArray.ExpulsionGroupPlayer("Squad", m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad"), op); |
||||||
|
break; |
||||||
|
} |
||||||
|
case "탈퇴": { |
||||||
|
if(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad").equals(ZERO_UUID)){ |
||||||
|
p.sendMessage("가입한 분대이 없습니다."+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad")); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
p.sendMessage("탈퇴 플레이어 UUID:"+p.getUniqueId()+" 분대 UUID:"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(), "Squad")); |
||||||
|
m_SquadArray.ExpulsionGroupPlayer("Squad",m_UserInfoArray.getUserGroupUUID(p.getUniqueId(),"Squad"),p.getUniqueId()); |
||||||
|
|
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "이름":{ |
||||||
|
//p.sendMessage("현재 파티 이름"+m_SquadArray.GetGroupName(m_UserInfoArray.getUserGroupUUID(p.getUniqueId(),"Squad")));
|
||||||
|
p.sendMessage("현재 파티 이름"+m_UserInfoArray.getUserGroupUUID(p.getUniqueId(),"Squad")); |
||||||
|
p.sendMessage(""+m_SquadArray.getKeySet()); |
||||||
|
break; |
||||||
|
} |
||||||
|
case "정보": { |
||||||
|
p.sendMessage("분대 이름:"); |
||||||
|
for (String Name: m_SquadArray.GetGroupNameList()){ |
||||||
|
p.sendMessage("분대 이름:"); |
||||||
|
p.sendMessage(Name); |
||||||
|
p.sendMessage("인원 목록"); |
||||||
|
for (String Name2: m_SquadArray.GetGroupMembersName(m_SquadArray.m_GroupNameList.get(Name))) { |
||||||
|
p.sendMessage(Name2); |
||||||
|
} |
||||||
|
p.sendMessage("계좌 잔액:"+m_AccountArray.getAccountInfo(m_SquadArray.m_GroupNameList.get(Name))); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "계좌설정":{ |
||||||
|
if (!p.isOp()) { |
||||||
|
p.sendMessage("관리자만 실행 가능한 명령어입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("설정 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args[1] == null) { |
||||||
|
p.sendMessage("설정 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_SquadArray.m_GroupNameList.get(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 계좌입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 2) { |
||||||
|
p.sendMessage("설정 금액을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (!isStringDouble(args[2])) { |
||||||
|
p.sendMessage("설정 금액은 숫자만 가능합니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(m_AccountArray.getAccountInfo(op)+Long.parseLong(args[2])>2147483647){ |
||||||
|
p.sendMessage("최대 금액 이상으로 설정할 수 없습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
m_AccountArray.setAccountInfo(op, Long.parseLong(args[2])); |
||||||
|
p.sendMessage(args[1] + "님의 잔액을 " + Integer.parseInt(args[2]) + "원으로 설정하였습니다."); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "입금": { |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("이체 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args[1] == null) { |
||||||
|
p.sendMessage("이체 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_SquadArray.m_GroupNameList.get(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 계좌입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 2) { |
||||||
|
p.sendMessage("이체 금액을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (!isStringDouble(args[2])) { |
||||||
|
p.sendMessage("이체 금액은 숫자만 가능합니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(p.getUniqueId() == op) { |
||||||
|
p.sendMessage("자기 자신에게는 이체할 수 없습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
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; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
case "출금": { |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("출금 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args[1] == null) { |
||||||
|
p.sendMessage("출금 대상이 지정되지 않았습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_SquadArray.m_GroupNameList.get(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 계좌입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (args.length < 2) { |
||||||
|
p.sendMessage("출금 금액을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (!isStringDouble(args[2])) { |
||||||
|
p.sendMessage("출금 금액은 숫자만 가능합니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if(p.getUniqueId() == op) { |
||||||
|
p.sendMessage("자기 자신에게는 출금할 수 없습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
switch(m_AccountArray.transfer(op, p.getUniqueId(), 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; |
||||||
|
} |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "잔액": { |
||||||
|
p.sendMessage("==잔액: " + m_AccountArray.getAccountInfo(m_SquadArray.GetUUID(args[1]))+ "원=="); |
||||||
|
break; |
||||||
|
} |
||||||
|
default: { |
||||||
|
p.sendMessage("잘못된 명령어"); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
return true; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,110 @@ |
|||||||
|
package org.poopki.duckdns.user_db.GUI; |
||||||
|
|
||||||
|
import org.bukkit.Bukkit; |
||||||
|
import org.bukkit.ChatColor; |
||||||
|
import org.bukkit.Material; |
||||||
|
import org.bukkit.entity.Item; |
||||||
|
import org.bukkit.entity.Player; |
||||||
|
import org.bukkit.event.EventHandler; |
||||||
|
import org.bukkit.event.Listener; |
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent; |
||||||
|
import org.bukkit.inventory.Inventory; |
||||||
|
import org.bukkit.inventory.ItemStack; |
||||||
|
import org.poopki.duckdns.user_db.Array.AccountArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.FarmArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.NationArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.SquadArray; |
||||||
|
import org.poopki.duckdns.user_db.UserInfoArray; |
||||||
|
|
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
public class BaseGUI implements Listener{ |
||||||
|
private final Inventory inv; |
||||||
|
UUID m_uuid; |
||||||
|
ItemManager m_ItemManager= new ItemManager(); |
||||||
|
AccountArray m_AA; |
||||||
|
UserInfoArray m_UIA; |
||||||
|
FarmArray m_FA; |
||||||
|
NationArray m_NA; |
||||||
|
SquadArray m_SA; |
||||||
|
public BaseGUI(AccountArray AA, UserInfoArray UIA, FarmArray FA, NationArray NA, SquadArray SA, UUID uuid, InventoryClickEvent e) { |
||||||
|
m_uuid=uuid; |
||||||
|
this.inv = Bukkit.createInventory(null,27,"TESTGUI"); |
||||||
|
m_AA = AA; |
||||||
|
m_UIA = UIA; |
||||||
|
m_FA = FA; |
||||||
|
m_NA = NA; |
||||||
|
m_SA = SA; |
||||||
|
initItemSetting(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initItemSetting() { |
||||||
|
|
||||||
|
inv.setItem(0,m_ItemManager.GetBalance(m_AA, m_UIA, m_FA, m_NA,m_SA,m_uuid, "User")); |
||||||
|
inv.setItem(1,m_ItemManager.GetBalance(m_AA, m_UIA, m_FA, m_NA,m_SA,m_uuid, "Nation")); |
||||||
|
inv.setItem(2,m_ItemManager.GetBalance(m_AA, m_UIA, m_FA, m_NA,m_SA,m_uuid, "Farm")); |
||||||
|
|
||||||
|
inv.setItem(9, m_ItemManager.btn1); |
||||||
|
inv.setItem(18, m_ItemManager.btn2); |
||||||
|
inv.setItem(10, m_ItemManager.btn3); |
||||||
|
inv.setItem(19, m_ItemManager.btn4); |
||||||
|
inv.setItem(11, m_ItemManager.btn5); |
||||||
|
inv.setItem(20, m_ItemManager.btn6); |
||||||
|
} |
||||||
|
|
||||||
|
public void open(Player player){ |
||||||
|
player.openInventory(inv); |
||||||
|
} |
||||||
|
|
||||||
|
public void inven(InventoryClickEvent e){ |
||||||
|
Player p = (Player) e.getWhoClicked(); |
||||||
|
Inventory m_inv = e.getClickedInventory(); |
||||||
|
|
||||||
|
if (e.getInventory() != m_inv) return; |
||||||
|
|
||||||
|
switch(e.getCurrentItem().getType()){ |
||||||
|
case CANDLE: |
||||||
|
e.setCancelled(true); |
||||||
|
p.sendMessage("10000원 증가"); |
||||||
|
m_AA.setAccountInfo(p.getUniqueId(), (long)m_AA.getAccountInfo(p.getUniqueId())+10000); |
||||||
|
initItemSetting(); |
||||||
|
p.openInventory(inv); |
||||||
|
break; |
||||||
|
case BEEF: |
||||||
|
e.setCancelled(true); |
||||||
|
p.sendMessage("10000원 감소"); |
||||||
|
m_AA.setAccountInfo(p.getUniqueId(), (long)m_AA.getAccountInfo(p.getUniqueId())-10000); |
||||||
|
initItemSetting(); |
||||||
|
p.openInventory(inv); |
||||||
|
break; |
||||||
|
case TORCH: |
||||||
|
e.setCancelled(true); |
||||||
|
p.sendMessage("국가 10000원 증가"+ m_AA.getAccountInfo(m_UIA.getUserGroupUUID(m_uuid, "Nation"))); |
||||||
|
m_AA.setAccountInfo(m_UIA.getUserGroupUUID(p.getUniqueId(),"Nation"), (long)m_AA.getAccountInfo(m_UIA.getUserGroupUUID(p.getUniqueId(),"Nation"))+10000); |
||||||
|
initItemSetting(); |
||||||
|
p.openInventory(inv); |
||||||
|
break; |
||||||
|
case GRASS: |
||||||
|
e.setCancelled(true); |
||||||
|
p.sendMessage("국가 10000원 감소"+ m_AA.getAccountInfo(m_UIA.getUserGroupUUID(m_uuid, "Nation"))); |
||||||
|
m_AA.setAccountInfo(m_UIA.getUserGroupUUID(p.getUniqueId(),"Nation"), (long)m_AA.getAccountInfo(m_UIA.getUserGroupUUID(p.getUniqueId(),"Nation"))-10000); |
||||||
|
initItemSetting(); |
||||||
|
p.openInventory(inv); |
||||||
|
break; |
||||||
|
case DIAMOND: |
||||||
|
e.setCancelled(true); |
||||||
|
p.sendMessage("농장 10000원 증가"+ m_AA.getAccountInfo(m_UIA.getUserGroupUUID(m_uuid, "Farm"))); |
||||||
|
m_AA.setAccountInfo(m_UIA.getUserGroupUUID(p.getUniqueId(),"Farm"), (long)m_AA.getAccountInfo(m_UIA.getUserGroupUUID(p.getUniqueId(),"Farm"))+10000); |
||||||
|
initItemSetting(); |
||||||
|
p.openInventory(inv); |
||||||
|
break; |
||||||
|
case IRON_INGOT: |
||||||
|
e.setCancelled(true); |
||||||
|
p.sendMessage("농장 10000원 감소"+ m_AA.getAccountInfo(m_UIA.getUserGroupUUID(m_uuid, "Farm"))); |
||||||
|
m_AA.setAccountInfo(m_UIA.getUserGroupUUID(p.getUniqueId(),"Farm"), (long)m_AA.getAccountInfo(m_UIA.getUserGroupUUID(p.getUniqueId(),"Farm"))-10000); |
||||||
|
initItemSetting(); |
||||||
|
p.openInventory(inv); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,60 @@ |
|||||||
|
package org.poopki.duckdns.user_db.GUI; |
||||||
|
|
||||||
|
import org.bukkit.ChatColor; |
||||||
|
import org.bukkit.Material; |
||||||
|
import org.bukkit.inventory.ItemStack; |
||||||
|
import org.bukkit.inventory.meta.ItemMeta; |
||||||
|
import org.poopki.duckdns.user_db.Array.AccountArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.FarmArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.NationArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.SquadArray; |
||||||
|
import org.poopki.duckdns.user_db.UserInfoArray; |
||||||
|
|
||||||
|
import java.util.Arrays; |
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
public class ItemManager { |
||||||
|
UUID ZERO_UUID = new UUID(0,0); |
||||||
|
public ItemStack btn1 = buildItem(Material.CANDLE, 1, ChatColor.AQUA +"지갑 10000원 증가", "", ChatColor.GREEN + "----"); |
||||||
|
public ItemStack btn2 = buildItem(Material.BEEF, 1, ChatColor.AQUA +"지갑 10000원 감소", "", ChatColor.GREEN + "----"); |
||||||
|
public ItemStack btn3 = buildItem(Material.TORCH, 1, ChatColor.AQUA +"국가 10000원 증가", "", ChatColor.GREEN + "----"); |
||||||
|
public ItemStack btn4 = buildItem(Material.GRASS, 1, ChatColor.AQUA +"국가 10000원 감소", "", ChatColor.GREEN + "----"); |
||||||
|
public ItemStack btn5 = buildItem(Material.DIAMOND, 1, ChatColor.AQUA +"농장 10000원 증가", "", ChatColor.GREEN + "----"); |
||||||
|
public ItemStack btn6 = buildItem(Material.IRON_INGOT, 1, ChatColor.AQUA +"농장 10000원 증가", "", ChatColor.GREEN + "----"); |
||||||
|
private static ItemStack buildItem(Material type, int amount, String displayName, String... lore) { |
||||||
|
ItemStack stack = new ItemStack(type, amount); |
||||||
|
ItemMeta meta = stack.getItemMeta(); |
||||||
|
meta.setDisplayName(displayName); |
||||||
|
meta.setLore(Arrays.asList(lore)); |
||||||
|
stack.setItemMeta(meta); |
||||||
|
return stack; |
||||||
|
} |
||||||
|
public ItemStack GetBalance(AccountArray AA, UserInfoArray UIA, FarmArray FA, NationArray NA, SquadArray SA, UUID m_uuid, String Type){ |
||||||
|
|
||||||
|
ItemStack dia = null; |
||||||
|
switch (Type){ |
||||||
|
case "User": |
||||||
|
dia = buildItem(Material.DIAMOND, 1, ChatColor.AQUA +""+UIA.getUserName(m_uuid), "잔액", ChatColor.GREEN + ""+AA.getAccountInfo(m_uuid)); |
||||||
|
break; |
||||||
|
case "Farm": |
||||||
|
if(ZERO_UUID.equals(UIA.getUserGroupUUID(m_uuid, "Farm"))){ |
||||||
|
dia = buildItem(Material.DIAMOND, 1, ChatColor.AQUA +"농장 없음", "잔액", ChatColor.GREEN + "----"); |
||||||
|
}else{ |
||||||
|
dia = buildItem(Material.DIAMOND, 1, ChatColor.AQUA +""+FA.GetGroupName(UIA.getUserGroupUUID(m_uuid,"Farm")), "잔액", ChatColor.GREEN + ""+AA.getAccountInfo(UIA.getUserGroupUUID(m_uuid, "Farm"))); |
||||||
|
} |
||||||
|
break; |
||||||
|
case "Nation": |
||||||
|
if(ZERO_UUID.equals(UIA.getUserGroupUUID(m_uuid, "Nation"))){ |
||||||
|
dia = buildItem(Material.DIAMOND, 1, ChatColor.AQUA +"국가 없음", "잔액", ChatColor.GREEN + "----"); |
||||||
|
} |
||||||
|
else{ |
||||||
|
dia = buildItem(Material.DIAMOND, 1, ChatColor.AQUA +""+NA.GetGroupName(UIA.getUserGroupUUID(m_uuid, "Nation")), "잔액", ChatColor.GREEN + ""+AA.getAccountInfo(UIA.getUserGroupUUID(m_uuid, "Nation"))); |
||||||
|
} |
||||||
|
|
||||||
|
break; |
||||||
|
} |
||||||
|
return dia; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,50 @@ |
|||||||
|
package org.poopki.duckdns.user_db.GUI; |
||||||
|
|
||||||
|
import org.bukkit.command.Command; |
||||||
|
import org.bukkit.command.CommandExecutor; |
||||||
|
import org.bukkit.command.CommandSender; |
||||||
|
import org.bukkit.entity.Player; |
||||||
|
import org.bukkit.event.EventHandler; |
||||||
|
import org.bukkit.event.Listener; |
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent; |
||||||
|
import org.poopki.duckdns.user_db.Array.AccountArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.FarmArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.NationArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.SquadArray; |
||||||
|
import org.poopki.duckdns.user_db.UserInfoArray; |
||||||
|
|
||||||
|
public class OpenInv implements Listener,CommandExecutor { |
||||||
|
AccountArray m_AccountArray; |
||||||
|
UserInfoArray m_UserInfoArray; |
||||||
|
FarmArray m_FarmArray; |
||||||
|
NationArray m_NationArray; |
||||||
|
SquadArray m_SquadArray; |
||||||
|
public OpenInv(UserInfoArray m_UIA, FarmArray FA, NationArray NA, SquadArray SA, AccountArray AA){ |
||||||
|
m_UserInfoArray = m_UIA; |
||||||
|
m_AccountArray = AA; |
||||||
|
m_FarmArray = FA; |
||||||
|
m_NationArray = NA; |
||||||
|
m_SquadArray = SA; |
||||||
|
} |
||||||
|
@Override |
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { |
||||||
|
if(sender instanceof Player){ |
||||||
|
Player player = (Player) sender; |
||||||
|
player.sendMessage("이벤트 발생"); |
||||||
|
BaseGUI inv = new BaseGUI(m_AccountArray,m_UserInfoArray,m_FarmArray,m_NationArray, m_SquadArray,((Player) sender).getUniqueId(), null); |
||||||
|
inv.open(player); |
||||||
|
} |
||||||
|
return false; |
||||||
|
} |
||||||
|
@EventHandler |
||||||
|
public void inven2(InventoryClickEvent e){ |
||||||
|
Player player = (Player) e.getWhoClicked();; |
||||||
|
player.sendMessage("이벤트 발생"); |
||||||
|
BaseGUI inv = new BaseGUI(m_AccountArray,m_UserInfoArray,m_FarmArray,m_NationArray, m_SquadArray, player.getUniqueId(), e); |
||||||
|
inv.inven(e); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,40 @@ |
|||||||
|
package org.poopki.duckdns.user_db.Invite; |
||||||
|
|
||||||
|
import org.bukkit.entity.Player; |
||||||
|
import org.poopki.duckdns.user_db.Array.FarmArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.NationArray; |
||||||
|
import org.poopki.duckdns.user_db.UserInfoArray; |
||||||
|
|
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
public class Invitation { |
||||||
|
protected long Time; |
||||||
|
protected String Type; |
||||||
|
|
||||||
|
protected UUID uuid; |
||||||
|
|
||||||
|
protected Player sender; |
||||||
|
protected Player receiver; |
||||||
|
public Invitation(long Time, String Type, UUID uuid, Player sender, Player receiver){ |
||||||
|
this.Time = Time; |
||||||
|
this.Type = Type; |
||||||
|
this.uuid = uuid; |
||||||
|
this.sender = sender; |
||||||
|
this.receiver = receiver; |
||||||
|
} |
||||||
|
|
||||||
|
public long getTime(){ |
||||||
|
return this.Time; |
||||||
|
} |
||||||
|
|
||||||
|
public String getType(){ |
||||||
|
return this.Type; |
||||||
|
} |
||||||
|
|
||||||
|
public UUID getUUID(){ |
||||||
|
return this.uuid; |
||||||
|
} |
||||||
|
public Player getSender(){return this.sender;} |
||||||
|
public Player getReceiver(){ return this.receiver;} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,220 @@ |
|||||||
|
package org.poopki.duckdns.user_db.Invite; |
||||||
|
|
||||||
|
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.Array.FarmArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.NationArray; |
||||||
|
import org.poopki.duckdns.user_db.Array.SquadArray; |
||||||
|
import org.poopki.duckdns.user_db.UserInfoArray; |
||||||
|
|
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.Map; |
||||||
|
import java.util.UUID; |
||||||
|
|
||||||
|
public class InviteMaster implements CommandExecutor { |
||||||
|
private static Map<UUID, Invitation> m_InviteQueue = new HashMap<UUID, Invitation>(); |
||||||
|
UserInfoArray m_UserInfoArray; |
||||||
|
FarmArray m_FarmArray; |
||||||
|
NationArray m_NationArray; |
||||||
|
SquadArray m_SquadArray; |
||||||
|
public InviteMaster(UserInfoArray UIA, FarmArray FA, NationArray NA, SquadArray SA){ |
||||||
|
m_UserInfoArray = UIA; |
||||||
|
m_FarmArray = FA; |
||||||
|
m_NationArray = NA; |
||||||
|
m_SquadArray = SA; |
||||||
|
} |
||||||
|
@Override |
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { |
||||||
|
Player p = (Player)sender; |
||||||
|
|
||||||
|
if (args.length == 0){ |
||||||
|
p.sendMessage("명령어를 확인해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
switch (args[0]) { |
||||||
|
case "국가": { |
||||||
|
if (args.length == 1) { |
||||||
|
p.sendMessage("초대 대상을 입력해주세요."); |
||||||
|
return false; |
||||||
|
|
||||||
|
} |
||||||
|
UUID op = m_UserInfoArray.getUserUUID(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 대상입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (p.getUniqueId().equals(op)) { |
||||||
|
p.sendMessage("자기 자신에게 초대를 보낼 수 없습니다."); |
||||||
|
} else { |
||||||
|
p.sendMessage(args[1]+"님께 초대를 발송하였습니다."); |
||||||
|
sendInvite(p, Bukkit.getPlayer(args[1]), m_UserInfoArray, m_FarmArray, m_NationArray, m_SquadArray,"국가"); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "농장": { |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("초대 대상을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_UserInfoArray.getUserUUID(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 대상입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (p.getUniqueId().equals(op)) { |
||||||
|
p.sendMessage("자기 자신에게 초대를 보낼 수 없습니다."); |
||||||
|
} else { |
||||||
|
p.sendMessage(args[1]+"님께 초대를 발송하였습니다."); |
||||||
|
sendInvite(p, Bukkit.getPlayer(args[1]), m_UserInfoArray, m_FarmArray, m_NationArray, m_SquadArray,"농장"); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "분대": { |
||||||
|
if (args.length < 1) { |
||||||
|
p.sendMessage("초대 대상을 입력해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
UUID op = m_UserInfoArray.getUserUUID(args[1]); |
||||||
|
if (op == null) { |
||||||
|
p.sendMessage("잘못된 대상입니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
if (p.getUniqueId().equals(op)) { |
||||||
|
p.sendMessage("자기 자신에게 초대를 보낼 수 없습니다."); |
||||||
|
} else { |
||||||
|
p.sendMessage(args[1]+"님께 초대를 발송하였습니다."); |
||||||
|
sendInvite(p, Bukkit.getPlayer(args[1]), m_UserInfoArray, m_FarmArray, m_NationArray, m_SquadArray,"분대"); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
case "수락": { |
||||||
|
replyInvite(p, m_UserInfoArray, m_FarmArray, m_NationArray, m_SquadArray,true); |
||||||
|
break; |
||||||
|
} |
||||||
|
case "거절": { |
||||||
|
replyInvite(p, m_UserInfoArray, m_FarmArray, m_NationArray, m_SquadArray,false); |
||||||
|
break; |
||||||
|
} |
||||||
|
default: { |
||||||
|
p.sendMessage("명령어를 확인해주세요."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
return true; |
||||||
|
} |
||||||
|
public boolean sendInvite(Player sender, Player receiver, UserInfoArray UIA, FarmArray FA, NationArray NA, SquadArray SA, String Type){ |
||||||
|
if(!isExpired(receiver.getUniqueId())){ |
||||||
|
sender.sendMessage("응답 대기중"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
switch (Type){ |
||||||
|
case "농장": |
||||||
|
if(FA.GetGroupMemNUM(UIA.getUserGroupUUID(sender.getUniqueId(),"Farm"))>FA.GetGroupMemMaxNum(UIA.getUserGroupUUID(sender.getUniqueId(),"Farm"))){ |
||||||
|
sender.sendMessage("인원이 초과되었습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
m_InviteQueue.put(receiver.getUniqueId(), new Invitation(System.currentTimeMillis(), "농장", UIA.getUserGroupUUID(sender.getUniqueId(),"Farm"), sender, receiver)); |
||||||
|
receiver.sendMessage(sender.getDisplayName()+"님의 "+FA.GetGroupName(UIA.getUserGroupUUID(sender.getUniqueId(),"Farm"))+"에 초대되었습니다."); |
||||||
|
receiver.sendMessage("제한시간(5분)내 /초대 수락 혹은 /초대 거절 입력해주시기 바랍니다."); |
||||||
|
} |
||||||
|
break; |
||||||
|
case "국가": |
||||||
|
if(NA.GetGroupMemNUM(UIA.getUserGroupUUID(sender.getUniqueId(),"Nation"))>NA.GetGroupMemMaxNum(UIA.getUserGroupUUID(sender.getUniqueId(),"Nation"))){ |
||||||
|
sender.sendMessage("인원이 초과되었습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
m_InviteQueue.put(receiver.getUniqueId(), new Invitation(System.currentTimeMillis(), "국가", UIA.getUserGroupUUID(sender.getUniqueId(),"Nation"), sender, receiver)); |
||||||
|
receiver.sendMessage(sender.getDisplayName()+"님의 "+NA.GetGroupName(UIA.getUserGroupUUID(sender.getUniqueId(),"Nation"))+"에 초대되었습니다."); |
||||||
|
receiver.sendMessage("제한시간(5분)내 /초대 수락 혹은 /초대 수락 입력해주시기 바랍니다."+receiver.getUniqueId()); |
||||||
|
} |
||||||
|
break; |
||||||
|
case "분대": |
||||||
|
if(SA.GetGroupMemNUM(UIA.getUserGroupUUID(sender.getUniqueId(),"Squad"))>SA.GetGroupMemMaxNum(UIA.getUserGroupUUID(sender.getUniqueId(),"Squad"))){ |
||||||
|
sender.sendMessage("인원이 초과되었습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
m_InviteQueue.put(receiver.getUniqueId(), new Invitation(System.currentTimeMillis(), "분대", UIA.getUserGroupUUID(sender.getUniqueId(),"Squad"), sender, receiver)); |
||||||
|
receiver.sendMessage(sender.getDisplayName()+"님의 "+SA.GetGroupName(UIA.getUserGroupUUID(sender.getUniqueId(),"Squad"))+"에 초대되었습니다."); |
||||||
|
receiver.sendMessage("제한시간(5분)내 /초대 수락 혹은 /초대 수락 입력해주시기 바랍니다."+receiver.getUniqueId()); |
||||||
|
} |
||||||
|
break; |
||||||
|
} |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
public boolean replyInvite(Player receiver, UserInfoArray UIA, FarmArray FA, NationArray NA, SquadArray SA, boolean accept){ |
||||||
|
|
||||||
|
if(isExpired(receiver.getUniqueId())){ |
||||||
|
m_InviteQueue.remove(receiver.getUniqueId()); |
||||||
|
receiver.sendMessage("수신 받은 초대가 없거나, 초대가 만료되었습니다."); |
||||||
|
return false; |
||||||
|
} |
||||||
|
Player sender = m_InviteQueue.get(receiver.getUniqueId()).getSender(); |
||||||
|
|
||||||
|
if(!accept){ |
||||||
|
sender.sendMessage(receiver.getDisplayName()+"님께서 초대를 거절하였습니다."); |
||||||
|
receiver.sendMessage("초대를 거절하였습니다."); |
||||||
|
m_InviteQueue.remove(receiver.getUniqueId()); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
String Type = m_InviteQueue.get(receiver.getUniqueId()).getType(); |
||||||
|
switch (Type){ |
||||||
|
case "농장": |
||||||
|
if(FA.GetGroupMemNUM(m_InviteQueue.get(receiver.getUniqueId()).getUUID())>FA.GetGroupMemMaxNum(m_InviteQueue.get(receiver.getUniqueId()).getUUID())){ |
||||||
|
sender.sendMessage("인원이 초과되었습니다."); |
||||||
|
receiver.sendMessage("인원이 초과되었습니다.."); |
||||||
|
m_InviteQueue.remove(receiver.getUniqueId()); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
sender.sendMessage(receiver.getDisplayName()+"님께서 초대를 수락하였습니다."); |
||||||
|
receiver.sendMessage("가입되었습니다. "+ m_InviteQueue.get(receiver.getUniqueId()).getUUID()+" "+ receiver.getUniqueId()); |
||||||
|
receiver.sendMessage(""+FA.SignUpGroup("Farm", m_InviteQueue.get(receiver.getUniqueId()).getUUID(), receiver.getUniqueId())); |
||||||
|
m_InviteQueue.remove(receiver.getUniqueId()); |
||||||
|
} |
||||||
|
break; |
||||||
|
case "국가": |
||||||
|
if(NA.GetGroupMemNUM(m_InviteQueue.get(receiver.getUniqueId()).getUUID())>NA.GetGroupMemMaxNum(m_InviteQueue.get(receiver.getUniqueId()).getUUID())){ |
||||||
|
sender.sendMessage("인원이 초과되었습니다."); |
||||||
|
receiver.sendMessage("인원이 초과되었습니다."); |
||||||
|
m_InviteQueue.remove(receiver.getUniqueId()); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
receiver.sendMessage("가입되었습니다."+m_InviteQueue.get(receiver.getUniqueId()).getUUID()+ " "+ m_InviteQueue.get(receiver.getUniqueId()).getReceiver()); |
||||||
|
NA.SignUpGroup("Nation", m_InviteQueue.get(receiver.getUniqueId()).getUUID(), receiver.getUniqueId()); |
||||||
|
m_InviteQueue.remove(receiver.getUniqueId()); |
||||||
|
} |
||||||
|
break; |
||||||
|
case "분대": |
||||||
|
if(SA.GetGroupMemNUM(m_InviteQueue.get(receiver.getUniqueId()).getUUID())>SA.GetGroupMemMaxNum(m_InviteQueue.get(receiver.getUniqueId()).getUUID())){ |
||||||
|
sender.sendMessage("인원이 초과되었습니다."); |
||||||
|
receiver.sendMessage("인원이 초과되었습니다."); |
||||||
|
m_InviteQueue.remove(receiver.getUniqueId()); |
||||||
|
return false; |
||||||
|
} |
||||||
|
else{ |
||||||
|
receiver.sendMessage("가입되었습니다."+m_InviteQueue.get(receiver.getUniqueId()).getUUID()+ " "+ m_InviteQueue.get(receiver.getUniqueId()).getReceiver()); |
||||||
|
SA.SignUpGroup("Squad", m_InviteQueue.get(receiver.getUniqueId()).getUUID(), receiver.getUniqueId()); |
||||||
|
m_InviteQueue.remove(receiver.getUniqueId()); |
||||||
|
} |
||||||
|
break; |
||||||
|
default: |
||||||
|
receiver.sendMessage("다시 입력"); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
return true; |
||||||
|
} |
||||||
|
private boolean isExpired(UUID uuid){ |
||||||
|
return !m_InviteQueue.containsKey(uuid) || (System.currentTimeMillis() - m_InviteQueue.get(uuid).getTime()) >= 300000L; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<module type="JAVA_MODULE" version="4"> |
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true"> |
||||||
|
<exclude-output /> |
||||||
|
<content url="file://$MODULE_DIR$"> |
||||||
|
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" packagePrefix="org.poopki.duckdns.user_db" /> |
||||||
|
</content> |
||||||
|
<orderEntry type="inheritedJdk" /> |
||||||
|
<orderEntry type="sourceFolder" forTests="false" /> |
||||||
|
</component> |
||||||
|
</module> |
@ -1,29 +1,88 @@ |
|||||||
package org.poopki.duckdns.user_db; |
package org.poopki.duckdns.user_db; |
||||||
|
|
||||||
public class Status { |
public class Status { |
||||||
int m_HP; |
int m_BASE_HP; |
||||||
int m_MP; |
int m_BASE_MP; |
||||||
int m_Level; |
int m_BASE_STR; |
||||||
|
int m_BASE_DEX; |
||||||
|
int m_BASE_INT; |
||||||
|
int m_BASE_LUK; |
||||||
|
|
||||||
|
int m_BASE_PATK; |
||||||
|
int m_BASE_PDEF; |
||||||
|
int m_BASE_MATK; |
||||||
|
int m_BASE_MDEF; |
||||||
|
|
||||||
|
int m_EQ_HP; |
||||||
|
int m_EQ_MP; |
||||||
|
|
||||||
int m_STR; |
int m_EQ_STR; |
||||||
int m_DEX; |
int m_EQ_DEX; |
||||||
int m_INT; |
int m_EQ_INT; |
||||||
int m_LUK; |
int m_EQ_LUK; |
||||||
|
|
||||||
int m_PATK; |
int m_EQ_PATK; |
||||||
int m_PDEF; |
int m_EQ_PDEF; |
||||||
int m_MATK; |
int m_EQ_MATK; |
||||||
int m_MDEF; |
int m_EQ_MDEF; |
||||||
|
|
||||||
|
int m_EXP; |
||||||
|
int m_MAX_EXP; |
||||||
|
int m_Level; |
||||||
//방어율 = (방어력 / (100 + 방어력)
|
//방어율 = (방어력 / (100 + 방어력)
|
||||||
//Add Equipment Class instance
|
//Add Equipment Class instance
|
||||||
public Status(int HP, int MP, int Level, int STR, int DEX, int INT, int LUK){ |
public Status(int HP, int MP, int Level, int STR, int DEX, int INT, int LUK){ |
||||||
m_HP = HP; |
m_BASE_HP = HP; |
||||||
m_MP = MP; |
m_BASE_MP = MP; |
||||||
m_Level = Level; |
m_Level = Level; |
||||||
|
|
||||||
m_STR = STR; |
m_BASE_STR = STR; |
||||||
m_DEX = DEX; |
m_BASE_DEX = DEX; |
||||||
m_INT = INT; |
m_BASE_INT = INT; |
||||||
m_LUK = LUK; |
m_BASE_LUK = LUK; |
||||||
} |
} |
||||||
|
|
||||||
|
public int GetBaseHP(){return m_BASE_HP;} |
||||||
|
public int GetBaseMP(){return m_BASE_MP;} |
||||||
|
public int GetBaseSTR(){return m_BASE_STR;} |
||||||
|
public int GetBaseDEX(){return m_BASE_DEX;} |
||||||
|
public int GetBaseINT(){return m_BASE_INT;} |
||||||
|
public int GetBaseLUK(){return m_BASE_LUK;} |
||||||
|
public int GetEXP(){return m_EXP;} |
||||||
|
public int GetMaxEXP(){return m_MAX_EXP;} |
||||||
|
public int GetLevel(){return m_Level;} |
||||||
|
|
||||||
|
public int SetBaseHP(int HP){return m_BASE_HP=HP;} |
||||||
|
public int SetBaseMP(int MP){return m_BASE_MP=MP;} |
||||||
|
public int SetBaseSTR(int STR){return m_BASE_STR=STR;} |
||||||
|
public int SetBaseDEX(int DEX){return m_BASE_DEX=DEX;} |
||||||
|
public int SetBaseINT(int INT){return m_BASE_INT=INT;} |
||||||
|
public int SetBaseLUK(int LUK){return m_BASE_LUK=LUK;} |
||||||
|
public int SetEXP(int EXP){return m_EXP=EXP;} |
||||||
|
public int SetMaxEXP(int EXP){return m_MAX_EXP=EXP;} |
||||||
|
public int SetLevel(int Level){return m_Level=Level;} |
||||||
|
|
||||||
|
public int GetBasePATK(){return m_BASE_PATK;} |
||||||
|
public int GetBasePDEF(){return m_BASE_PDEF;} |
||||||
|
public int GetBaseMATK(){return m_BASE_MATK;} |
||||||
|
public int GetBaseMDEF(){return m_BASE_MDEF;} |
||||||
|
|
||||||
|
public int GetEqHP(){return m_EQ_HP;} |
||||||
|
public int GetEqMP(){return m_EQ_MP;} |
||||||
|
public int GetEqSTR(){return m_EQ_STR;} |
||||||
|
public int GetEqDEX(){return m_EQ_DEX;} |
||||||
|
public int GetEqINT(){return m_EQ_INT;} |
||||||
|
public int GetEqLUK(){return m_EQ_LUK;} |
||||||
|
|
||||||
|
public int SetEqHP(int HP){return m_EQ_HP=HP;} |
||||||
|
public int SetEqMP(int MP){return m_EQ_MP=MP;} |
||||||
|
public int SetEqSTR(int STR){return m_EQ_STR=STR;} |
||||||
|
public int SetEqDEX(int DEX){return m_EQ_DEX=DEX;} |
||||||
|
public int SetEqINT(int INT){return m_EQ_INT=INT;} |
||||||
|
public int SetEqLUK(int LUK){return m_EQ_LUK=LUK;} |
||||||
|
|
||||||
|
public int GetEqPATK(){return m_EQ_PATK;} |
||||||
|
public int GetEqPDEF(){return m_EQ_PDEF;} |
||||||
|
public int GetEqMATK(){return m_EQ_MATK;} |
||||||
|
public int GetEqMDEF(){return m_EQ_MDEF;} |
||||||
} |
} |
||||||
|
@ -1,37 +1,28 @@ |
|||||||
package org.poopki.duckdns.user_db; |
package org.poopki.duckdns.user_db; |
||||||
|
|
||||||
import java.util.HashMap; |
import java.util.*; |
||||||
import java.util.Map; |
|
||||||
import java.util.UUID; |
|
||||||
|
|
||||||
public class UserInfo extends Status { |
public class UserInfo extends Status { |
||||||
private UUID m_UUID; |
private UUID m_UUID; |
||||||
private String m_Name; |
private String m_Name; |
||||||
|
|
||||||
private static Map<String, Integer> m_status = new HashMap<String, Integer>(); |
private Map<String, UUID> m_GroupUUID = new HashMap<String, UUID>(); |
||||||
|
public UserInfo(UUID uuid, String Name, UUID Nation, UUID Squad, UUID Farm, UUID Party){ //UserInfo 초기화
|
||||||
private int m_Nation; |
super(100,100,1,10,10,10,10); //HP, MP, LEV, STR, DEX, INT, LUK
|
||||||
private int m_Squad; |
|
||||||
private int m_Farm; |
|
||||||
|
|
||||||
public UserInfo(UUID uuid, String Name, int Nation, int Squad, int Farm){ //UserInfo 초기화
|
|
||||||
super(100,100,1,10,10,10,10); |
|
||||||
m_UUID = uuid; |
m_UUID = uuid; |
||||||
m_Name = Name; |
m_Name = Name; |
||||||
m_Nation = Nation; |
|
||||||
m_Squad = Squad; |
|
||||||
m_Farm = Farm; |
|
||||||
} |
|
||||||
|
|
||||||
public void JoinNation(int Nation) { m_Nation = Nation; } |
m_GroupUUID.put("Nation", Nation); |
||||||
public void JoinSquad(int Squad) { m_Squad = Squad; } |
m_GroupUUID.put("Squad", Squad); |
||||||
public void JoinFarm(int Farm) { m_Farm = Farm; } |
m_GroupUUID.put("Farm", Farm); |
||||||
|
m_GroupUUID.put("Party", Party); |
||||||
|
} |
||||||
|
|
||||||
|
public void SetGroupUUID(String GroupType, UUID m_UUID){ m_GroupUUID.put(GroupType, m_UUID); } |
||||||
|
public UUID GetGroupUUID(String GroupType){ return m_GroupUUID.get(GroupType); } |
||||||
public String getUserName(){ |
public String getUserName(){ |
||||||
return m_Name; |
return m_Name; |
||||||
} |
} |
||||||
|
|
||||||
public UUID getUserUUID(){ return m_UUID; } |
public UUID getUserUUID(){ return m_UUID; } |
||||||
|
|
||||||
|
|
||||||
} |
} |
||||||
|
Loading…
Reference in new issue