Помогите Интерфейс SkullMeta, метод setOwningPlayer/setOwner ведет себя не адекватно

Статус
Закрыто для дальнейших ответов.

MurlikMurlik

Активный участник
Пользователь
Баллы
96
Доброго времени суток.
Решил по изучать плагин TrophyHeads. Ранее мне было известно о том, что в таймингах этот плагин довольно часто виднеется.
Код:
TrophyHeads v1.12.7-21Total: 0.731 s    Pct: 0.12%
   Pct Total    Pct Tick       Total          Avg     PerTick         Count        Event
       0.10%     655.82%      0.66 s       327.91 ms     0.0           0.0k        TrophyHeads::onPlayerDeathEvent(PlayerDeathEvent)
       0.01%       0.03%      0.06 s         0.02 ms     0.3           3.6k        TrophyHeads::onEntityDeathEvent(EntityDeathEvent)
       0.00%       0.00%      0.02 s         0.00 ms     1.0          11.5k        TrophyHeads::onPlayerInteractEvent(PlayerInteractEvent)
       0.00%       0.00%      0.00 s         0.00 ms     0.3           3.7k        TrophyHeads::onBlockBreakEvent(BlockBreakEvent)
       0.00%       0.00%      0.00 s         0.00 ms     0.1           1.3k        TrophyHeads::onPrepareItemCraftEvent(PrepareItemCraftEvent)
Решил изучить эту проблему, и наткнулся на большие трудности.
Если игрок умирает, то есть, при попытке сдропать голову - сервер подвисает, то есть, коннектиться к моджангу. (Это с методом setOwner())
Имея исходники, решил заменить устаревший метод на новый (setOwningPlayer()).
Преобразуя Player в OfflinePlayer (OfflinePlayer ofpla = (OfflinePlayer) player), добавил мету в предмет, я почти добился результата.
Но как только дело доходит до метода дропа этой вещи, сервер зависает, опять подключаясь к моджангу.
Теперь вопросы.
Почему это так выходит и как теперь нормально можно делать головы со скинами? (трешово, когда например на сервере 500 человек, и каждую сек умирает по 10 новых игроков(которые никогда не заходили), подгружая инфу с моджанга)
Как с этой проблемой справились большие сервера? Ведь у большей части стоит ядро spigot/craftbukkit..

(Все еще являюсь новичком в Java.)
 
При null пропускай и юзай простую голову.
Хорошо.
Последний вопрос.
Если лицензия изменит скин или ник, будет ли заново вызывать запрос туда? То есть, в кеше есть старые данные, если изменится скин, он изменится при выпадении, или те данные лишь ссылка на данные скина игрока, или они тоже меняется? (я не понимаю как это работает)
 
Хорошо.
Последний вопрос.
Если лицензия изменит скин или ник, будет ли заново вызывать запрос туда? То есть, в кеше есть старые данные, если изменится скин, он изменится при выпадении, или те данные лишь ссылка на данные скина игрока, или они тоже меняется? (я не понимаю как это работает)
Останется старый. Но это околопофигу на офлайн моде. Игроков со своей лицухой около нуля.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх