diff --git a/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java b/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java index 44a208a..7ada361 100644 --- a/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java +++ b/src/main/java/de/fanta/challenges/gravestones/GravestoneListener.java @@ -32,18 +32,18 @@ return; } e.getDrops().clear(); - Player p = e.getPlayer(); + Player p = e.getEntity(); Block block = p.getLocation().subtract(0, 1, 0).getBlock(); String inventoryString = GravestoneUtils.createInventoryString(p); byte[] inventoryByte = GravestoneUtils.compressString(inventoryString); - GravestoneUtils.spawnAtBlock(block, e.getPlayer(), inventoryByte); + GravestoneUtils.spawnAtBlock(block, p, inventoryByte); } @EventHandler public void onEquip(PlayerArmorStandManipulateEvent e) { ArmorStand stand = e.getRightClicked(); PersistentDataContainer container = stand.getPersistentDataContainer(); - if (container.has(GravestoneUtils.getInventoryKey())) { + if (container.get(GravestoneUtils.getUUIDKey(), PersistentDataType.STRING) != null) { e.setCancelled(true); } @@ -53,7 +53,7 @@ public void onEntityDamage(EntityDamageEvent e) { if (e.getEntity() instanceof ArmorStand stand) { PersistentDataContainer container = stand.getPersistentDataContainer(); - if (container.has(GravestoneUtils.getInventoryKey())) { + if (container.get(GravestoneUtils.getUUIDKey(), PersistentDataType.STRING) != null) { e.setCancelled(true); } } @@ -71,7 +71,7 @@ PersistentDataContainer container = armorStand.getPersistentDataContainer(); NamespacedKey UUIDKey = GravestoneUtils.getUUIDKey(); - if (container.has(UUIDKey)) { + if (container.get(GravestoneUtils.getUUIDKey(), PersistentDataType.STRING) != null) { if (!plugin.getConfig().getBoolean("gravestone")) { ChatUtil.sendWarningMessage(player, "Grabschsteine können nur gegrabscht werden wenn sie Aktiv sind."); return; @@ -98,7 +98,7 @@ } Collection droplist = player.getInventory().addItem(fullinvstacklist.toArray(new ItemStack[fullinvstacklist.size()])).values(); for (ItemStack stack : droplist) { - armorStand.getLocation().getWorld().dropItem(armorStand.getLocation(), stack); + armorStand.getLocation().getWorld().dropItem(armorStand.getLocation().add(0, 1, 0), stack); } } catch (InvalidConfigurationException ex) { ex.printStackTrace();