From fa7d5a5974547c04085b49637954f948cb63a37a Mon Sep 17 00:00:00 2001 From: jascotty2 Date: Wed, 9 Oct 2019 19:52:46 -0500 Subject: [PATCH] add stacker methods to get min entity stack --- .../songoda/core/hooks/stackers/StackMob.java | 7 +++++++ .../songoda/core/hooks/stackers/Stacker.java | 4 ++++ .../core/hooks/stackers/UltimateStacker.java | 7 +++++++ .../core/hooks/stackers/WildStacker.java | 18 ++++++++++++++++++ 4 files changed, 36 insertions(+) diff --git a/Core/src/main/java/com/songoda/core/hooks/stackers/StackMob.java b/Core/src/main/java/com/songoda/core/hooks/stackers/StackMob.java index d652a52b..19897f41 100644 --- a/Core/src/main/java/com/songoda/core/hooks/stackers/StackMob.java +++ b/Core/src/main/java/com/songoda/core/hooks/stackers/StackMob.java @@ -1,6 +1,7 @@ package com.songoda.core.hooks.stackers; import org.bukkit.Bukkit; +import org.bukkit.entity.EntityType; import org.bukkit.entity.Item; import org.bukkit.entity.LivingEntity; import uk.antiperson.stackmob.api.EntityManager; @@ -72,4 +73,10 @@ public class StackMob extends Stacker { StackedEntity stackedEntity = plugin.getStackedEntity(entity); stackedEntity.setSize(stackedEntity.getSize() + amount); } + + @Override + public int minimumEntityStack(EntityType type) { + return 0; + } + } diff --git a/Core/src/main/java/com/songoda/core/hooks/stackers/Stacker.java b/Core/src/main/java/com/songoda/core/hooks/stackers/Stacker.java index baf2b60c..b00bed03 100644 --- a/Core/src/main/java/com/songoda/core/hooks/stackers/Stacker.java +++ b/Core/src/main/java/com/songoda/core/hooks/stackers/Stacker.java @@ -1,6 +1,7 @@ package com.songoda.core.hooks.stackers; import com.songoda.core.hooks.Hook; +import org.bukkit.entity.EntityType; import org.bukkit.entity.Item; import org.bukkit.entity.LivingEntity; @@ -29,4 +30,7 @@ public abstract class Stacker implements Hook { } public abstract void add(LivingEntity entity, int amount); + + public abstract int minimumEntityStack(EntityType type); + } diff --git a/Core/src/main/java/com/songoda/core/hooks/stackers/UltimateStacker.java b/Core/src/main/java/com/songoda/core/hooks/stackers/UltimateStacker.java index 396c4bb0..7424f67a 100644 --- a/Core/src/main/java/com/songoda/core/hooks/stackers/UltimateStacker.java +++ b/Core/src/main/java/com/songoda/core/hooks/stackers/UltimateStacker.java @@ -3,8 +3,10 @@ package com.songoda.core.hooks.stackers; import com.songoda.ultimatestacker.entity.EntityStack; import com.songoda.ultimatestacker.utils.Methods; import java.lang.reflect.Method; +import org.bukkit.entity.EntityType; import org.bukkit.entity.Item; import org.bukkit.entity.LivingEntity; +import org.bukkit.plugin.Plugin; public class UltimateStacker extends Stacker { @@ -80,4 +82,9 @@ public class UltimateStacker extends Stacker { public void add(LivingEntity entity, int amount) { plugin.getEntityStackManager().getStack(entity).addAmount(amount); } + + @Override + public int minimumEntityStack(EntityType type) { + return ((Plugin) plugin).getConfig().getInt("Entities.Min Stack Amount"); + } } diff --git a/Core/src/main/java/com/songoda/core/hooks/stackers/WildStacker.java b/Core/src/main/java/com/songoda/core/hooks/stackers/WildStacker.java index 5c037ea6..8be301cd 100644 --- a/Core/src/main/java/com/songoda/core/hooks/stackers/WildStacker.java +++ b/Core/src/main/java/com/songoda/core/hooks/stackers/WildStacker.java @@ -2,11 +2,19 @@ package com.songoda.core.hooks.stackers; import com.bgsoftware.wildstacker.api.WildStackerAPI; import com.bgsoftware.wildstacker.api.objects.StackedEntity; +import org.bukkit.entity.EntityType; import org.bukkit.entity.Item; import org.bukkit.entity.LivingEntity; +import org.bukkit.plugin.Plugin; public class WildStacker extends Stacker { + final Plugin plugin; + + public WildStacker(Plugin plugin) { + this.plugin = plugin; + } + @Override public String getName() { return "WildStacker"; @@ -58,4 +66,14 @@ public class WildStacker extends Stacker { StackedEntity stackedEntity = WildStackerAPI.getStackedEntity(entity); stackedEntity.setStackAmount(stackedEntity.getStackAmount() + amount, true); } + + @Override + public int minimumEntityStack(EntityType type) { + int min = plugin.getConfig().getInt("entities.minimum-limits." + type.name(), -1); + if (min == -1) { + min = plugin.getConfig().getInt("entities.minimum-limits.all", -1); + } + return min == -1 ? 0 : min; + } + }