Compare commits
11 Commits
174ed17fb7
...
38423f8df2
Author | SHA1 | Date |
---|---|---|
poopki | 38423f8df2 | 3 years ago |
poopki | bcd543c979 | 3 years ago |
poopki | 84dbe56db4 | 3 years ago |
poopki | fb2661d9f8 | 3 years ago |
poopki | 31306337f2 | 3 years ago |
poopki | 278829747a | 3 years ago |
poopki | 099d8e74eb | 3 years ago |
poopki | bdebf993bd | 3 years ago |
poopki | 1b76db907b | 3 years ago |
poopki | c88d55d93f | 3 years ago |
poopki | 0e659d671e | 3 years ago |
7 changed files with 223 additions and 12 deletions
@ -0,0 +1,113 @@ |
||||
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; |
||||
} |
||||
} |
@ -0,0 +1,40 @@ |
||||
package org.poopki.duckdns.user_db; |
||||
|
||||
import org.bukkit.Material; |
||||
import org.bukkit.command.Command; |
||||
import org.bukkit.command.CommandExecutor; |
||||
import org.bukkit.command.CommandSender; |
||||
import org.bukkit.command.ConsoleCommandSender; |
||||
import org.bukkit.entity.Arrow; |
||||
import org.bukkit.entity.Player; |
||||
import org.bukkit.inventory.ItemStack; |
||||
import org.bukkit.metadata.FixedMetadataValue; |
||||
import org.bukkit.plugin.java.JavaPlugin; |
||||
import org.bukkit.util.Vector; |
||||
|
||||
import java.util.Random; |
||||
|
||||
public class CustomItem_test implements CommandExecutor { //명령어 처리 클래스는 CommandExecutor 인터페이스를 상속해야 한다.
|
||||
@Override |
||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { //명령어 실행 시
|
||||
if(sender instanceof Player) { //명령어 사용자가 플레이어인 경우
|
||||
Player player = (Player)sender; //명령어 사용자 객체를 플레이어 객체로 변환할 수 있음
|
||||
player.sendMessage("zl존 개쩌는 테스트 명령어를 실행하셨습니다."); //사용자에게 메시지 발신
|
||||
ItemStack irons = new ItemStack(Material.IRON_INGOT); //아이템을 ItemStack 객체를 생성해 만들 수 있음
|
||||
ItemStack golds = new ItemStack(Material.GOLD_INGOT); |
||||
ItemStack diamonds = new ItemStack(Material.DIAMOND); |
||||
|
||||
irons.setAmount(10); //아이템 갯수를 정할 수 있음
|
||||
golds.setAmount(20); |
||||
diamonds.setAmount(30); |
||||
|
||||
player.getInventory().addItem(irons, golds, diamonds); //플레이어의 인벤토리를 가져와 아이템을 집어넣음
|
||||
return true; //true값을 반환하면 명령어가 성공한 것으로 간주
|
||||
} |
||||
else if(sender instanceof ConsoleCommandSender) { //명령어 사용자가 콘솔인 경우
|
||||
sender.sendMessage("콘솔에서는 이 명령어를 실행할 수 없습니다."); |
||||
return false; //false값을 반환하면 명령어가 실패한 것으로 간주
|
||||
} |
||||
return false; |
||||
} |
||||
} |
@ -0,0 +1,29 @@ |
||||
package org.poopki.duckdns.user_db; |
||||
|
||||
public class Status { |
||||
int m_HP; |
||||
int m_MP; |
||||
int m_Level; |
||||
|
||||
int m_STR; |
||||
int m_DEX; |
||||
int m_INT; |
||||
int m_LUK; |
||||
|
||||
int m_PATK; |
||||
int m_PDEF; |
||||
int m_MATK; |
||||
int m_MDEF; |
||||
//방어율 = (방어력 / (100 + 방어력)
|
||||
//Add Equipment Class instance
|
||||
public Status(int HP, int MP, int Level, int STR, int DEX, int INT, int LUK){ |
||||
m_HP = HP; |
||||
m_MP = MP; |
||||
m_Level = Level; |
||||
|
||||
m_STR = STR; |
||||
m_DEX = DEX; |
||||
m_INT = INT; |
||||
m_LUK = LUK; |
||||
} |
||||
} |
Loading…
Reference in new issue