From 36a228489b56def63ae2f5567781044c1a27748f Mon Sep 17 00:00:00 2001 From: Electroblob77 <35599699+Electroblob77@users.noreply.github.com> Date: Sat, 13 Jun 2020 12:45:27 +0100 Subject: [PATCH] Limit currency item stack size to between 1 and 64 (inclusive) --- .../java/electroblob/wizardry/entity/living/EntityWizard.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/electroblob/wizardry/entity/living/EntityWizard.java b/src/main/java/electroblob/wizardry/entity/living/EntityWizard.java index c5737951..99d9e93c 100644 --- a/src/main/java/electroblob/wizardry/entity/living/EntityWizard.java +++ b/src/main/java/electroblob/wizardry/entity/living/EntityWizard.java @@ -33,6 +33,7 @@ import net.minecraft.util.EnumHand; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundEvent; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextComponentTranslation; import net.minecraft.village.MerchantRecipe; @@ -608,7 +609,7 @@ public class EntityWizard extends EntityCreature implements INpc, IMerchant, ISp // ((tier.ordinal() + 1) * 16 + rand.nextInt(6)) gives a 'value' for the item being bought // This is then divided by the value of the currency item to give a price // The absolute maximum stack size that can result from this calculation (with value = 1) is 64. - return new ItemStack(item, (8 + tier.ordinal() * 16 + rand.nextInt(9)) / value, meta); + return new ItemStack(item, MathHelper.clamp((8 + tier.ordinal() * 16 + rand.nextInt(9)) / value, 1, 64), meta); } private ItemStack getRandomItemOfTier(Tier tier){