Need help to understand this AntiCheat java code
public void getDropItem(BasicAmpedEvent e)
{
if (getClass() != GuardianRule.class) {
return;
}
ServerSetting ss = ServerSetting.getSetting();
if (ss == null) {
return;
}
if (e.args == null) {
return;
}
boolean cheat = false;
if (e.args.length == 4)
{
if ((ss.checknum != -1) && (ss.checknum != KotoriUtil.argi(e.args, 3))) {
cheat = true;
}
}
else if (e.args.length == 3)
{
if (ss.checknum != -1) {
cheat = true;
}
}
else {
cheat = true;
}
if (cheat)
{
String log = "GuardianRule getDropItem cheat!!" + e.args.length;
if ((e.entry != null) && (e.entry.userinfo != null)) {
log = log + " uidh:" + e.entry.userinfo.useridhash;
}
System.out.println(log);
return;
}
if (ss.checknum != -1) {
e.args = new Object[] { e.args[0], e.args[1], e.args[2] };
}
ItemInfo itinfo = (ItemInfo)KotoriUtil.argv(e.args, 1);
if (itinfo != null)
{
if (itinfo.typeid == 15)
{
if (itinfo.subid == 44) {
pickedKey(1);
}
return;
}
int attacker = KotoriUtil.argi(e.args, 2);
int pnum = this.server.getPlayerEntryNum();
for (int l = 0; l < pnum; l++)
{
StageServerPlayerEntry pe = this.server.playerEntryAt(l);
if ((pe.player != null) && (pe.player.getID() == attacker)) {
pe.player.addGetItem(itinfo);
}
}
}
}