Bukit 플러그인에서 손을 잡고 있으며 처음에는 약간의 어려움을 겪고 있습니다. 서버용 콘솔에서 명령을 실행할 수 없습니다. 리뷰를 얻을 수 있다면 무슨 일이 일어나는지 설명하는 것이 도움이 될 것입니다.Minecraft, FTB, MCPC +, Multicraft, Plugin : 콘솔이 권한없이 명령을 실행할 수 없습니다.
클래스 코드 : 이것은 단지 관련 코드 덩어리입니다.
//Overrides bukkits onCommand with modified code
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (args.length > 1) {//No more then 1 argument
sender.sendMessage("[ConsoleFilter] Too many arguments!"); //Sends player a message
return false;
}
if (args.length < 1) {//No less then 1 argument
sender.sendMessage("[ConsoleFilter] Not enough arguments!"); //Sends player a message
return false;
}
if (cmd.getName().equalsIgnoreCase("CF")) { //Checks for /CF
if (args[0].equalsIgnoreCase("Reload")){ //Checks for /CF Reload
Player player = null; //Sets player
if (sender instanceof Player){ //if sender is a player entity
player = (Player) sender; //player = sender
//plugin.yml will actually validate permissions, however additional provisions allows for
//further security and further extendability.
if (player.isOp() || player.hasPermission("ConsoleFilter.Reload")){ //Is the player an Op or have specified Permission
this.reloadConfig(); //Reloads config file back into memory
player.sendMessage(ChatColor.DARK_GREEN + "Config Reloaded!"); //Sends player a message
getLogger().info("[ConsoleFilter] Config Reloaded");
return true; //Close True
}
}
else{
this.reloadConfig(); //Reloads config file back into memory
getLogger().info("[ConsoleFilter] Config Reloaded");
return true; //Close True
}
}
}
return false;
}
서버 출력 : [서버] INFO 당신은 ConsoleFilter 권한 노드 - ConsoleFilter.Reload이
Plugin.yml이 없습니다 :이 파일은 제대로 어떤 간격 오류를 분석 게시 때문이다.
name: ConsoleFilter
main: com.dirtyredz.ConsoleFilter.ConsoleFilter
version: 0.0.1
commands:
CF:
description: This is a demo reload command.
usage: /CF Reload
permission: ConsoleFilter.Reload
permission-message: You don't have ConsoleFilter Permissions node- ConsoleFilter.Reload
permissions:
ConsoleFilter.*:
description: Complete access to consolefilter commands
children:
ConsoleFilter.reload: false
ConsoleFilter.reload:
description: Test reload
default: false
. 그리고 그것의 얼굴에, 당신의 "plugin.yml"파일은 명시 적으로 그 허락을 "false"로 설정하고 있습니다. 네가해야할 일이 무엇인지 분명하지 않니? 힌트 : ** 오류 메시지를 읽으십시오. ** –
내 플러그인은 권한이 필요 없으며, 내 플러그인은 "plugin.yml"을 통해 권한을 생성합니다. Ontop의 "콘솔"은 플레이어 엔티티가 아니며 서버에있는 모든 것 위에는 권한이 필요 없습니다. 여기서 문제는 내 코드가 콘솔처럼 콘솔을 콘솔로 취급하지 않는다는 것입니다. – DirtyRedz
저는 Bukkit 전문가는 아니지만, 당신의 가정이 틀렸다는 증거가 나와 함께합니다. minecraft 공개 토론은 이것 같이 질문하는 더 나은 장소이다. 그것이 Minecraft 전문가들이 행하는 곳입니다. –