0
私はICommandを実装し、ServerStartingイベントに登録したクラスを作成しました。私がMinecraftでコマンドを実行しようとすると、私は許可エラーを受け取りません。Forge 1.12.1の私のカスタムコマンドが動作しません
List aliases;
public CMinecraftStoryMod() {
aliases = new ArrayList();
aliases.add("msm");
}
@Override
public String getName() {
return "minecraftstorymod";
}
@Override
public String getUsage(ICommandSender sender) {
if (sender.getEntityWorld().isRemote) {
return "/minecraftstorymod";
} else {
return "/minecraftstorymod";
}
}
@Override
public List<String> getAliases() {
return aliases;
}
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
if (!MinecraftStoryMod.gameInProgress) {
MinecraftStoryMod.gameInProgress = true;
if (sender.getEntityWorld().isRemote) {
sender.sendMessage(new TextComponentString("[CMinecraftStoryMod] Attempting to start game in a multiplayer world..."));
sender.sendMessage(new TextComponentString("[CMinecraftStoryMod] Checking out the number of players in this world..."));
if (server.getPlayerList().getCurrentPlayerCount() > 0) {
sender.sendMessage(new TextComponentString("[CMinecraftStoryMod] There are " + server.getPlayerList().getCurrentPlayerCount() + " players in the server! Generating fun..."));
MinecraftStoryMod.gameHandler.startGame(server.getPlayerList());
} else {
sender.sendMessage(new TextComponentString("[CMinecraftStoryMod] The server has 0 players!"));
MinecraftStoryMod.gameInProgress = false;
return;
}
} else {
sender.sendMessage(new TextComponentString("[CMinecraftStoryMod] Singleplayer mode for this mod is still under construction. We're sowwy :)"));
return;
}
} else {
sender.sendMessage(new TextComponentString("[CMinecraftStoryMod] Another game is in progress! Wait for it ._."));
}
}
@Override
public boolean checkPermission(MinecraftServer server, ICommandSender sender) {
return false;
}
@Override
public List<String> getTabCompletions(MinecraftServer server, ICommandSender sender, String[] args, @Nullable BlockPos targetPos) {
return null;
}
@Override
public boolean isUsernameIndex(String[] args, int index) {
return false;
}
@Override
public int compareTo(ICommand o) {
return 0;
}
私はゲーム内で/ minecraftstorymodを入力することができますので、私はきちんと私のコマンドを登録して知っている:ここに私のICommandの実装クラスです。私はForgeを使用しています。1.12.1 14.22.0.2469
プレイヤーがOpであるか、許可ノードを持っているかを確認する方法はありますか? –
ICommandSender.canUseCommandは、Opsの権限レベル4とコマンド名で使用します。どのような許可システムについて話していますか? MinecraftとForgeのどちらも内蔵していません。 – Shadowfacts