Możliwe że źle szukałem, ale pojawił się kolejny problem. Mianowicie. Jeśli gracz zginie z ekwipunkiem który jest większy niż pojemność skrzynki pojedyńczej, sypie mi kod mi się wywala, więc zrobiłem warunek który sprawdza czy gracz ma większy ekwipunek i wtedy stawia duble chesta, ale nadal mam jakiś błąd który nie do końca rozumiem ,
Mój kod
public class DeadChest implements Listener {
@EventHandler(priority = EventPriority.HIGH)
public void PlayerDeath(PlayerDeathEvent event) {
event.getEntity();
Player p = (Player) event.getEntity();
ItemStack[] drops = event.getDrops().toArray(new ItemStack[0]);
int x = p.getLocation().getBlockX();
int y = p.getLocation().getBlockY();
int z = p.getLocation().getBlockZ();
World w = p.getLocation().getWorld();
Location loc = new Location(w, x, y, z);
loc.getBlock().setType(Material.CHEST);
if (p.getInventory().getSize() >= 27){
p.sendMessage("TEST WORK");
Location loc2 = new Location(w, x+1, y, z);
DoubleChest c = (DoubleChest) loc.getBlock().getState();
c.getInventory().setContents(drops);
event.getDrops().clear();
p.sendMessage(ChatColor.RED+"Twoja Skrzynka posmiertna znajduje sie na współrzędnych:");
p.sendMessage(ChatColor.RED+"X: "+x+", Y: "+y+", Z: "+z);
}else {
Chest c = (Chest) loc.getBlock().getState();
c.getInventory().setContents(drops);
event.getDrops().clear();
p.sendMessage(ChatColor.RED+"Twoja Skrzynka posmiertna znajduje sie na współrzędnych:");
p.sendMessage(ChatColor.RED+"X: "+x+", Y: "+y+", Z: "+z);
}
}
}