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

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

Discussion in 'Разработка плагинов для новичков' started by CoolBoy, Feb 4, 2017.

  1. Dereku

    Dereku Старожил

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

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

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

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

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

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

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

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

    Trophy Points:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    https://www.hastebin.com/olamireyov.cs

    I did it, or no?
     
  7. alexandrage

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

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

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

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

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    Долго же.
     
  10. Blc_Dragon

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

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

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    Причем тут юид?
     
  12. Blc_Dragon

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    хз.

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

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

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

    Trophy Points:
    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 Активный участник Пользователь

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Share This Page