일단 bellcraft.server 패키지에 Commands 클래스를 추가해줍니다.
그 다음 다음과 같이 코딩해줍니다.
Commands.java
package bellcraft.server; import java.util.ArrayList; import java.util.List; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ChatComponentTranslation; public class Commands implements ICommand { // ICommand 구현 private List aliases; // 명령어를 저장할 리스트 선언 public Commands() { this.aliases = new ArrayList(); // 명령어 배열 인스턴스 생성 this.aliases.add("bc"); this.aliases.add("bellcraft"); } @Override public int compareTo(Object arg0) { return 0; } @Override public String getCommandName() // 명령어 이름 가져옴 { return "bellcraft"; } @Override public String getCommandUsage(ICommandSender p_71518_1_) // 명령어 사용법 가져옴 { return "bc"; } @Override public List getCommandAliases() // 명령어 리스트를 가져옴 { return this.aliases; } @Override public void processCommand(ICommandSender icommandsender, String[] argString) // 명령어 처리 함수 { if (icommandsender instanceof EntityPlayer) // 명령어 센더가 플레이어일때 { EntityPlayer player = (EntityPlayer) icommandsender; // 센더 객체생성 if (argString.length == 0) // 입력된 추가 인자가 없다면 { player.addChatMessage(new ChatComponentTranslation(player.getGameProfile().getName() + "님 반갑습니다.")); } else { // 추가 인자 입력시 player.addChatMessage(new ChatComponentTranslation("추가 인자 입력감지 : " + argString[0])); } } } @Override public boolean canCommandSenderUseCommand(ICommandSender p_71519_1_) { return true; } @Override public List addTabCompletionOptions(ICommandSender p_71516_1_, String[] p_71516_2_) { return null; } @Override public boolean isUsernameIndex(String[] p_82358_1_, int p_82358_2_) { return false; } }
위 소스에서 가장 중요한부분이 processCommand 메소드입니다.
그 메소드에서 플레이어 또는 콘솔에서 입력된 명령어를 지지고 볶을 수 있습니다.
그 다음, 서버가 로드되었을때 명령어를 사용할 수 있도록 레지스트 해줘야겠지요.
bellcraft.core 패키지의 BellCraft.java에 다음 메소드를 추가해줍니다.
@EventHandler public void serverLoad(FMLServerStartingEvent event) { event.registerServerCommand(new Commands());; }
아 졸립다.
이제 자야지
'Game Dev > MineCraft - Mod' 카테고리의 다른 글
랜덤박스 티어별로 생성 및 랜덤아이템교환기능 추가하기 (0) | 2014.12.01 |
---|---|
특정한 기능을 하지 않는 아이템(주괴 등) 추가 및 오어딕셔너리 등록 및 아이템 설명 추가하기! (0) | 2014.11.30 |
모드 패키지 정렬하기 (0) | 2014.11.30 |
한 슬롯에 아이템을 최대 몇개 가질 수 있는지 지정하기 (0) | 2014.11.30 |
크리에이티브 탭 생성하기 (0) | 2014.11.30 |
댓글