- Баллы
- 31
- Имя в Minecraft
- Krongss_FUR
Добрый день/вечер/Доброе утро, суть такова... Почему-то выдаёт false у метода isBan, хотел написать код на варны, но что-то пошло не так, вот код:
Код:
public long timesToUnban(Player bannedplr) {
long times = 10;
HashSet banplrs = plugin.banlist;
HashMap data1 = plugin.dataToBan;
HashMap data2 = plugin.dataToTimeInBan;
if(banplrs.contains(bannedplr) == false || data1.containsKey(bannedplr) == false || data2.containsKey(bannedplr) == false) {
System.out.println("!");
return 100;
}
else if(banplrs.contains(bannedplr) == true && data1.containsKey(bannedplr) == true && data2.containsKey(bannedplr) == true) {
long datatounban = (long) data1.get(bannedplr);
datatounban = datatounban + (long) data2.get(bannedplr);
long timestoUnBan = 0;
long datatoban = (long) data1.get(bannedplr);
if(datatoban >= datatounban && isBan(bannedplr) == false) {
return 0;
} else if(datatoban < datatounban && isBan(bannedplr) == true) {
timestoUnBan = datatounban - (long) data1.get(bannedplr);
timestoUnBan = TimeUnit.MILLISECONDS.toSeconds(timestoUnBan);
return timestoUnBan;
}
}
return 1003244;
}
public long TimesToBAN(Player banned, int number) {
long seconds = 500;
if(number == 1) {
long toban = Long.valueOf(30).longValue();
seconds = TimeUnit.SECONDS.toMillis(toban);
System.out.println("TimesToBan" + seconds);
return seconds;
} else if(number == 2) {
long toban = Long.valueOf(60).longValue();
seconds = TimeUnit.SECONDS.toMillis(toban);
System.out.println("TimesToBan" + seconds);
return seconds;
} else if(number == 3) {
long toban = Long.valueOf(90).longValue();
seconds = TimeUnit.SECONDS.toMillis(toban);
System.out.println("TimesToBan" + seconds);
return seconds;
} else if(number == 4) {
long toban = Long.valueOf(130).longValue();
seconds = TimeUnit.SECONDS.toMillis(toban);
System.out.println("TimesToBan" + seconds);
return seconds;
}
System.out.println("TimesToBan" + seconds);
return seconds;
}
public int NumbersToBanPlr(Player plr) {
int number = 1;
HashMap numberlist = plugin.NumbersToBANNED;
if(numberlist.containsKey(plr) == true) {
number = (int) numberlist.get(plr);
return number;
} else if(numberlist.containsKey(plr) == false) {
return number;
}
return number;
}
public boolean isBan(Player bannedplr) {
HashSet banplrs = plugin.banlist;
HashMap data1 = plugin.dataToBan;
HashMap data2 = plugin.dataToTimeInBan;
long timestoUnBan = 0;
if(banplrs.contains(bannedplr) == true && data1.containsKey(bannedplr) == true && data2.containsKey(bannedplr) == true) {
long datatounban = (long) data2.get(bannedplr);
long datatoban = (long) data1.get(bannedplr);
if(datatoban >= datatounban) {
banplrs.remove(bannedplr);
data1.remove(bannedplr);
data2.remove(bannedplr);
return false;
} else if(datatoban < datatounban) {
return true;
}
} else if(banplrs.contains(bannedplr) == false && data2.containsKey(bannedplr) == false && data1.containsKey(bannedplr) == false) {
System.out.println("pochemy?!?!");
return false;
}
return false;
}
public void giveWarn(CommandSender staff, Player plr) {
HashSet banplrs = plugin.banlist;
HashMap data1 = plugin.dataToBan;
HashMap data2 = plugin.dataToTimeInBan;
HashMap numberstoban = plugin.NumbersToBANNED;
if(isBan(plr) == true) {
staff.sendMessage("Этот игрок уже имеет наказание за читы!");
} else if(isBan(plr) == false) {
banplrs.add(plr);
long currenttime = System.currentTimeMillis();
System.out.println("CurrentTimeMillis = " + currenttime);
data1.put(plr, currenttime);
int numbertoban = NumbersToBanPlr(plr);
long millistoban = TimesToBAN(plr, numbertoban);
System.out.println("TimesMILLIS TO BAN = " + millistoban);
millistoban = currenttime + millistoban;
System.out.println("BIG TO UNBAN TIME: " + millistoban);
data2.put(plr, millistoban);
long time = timesToUnban(plr);
System.out.println(time);
if(numberstoban.containsKey(plr) == true) {
numberstoban.replace(plr, (int) numberstoban.get(plr) + 1);
} else if(numberstoban.containsKey(plr) == false) {
numberstoban.put(plr, 1);
}
System.out.println(banplrs.toString());
System.out.println(data1.toString());
System.out.println(data2.toString());
plr.kickPlayer("Вы забанены за читы на " + time + " Секунд");
staff.sendMessage("Вы выдали наказание игроку " + ChatColor.RED + plr.getName().toString() + ChatColor.WHITE + " За читы.");
}
}