1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Добавление к игроку чисел

Тема в разделе "Разработка плагинов для новичков", создана пользователем jusik, 30 май 2018.

  1. Автор темы
    jusik

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

    Баллы:
    76
    Skype:
    louky94096
    Имя в Minecraft:
    Jusik
    Как мне добавить к игроку 2 типа чисел и что бы после перезапуска сервера они сохранялись. В конфигах и HashMap не шарю по этому и прошу у вас помощи. Просто скажите где лучше и ссылочку где про это пишут.
     
  2. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Писал с планшета, поэтому может где-то ошибся
    Код:
    Set<Stats> stats = new HashSet<Stats>();
    
    public void addPlayer (Player player) {
        Stats stat = getStatsByPlayer (player);
        if (stat == null) {
            return;
        }
        stat.addChislo1();
    }
    
    public Stats getStatsByPlayer (Player player) {
        for (Stats stat : stats)
            if (stts.getPlayer ().equals (player))
                return stat;
        return null;
    }
    
    public class Stats {
    
        private Player player;
        private int chislo1;
        private int chislo2;
        
        public Stats (Player player) {
            this.player = player;
        }
    
        public void addChislo1 () {
            chislo1++;
        }
    
        public void addChislo2 () {
            chislo2++;
        }
    
        public Player getPlayer () {
            player;
        }
    }
    
     
  3. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Ага, ошибся. В хранении Player.
     
  4. alexandrage

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

    Баллы:
    173
  5. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Мм, чем тебе не нравится?
     
  6. l_Slime_l

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

    Баллы:
    76
    Может быть из-за этого (а может и нет) (Писал @Shevchik в теме Помощь новичкам..):
    Дело в том что Player - нестабильный объект. Очень много вещей внутри NMS, тупо делают клон объекта и забивают на старый. И хоть баккит пытается в такие моменты переприсваивть Player чтобы он оставался валидным, это всё равно выйдет вам боком, а вы будете искать странный баг который появляется очень, очень редко.

    А этот объект ещё и тянет за собой кучу ссылок, так что в итоге мы помимо багов можем получить ещё и остров занятой фигней памяти.
     

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