openkufo
대표칭호 없음
openkufo ded498bef6bf43e39a1b5c7140da31e5
이해도 | 플러그인 |
---|---|
게임버전 (JE) | 버킷 |
(다른 질문)
먼저, 질문(개발) 게시판과 스크립트 Q&A 게시판의 차이점을 몰라 이 게시판에 작성했습니다.
스크립트 Q&A 게시판에 작성하려하니 스크립트 버전을 입력하는 양식이 있었는데, 그건 무엇을 의미하는건가요?
(제목의 질문)
cch님의 Eclipse로 플러그인 제작하기 강좌를 보고
spigot-1.16.4 라이브러리를 통해 Eclipse에서 Java로 플러그인을 제작해보고 있습니다.
만든 플러그인은 /test [ID] {TRUE | FALSE} 명령어를 입력했을 때
아이디가 볼드체로 바뀌는 플러그인인데 혹시 닉네임 부분의 바탕색을 바꿀순 없는지 알고 싶습니다.
그리고 다음은 제 코드인데, 더 깔끔하게(혹은 가독성 있게 정리할 수 있는 테크닉이 있을까요?
주석은 원래 안달지만 이 게시글 올리면서 달았습니다.
public class PaulCommand implements CommandExecutor{ @Override public boolean onCommand(CommandSender sender, Command command, String s, String[] chatArray) { String cmdName = command.getName(); if(cmdName.equals("setname")) { // setname 명령어 입력 setName(sender, chatArray); return false; } return false; } boolean setName(CommandSender sender, String[] chatArray) { Player player = (Player) sender; // 커맨드를 입력한 플레이어를 저장할 변수 String playerName = ""; // 플레이어의 이름(ID)를 저장할 변수 int chatArrayNum = 0; // 커맨드에 인자가 얼마나 들어있는지 비교할 변수 if(chatArray.length == 0) { // 에러 방지 player.sendMessage("/setname [ID] {TRUE(T) | FALSE(F)} 형식으로 입력하세요"); return false; } // 커맨드 첫 번째 인자로 아이디 입력시 접속해 있는 플레이어들의 아이디와 비교 후 저장 for(Player p : Bukkit.getOnlinePlayers()) { if(chatArray[0].equals(p.getName())) { player = p; playerName = "§l" + p.getName(); chatArrayNum++; }else { playerName = "§l" + player.getName(); } } if(chatArrayNum == 1 && chatArray.length == 1) { // 에러 방지 player.sendMessage("/setname [ID] {TRUE(T) | FALSE(F)} 형식으로 입력하세요"); return false; } switch(chatArray[chatArrayNum].toUpperCase()) { case "TRUE": case "T": { player.setDisplayName(playerName); player.sendMessage("이름 두껍게 변경"); break; } case "FALSE": case "F": { player.setDisplayName(player.getName()); player.sendMessage("이름 복원"); break; } default: { player.sendMessage("/setname [ID] {TRUE(T) | FALSE(F)} 형식으로 입력하세요"); break; } } return false; } }
댓글이 없습니다.
새로운 댓글을 등록해 주세요!