diff --git a/src/main/java/xyz/alexcrea/cuanvil/api/AnvilRecipeBuilder.java b/src/main/java/xyz/alexcrea/cuanvil/api/AnvilRecipeBuilder.java index 76b4a68..4292fa0 100644 --- a/src/main/java/xyz/alexcrea/cuanvil/api/AnvilRecipeBuilder.java +++ b/src/main/java/xyz/alexcrea/cuanvil/api/AnvilRecipeBuilder.java @@ -26,7 +26,7 @@ public class AnvilRecipeBuilder { /** * Instantiates a new Anvil recipe builder. * exact count default to true. - * xp cost per craft default to 1. + * xp level and linear cost per craft default to 0. * * @param name The recipe name */ @@ -34,7 +34,9 @@ public class AnvilRecipeBuilder { this.name = name; this.exactCount = true; - this.levelCostPerCraft = 1; + this.levelCostPerCraft = 0; + this.linearXpCostPerCraft = 0; + this.removeExactLinearXp = false; this.leftItem = null; this.rightItem = null; @@ -63,7 +65,7 @@ public class AnvilRecipeBuilder { } /** - * Get if the recipe is exact count. + * Get if the recipe is exact count. (default 0) *

* Exact count mean the recipe can only be crafted 1 by 1. * If set to false, then it will craft as much as possible in 1 go and will keep unused material onto the anvil inventory. @@ -89,7 +91,7 @@ public class AnvilRecipeBuilder { } /** - * Get the xp level cost per craft. + * Get the xp level cost per craft. (default 0) * * @return The xp level cost per craft * @deprecated use {@link #getLevelCostPerCraft() getLevelCostPerCraft} instead @@ -112,7 +114,7 @@ public class AnvilRecipeBuilder { } /** - * Get the xp level cost per craft. + * Get the xp level cost per craft. (default 0) * * @return The xp level cost per craft */ diff --git a/src/test/java/xyz/alexcrea/cuanvil/api/AnvilRecipeBuilderTest.java b/src/test/java/xyz/alexcrea/cuanvil/api/AnvilRecipeBuilderTest.java index 9a65e12..d9ff329 100644 --- a/src/test/java/xyz/alexcrea/cuanvil/api/AnvilRecipeBuilderTest.java +++ b/src/test/java/xyz/alexcrea/cuanvil/api/AnvilRecipeBuilderTest.java @@ -12,10 +12,15 @@ import static org.junit.jupiter.api.Assertions.*; public class AnvilRecipeBuilderTest extends SharedOnlyMockBukkit { private AnvilRecipeBuilder builder; + private AnvilRecipeBuilder builder2; @BeforeEach public void setup() { builder = new AnvilRecipeBuilder("test"); + builder2 = new AnvilRecipeBuilder("test"); + + builder2.setLeftItem(new ItemStack(Material.STICK)); + builder2.setResultItem(new ItemStack(Material.STICK)); } @Test @@ -38,6 +43,7 @@ public class AnvilRecipeBuilderTest extends SharedOnlyMockBukkit { .setResultItem(new ItemStack(Material.STICK)); assertNotNull(builder.build()); + assertNotNull(builder2.build()); } @Test @@ -63,23 +69,39 @@ public class AnvilRecipeBuilderTest extends SharedOnlyMockBukkit { @Test void setXpCostPerCraft(){ - assertEquals(1, builder.getLevelCostPerCraft()); - builder.setLevelCostPerCraft(2); - assertEquals(2, builder.getLevelCostPerCraft()); + assertEquals(0, builder2.getLevelCostPerCraft()); + assertEquals(0, builder2.build().getLevelCostPerCraft()); + builder2.setLevelCostPerCraft(2); + assertEquals(2, builder2.getLevelCostPerCraft()); + assertEquals(2, builder2.build().getLevelCostPerCraft()); } + @Test + void setLinearXpCostPerCraft(){ + assertEquals(0, builder2.getLinearXpCostPerCraft()); + assertEquals(0, builder2.build().getXpCostPerCraft()); + builder2.setLinearXpCostPerCraft(2); + assertEquals(2, builder2.getLinearXpCostPerCraft()); + assertEquals(2, builder2.build().getXpCostPerCraft()); + } + + @Test void setExactCount(){ - assertTrue(builder.isExactCount()); - builder.setExactCount(false); - assertFalse(builder.isExactCount()); + assertTrue(builder2.isExactCount()); + assertTrue(builder2.build().getExactCount()); + builder2.setExactCount(false); + assertFalse(builder2.isExactCount()); + assertFalse(builder2.build().getExactCount()); } @Test void setName(){ - assertEquals("test", builder.getName()); - builder.setName("other"); - assertEquals("other", builder.getName()); + assertEquals("test", builder2.getName()); + assertEquals("test", builder2.build().getName()); + builder2.setName("other"); + assertEquals("other", builder2.getName()); + assertEquals("other", builder2.build().getName()); } }