Add ignore discounts API

This commit is contained in:
Mariell Hoversholm 2020-11-09 20:33:38 +01:00
parent 4226c7f7a4
commit 9c8829553b

View file

@ -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
}