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

Помогите Оптимизация

Тема в разделе "Разработка плагинов для новичков", создана пользователем CoolBoy, 4 фев 2017.

  1. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    uuid ;)
     
  2. Хостинг MineCraft
    <
  3. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    почему он лучше? длинее же. имя больше байтов кушает. или гет by uuid пашет в разы шустрей и типа можно пожертвовать эти пару байт?
     
  4. Exception_Prototype

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

    Баллы:
    46
    Вопрос выше меня тоже интересует. Вы лично uuid пользуйтесь?
    А разве Bukkit.getPlayer(uuid) не будет кушать лишнего?
     
  5. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    так говоришь как будто Bukkit.getPLayer(String) уже и не жрет нифига
     
  6. Автор темы
    CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    https://www.hastebin.com/olamireyov.cs

    I did it, or no?
     
  7. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Еще как будет, потому лучше ссылка на игрока.
     
  8. Автор темы
    CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    А если ник хранить и через ник доставать?
     
  9. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Долго же.
     
  10. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    ну тк, а через юид доставать не долго что ли?
     
  11. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Причем тут юид?
     
  12. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    хз.

    А что за ссылка. как ее хранить?

    (вроде банально, а вроде и нет)
     
  13. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Когда игрок зашёл на сервер, он Player. Пока он не выйдет, объект разумеется поменяться не может.
    У Player-а есть uuid, и есть ник, они поменяться во время сессии не могут.
    Сравнивать что ники, что uuid-ы, долго, нужнопочти O(N) от длины строки.
    Сравнить две ссылки на объект Player -- примерно как сравнить два long-а. При этом не надо обращаться по этим адресам и этим выгружать какую-то потенциально нужную кэш-линию.

    Так что player1 == player2 куда быстрее, чем
    player1.getName().equals(player2.getName());
    или
    player1.getUniqueId().equals(player2.getUniqueId());

    Только нужно аккуратно отслеживать вновь входящих и выходящих игроков, для них объекты Player меняются. И не забывать про игроков во время onEnable.
     
  14. Blc_Dragon

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

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    спасибо сохранил C:
     
  15. Автор темы
    CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Хм. Тоесть, если я буду в классе EPlayer хранить обьект Player, вместо String name - будет быстрее и лучше, верно?
     
  16. Exception_Prototype

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

    Баллы:
    46
    Так как же всё же сравнить двух игроков? == или equals? Всё же объекты
     
  17. Sonicxd2

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

    Баллы:
    76
    По имени или UUID. Но лучше по UUID, ибо это значение уникальное.
     
  18. Автор темы
    CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    А теперь глянь пост от Reality_SC.
     
  19. Exception_Prototype

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

    Баллы:
    46
    В смысле? Выше пост Reality_SC почитай, он объяснил. Просто примеров для сравнения приводил == и я вот не понял.
     
  20. Автор темы
    CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Обьекты плеера и так и так сравнивать можно.
     
  21. Exception_Prototype

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

    Баллы:
    46
    Шок. А что быстрей будет? Или он в equals тоже == ?
     

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