Помогите Как присваивать каждому игроку переменную?

Bill Cypher

Активный участник
Баллы
61
Имя в Minecraft
LenderIOK
Как присваивать каждому игроку переменную?

У меня есть один int
мне нужно чтобы игрок заходил и к нему присваивался int
но чтобы у каждого игрока int был свой!
Как реализовать?
Может быть HashMap - если да то как?
 
Заведи счетчик, при это занося его в хэшмап и инкримируя, в чем проблема?
 
Ловец, часто тебя вижу. Как учил жабу? Долго и сложно ли давалась? Интересно очень, я более менее начал что-то понимать без единого видео, только декомпилятор и куча плагинов (не без практики в IDE конечно же), но все равно уровень слабый. Начал смотреть эти видосы которые ты и все остальные скидывают, но все равно, как-то не очень запоминается что-ли (пока только 14 видосов глянул, а их там 415 и лень начинает давать свою) Может дельный совет какой-то дашь, ибо хочется писать своё)))) (Буду конечно пытаться смотреть видео от первого и до последнего, времени много)
 
Последнее редактирование:
Ловец, часто тебя вижу. Как учил жабу? Долго и сложно ли давалась? Интересно очень, я более менее начал что-то понимать без единого видео, только декомпилятор и куча плагинов (не без практики в IDE конечно же), но все равно уровень слабый. Начал смотреть эти видосы которые ты и все остальные скидывают, но все равно, как-то не очень запоминается что-ли (пока только 14 видосов глянул, а их там 415 и лень начинает давать свою) Может дельный совет какой-то дашь, ибо хочется писать своё)))) (Буду конечно пытаться смотреть видео от первого и до последнего, времени много)
В начале видео смотрел по нужным мне темам и читал статьи на сайтах, а дальше само как-то пошло. В основном придумывал себе задачу и пытался ее реализовать.
 
В начале видео смотрел по нужным мне темам и читал статьи на сайтах, а дальше само как-то пошло. В основном придумывал себе задачу и пытался ее реализовать.
Понял, спасибки)
 
Как то так. У каждого будет свой int.
Код:
    public NamespacedKey key = NamespacedKey.minecraft("PlayerInteger");
    public PersistentDataType<Integer, Integer> tagInt = PersistentDataType.INTEGER;
 
    public void addInteger(PlayerJoinEvent e) {
        Player player = e.getPlayer();
        PersistentDataContainer tag = player.getPersistentDataContainer();
        if (tag.has(key, tagInt)) {
            tag.set(key, tagInt, тут чичло);
        }
    }
 
Вариант через мапу


Код:
Map<UUID, Integer> playerInteger = new HashMap<>();

    @EventHandler
    public void onJoin(PlayerJoinEvent e) {
        UUID uuid = e.getPlayer().getUniqueId();
        if (!playerInteger.containsKey(uuid)) {
            playerInteger.put(uuid, [моя цифра]);
        }
    }

Для получения цифры


Код:
int i = playerInteger.getOrDefault(uuid, -1);
if (i == -1) {
  throw new NullPointerException(); // Это будет значить, что такого игрока нету, можно заменить просто на return
}
 
воу, люто ты))

вариант @alexandrage подразумевает хранение после перезагрузки
Да, но так же для версий выше либо 1.13, либо начиная с неё, суть в том, зависит от версии на которую пишут

Так же хранение легко сделать и с мапой
 
Назад
Верх