diff --git a/pom.xml b/pom.xml index 0805c3c..46cec7b 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.pretzel.dev VillagerTradeLimiter - 1.5.4 + 1.5.5 1.8 diff --git a/src/com/pretzel/dev/villagertradelimiter/listeners/PlayerListener.java b/src/com/pretzel/dev/villagertradelimiter/listeners/PlayerListener.java index b43748e..2ed3429 100644 --- a/src/com/pretzel/dev/villagertradelimiter/listeners/PlayerListener.java +++ b/src/com/pretzel/dev/villagertradelimiter/listeners/PlayerListener.java @@ -121,7 +121,7 @@ public class PlayerListener implements Listener { setIngredient(override.getConfigurationSection("Result"), recipe.getResult()); } - //Set the maximum number of uses (trades/day) + //Set the maximum number of uses (trades/restock) recipe.setMaxUses(getMaxUses(recipe, other)); } @@ -146,7 +146,10 @@ public class PlayerListener implements Listener { private int getDemand(final RecipeWrapper recipe) { int demand = recipe.getDemand(); int maxDemand = settings.fetchInt(recipe, "MaxDemand", -1); - if(maxDemand >= 0 && demand > maxDemand) return maxDemand; + if(maxDemand >= 0 && demand > maxDemand) { + recipe.setDemand(maxDemand); + return maxDemand; + } return demand; } @@ -162,8 +165,9 @@ public class PlayerListener implements Listener { int demand = getDemand(recipe); float priceMultiplier = recipe.getPriceMultiplier(); int discount = -(int)(totalReputation * priceMultiplier) - (int)(hotvDiscount * basePrice) + Math.max(0, (int)(demand * priceMultiplier * basePrice)); + //discount = -(265 * 0.05) - (0.3 * 1) + max(0, 94965314 * 0.05 * 1) = -13 - double maxDiscount = settings.fetchDouble(recipe, "MaxDiscount", 0.3); + double maxDiscount = settings.fetchDouble(recipe, "MaxDiscount", 0.3); //0.1 if(maxDiscount >= 0.0 && maxDiscount <= 1.0) { //Change the discount to the smaller MaxDiscount if(basePrice + discount < basePrice * (1.0 - maxDiscount)) { diff --git a/src/com/pretzel/dev/villagertradelimiter/wrappers/RecipeWrapper.java b/src/com/pretzel/dev/villagertradelimiter/wrappers/RecipeWrapper.java index 435a1a1..75ef147 100644 --- a/src/com/pretzel/dev/villagertradelimiter/wrappers/RecipeWrapper.java +++ b/src/com/pretzel/dev/villagertradelimiter/wrappers/RecipeWrapper.java @@ -26,6 +26,9 @@ public class RecipeWrapper { this.specialPrice = getSpecialPrice(); } + /** @param demand The demand, which increases prices if you buy too often. Negative values are ignored. */ + public void setDemand(int demand) { recipe.setInteger("demand", demand); } + /** @param specialPrice The discount, which is added to the base price. A negative value will decrease the price, and a positive value will increase the price. */ public void setSpecialPrice(int specialPrice) { recipe.setInteger("specialPrice", specialPrice); } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 5bae26d..7c8b3dd 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,7 +1,7 @@ name: VillagerTradeLimiter author: PretzelJohn main: com.pretzel.dev.villagertradelimiter.VillagerTradeLimiter -version: 1.5.4 +version: 1.5.5 api-version: 1.14 commands: