일단 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 |
댓글