Команда

svk

1,185
3
Где-то видел тут туториал, как создавать свои команды, но не нашел его. Скиньте ссылку, кто знает.
А если нет, у меня есть вопрос: как сделать так, что-б только опы могли её юзать?
 
если не ошибаюсь, то это:
Код:
if (MinecraftServer.getServer().getConfigurationManager().func_152603_m().func_152700_a("username") != null)
"username" - это ник игрока.
[merge_posts_bbcode]Добавлено: 04.12.2015 18:26:50[/merge_posts_bbcode]

Если не ошибаюсь, то примерно так:
Код:
@Override
public boolean canCommandSenderUseCommand(ICommandSender ics) {
    if (ics instanceof EntityPlayer) {
        EntityPlayer player = (EntityPlayer)ics;
        if (MinecraftServer.getServer().getConfigurationManager().func_152603_m().func_152700_a(player.getCommandSenderName()) != null)
            return true;
    }
    return false;
}
 
Эй, дракон, псс.
Код:
public class SampleCommand implements ICommand
Они его и обсуждают, но проверка на опа делается через ServerConfigurationManager
 
Возможно Дракон имелл виду про
Код:
if (ics instanceof EntityPlayer) {
EntityPlayer player = (EntityPlayer)ics;
player.getCommandSenderName()
}
сократив до:
Код:
ics.getCommandSenderName()
Типа так:
Код:
@Override
public boolean canCommandSenderUseCommand(ICommandSender ics) {
    if (MinecraftServer.getServer().getConfigurationManager().func_152603_m().func_152700_a(ics.getCommandSenderName()) != null)
        return true;
    return false;
}
На счёт ОПа в нём, я так не нашёл, не в ICommand и не в ICommandSender.
 
А раньше был волшебный метод getRequestedPermissionLevel, ну и пофиг.
 
А как можно запретить игроку использовать команды, кроме некоторых. (Делаю миниигру, да модом, потому-что надо модом)
 
Извини Дракош, не заметил. Сейчас getPermissionLevel (ему нужен return 3;). Просто как то странно делать велосипед вместо Override метода...
svk, предлагаю немного тупую штуку:
if(Minecraft.username == "..." || "...")
Действия
else
return null
Сам не проверял однако ты попробуй.
 
У меня вопрос по теме : в какой из этих переменных ваш Permission Level?

image.png
 
FanKar написал(а):
Извини Дракош, не заметил. Сейчас getPermissionLevel (ему нужен return 3;). Просто как то странно делать велосипед вместо Override метода...
svk, предлагаю немного тупую штуку:
if(Minecraft.username == "..." || "...")
Действия
else
return null
Сам не проверял однако ты попробуй.
Что это?
 
@TaoGanner, WTF? Что это вообще такое?
P.S. Как бы я о 1.7.10 версии говорю.
@svk, что именно? Когда цитируешь - выделяй главную часть.
 
FanKar написал(а):
Тимах, разве нету просто метода getPermissionLevel?
Я не знаю такого. (Не нашёл по беглому поиску.)
 
Dragon2488 написал(а):
Тао, пермишионам выделен отдельный ops.json.

Ну тогда просто считаем этот список в HashMap - и используем при проверке на команду.
@svk, глянь вложение. Скидал для тебя примерчик.
 
Назад
Сверху