diff --git a/src/main/java/com/songoda/skyblock/SkyBlock.java b/src/main/java/com/songoda/skyblock/SkyBlock.java index 9eba11eb..90cccd9c 100644 --- a/src/main/java/com/songoda/skyblock/SkyBlock.java +++ b/src/main/java/com/songoda/skyblock/SkyBlock.java @@ -7,6 +7,7 @@ import com.songoda.core.compatibility.ServerProject; import com.songoda.core.compatibility.ServerVersion; import com.songoda.core.configuration.Config; import com.songoda.core.gui.GuiManager; +import com.songoda.core.hooks.LogManager; import com.songoda.skyblock.api.SkyBlockAPI; import com.songoda.skyblock.ban.BanManager; import com.songoda.skyblock.bank.BankManager; @@ -48,19 +49,12 @@ import com.songoda.skyblock.usercache.UserCacheManager; import com.songoda.skyblock.visit.VisitManager; import com.songoda.skyblock.visit.VisitTask; import com.songoda.skyblock.world.WorldManager; -import com.songoda.skyblock.world.generator.VoidGenerator; -import net.coreprotect.CoreProtect; -import net.coreprotect.CoreProtectAPI; import net.milkbowl.vault.permission.Permission; import org.bukkit.Bukkit; import org.bukkit.ChatColor; -import org.bukkit.WorldCreator; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.event.HandlerList; import org.bukkit.generator.ChunkGenerator; -import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginManager; import java.io.File; @@ -101,9 +95,8 @@ public class SkyBlock extends SongodaPlugin { private BankManager bankManager; private PermissionManager permissionManager; - private CoreProtectAPI coreProtectAPI; private Permission vaultPermission; - + private boolean paper; private boolean paperAsync; @@ -136,11 +129,11 @@ public class SkyBlock extends SongodaPlugin { @Override public void onPluginEnable() { - if(ServerVersion.isServerVersionAbove(ServerVersion.V1_16) || ServerVersion.isServerVersionBelow(ServerVersion.V1_8)) { + if (ServerVersion.isServerVersionAbove(ServerVersion.V1_16) || ServerVersion.isServerVersionBelow(ServerVersion.V1_8)) { this.getLogger().warning("This Minecraft version is not officially supported."); } - - if(paper = ServerProject.isServer(ServerProject.PAPER)){ + + if (paper = ServerProject.isServer(ServerProject.PAPER)) { try { Bukkit.spigot().getClass().getMethod("getPaperConfig"); if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_16)) { @@ -250,8 +243,8 @@ public class SkyBlock extends SongodaPlugin { pluginManager.registerEvents(new PistonListeners(this), this); pluginManager.registerEvents(new FallBreakListeners(this), this); pluginManager.registerEvents(new WorldListeners(this), this); - - if(ServerVersion.isServerVersionAtLeast(ServerVersion.V1_13)) { + + if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_13)) { pluginManager.registerEvents(new SpongeListeners(this), this); } @@ -259,17 +252,17 @@ public class SkyBlock extends SongodaPlugin { pluginManager.registerEvents(new EpicSpawners(this), this); if (pluginManager.isPluginEnabled("UltimateStacker")) pluginManager.registerEvents(new UltimateStacker(this), this); - + pluginManager.registerEvents(new Levelling(), this); pluginManager.registerEvents(new Generator(), this); pluginManager.registerEvents(new Creator(), this); this.getCommand("skyblock").setExecutor(new SkyBlockCommand()); - + if (pluginManager.isPluginEnabled("Vault")) { this.vaultPermission = getServer().getServicesManager().getRegistration(Permission.class).getProvider(); } - + switch (this.config.getString("Economy.Manager", "Default")) { case "Vault": getEconomyManager().setEconomy("Vault"); @@ -283,8 +276,8 @@ public class SkyBlock extends SongodaPlugin { default: this.getLogger().warning("EconomyManager is default"); } - - this.coreProtectAPI = loadCoreProtect(); + + LogManager.load(); SkyBlockAPI.setImplementation(INSTANCE); } @@ -319,21 +312,6 @@ public class SkyBlock extends SongodaPlugin { public void onDataLoad() { } - private CoreProtectAPI loadCoreProtect() { - Plugin plugin = getServer().getPluginManager().getPlugin("CoreProtect"); - - if (plugin != null) { // Check before loading classes - if (plugin instanceof CoreProtect) { // Check that CoreProtect is loaded - CoreProtectAPI CoreProtect = ((CoreProtect) plugin).getAPI(); - // Check that the API is enabled and Check that a compatible version of the API is loaded - if (CoreProtect.isEnabled() && CoreProtect.APIVersion() >= 6) { - return CoreProtect; - } - } - } - return null; - } - @Override public void onConfigReload() { if (!loadConfigs()) this.getLogger().warning("Config are not reload !"); @@ -348,23 +326,22 @@ public class SkyBlock extends SongodaPlugin { private boolean loadConfigs() { try { - biomes = this.getFileManager().getConfig(new File(this.getDataFolder(),"biomes.yml")).getFileConfiguration(); - challenges = this.getFileManager().getConfig(new File(this.getDataFolder(),"challenges.yml")).getFileConfiguration(); - config = this.getFileManager().getConfig(new File(this.getDataFolder(),"config.yml")).getFileConfiguration(); - generators = this.getFileManager().getConfig(new File(this.getDataFolder(),"generators.yml")).getFileConfiguration(); - language = this.getFileManager().getConfig(new File(this.getDataFolder(),"language.yml")).getFileConfiguration(); - levelling = this.getFileManager().getConfig(new File(this.getDataFolder(),"levelling.yml")).getFileConfiguration(); - limits = this.getFileManager().getConfig(new File(this.getDataFolder(),"limits.yml")).getFileConfiguration(); - menus = this.getFileManager().getConfig(new File(this.getDataFolder(),"menus.yml")).getFileConfiguration(); - placeholders = this.getFileManager().getConfig(new File(this.getDataFolder(),"placeholders.yml")).getFileConfiguration(); - rewards = this.getFileManager().getConfig(new File(this.getDataFolder(),"rewards.yml")).getFileConfiguration(); - scoreboard = this.getFileManager().getConfig(new File(this.getDataFolder(),"scoreboard.yml")).getFileConfiguration(); - settings = this.getFileManager().getConfig(new File(this.getDataFolder(),"settings.yml")).getFileConfiguration(); - stackables = this.getFileManager().getConfig(new File(this.getDataFolder(),"stackables.yml")).getFileConfiguration(); - upgrades = this.getFileManager().getConfig(new File(this.getDataFolder(),"upgrades.yml")).getFileConfiguration(); + biomes = this.getFileManager().getConfig(new File(this.getDataFolder(), "biomes.yml")).getFileConfiguration(); + challenges = this.getFileManager().getConfig(new File(this.getDataFolder(), "challenges.yml")).getFileConfiguration(); + config = this.getFileManager().getConfig(new File(this.getDataFolder(), "config.yml")).getFileConfiguration(); + generators = this.getFileManager().getConfig(new File(this.getDataFolder(), "generators.yml")).getFileConfiguration(); + language = this.getFileManager().getConfig(new File(this.getDataFolder(), "language.yml")).getFileConfiguration(); + levelling = this.getFileManager().getConfig(new File(this.getDataFolder(), "levelling.yml")).getFileConfiguration(); + limits = this.getFileManager().getConfig(new File(this.getDataFolder(), "limits.yml")).getFileConfiguration(); + menus = this.getFileManager().getConfig(new File(this.getDataFolder(), "menus.yml")).getFileConfiguration(); + placeholders = this.getFileManager().getConfig(new File(this.getDataFolder(), "placeholders.yml")).getFileConfiguration(); + rewards = this.getFileManager().getConfig(new File(this.getDataFolder(), "rewards.yml")).getFileConfiguration(); + scoreboard = this.getFileManager().getConfig(new File(this.getDataFolder(), "scoreboard.yml")).getFileConfiguration(); + settings = this.getFileManager().getConfig(new File(this.getDataFolder(), "settings.yml")).getFileConfiguration(); + stackables = this.getFileManager().getConfig(new File(this.getDataFolder(), "stackables.yml")).getFileConfiguration(); + upgrades = this.getFileManager().getConfig(new File(this.getDataFolder(), "upgrades.yml")).getFileConfiguration(); return true; - } - catch (Exception exception) { + } catch (Exception exception) { exception.printStackTrace(); return false; } @@ -507,10 +484,6 @@ public class SkyBlock extends SongodaPlugin { return guiManager; } - public CoreProtectAPI getCoreProtectAPI() { - return coreProtectAPI; - } - public boolean isPaper() { return paper; } @@ -518,42 +491,70 @@ public class SkyBlock extends SongodaPlugin { public boolean isPaperAsync() { return paperAsync; } - + public Permission getVaultPermission() { return vaultPermission; } - + public EconomyManager getEconomyManager() { return economyManager; } - public FileConfiguration getBiomes() { return biomes; } + public FileConfiguration getBiomes() { + return biomes; + } - public FileConfiguration getChallenges() { return challenges; } + public FileConfiguration getChallenges() { + return challenges; + } - public FileConfiguration getConfiguration() { return config; } + public FileConfiguration getConfiguration() { + return config; + } - public FileConfiguration getGenerators() { return generators; } + public FileConfiguration getGenerators() { + return generators; + } - public FileConfiguration getLanguage() { return language; } + public FileConfiguration getLanguage() { + return language; + } - public FileConfiguration getLevelling() { return levelling; } + public FileConfiguration getLevelling() { + return levelling; + } - public FileConfiguration getLimits() { return limits; } + public FileConfiguration getLimits() { + return limits; + } - public FileConfiguration getMenus() { return menus; } + public FileConfiguration getMenus() { + return menus; + } - public FileConfiguration getPlaceholders() { return placeholders; } + public FileConfiguration getPlaceholders() { + return placeholders; + } - public FileConfiguration getRewards() { return rewards; } + public FileConfiguration getRewards() { + return rewards; + } - public FileConfiguration getSettings() { return settings; } + public FileConfiguration getSettings() { + return settings; + } - public FileConfiguration getStackables() { return stackables; } + public FileConfiguration getStackables() { + return stackables; + } - public FileConfiguration getUpgrades() { return upgrades; } + public FileConfiguration getUpgrades() { + return upgrades; + } - public FileConfiguration getScoreboard() { return scoreboard; } + public FileConfiguration getScoreboard() { + return scoreboard; + } } diff --git a/src/main/java/com/songoda/skyblock/listeners/BlockListeners.java b/src/main/java/com/songoda/skyblock/listeners/BlockListeners.java index 4321d24b..60e098b9 100644 --- a/src/main/java/com/songoda/skyblock/listeners/BlockListeners.java +++ b/src/main/java/com/songoda/skyblock/listeners/BlockListeners.java @@ -4,6 +4,7 @@ import com.google.common.collect.Lists; import com.songoda.core.compatibility.CompatibleMaterial; import com.songoda.core.compatibility.CompatibleSound; import com.songoda.core.compatibility.ServerVersion; +import com.songoda.core.hooks.LogManager; import com.songoda.skyblock.SkyBlock; import com.songoda.skyblock.generator.Generator; import com.songoda.skyblock.generator.GeneratorManager; @@ -122,9 +123,8 @@ public class BlockListeners implements Listener { droppedAmount = 1; } - if (plugin.getCoreProtectAPI() != null) { - plugin.getCoreProtectAPI().logRemoval(player.getName(), block.getLocation(), material.getMaterial(), null); - } + if (LogManager.isEnabled()) + LogManager.logRemoval(player, block); if (stackable.getSize() <= 1) { stackableManager.removeStack(stackable); diff --git a/src/main/java/com/songoda/skyblock/listeners/EntityListeners.java b/src/main/java/com/songoda/skyblock/listeners/EntityListeners.java index f3739081..a7724764 100644 --- a/src/main/java/com/songoda/skyblock/listeners/EntityListeners.java +++ b/src/main/java/com/songoda/skyblock/listeners/EntityListeners.java @@ -3,9 +3,11 @@ package com.songoda.skyblock.listeners; import com.songoda.core.compatibility.CompatibleMaterial; import com.songoda.core.compatibility.ServerVersion; import com.songoda.skyblock.SkyBlock; -import com.songoda.skyblock.config.FileManager; -import com.songoda.skyblock.config.FileManager.Config; -import com.songoda.skyblock.island.*; +import com.songoda.skyblock.island.Island; +import com.songoda.skyblock.island.IslandEnvironment; +import com.songoda.skyblock.island.IslandLevel; +import com.songoda.skyblock.island.IslandManager; +import com.songoda.skyblock.island.IslandWorld; import com.songoda.skyblock.limit.impl.EntityLimitation; import com.songoda.skyblock.stackable.Stackable; import com.songoda.skyblock.stackable.StackableManager; @@ -18,7 +20,6 @@ import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.configuration.file.FileConfiguration; -import org.bukkit.entity.Projectile; import org.bukkit.entity.*; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -36,10 +37,14 @@ import org.bukkit.event.vehicle.VehicleDestroyEvent; import org.bukkit.inventory.EntityEquipment; import org.bukkit.inventory.ItemStack; -import java.io.File; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.*; +import java.util.EnumSet; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.UUID; public class EntityListeners implements Listener { @@ -61,11 +66,11 @@ public class EntityListeners implements Listener { @EventHandler(ignoreCancelled = true) public void onEntityDamage(EntityDamageEvent event) { IslandManager islandManager = plugin.getIslandManager(); - if(event.getEntity() instanceof Blaze){ + if (event.getEntity() instanceof Blaze) { WorldManager worldManager = plugin.getWorldManager(); FileConfiguration configLoad = plugin.getConfiguration(); - + if (configLoad.getBoolean("Island.Nether.BlazeImmuneToWaterInNether", false) && worldManager.getIslandWorld(event.getEntity().getWorld()).equals(IslandWorld.Nether) && event.getCause().equals(DamageCause.DROWNING)) { @@ -87,25 +92,25 @@ public class EntityListeners implements Listener { } } } - + @EventHandler(ignoreCancelled = true) public void onEntityDamageByEntity(EntityDamageByEntityEvent event) { IslandManager islandManager = plugin.getIslandManager(); FileConfiguration configLoad = plugin.getConfiguration(); - + org.bukkit.entity.Entity victim = event.getEntity(); Island island = islandManager.getIslandAtLocation(victim.getLocation()); - - if(island != null) { + + if (island != null) { org.bukkit.entity.Entity attacker = event.getDamager(); - if(attacker instanceof Projectile && ((Projectile) attacker).getShooter() instanceof org.bukkit.entity.Entity) { + if (attacker instanceof Projectile && ((Projectile) attacker).getShooter() instanceof org.bukkit.entity.Entity) { attacker = (org.bukkit.entity.Entity) ((Projectile) attacker).getShooter(); } // Rework with better config - if(victim instanceof Player && attacker instanceof Player) { // PVP + if (victim instanceof Player && attacker instanceof Player) { // PVP if (configLoad.getBoolean("Island.Entity_Damage.PVP")) { - if(plugin.getPermissionManager() + if (plugin.getPermissionManager() .processPermission(event, (Player) attacker, island)) { plugin.getPermissionManager() .processPermission(event, (Player) victim, island); @@ -113,28 +118,25 @@ public class EntityListeners implements Listener { } else { event.setCancelled(true); } - } - else if(victim instanceof Player) { // EVP + } else if (victim instanceof Player) { // EVP if (configLoad.getBoolean("Island.Entity_Damage.EVP")) { plugin.getPermissionManager() .processPermission(event, (Player) victim, island, true); } - } - else if(attacker instanceof Player) { // PVE + } else if (attacker instanceof Player) { // PVE if (configLoad.getBoolean("Island.Entity_Damage.PVE")) { plugin.getPermissionManager() .processPermission(event, (Player) attacker, island); } - } - else { // EVE + } else { // EVE if (configLoad.getBoolean("Island.Entity_Damage.PVE")) { plugin.getPermissionManager() .processPermission(event, island); } } - + // Fix a bug in minecraft where arrows with flame still apply fire ticks even if // the shot entity isn't damaged if (event.isCancelled() && event.getDamager() instanceof Arrow && event.getDamager().getFireTicks() != 0) { @@ -221,7 +223,7 @@ public class EntityListeners implements Listener { if (player != null) { if (!plugin.getWorldManager().isIslandWorld(player.getWorld())) return; IslandManager islandManager = plugin.getIslandManager(); - + // Check permissions. plugin.getPermissionManager().processPermission(event, player, islandManager.getIslandAtLocation(event.getEntity().getLocation())); @@ -248,7 +250,7 @@ public class EntityListeners implements Listener { IslandManager islandManager = plugin.getIslandManager(); Player p = null; - if(event.getRemover() instanceof Player){ + if (event.getRemover() instanceof Player) { p = (Player) event.getRemover(); } // Check permissions. @@ -321,7 +323,7 @@ public class EntityListeners implements Listener { data = (byte) Math.ceil(data / 4.0); } fallingBlock.getWorld().dropItemNaturally(fallingBlock.getLocation(), new ItemStack(fallingBlock.getMaterial(), 1, data)); - } catch(NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { + } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) { e.printStackTrace(); } } @@ -347,7 +349,7 @@ public class EntityListeners implements Listener { removeBlockFromLevel(island, block); CompatibleMaterial materials; - + if (event.getTo() != Material.AIR) { materials = CompatibleMaterial.getBlockMaterial(event.getTo()); @@ -383,7 +385,7 @@ public class EntityListeners implements Listener { boolean removed; Iterator it = event.blockList().iterator(); - while (it.hasNext()){ + while (it.hasNext()) { removed = false; org.bukkit.block.Block block = it.next(); if (SkyBlock.getInstance().getConfiguration().getBoolean("Island.Spawn.Protection")) { @@ -403,7 +405,7 @@ public class EntityListeners implements Listener { CompatibleMaterial material = CompatibleMaterial.getMaterial(block); byte data = block.getData(); - int removedAmount = (int) (Math.random() * Math.min(64, stackable.getSize()-1)); + int removedAmount = (int) (Math.random() * Math.min(64, stackable.getSize() - 1)); stackable.take(removedAmount); Bukkit.getScheduler().runTask(plugin, () -> { block.getWorld().dropItemNaturally(blockLocation.clone().add(.5, 1, .5), @@ -420,19 +422,15 @@ public class EntityListeners implements Listener { removeBlockFromLevel(island, block); } - if(plugin.getCoreProtectAPI() != null) { - plugin.getCoreProtectAPI().logRemoval("#" + entity.getType().toString().toLowerCase(), block.getLocation(), material.getMaterial(), null); - } - it.remove(); - if(!removed){ + if (!removed) { removed = true; } } } if (this.plugin.getConfiguration() .getBoolean("Island.Block.Level.Enable")) { - if(!removed){ + if (!removed) { removeBlockFromLevel(island, block); } @@ -442,7 +440,7 @@ public class EntityListeners implements Listener { } } - private void removeBlockFromLevel(Island island, CompatibleMaterial material){ + private void removeBlockFromLevel(Island island, CompatibleMaterial material) { if (material != null) { IslandLevel level = island.getLevel(); @@ -513,15 +511,17 @@ public class EntityListeners implements Listener { } } - if(ServerVersion.isServerVersionAtLeast(ServerVersion.V1_16)) { + if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_16)) { if (livingEntity instanceof Steerable) { Steerable steerable = (Steerable) livingEntity; - if (steerable.hasSaddle()) dontMultiply.add(new ItemStack(CompatibleMaterial.SADDLE.getMaterial(), 1)); + if (steerable.hasSaddle()) + dontMultiply.add(new ItemStack(CompatibleMaterial.SADDLE.getMaterial(), 1)); } } else { if (livingEntity instanceof Pig) { Pig pig = (Pig) livingEntity; - if (pig.hasSaddle()) dontMultiply.add(new ItemStack(CompatibleMaterial.SADDLE.getMaterial(), 1)); + if (pig.hasSaddle()) + dontMultiply.add(new ItemStack(CompatibleMaterial.SADDLE.getMaterial(), 1)); } } } @@ -560,7 +560,7 @@ public class EntityListeners implements Listener { if (raid != null) CHECKED_REASONS.add(raid); } - + @EventHandler(ignoreCancelled = true) public void onCreatureSpawn(CreatureSpawnEvent event) { LivingEntity entity = event.getEntity(); @@ -583,7 +583,7 @@ public class EntityListeners implements Listener { boolean isSplit = event.getSpawnReason().equals(SpawnReason.SLIME_SPLIT); boolean splitBypass = configLoad.getBoolean("Island.Challenge.PerIsland", true); - if(!isSplit || !splitBypass){ + if (!isSplit || !splitBypass) { long count = limits.getEntityCount(island, plugin.getWorldManager().getIslandWorld(entityLocation.getWorld()), type); if (limits.hasTooMuch(count + 1, type)) { entity.remove(); @@ -614,14 +614,14 @@ public class EntityListeners implements Listener { }); event.setCancelled(true); // For other plugin API reasons. } - + @EventHandler(ignoreCancelled = true) public void onEntitySpawn(EntitySpawnEvent event) { WorldManager worldManager = plugin.getWorldManager(); - if(worldManager.isIslandWorld(event.getLocation().getWorld())) { + if (worldManager.isIslandWorld(event.getLocation().getWorld())) { org.bukkit.entity.Entity entity = event.getEntity(); - - if(event.getEntity() instanceof EnderSignal) { + + if (event.getEntity() instanceof EnderSignal) { ((EnderSignal) entity).setTargetLocation(entity.getLocation().add(0d, 50d, 0d)); } } diff --git a/src/main/java/com/songoda/skyblock/listeners/InteractListeners.java b/src/main/java/com/songoda/skyblock/listeners/InteractListeners.java index bbe380dd..d81109ac 100644 --- a/src/main/java/com/songoda/skyblock/listeners/InteractListeners.java +++ b/src/main/java/com/songoda/skyblock/listeners/InteractListeners.java @@ -3,7 +3,9 @@ package com.songoda.skyblock.listeners; import com.songoda.core.compatibility.CompatibleHand; import com.songoda.core.compatibility.CompatibleMaterial; import com.songoda.core.compatibility.CompatibleSound; +import com.songoda.core.hooks.LogManager; import com.songoda.core.utils.ItemUtils; +import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.SkyBlock; import com.songoda.skyblock.config.FileManager; import com.songoda.skyblock.island.Island; @@ -16,7 +18,6 @@ import com.songoda.skyblock.message.MessageManager; import com.songoda.skyblock.sound.SoundManager; import com.songoda.skyblock.stackable.Stackable; import com.songoda.skyblock.stackable.StackableManager; -import com.songoda.core.utils.NumberUtils; import com.songoda.skyblock.utils.structure.StructureUtil; import com.songoda.skyblock.utils.world.LocationUtil; import com.songoda.skyblock.world.WorldManager; @@ -51,8 +52,8 @@ public class InteractListeners implements Listener { } @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) - public void onWaterPlace(PlayerInteractEvent event){ - if(event.getItem() == null) return; + public void onWaterPlace(PlayerInteractEvent event) { + if (event.getItem() == null) return; Player player = event.getPlayer(); org.bukkit.block.Block block = event.getClickedBlock().getRelative(event.getBlockFace()); @@ -63,7 +64,7 @@ public class InteractListeners implements Listener { if (event.getAction() == Action.RIGHT_CLICK_BLOCK && worldManager.getIslandWorld(block.getWorld()).equals(IslandWorld.Nether) && - event.getItem().getType().equals(Material.WATER_BUCKET)){ + event.getItem().getType().equals(Material.WATER_BUCKET)) { Location blockLoc = block.getLocation(); Island island = islandManager.getIslandAtLocation(blockLoc); @@ -120,11 +121,11 @@ public class InteractListeners implements Listener { return; } - if(configLoad.getBoolean("Island.Nether.AllowNetherWater", false)){ + if (configLoad.getBoolean("Island.Nether.AllowNetherWater", false)) { event.setCancelled(true); block.setType(Material.WATER, true); block.getWorld().playSound(block.getLocation(), CompatibleSound.ITEM_BUCKET_EMPTY.getSound(), 1f, 1f); - if(!event.getPlayer().getGameMode().equals(GameMode.CREATIVE)){ + if (!event.getPlayer().getGameMode().equals(GameMode.CREATIVE)) { event.getItem().setType(Material.BUCKET); } } @@ -169,13 +170,13 @@ public class InteractListeners implements Listener { } else { heldType = CompatibleMaterial.AIR; } - + if (stackableManager != null && block != null && stackableManager.isStacked(block.getLocation())) { - if(blockType.equals(CompatibleMaterial.DRAGON_EGG)){ + if (blockType.equals(CompatibleMaterial.DRAGON_EGG)) { event.setCancelled(true); } } - + if (stackableManager != null && stackableManager.isStackableMaterial(heldType) && blockType == heldType && !player.isSneaking() && plugin.getPermissionManager().hasPermission(player, island, "Place") && (!this.plugin.getConfiguration().getBoolean("Island.Stackable.RequirePermission") @@ -245,9 +246,8 @@ public class InteractListeners implements Listener { event.setCancelled(true); } - if(plugin.getCoreProtectAPI() != null && material != null) { - plugin.getCoreProtectAPI().logPlacement(player.getName(), location, material.getMaterial(), null); - } + if (LogManager.isEnabled() && material != null) + LogManager.logPlacement(player, block); if (player.getGameMode() != GameMode.CREATIVE) ItemUtils.takeActiveItem(player, CompatibleHand.getHand(event), itemAmount); @@ -355,7 +355,7 @@ public class InteractListeners implements Listener { } } } - + plugin.getSoundManager().playSound(player, CompatibleSound.ENTITY_CHICKEN_EGG.getSound(), 10.0F, 10.0F); event.setCancelled(true);