Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Фикс Ивенты для модов [Механизмы работают от имени владельца]

Тема в разделе "Управление сервером Bukkit", создана пользователем gamerforEA, 30 дек 2014.

  1. yarik-craft

    yarik-craft Активный участник Пользователь

    Баллы:
    76
    ну т.к это же команда.. Это увы не то, мне надо в любом месте где я захочу залипить проверку ли есть у игрока пермисшен.. Я просто хз как и где подключать либу бакита. И как ее верно юзать? Т.к из эвентов в форже в которых мне надо пилить проверку, я могу получить world,player.
     
  2. Хостинг MineCraft
    <
  3. Kimato

    Kimato Активный участник Пользователь

    Баллы:
    76
    Ааааааааа, Ярик, я твой фан
     
  4. yarik-craft

    yarik-craft Активный участник Пользователь

    Баллы:
    76
    Сарказм? Если нет, то кто Вы и откуда Вы меня знаете?)
     
  5. Kimato

    Kimato Активный участник Пользователь

    Баллы:
    76
    Играю на твоём проекте))))
    Такие классные модификации делаешь, чёрт
     
  6. yarik-craft

    yarik-craft Активный участник Пользователь

    Баллы:
    76
    Блин, чет не ожидал такое услышать. Думал реально люди уже держат ниже плинтуса :)
    Если хочешь, то можешь посоветовать какие то модификации для проекта в лс/скайп (yaroslavmoder), при добавлении ток укажи, что это ты, иначе не добавлю).
    Будет приятно поговорить с тобой и узнать твое мнение.
     
  7. GoodCoder

    GoodCoder Активный участник Пользователь

    Баллы:
    76
    Ну так ловишь своим плагином эвент и проверяешь право.
     
  8. yarik-craft

    yarik-craft Активный участник Пользователь

    Баллы:
    76
    Лол, мне надо в моде чекать ли есть право у игрока. Т.е подключить либу бакита, вроде сам разобрался. Если не будет работать - напишу)
     
  9. Автор темы
    gamerforEA

    gamerforEA Старожил Пользователь

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    1. Получаем net.minecraft.entity.EntityPlayer нужного игрока.
    2. Конвертируем его в org.bukkit.entity.Player (пример).
    3. Используем обычный Player.hasPermission(String).
     
  10. yarik-craft

    yarik-craft Активный участник Пользователь

    Баллы:
    76
    Я сделал по другому:
    if(hasPex("право", entityPlayer)) ...

    public static boolean hasPex(String s, String name) {
    boolean use = false;
    try {
    if(Bukkit.getServer() != null) {
    Player player1 = Bukkit.getServer().getPlayer(name);
    if(player1 != null && player1.hasPermission(s)) {
    use = true;
    }
    }
    } catch(NoSuchFieldError e) {}
    return use;
    }

    Вроде бы на серваке работает, а на клиенте возвращает false без краша.[DOUBLEPOST=1459335445,1459251253][/DOUBLEPOST]а name получаю так: entityPlayerForge.getDisplayName();
     
  11. GoodCoder

    GoodCoder Активный участник Пользователь

    Баллы:
    76
    Наговнокодил ты. Зачем на клиент ставить мод с серверными фиксами?
     
  12. yarik-craft

    yarik-craft Активный участник Пользователь

    Баллы:
    76
    Насчет говнокода не спорю. Это мод на запреты (с гуишником и прочим функционалом). Уже почти всё готово. Скоро буду разделять на клиентскую и серверную часть. Вопрос: Как без гемороя можно это быстро сделать? Т.е что бы просто не компилило некоторые участки кода.
     
  13. GoodCoder

    GoodCoder Активный участник Пользователь

    Баллы:
    76
    Объявить статическую константу (static final).
    Код:
    public static final boolean FOR_SERVER = false; // для сервера собираешь - true, для клиента - false
    if(FOR_SERVER){
      // компилятор удалит этот код, как так он никогда не выполнится
    }
    Если код защищать не нужно, то можно сделать автоматический переключатель, чтобы код серверной части не выполнялся на клиенте.
     
  14. yarik-craft

    yarik-craft Активный участник Пользователь

    Баллы:
    76
    А компилятор автоматом удаляет код?
     
  15. GoodCoder

    GoodCoder Активный участник Пользователь

    Баллы:
    76
    У чашки компилятор "с характером". Он любит оптимизировать код.
     
  16. yarik-craft

    yarik-craft Активный участник Пользователь

    Баллы:
    76
    Ну буду щас тестить)

    Кстати, не поможешь?
    Как проверить ли баккитовский эвент урона энтити/плееру отменен? И потом отменить его в другом forge'вском моде?
    P.s в бакките я полный 0.Я с ним начал работать 1 день назад) мало знаю про то как там работают эвенты и т.п
     
  17. Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    @gamerforEA как найдется у вас время, обновите пожалуйста RailCraft
     
  18. Evgeny3121

    Evgeny3121 Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Evgeny3121
    Измененные классы с 9.8 не обновились в 9.10
     
  19. LeRioN13

    LeRioN13 Активный участник Пользователь

    Баллы:
    66
    Еще бы в либу добавить бы проверку на флаг PVP по координатам и мире =)
     
  20. yarik-craft

    yarik-craft Активный участник Пользователь

    Баллы:
    76
    Ребят, можно вопрос? У кого есть стабильный билд калдрона 1.7.10?[DOUBLEPOST=1459433211,1459421106][/DOUBLEPOST]Поставил билд: KCauldron-1.7.10-1492.152, но проблема в том, что привзяка не работает.
    Раньше на калдроне работала. Билд кривой или как? В чём может быть трабла?
    P.s minecraft_server.1.7.10.jar - не трогал. И в клиенте только forge залил новой версии, authlib не трогал.[DOUBLEPOST=1459433734][/DOUBLEPOST]P.ss Кикает с сервера с причиной: Failed to verify username!
    Это значит, что всё таки ошибка в клиенте? Или на сервере?
    [Лог]
    Disconnecting com.mojang.authlib.GameProfile@7c8d3a83[id=<null>,name=MrYarik666,properties={},legacy=false] (/ip:61691): Failed to verify username!
    Username 'MrYarik666' tried to join with an invalid session
    com.mojang.authlib.GameProfile@7c8d3a83[id=<null>,name=MrYarik666,properties={},legacy=false] (/ip:61691) lost connection: Failed to verify username![DOUBLEPOST=1459435741][/DOUBLEPOST]Я уже 10 раз пересматриваю классы в аутЛиб и в minecraft_server, всё нормально. Но не пускает на сервак (Failed to verify username!) :C
    Ставил разные билды ККалдрона, не помагает.
    Ну знатоки, вы где?
     
  21. LeRioN13

    LeRioN13 Активный участник Пользователь

    Баллы:
    66
    \libraries\net\minecraft\server\1.7.10\ - тут сервер потому что, или в термосе здесь:
    \bin\net\minecraft\server\1.7.10\[DOUBLEPOST=1459437466,1459437413][/DOUBLEPOST]Последние билды термоса (бывший kcaldron):
    https://tcpr.ca/downloads/thermos
     

Поделиться этой страницей