Вопрос Вопрос про DeluxeMenus

SophiaWagner

Пользователь
Сообщения
267
Решения
1
Плагин
deluxemenus luckperms
Ядро сервера
  1. Tuinity
Версия сервера
  1. 1.19
Память сервера ОЗУ
4Gb
Всем привет. Делаю призы за время проведенное в игре на DeluxeMenus , вроде все работает, но все же и возник вопрос правильно ли я это делаю или где то можно как то оптимизировать, улучшить.. гляньте конфиг и оцените, мб что где переделать стоит в целях улучшения производительности или удобности использования..


YAML:
  # ==================================================================================
  # ===================================   1_hour   ===================================
  # ==================================================================================
  '1_hour':
    material: chest_minecart
    slot: 10
    priority: 0
    display_name: ' &e&l«Отыграть 1 час» &7(Прогресс:&e %statistic_hours_played%&7/&61&7) '
    lore:
    - ''
    - '&f Задание: &7Отыграть 1 час'
    - ''
    - '&e » &fВы получите &6$5000'
    - '&e » &fВы получите &6Маленький кейс с койнами'
    view_requirement:
      requirements:
        permission:
          type: string equals
          input: '%luckperms_has_permission_temp.playtime.1h%'
          output: 'no'
    left_click_requirement:
      requirements:
        quest_check:
          type: javascript
          expression: '%statistic_hours_played% >= 1'
          deny_commands:
          - '[sound] BLOCK_LEVER_CLICK'
          - '[close]'
          - '[message]'
          - '[message] &e&lКвесты &8» &cЗадание не выполнено!'
          - '[message]'
    left_click_commands:
      - '[console] lp user %player_name% permission set temp.playtime.1h'
      - '[close]'
      - '[sound] ENTITY_PLAYER_LEVELUP'
      - '[message]'
      - '[message] &e&lКвесты &8» &aЗадание успешно выполнено! Вы получили награду!'
      - '[message]'
      - '[console] eco give %player_name% 5000'
      - '[console] cc give virtual donate_money_lite 1 %player_name%'
      - '[openguimenu] play_time_rewards<delay=5>'
  # ----------------------------------- COMPLETE -----------------------------------
  '1_hour_complete':
    material: minecart
    slot: 10
    priority: 1
    display_name: ' &e&l«Отыграть 1 час» &7(&aВыполнено&7) '
    lore:
    - ''
    - '&f Задание: &7Отыграть 1 час'
    - ''
    - '&e » &aЗадание выполнено!'
    view_requirement:
      requirements:
        permission:
          type: string equals
          input: '%luckperms_has_permission_temp.playtime.1h%'
          output: 'yes'
    right_click_commands:
      - '[sound] BLOCK_LEVER_CLICK'
      - '[refresh]'
    left_click_commands:
      - '[sound] BLOCK_LEVER_CLICK'
      - '[message]'
      - '[message] &e&lКвесты &8» &cВы уже выполнили это задание!'
      - '[message]'


И еще, не знаю в чем именно проблема, но установка разрешения как то долго происходит, в районе 0.2 секунды..
База данных у luckperms mysql
lp user %player_name% permission set temp.playtime.1h'
За это время, пока устанавливается разрешение, можно успеть 2-3 раза нажать на получения вознаграждения, поэтому за место обычного обновления окна через [refresh] приходится использовать костыль с закрытием и переоткрытием окна с задержкой. Мб кто знает в чем причина или как можно более удобно сделать без задержки
YAML:
- '[close]'
...
- '[openguimenu] play_time_rewards<delay=5>'
 
Решение
Всем привет. Делаю призы за время проведенное в игре на DeluxeMenus , вроде все работает, но все же и возник вопрос правильно ли я это делаю или где то можно как то оптимизировать, улучшить.. гляньте конфиг и оцените, мб что где переделать стоит в целях улучшения производительности или удобности использования..


YAML:
  # ==================================================================================
  # ===================================   1_hour   ===================================
  # ==================================================================================
  '1_hour':
    material: chest_minecart
    slot: 10
    priority: 0
    display_name: ' &e&l«Отыграть 1 час» &7(Прогресс:&e %statistic_hours_played%&7/&61&7) '...
Всем привет. Делаю призы за время проведенное в игре на DeluxeMenus , вроде все работает, но все же и возник вопрос правильно ли я это делаю или где то можно как то оптимизировать, улучшить.. гляньте конфиг и оцените, мб что где переделать стоит в целях улучшения производительности или удобности использования..


YAML:
  # ==================================================================================
  # ===================================   1_hour   ===================================
  # ==================================================================================
  '1_hour':
    material: chest_minecart
    slot: 10
    priority: 0
    display_name: ' &e&l«Отыграть 1 час» &7(Прогресс:&e %statistic_hours_played%&7/&61&7) '
    lore:
    - ''
    - '&f Задание: &7Отыграть 1 час'
    - ''
    - '&e » &fВы получите &6$5000'
    - '&e » &fВы получите &6Маленький кейс с койнами'
    view_requirement:
      requirements:
        permission:
          type: string equals
          input: '%luckperms_has_permission_temp.playtime.1h%'
          output: 'no'
    left_click_requirement:
      requirements:
        quest_check:
          type: javascript
          expression: '%statistic_hours_played% >= 1'
          deny_commands:
          - '[sound] BLOCK_LEVER_CLICK'
          - '[close]'
          - '[message]'
          - '[message] &e&lКвесты &8» &cЗадание не выполнено!'
          - '[message]'
    left_click_commands:
      - '[console] lp user %player_name% permission set temp.playtime.1h'
      - '[close]'
      - '[sound] ENTITY_PLAYER_LEVELUP'
      - '[message]'
      - '[message] &e&lКвесты &8» &aЗадание успешно выполнено! Вы получили награду!'
      - '[message]'
      - '[console] eco give %player_name% 5000'
      - '[console] cc give virtual donate_money_lite 1 %player_name%'
      - '[openguimenu] play_time_rewards<delay=5>'
  # ----------------------------------- COMPLETE -----------------------------------
  '1_hour_complete':
    material: minecart
    slot: 10
    priority: 1
    display_name: ' &e&l«Отыграть 1 час» &7(&aВыполнено&7) '
    lore:
    - ''
    - '&f Задание: &7Отыграть 1 час'
    - ''
    - '&e » &aЗадание выполнено!'
    view_requirement:
      requirements:
        permission:
          type: string equals
          input: '%luckperms_has_permission_temp.playtime.1h%'
          output: 'yes'
    right_click_commands:
      - '[sound] BLOCK_LEVER_CLICK'
      - '[refresh]'
    left_click_commands:
      - '[sound] BLOCK_LEVER_CLICK'
      - '[message]'
      - '[message] &e&lКвесты &8» &cВы уже выполнили это задание!'
      - '[message]'


И еще, не знаю в чем именно проблема, но установка разрешения как то долго происходит, в районе 0.2 секунды..
База данных у luckperms mysql
lp user %player_name% permission set temp.playtime.1h'
За это время, пока устанавливается разрешение, можно успеть 2-3 раза нажать на получения вознаграждения, поэтому за место обычного обновления окна через [refresh] приходится использовать костыль с закрытием и переоткрытием окна с задержкой. Мб кто знает в чем причина или как можно более удобно сделать без задержки
YAML:
- '[close]'
...
- '[openguimenu] play_time_rewards<delay=5>'
Можно вместо разрешений хранить информацию о том взял игрок награду или нет в PersistentDataContainer'е. ( ) Без понятия решит ли это твою проблему задержки, но в теории должно решить.
 
Назад
Сверху Снизу