public void addKillWeapon(Player killer, boolean isPlayerKill) {
int slot = killer.getInventory().getHeldItemSlot();
ItemStack weapon = killer.getItemInHand();
if (weapon.getType() != AIR) {
net.minecraft.server.v1_6_R3.ItemStack stack = (((CraftPlayer) killer).getHandle()).inventory.getItem(slot);
if (stack != null) {
if (stack.hasTag()) {
Bukkit.broadcastMessage("Таг уже был!");
tag = stack.getTag();
if (tag.hasKey("display")) {
display = (NBTTagCompound) tag.get("display");
int playerkill = tag.getInt("PlayersKilled");
int npckill = tag.getInt("NpcKilled");
Bukkit.broadcastMessage("playerkill: " + playerkill);
Bukkit.broadcastMessage("npckill: " + npckill);
lore = new NBTTagList();
if (isPlayerKill) {
playerkill++;
lore.add(new NBTTagString("", LORE_KILL_PLAYER + playerkill));
lore.add(new NBTTagString("", LORE_KILL_NPC + npckill));
tag.setInt("PlayersKilled", playerkill);
} else {
npckill++;
lore.add(new NBTTagString("", LORE_KILL_PLAYER + playerkill));
lore.add(new NBTTagString("", LORE_KILL_NPC + npckill));
tag.setInt("NpcKilled", npckill);
}
display.set("Lore", lore);
stack.setTag(tag);
} else {
Bukkit.broadcastMessage("Таг был, но не полный!");
setFirstLore(false, isPlayerKill);
stack.setTag(tag);
}
} else {
Bukkit.broadcastMessage("Таг не было!");
setFirstLore(true, isPlayerKill);
stack.setTag(tag);
}
}
}
}
private void setFirstLore(boolean isNewTag, boolean isPlayerKill) {
Bukkit.broadcastMessage("Ставлю первый ЛОРЕ");
if (isNewTag) {
tag = new NBTTagCompound();
}
if (!tag.hasKey("display")) {
display = new NBTTagCompound();
tag.set("display", display);
}
display = (NBTTagCompound) tag.get("display");
if (!display.hasKey("Lore")) {
lore = new NBTTagList();
if (isPlayerKill) {
lore.add(new NBTTagString("", LORE_KILL_PLAYER + 1));
lore.add(new NBTTagString("", LORE_KILL_NPC + 0));
tag.setInt("PlayersKilled", 1);
tag.setInt("NpcKilled", 0);
} else {
lore.add(new NBTTagString("", LORE_KILL_PLAYER + 0));
lore.add(new NBTTagString("", LORE_KILL_NPC + 1));
tag.setInt("PlayersKilled", 0);
tag.setInt("NpcKilled", 1);
}
display.set("Lore", lore);
}
}