Помогите Как временно запомнить данные в памяти?

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

Sitmobedaf

Старожил
Пользователь
Баллы
103
Имя в Minecraft
SiT
Мне нужно, чтобы после каждого убийства игрока, плагин заносил в виртуальную базу время, когда игрок это сделал.
Как вообще можно запомнить какое-либо значение в памяти, например - "Player = true"
 
Если для булеанов, то сет сойдет, ибо мапа будет лишней
 
Если для булеанов, то сет сойдет, ибо мапа будет лишней

Ну, надо сохранять булеву переменную и еще ник или объект игрока
Так что мап как раз таки подойтет
 
Вот:
Код:
    static HashMap<String, HashMap<String, Long>> killsMap = new HashMap<String, HashMap<String, Long>>();
    String file;

    @SuppressWarnings("unchecked")
    public void PlayerKillsDB(String filePath) {
        file = filePath;

        try {
            FileInputStream inStream = new FileInputStream(file);
            ObjectInputStream objStream = new ObjectInputStream(inStream);
            killsMap = (HashMap<String, HashMap<String, Long>>) objStream.readObject();
            objStream.close();
            inStream.close();
        } catch (IOException | ClassNotFoundException e) {
            Bukkit.getLogger().info("Error occurred when creating a file.");
        }
    }

    public static long getKillTime(String killer, String died) {
        if (killsMap.containsKey(killer)) {
            Long killTime = killsMap.get(killer).get(died);
            if (killTime == null) {
                return 0;
            }
            return killTime;
        }
        return 0;
    }

    public static void setKillTime(String killer, String died, long time) {
        HashMap<String, Long> killInfo = new HashMap<String, Long>();
        if (killsMap.containsKey(killer)) {
            killInfo = killsMap.get(killer);
        }
        killInfo.put(died, time);
        killsMap.put(killer, killInfo);
    }
Взял из одного плагина. Кому-то пригодится.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх