From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Mariell Hoversholm Date: Mon, 9 Nov 2020 20:33:38 +0100 Subject: [PATCH] Add ignore discounts API diff --git a/src/main/java/org/bukkit/inventory/MerchantRecipe.java b/src/main/java/org/bukkit/inventory/MerchantRecipe.java index d33b66facf36587d703c29e9085289ce919ae621..afaa21b9347683fa373a938d9b1aa01c2058192a 100644 --- a/src/main/java/org/bukkit/inventory/MerchantRecipe.java +++ b/src/main/java/org/bukkit/inventory/MerchantRecipe.java @@ -57,6 +57,7 @@ public class MerchantRecipe implements Recipe { private int demand; private int villagerExperience; private float priceMultiplier; + private boolean ignoreDiscounts; // Paper public MerchantRecipe(@NotNull ItemStack result, int maxUses) { this(result, 0, maxUses, false); @@ -71,6 +72,15 @@ public class MerchantRecipe implements Recipe { } public MerchantRecipe(@NotNull ItemStack result, int uses, int maxUses, boolean experienceReward, int villagerExperience, float priceMultiplier, int demand, int specialPrice) { + // Paper start - add ignoreDiscounts param + this(result, uses, maxUses, experienceReward, villagerExperience, priceMultiplier, demand, specialPrice, false); + } + public MerchantRecipe(@NotNull ItemStack result, int uses, int maxUses, boolean experienceReward, int villagerExperience, float priceMultiplier, boolean ignoreDiscounts) { + this(result, uses, maxUses, experienceReward, villagerExperience, priceMultiplier, 0, 0, ignoreDiscounts); + } + public MerchantRecipe(@NotNull ItemStack result, int uses, int maxUses, boolean experienceReward, int villagerExperience, float priceMultiplier, int demand, int specialPrice, boolean ignoreDiscounts) { + this.ignoreDiscounts = ignoreDiscounts; + // Paper end this.result = result; this.uses = uses; this.maxUses = maxUses; @@ -283,4 +293,20 @@ public class MerchantRecipe implements Recipe { public void setPriceMultiplier(float priceMultiplier) { this.priceMultiplier = priceMultiplier; } + + // Paper start + /** + * @return Whether all discounts on this trade should be ignored. + */ + public boolean shouldIgnoreDiscounts() { + return ignoreDiscounts; + } + + /** + * @param ignoreDiscounts Whether all discounts on this trade should be ignored. + */ + public void setIgnoreDiscounts(boolean ignoreDiscounts) { + this.ignoreDiscounts = ignoreDiscounts; + } + // Paper end }