Помогите Не работает open_requirement в DeluxeMenus

0xLairon1

Активный участник
Пользователь
Баллы
76
Ник в Minecraft
0xLairon1
Так как в дс HelpChat я жду ответа уже много лет(нет) решил написать сюда.

Моя задача сделать проверку группы у игрока при открытии gui, а дальше в зависимости от группы открывать другой gui который соответствует данной группе. Таким образом я планирую реализовать gui кастомных эффектов и в зависимости от доната их будет больше.

Я пытался делать так:

Код:
menu_title: 'Loading... (/effect)'
open_command:
- effects
- effect
- particles
- particle
size: 9

open_requirement:
  minimum_requirements: 1
  stop_at_success: true
  requirements:
    default_check:
      type: "string equals ignorecase"
      input: "%vault_group%"
      output: "default"
      success_commands:
        - "[message] U have group default"
    knight_check:
      type: "string equals ignorecase"
      input: "%vault_group%"
      output: "knight"
      success_commands:
        - "[message] U have group knight"
 
    
items:
  frame:
    material: GREEN_STAINED_GLASS_PANE
    display_name: '&aLoading...'
    slots: [0, 1, 2, 3, 4, 5, 6, 7, 8]

open_requirement вообще не работает, не вызывается ни success_commands ни deny_commands.
Вывод: Я гдето накосячил в синтаксисе. Помогите)

Если все заработает я поменяю проверку на плейсхолдер из luckperms который будет чекать и предыдущие группы.
 
Если LuckPerms стоит, поставь вместо проверки на соответствие "%vault_group%" к группе просто проверку на право "group.группа".
 
Если LuckPerms стоит, поставь вместо проверки на соответствие "%vault_group%" к группе просто проверку на право "group.группа".
У меня не то что плейсхолдеты не работают, не работает сам requirements, тоесть по исходу сравнения ничего не происходит вообще. Сейчас у меня выглядит так:
Код:
open_requirement:
  requirements:
    knight:
      type: string equals
      input: "%luckperms_inherits_group_knight%"
      output: "Да"
      success_commands:
        - "[message] Open knight"
        - "[openmenu] donate_particles/knight"
      deny_commands:
        - "[message] open default"
        - "[openmenu] donate_particles/default"
Тоесть независимо от того что выдаст сравнение должно написаться сообщение, но этого не происходит
 
Проверка через группу тоже не пашет

Код:
open_requirement:
  requirements:
    knight:
      type: has permission
      permission: "group.knight"
      success_commands:
        - "[message] Open knight"
        - "[openmenu] donate_particles/knight"
      deny_commands:
        - "[message] open default"
        - "[openmenu] donate_particles/default"
 
Решил проблему отказавшись от DeluxeMenu для выбора gui. Написал(Если это так можно назвать) на MyCommand.
Если комуто нужно будет

Код:
effects:
  command: /effect
  type: RUN_CONSOLE
  permission-required: false
  runcmd:
    - "$Script$%if%HasPermission==group.archangel"
    - "dm open donate_particles/archangel $player"
    
    - "$Script$%elseif%HasPermission==group.lord"
    - "dm open donate_particles/lord $player"

    - "$Script$%elseif%HasPermission==group.titan"
    - "dm open donate_particles/titan $player"

    - "$Script$%elseif%HasPermission==group.zeus"
    - "dm open donate_particles/zeus $player"

    - "$Script$%elseif%HasPermission==group.prince"
    - "dm open donate_particles/prince $player"

    - "$Script$%elseif%HasPermission==group.marshal"
    - "dm open donate_particles/marshal $player"

    - "$Script$%elseif%HasPermission==group.knight"
    - "dm open donate_particles/knight $player"
    
    - "$Script$%else%"
    - "dm open donate_particles/default $player"
 
Решил проблему отказавшись от DeluxeMenu для выбора gui. Написал(Если это так можно назвать) на MyCommand.
Если комуто нужно будет

Код:
effects:
  command: /effect
  type: RUN_CONSOLE
  permission-required: false
  runcmd:
    - "$Script$%if%HasPermission==group.archangel"
    - "dm open donate_particles/archangel $player"
   
    - "$Script$%elseif%HasPermission==group.lord"
    - "dm open donate_particles/lord $player"

    - "$Script$%elseif%HasPermission==group.titan"
    - "dm open donate_particles/titan $player"

    - "$Script$%elseif%HasPermission==group.zeus"
    - "dm open donate_particles/zeus $player"

    - "$Script$%elseif%HasPermission==group.prince"
    - "dm open donate_particles/prince $player"

    - "$Script$%elseif%HasPermission==group.marshal"
    - "dm open donate_particles/marshal $player"

    - "$Script$%elseif%HasPermission==group.knight"
    - "dm open donate_particles/knight $player"
   
    - "$Script$%else%"
    - "dm open donate_particles/default $player"
Выглядит как великовозрастный костыль.
 
Выглядит как великовозрастный костыль.
Я могу написать под это огромный, многофункциональный, легко масштабируемый плагин, на который у меня уйдет времени в 15 раз больше чем на это. Но зачем тратить на это так много времени? Да это костыль, но он работает и какая разница игроку как там сделано, плагином или на 3х других. Если этой системе понадобится жесткий импрув тогда я и буду уже писать под это дело отдельный плагин, а пока что связки PlayerParticles + DeluxeMenu + MyCommand более чем достаточно)
 
Я могу написать под это огромный, многофункциональный, легко масштабируемый плагин, на который у меня уйдет времени в 15 раз больше чем на это. Но зачем тратить на это так много времени? Да это костыль, но он работает и какая разница игроку как там сделано, плагином или на 3х других. Если этой системе понадобится жесткий импрув тогда я и буду уже писать под это дело отдельный плагин, а пока что связки PlayerParticles + DeluxeMenu + MyCommand более чем достаточно)
Если бы ты мог написать легко масштабируемый плагин, ты бы не юзал никаких делюкс меню.
 
Читал, не сказал бы что уйдет времени много.
Как минимум на то чтобы сделать это на основе 3х плагинов времени уйдем куда меньше чем на самопис. У тебя есть 3 клевых инструмента на которых можно сделать практически все, нет давай будем делать с 0.
Вот тебе пример. Знаешь почему допустим apple не делает свои собственные процессоры и еще много каких компонентов? Потому что на создание своего с 0 уйдет много времени, а твои конкуренты успеют уже 10 новых моделей собрать.
Смекаешь?
 
Как минимум на то чтобы сделать это на основе 3х плагинов времени уйдем куда меньше чем на самопис. У тебя есть 3 клевых инструмента на которых можно сделать практически все, нет давай будем делать с 0.
Вот тебе пример. Знаешь почему допустим apple не делает свои собственные процессоры и еще много каких компонентов? Потому что на создание своего с 0 уйдет много времени, а твои конкуренты успеют уже 10 новых моделей собрать.
Смекаешь?
Нет не смекаю, Apple использует свои процессоры (разработка и производство разные вещи), а во вторых зачем пытаться понять глухонемого, если вы можете создать новый язык вместе с ним.
 
Apple использует свои процессоры
Прогуглил, пример устаревший на данное время. Но как минимум они использовали вообще процессоры самсунг до 2011, задай себе вопрос почему они не сразу стали свои использовать.

а во вторых зачем пытаться понять глухонемого, если вы можете создать новый язык вместе с ним.
А это вообще полный бред, давай тогда создадим свое ядро сервера с 0, а лучше вообше свой ЯП, а то че это JVM юзать.
Разобраться в 3х плагинах мне не составило труда, дак зачем тогда пилить самопис? Если у тебя много личного времени то мб у стартапа который пытается продвинуть свой сервер может не быть так много денег чтобы ты писал все с 0. Всегда и во всех разработках уже используются готовые работы, чтобы ты как разработчик не тратил время на изобретение велосипеда, тому примеры LuckPerm, PlaceholderAPI, Spring и куча разных библиотек. Дак зачем все используют уже чтото готовое? не ужто потому что времени жалко, не думал об этом?
Да блин, в сфере разработки даже специально придумали микросервисную архитектуру, чтобы твой сервис мог использоваться не только в 1 проекте а еще в 1000. Дак зачем тогда все это по твоей логике??
Зачем мне писать самопис когда есть 3 инструмента позволяющих сделать не хуже на начальном этапе???
Ответ: Меньшая затрата времени и средств на разработку
 
Тот же DeluxeMenu и MyCommands мощнейшие инструменты созданные специально для того чтобы создавать чтото подобное за меньшее время. Или ты думаешь что они для примитивных GUI менюх?
 
Прогуглил, пример устаревший на данное время. Но как минимум они использовали вообще процессоры самсунг до 2011, задай себе вопрос почему они не сразу стали свои использовать.


А это вообще полный бред, давай тогда создадим свое ядро сервера с 0, а лучше вообще свой ЯП, а то че это JVM юзать.
Разобраться в 3х плагинах мне не составило труда, дак зачем тогда пилить самопис? Если у тебя много личного времени то мб у стартапа который пытается продвинуть свой сервер может не быть так много денег чтобы ты писал все с 0. Всегда и во всех разработках уже используются готовые работы, чтобы ты как разработчик не тратил время на изобретение велосипеда, тому примеры LuckPerm, PlaceholderAPI, Spring и куча разных библиотек. Дак зачем все используют уже что то готовое? потому что времени жалко, не думал об этом?
Да блин, в сфере разработки даже специально придумали микросервисную архитектуру, чтобы твой сервис мог использоваться не только в 1 проекте а еще в 1000. Дак зачем тогда все это по твоей логике??
Зачем мне писать самопис когда есть 3 инструмента позволяющих сделать не хуже на начальном этапе???
Ответ: Меньшая затрата времени и средств на разработку

Велосипеды это использование готовых решений с кучей ненужного функционала. Насчет вопроса почему не использовали, потому что не хотели, а сейчас получили еще больше опыта и сделали чип слабее и дешевле его аналогов, но зато оптимизировали софт так что он летает там.
 
Будем честны - нет
Ты серьезно? На это у меня ушло часа 4 в месте с изучением MyCommands, хорошой самопис я бы писал часов 15 не меньше. Да конечно можно сделать этот самопис за 30 минут но он будет максимально на костылях и кучей багов, а тут я за 4 часа сделал вещь в которой ненужно ничего будет после еще чинить.

Велосипеды это использование готовых решений с кучей ненужного функционала. Насчет вопроса почему не использовали, потому что не хотели, а сейчас получили еще больше опыта и сделали чип слабее и дешевле его аналогов, но зато оптимизировали софт так что он летает там.
Я тебе вообще не об этом... Я тебе привел пример того что крупные компании не создавали все свое с 0 на старте, потому что это экономически не выгодно, пока ты доведешь свой продукт до идеала пройдет куча времени, поетому наверное куда лучше на начальных этапах использовать чтото готовое...

Не хочу никого оскор****ь но вы ребятки наверное не знакомы с разработкой крупных проектов... Назовите хоть 1 крупняк который не использует сторонние решения(Таких не существует)
 
Ты серьезно? На это у меня ушло часа 4 в месте с изучением MyCommands, хорошой самопис я бы писал часов 15 не меньше. Да конечно можно сделать этот самопис за 30 минут но он будет максимально на костылях и кучей багов, а тут я за 4 часа сделал вещь в которой ненужно ничего будет после еще чинить.


Я тебе вообще не об этом... Я тебе привел пример того что крупные компании не создавали все свое с 0 на старте, потому что это экономически не выгодно, пока ты доведешь свой продукт до идеала пройдет куча времени, поетому наверное куда лучше на начальных этапах использовать чтото готовое...

Не хочу никого оскор****ь но вы ребятки наверное не знакомы с разработкой крупных проектов... Назовите хоть 1 крупняк который не использует сторонние решения(Таких не существует)
IBM.
 
Я тебе вообще не об этом... Я тебе привел пример того что крупные компании не создавали все свое с 0 на старте, потому что это экономически не выгодно, пока ты доведешь свой продукт до идеала пройдет куча времени, поетому наверное куда лучше на начальных этапах использовать чтото готовое...
У apple на разработку своего процессора ушло 14 лет. Подразделение они создали в 2006 а начали использовать свои камни только в 2020. Наверное им не стоило изначально создавать свои процессоры, не так ли?

https://ru.wikipedia.org/wiki/Apple... Mac Pro[2], были переведены на Apple silicon

https://appleinsider.ru/analysis/za....html#:~:text=В 2006 году,чипы для смартфонов.
 
Назад
Верх Низ