diff --git a/src/main/java/com/songoda/ultimatestacker/tasks/StackingTask.java b/src/main/java/com/songoda/ultimatestacker/tasks/StackingTask.java index 182cb6b..ce5f09c 100644 --- a/src/main/java/com/songoda/ultimatestacker/tasks/StackingTask.java +++ b/src/main/java/com/songoda/ultimatestacker/tasks/StackingTask.java @@ -67,6 +67,7 @@ public class StackingTask extends BukkitRunnable { && initalEntity.getMetadata("US_REASON").get(0).asString().equals("SPAWNER")) || Setting.ONLY_STACK_ON_SURFACE.getBoolean() + && !canFly(initalEntity) && (!initalEntity.isOnGround() && !initalEntity.getLocation().getBlock().isLiquid())) continue; @@ -134,4 +135,15 @@ public class StackingTask extends BukkitRunnable { removed.clear(); } } + + private boolean canFly(LivingEntity entity) { + switch (entity.getType()) { + case GHAST: + case BLAZE: + case PHANTOM: + return true; + default: + return false; + } + } } diff --git a/src/main/java/com/songoda/ultimatestacker/utils/settings/Setting.java b/src/main/java/com/songoda/ultimatestacker/utils/settings/Setting.java index 02823cc..7440ff7 100644 --- a/src/main/java/com/songoda/ultimatestacker/utils/settings/Setting.java +++ b/src/main/java/com/songoda/ultimatestacker/utils/settings/Setting.java @@ -93,7 +93,7 @@ public enum Setting { ONLY_STACK_ON_SURFACE("Entities.Only Stack On Surface", false, "Should entities only be stacked if they are touching the ground", - "or swimming?"), + "or swimming? This does not effect flying entities."), STACK_ITEMS("Items.Enabled",true, "Should items be stacked?"),