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 620a4df8166be7a17ba4546f5d705114490c2526..c52326961a163c552025456bcadc1c897e08deb0 100644 --- a/src/main/java/org/bukkit/inventory/MerchantRecipe.java +++ b/src/main/java/org/bukkit/inventory/MerchantRecipe.java @@ -59,6 +59,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); @@ -73,6 +74,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; @@ -298,4 +308,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 }