diff --git a/src/main/java/fr/openmc/core/features/city/CityManager.java b/src/main/java/fr/openmc/core/features/city/CityManager.java index b05618bc4..43c898660 100644 --- a/src/main/java/fr/openmc/core/features/city/CityManager.java +++ b/src/main/java/fr/openmc/core/features/city/CityManager.java @@ -314,6 +314,17 @@ public static List getAllCityUUIDs() { public static boolean isChunkClaimed(int x, int z) { return getCityFromChunk(x, z) != null; } + + + /** + * Check if a chunk is claimed + * + * @param chunk The chunk + * @return true if the chunk is claimed, false otherwise + */ + public static boolean isChunkClaimed(Chunk chunk) { + return getCityFromChunk(chunk) != null; + } /** * Check if a chunk is claimed in radius diff --git a/src/main/java/fr/openmc/core/features/city/sub/mayor/perks/basic/AyweniterPerk.java b/src/main/java/fr/openmc/core/features/city/sub/mayor/perks/basic/AyweniterPerk.java index 5b23f0e91..029b54e3d 100644 --- a/src/main/java/fr/openmc/core/features/city/sub/mayor/perks/basic/AyweniterPerk.java +++ b/src/main/java/fr/openmc/core/features/city/sub/mayor/perks/basic/AyweniterPerk.java @@ -29,25 +29,28 @@ public class AyweniterPerk implements Listener { @EventHandler(ignoreCancelled = true) public void onBlockBreak(BlockBreakEvent event) { + if (random.nextDouble() >= DROP_CHANCE) return; + Block block = event.getBlock(); if (DreamUtils.isDreamWorld(block.getWorld())) return; Player player = event.getPlayer(); City playerCity = CityManager.getPlayerCity(player.getUniqueId()); if (playerCity == null) return; + + City blockCity = CityManager.getCityFromChunk(block.getChunk()); + if (blockCity != null) + if (blockCity != playerCity) return; - if (MayorManager.phaseMayor==2) { + if (MayorManager.phaseMayor == 2) { if (!PerkManager.hasPerk(playerCity.getMayor(), Perks.AYWENITER.getId())) return; if (block.getType() == Material.STONE) { - - if (random.nextDouble() < DROP_CHANCE) { - ItemStack ayweniteItem = CustomItemRegistry.getByName("omc_items:aywenite").getBest(); - ayweniteItem.setAmount(2); - player.getInventory().addItem(ayweniteItem); - player.playSound(player.getEyeLocation(), Sound.BLOCK_AMETHYST_BLOCK_RESONATE, 10.0F, 0.6F); - MessagesManager.sendMessage(player, Component.text("§8§o*la bénédiction!*"), Prefix.MAYOR, MessageType.INFO, false); - } + ItemStack ayweniteItem = CustomItemRegistry.getByName("omc_items:aywenite").getBest(); + ayweniteItem.setAmount(2); + player.getInventory().addItem(ayweniteItem); + player.playSound(player.getEyeLocation(), Sound.BLOCK_AMETHYST_BLOCK_RESONATE, 10.0F, 0.6F); + MessagesManager.sendMessage(player, Component.text("§8§o*la bénédiction!*"), Prefix.MAYOR, MessageType.INFO, false); } } }