개인 자료란 (JE)

  서버 커뮤니티

Profile HAN1110 대표칭호 없음

HAN1110 9899e780ba984d89824a90ee8deb7cb2

Profile

질문하기 Java

플레이어 닉네임 + 사유 밴 + 시간걸기

2022.03.19 조회 수 1539 추천 수 0
이해도 플러그인 
게임버전 (JE) 버킷 

대충 제가 구현하는게 뭐냐면 그 Watchdog 밴 맞아요


package watchdog.command;


import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;


import watchdog.utilities.Timer;


import java.util.List;


import org.bukkit.ChatColor;


public class CommandMain implements CommandExecutor, TabExecutor {
    
    public Timer timer = new Timer();
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        
        if (label.equalsIgnoreCase("watchdog")) {
            if (sender.isOp()) {
                sender.sendMessage(ChatColor.DARK_PURPLE + "[Watchdog] " + ChatColor.AQUA + ">> " + ChatColor.WHITE + "Not Making. Wait for Update");
            } else {
                sender.sendMessage(ChatColor.DARK_PURPLE + "[Watchdog] " + ChatColor.AQUA + ">> " + ChatColor.WHITE + "Not Op user can't use AntiCheat Command");
            }
            return true;
        } else if (label.equalsIgnoreCase("ban")) {
            
        }
        
        return false;
    }


    @Override
    public List<String> onTabComplete(CommandSender sender, Command cmd, String alias, String[] args) {
        return null;
    }
}

현재 소스가 이정도인데

이제 여기서 ban 에서

/ban 플레이어_닉네임 시간 사유

순서로 만드려하거든요?

이제 딴건 다 알겠어요

근데 저기 뒤쪽에 커맨드 붙이는걸 못하곘어요

어떻게 하나요?

13개의 댓글

윈초
2022.03.19

파라미터에 있는 args변수가 명령어에 argument를 담고있습니다

HAN1110
2022.03.20
@윈초

혹시 그럼 플레이어 닉네임 목록은 어떻게 arg 에 담나요?

윈초
2022.03.20
@HAN1110

arg에 담는다는건, 탭컴플리터 말씀이신가요?

HAN1110
2022.03.20
@윈초

tabcompleter 는 이미 할수있고

/ban <유저 이름> <시간> <사유>

순서인데 여기서 사유는 할수 있게됬지만

유저이름과 시간을 설정을 못하겠네요.

윈초
2022.03.20
@HAN1110

args[0]은 유저이름이구요, Bukkit.getPlayer(닉네임)으로 Player,받아올수 있어요

시간은 args[1]을 int로 바꾸시면 되죠

HAN1110
2022.03.21
@윈초

args[0] 을 어떻게 int 로 바꾸나요?

HAN1110
2022.03.21
@HAN1110

그 ban 을 할때 플레이어 닉네임을 어떻게 가져오는지 모르겠어요

윈초
2022.03.21
@HAN1110

밴할때 플레이어 닉네임이 필요한가요?

player.banPlayer("사유") 로 밴할수 있는데요.

HAN1110
2022.03.22
@윈초

자기 자신은 할수 있어도

다른 유저를 밴해야하잖아요

윈초
2022.03.22
@HAN1110

Bukkit.getPlayer(닉네임)으로 가져올수 있다고 위에 적어뒀는데요,

윈초
2022.03.21
@HAN1110

Integer.parseInt(String)

구글에 java string to int 만 검색해도 나오는내용인데요,

코코냐
2022.03.20

답변의 경우 이미 다른 답변이 있어 생략하지만, 약간의 팁을 드리자면 기간밴은 타이머로 관리하는 것 보다는 접속 시도시에만 확인하는 것이 효율 면에서 더 좋습니다. 지금 방식으로는 100명을 기간밴 해버리면 타이머도 100개가 돌아가버리니까요..

HAN1110
2022.03.20
@코코냐

그 문제는 해결됬습니다

banPlayer("reason",time) 으로 해결했네요

뉴스 및 창작물
/files/thumbnails/467/742/003/262x150.crop.jpg?20240311163123

레드스톤

[노트블럭커버] MILGRAM -ミルグラム(밀그램)- / 아마네 「숙청 행진」 제 2심 2

리비온

2024-03-11

0

/files/thumbnails/846/741/003/262x150.crop.jpg?20240310221214

레드스톤

워든 vs 라마 200마리

GlassesFilm

2024-03-10

0

/files/thumbnails/542/739/003/262x150.crop.jpg?20240309070457

레드스톤

[고인의 명복을 빕니다][노트블럭]드래곤볼 GT 오프닝 - 점점 마음이 끌려

리비온

2024-03-09

0

/files/thumbnails/326/738/003/262x150.crop.jpg?20240307172909

레드스톤

마인크래프트 노트블럭으로 만든 『 Build Our Machine 』

Sonttukk

2024-03-07

0

/files/thumbnails/952/735/003/262x150.crop.jpg?20240303230423

소식

복잡한 설치 없이 마크 애드온을 즐겨보세요! 새로운 블록, 몹, 조합법 등!

도라

2024-03-03

0