diff --git a/src/main/java/bskyblock/addon/acidisland/AISettings.java b/src/main/java/bskyblock/addon/acidisland/AISettings.java
index bf6c2ac..91e9cef 100644
--- a/src/main/java/bskyblock/addon/acidisland/AISettings.java
+++ b/src/main/java/bskyblock/addon/acidisland/AISettings.java
@@ -102,7 +102,7 @@ public class AISettings implements ISettings<AISettings>, WorldSettings {
     private int acidDamageAnimal = 10;
     
     @ConfigEntry(path = "acid.damage.acid.item")
-    private int acidDestroyItemTime = 0;
+    private long acidDestroyItemTime = 0;
 
     @ConfigEntry(path = "acid.damage.rain")
     private int acidRainDamage = 1;
@@ -361,14 +361,14 @@ public class AISettings implements ISettings<AISettings>, WorldSettings {
     /**
      * @return the acidDestroyItemTime
      */
-    public int getAcidDestroyItemTime() {
+    public long getAcidDestroyItemTime() {
         return acidDestroyItemTime;
     }
 
     /**
      * @param acidDestroyItemTime the acidDestroyItemTime to set
      */
-    public void setAcidDestroyItemTime(int acidDestroyItemTime) {
+    public void setAcidDestroyItemTime(long acidDestroyItemTime) {
         this.acidDestroyItemTime = acidDestroyItemTime;
     }
 
@@ -806,7 +806,6 @@ public class AISettings implements ISettings<AISettings>, WorldSettings {
         this.chestItems = chestItems;
     }
 
-    @SuppressWarnings("SameReturnValue")
     @Override
     public String getPermissionPrefix() {
         return "acidisland";
diff --git a/src/main/java/bskyblock/addon/acidisland/AcidIsland.java b/src/main/java/bskyblock/addon/acidisland/AcidIsland.java
index 544a467..be7fad2 100644
--- a/src/main/java/bskyblock/addon/acidisland/AcidIsland.java
+++ b/src/main/java/bskyblock/addon/acidisland/AcidIsland.java
@@ -9,6 +9,7 @@ import bskyblock.addon.acidisland.listeners.AcidEffect;
 import bskyblock.addon.acidisland.listeners.IslandBuilder;
 import bskyblock.addon.acidisland.listeners.LavaCheck;
 import bskyblock.addon.acidisland.world.AcidIslandWorld;
+import bskyblock.addon.acidisland.world.AcidTask;
 import us.tastybento.bskyblock.api.addons.Addon;
 
 /**
@@ -49,6 +50,8 @@ public class AcidIsland extends Addon {
         // Register commands
         new AcidCommand(this);
         new AiCommand(this);
+        // Burn everything
+        new AcidTask(this);
     }
 
     @Override
diff --git a/src/main/java/bskyblock/addon/acidisland/listeners/AcidEffect.java b/src/main/java/bskyblock/addon/acidisland/listeners/AcidEffect.java
index d080202..8c6f8a1 100644
--- a/src/main/java/bskyblock/addon/acidisland/listeners/AcidEffect.java
+++ b/src/main/java/bskyblock/addon/acidisland/listeners/AcidEffect.java
@@ -27,6 +27,7 @@ import org.bukkit.scheduler.BukkitRunnable;
 import org.bukkit.util.Vector;
 
 import bskyblock.addon.acidisland.AcidIsland;
+import bskyblock.addon.acidisland.world.AcidTask;
 
 /**
  * Applies the acid effect to players
@@ -49,6 +50,8 @@ public class AcidEffect implements Listener {
 
     public AcidEffect(AcidIsland addon) {
         this.addon = addon;
+        // Burn monsters or animals that fall into the acid
+        new AcidTask(addon);
     }
 
     @EventHandler(priority = EventPriority.LOW)
@@ -253,6 +256,8 @@ public class AcidEffect implements Listener {
                 case DIAMOND_HELMET:
                     red = red + 0.12;
                     break;
+            default:
+                break;
             }
         }
         if (boots != null) {
@@ -272,6 +277,8 @@ public class AcidEffect implements Listener {
                 case DIAMOND_BOOTS:
                     red = red + 0.12;
                     break;
+            default:
+                break;
             }
         }
         // Pants
@@ -292,6 +299,8 @@ public class AcidEffect implements Listener {
                 case DIAMOND_LEGGINGS:
                     red = red + 0.24;
                     break;
+            default:
+                break;
             }
         }
         // Chest plate
@@ -312,6 +321,8 @@ public class AcidEffect implements Listener {
                 case DIAMOND_CHESTPLATE:
                     red = red + 0.32;
                     break;
+            default:
+                break;
             }
         }
         return red;
diff --git a/src/main/java/bskyblock/addon/acidisland/world/AcidTask.java b/src/main/java/bskyblock/addon/acidisland/world/AcidTask.java
new file mode 100644
index 0000000..6d2a24f
--- /dev/null
+++ b/src/main/java/bskyblock/addon/acidisland/world/AcidTask.java
@@ -0,0 +1,84 @@
+package bskyblock.addon.acidisland.world;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.WeakHashMap;
+
+import org.bukkit.Material;
+import org.bukkit.Sound;
+import org.bukkit.entity.Animals;
+import org.bukkit.entity.Entity;
+import org.bukkit.entity.EntityType;
+import org.bukkit.entity.Guardian;
+import org.bukkit.entity.Monster;
+import org.bukkit.entity.Squid;
+
+import bskyblock.addon.acidisland.AcidIsland;
+
+public class AcidTask {
+    private final AcidIsland addon;
+    private Set<Entity> itemsInWater = Collections.newSetFromMap(new WeakHashMap<Entity, Boolean>()); 
+    private int entityBurnTask = -1;
+    private int itemBurnTask = -1;
+
+    /**
+     * Runs repeating tasks to deliver acid damage to mobs, etc.
+     * @param addon - addon
+     */
+    public AcidTask(AcidIsland addon) {
+        this.addon = addon;
+        burnEntities();
+        runAcidItemRemovalTask();
+    }
+
+    /**
+     * Start the entity buring task
+     */
+    private void burnEntities() {
+        if (entityBurnTask >= 0) {
+            addon.getServer().getScheduler().cancelTask(entityBurnTask);
+        }
+        // This part will kill monsters if they fall into the water because it is acid
+        entityBurnTask = addon.getServer().getScheduler().scheduleSyncRepeatingTask(addon.getBSkyBlock(), () -> addon.getIslandWorld().getEntities().stream()
+        .filter(e -> !(e instanceof Guardian || e instanceof Squid))
+        .filter(w -> w.getLocation().getBlock().getType().equals(Material.WATER) || w.getLocation().getBlock().getType().equals(Material.STATIONARY_WATER))
+        .forEach(e -> {
+            if ((e instanceof Monster) && addon.getSettings().getAcidDamageMonster() > 0D) {
+                ((Monster) e).damage(addon.getSettings().getAcidDamageMonster());
+            } else if ((e instanceof Animals) && addon.getSettings().getAcidDamageAnimal() > 0D
+                    && (!e.getType().equals(EntityType.CHICKEN) || addon.getSettings().isAcidDamageChickens())) {
+                ((Animals) e).damage(addon.getSettings().getAcidDamageMonster());
+            }
+        }), 0L, 20L);
+    }
+
+    /**
+     * Start the item removal in acid task
+     */
+    private void runAcidItemRemovalTask() {
+        if (itemBurnTask >= 0) {
+            addon.getServer().getScheduler().cancelTask(itemBurnTask);
+        }
+        if (addon.getSettings().getAcidDestroyItemTime() <= 0) {
+            return;
+        }
+        itemBurnTask = addon.getServer().getScheduler().scheduleSyncRepeatingTask(addon.getBSkyBlock(), () -> {
+            Set<Entity> newItemsInWater = new HashSet<>();
+            addon.getIslandWorld().getEntities().stream()
+            .filter(e -> e.getType().equals(EntityType.DROPPED_ITEM)
+                    && (e.getLocation().getBlock().getType().equals(Material.WATER) 
+                            || e.getLocation().getBlock().getType().equals(Material.STATIONARY_WATER))
+                    )
+            .forEach(e -> {
+                if (itemsInWater.contains(e)) {
+                    e.getWorld().playSound(e.getLocation(), Sound.ENTITY_CREEPER_PRIMED, 3F, 3F);
+                    e.remove();
+                } else {
+                    newItemsInWater.add(e);
+                }
+            });
+            itemsInWater = newItemsInWater; 
+        }, addon.getSettings().getAcidDestroyItemTime() * 20L, addon.getSettings().getAcidDestroyItemTime() * 20L);
+    }
+}