diff --git a/src/main/java/de/epiceric/shopchest/listeners/ChestProtectListener.java b/src/main/java/de/epiceric/shopchest/listeners/ChestProtectListener.java index 072ed45..ea5d50a 100644 --- a/src/main/java/de/epiceric/shopchest/listeners/ChestProtectListener.java +++ b/src/main/java/de/epiceric/shopchest/listeners/ChestProtectListener.java @@ -73,7 +73,10 @@ public class ChestProtectListener implements Listener { } } - shop.getItem().resetForPlayer(p); + if (shop.getItem() != null) { + shop.getItem().resetForPlayer(p); + } + e.setCancelled(true); e.getPlayer().sendMessage(LanguageUtils.getMessage(LocalizedMessage.Message.CANNOT_BREAK_SHOP)); } diff --git a/src/main/java/de/epiceric/shopchest/listeners/ShopInteractListener.java b/src/main/java/de/epiceric/shopchest/listeners/ShopInteractListener.java index 434b62a..3b91b7e 100644 --- a/src/main/java/de/epiceric/shopchest/listeners/ShopInteractListener.java +++ b/src/main/java/de/epiceric/shopchest/listeners/ShopInteractListener.java @@ -297,10 +297,14 @@ public class ShopInteractListener implements Listener { for (Player p : location.getWorld().getPlayers()) { if (p.getLocation().distanceSquared(location) <= config.maximal_distance) { - shop.getHologram().showPlayer(p); + if (shop.getHologram() != null) { + shop.getHologram().showPlayer(p); + } } if (p.getLocation().distanceSquared(location) <= config.maximal_item_distance) { - shop.getItem().setVisible(p, true); + if (shop.getItem() != null) { + shop.getItem().setVisible(p, true); + } } } diff --git a/src/main/java/de/epiceric/shopchest/listeners/ShopItemListener.java b/src/main/java/de/epiceric/shopchest/listeners/ShopItemListener.java index 5e12bf9..a6a3b69 100644 --- a/src/main/java/de/epiceric/shopchest/listeners/ShopItemListener.java +++ b/src/main/java/de/epiceric/shopchest/listeners/ShopItemListener.java @@ -68,7 +68,9 @@ public class ShopItemListener implements Listener { @EventHandler public void onPlayerLeave(PlayerQuitEvent e) { for (Shop shop : plugin.getShopUtils().getShops()) { - shop.getItem().setVisible(e.getPlayer(), false); + if (shop.getItem() != null) { + shop.getItem().setVisible(e.getPlayer(), false); + } } } @@ -100,7 +102,10 @@ public class ShopItemListener implements Listener { Block below = b.getRelative(BlockFace.DOWN); if (shopUtils.isShop(below.getLocation())) { - shopUtils.getShop(below.getLocation()).getItem().resetForPlayer(e.getPlayer()); + Shop shop = shopUtils.getShop(below.getLocation()); + if (shop.getItem() != null) { + shop.getItem().resetForPlayer(e.getPlayer()); + } e.setCancelled(true); } } @@ -111,7 +116,10 @@ public class ShopItemListener implements Listener { Block below = blockState.getBlock().getRelative(BlockFace.DOWN); if (shopUtils.isShop(below.getLocation())) { - shopUtils.getShop(below.getLocation()).getItem().resetForPlayer(e.getPlayer()); + Shop shop = shopUtils.getShop(below.getLocation()); + if (shop.getItem() != null) { + shop.getItem().resetForPlayer(e.getPlayer()); + } e.setCancelled(true); } } @@ -142,7 +150,10 @@ public class ShopItemListener implements Listener { if (shopUtils.isShop(belowNewBlock.getLocation())) { e.setCancelled(true); for (Player p : Bukkit.getOnlinePlayers()) { - shopUtils.getShop(belowNewBlock.getLocation()).getItem().resetForPlayer(p); + Shop shop = shopUtils.getShop(belowNewBlock.getLocation()); + if (shop.getItem() != null) { + shop.getItem().resetForPlayer(p); + } } } } @@ -163,11 +174,17 @@ public class ShopItemListener implements Listener { if (shopUtils.isShop(clicked.getLocation())) { if (e.getBucket() == Material.LAVA_BUCKET) { - shopUtils.getShop(clicked.getLocation()).getItem().resetForPlayer(e.getPlayer()); + Shop shop = shopUtils.getShop(clicked.getLocation()); + if (shop.getItem() != null) { + shop.getItem().resetForPlayer(e.getPlayer()); + } } } else if (shopUtils.isShop(underWater.getLocation())) { if (e.getBucket() == Material.LAVA_BUCKET) { - shopUtils.getShop(underWater.getLocation()).getItem().resetForPlayer(e.getPlayer()); + Shop shop = shopUtils.getShop(underWater.getLocation()); + if (shop.getItem() != null) { + shop.getItem().resetForPlayer(e.getPlayer()); + } } } else { return;