, так что я пытался создать плагин для обнаружения альтов в Bukkit, я довольно плохо знаком с API и не написал ничего хорошего, но я не уверен, как заставить его работать, я Я пробовал хэш-карты, и я пробовал и другие вещи, но я до сих пор не совсем понимаю, как это сделать, в основном я пытаюсь получить IP-адрес любого присоединяющегося, которого еще нет в конфигурации, и поместить его IP там включая его IP, а затем просто проверьте, присоединяется ли его alt, увидев, имеет ли он тот же ip, что и сохраненный, и добавьте его в список имен пользователей, связанных с IP
, который я думал в начале я мог бы сделать что-то вроде этого:
String ip = event.getAddress().toString().replaceAll("/", "");
plugin.getConfig().set("IPs.", ip);
plugin.saveConfig();
if(plugin.getConfig().getString("IPs.") == s) {
if(plugin.getConfig().get("IPs." + ip) == player.getName()) {
plugin.getConfig().set("IPs." + s, player.getName());
plugin.saveConfig();
}
}
но я понял, что не могу, поэтому я подумал о попытке создать список строк и добавить список IP-адресов в конфигурации, а затем я понял, Мне нужно было бы сделать странный список списков, даже если я технически не могу сохранить ip кого-то и проверить список имен, которые у него есть, так как я не могу проверить, есть ли список в имени его IP
Я действительно запутался здесь, хотел бы помочь! Спасибо!
РЕДАКТИРОВАТЬ 1 Мой код HashMap, который я использовал:
// s is the ip string
HashMap<String,String[]> map = new HashMap<String,String[]>();
String[] names = new String[10];
names[0] = player.getName();
map.put(s, names);
saveHashMap(map);
saveHashMap:
public void saveHashMap(HashMap<String, String[]> hm) {
for (String key : hm.keySet()) {
plugin.getConfig().set("IPs."+key, hm.get(key));
}
plugin.saveConfig();
}
}
Чтобы проверить, я попробовал это:
HashMap<String,String[]> test = loadHashMap();
String[] a = test.get(s);
System.out.println(a[0]);
loadHashMap:
public HashMap<String, String[]> loadHashMap() {
HashMap<String, String[]> hm = new HashMap<String,String[]>();
for (String key : plugin.getConfig().getConfigurationSection("IPs").getKeys(false)) {
hm.put(key, (String[]) plugin.getConfig().get("IPs."+key));
}
return hm;
}