mirror of
https://github.com/alexcrea/CustomAnvil.git
synced 2026-06-23 08:14:00 +02:00
Add and fix expected price for tests
todo add test for handling work penalty
This commit is contained in:
parent
79f05d0f82
commit
335bca0335
7 changed files with 47 additions and 44 deletions
|
|
@ -142,8 +142,9 @@ class PrepareAnvilListener : Listener {
|
|||
|
||||
// Rename item and add renaming cost
|
||||
resultItem.itemMeta?.let {
|
||||
val displayName =
|
||||
if (useColor) it.displayName
|
||||
val hasDisplayName = it.hasDisplayName()
|
||||
val displayName = if (!hasDisplayName) null
|
||||
else if (useColor) it.displayName
|
||||
else ChatColor.stripColor(it.displayName)
|
||||
|
||||
if (!displayName.contentEquals(inventoryName)) {
|
||||
|
|
|
|||
|
|
@ -45,24 +45,31 @@ object AnvilXpUtil {
|
|||
anvilCost
|
||||
}
|
||||
|
||||
/* Because Minecraft likes to have the final say in the repair cost displayed
|
||||
* we need to wait for the event to end before overriding it, this ensures that
|
||||
* we have the final say in the process. */
|
||||
DependencyManager.scheduler.scheduleOnEntity(
|
||||
CustomAnvil.instance, player,
|
||||
Runnable {
|
||||
inventory.maximumRepairCost =
|
||||
val maximumRepairCost =
|
||||
if (ConfigOptions.doRemoveCostLimit || ignoreRules) {
|
||||
Int.MAX_VALUE
|
||||
} else {
|
||||
ConfigOptions.maxAnvilCost + 1
|
||||
}
|
||||
|
||||
// Try first just in case another plugin, or the test need this
|
||||
inventory.maximumRepairCost = maximumRepairCost
|
||||
inventory.repairCost = finalAnvilCost
|
||||
view.setProperty(REPAIR_COST, finalAnvilCost)
|
||||
player.openInventory.setProperty(REPAIR_COST, finalAnvilCost)
|
||||
// TODO for 2.x.x use anvil view & set directly there
|
||||
|
||||
/* Because Minecraft likes to have the final say in the repair cost displayed
|
||||
* we need to wait for the event to end before overriding it, this ensures that
|
||||
* we have the final say in the process. */
|
||||
DependencyManager.scheduler.scheduleOnEntity(
|
||||
CustomAnvil.instance, player
|
||||
) {
|
||||
// retry after a tick
|
||||
inventory.maximumRepairCost = maximumRepairCost
|
||||
inventory.repairCost = finalAnvilCost
|
||||
// TODO for 2.x.x use anvil view & set directly there
|
||||
|
||||
if (player !is Player) return@scheduleOnEntity
|
||||
|
||||
if (player is Player) {
|
||||
if (player.gameMode != GameMode.CREATIVE) {
|
||||
val bypassToExpensive = (ConfigOptions.doReplaceTooExpensive) &&
|
||||
(finalAnvilCost >= 40) &&
|
||||
|
|
@ -72,8 +79,8 @@ object AnvilXpUtil {
|
|||
}
|
||||
|
||||
player.updateInventory()
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -64,8 +64,8 @@ public class AnvilFuseTests extends SharedCustomAnvilTest {
|
|||
|
||||
AnvilFuseTestData data = new AnvilFuseTestData(
|
||||
sharpness4, sharpness4,
|
||||
sharpness5Result
|
||||
// TODO add expected price
|
||||
sharpness5Result,
|
||||
5
|
||||
);
|
||||
|
||||
AnvilFuseTestUtil.executeAnvilTest(anvil, player, data);
|
||||
|
|
@ -84,8 +84,8 @@ public class AnvilFuseTests extends SharedCustomAnvilTest {
|
|||
|
||||
AnvilFuseTestData data = new AnvilFuseTestData(
|
||||
sharpness4, sharpness5,
|
||||
sharpness5Result
|
||||
// TODO add expected price
|
||||
sharpness5Result,
|
||||
5
|
||||
);
|
||||
|
||||
AnvilFuseTestUtil.executeAnvilTest(anvil, player, data);
|
||||
|
|
@ -117,8 +117,8 @@ public class AnvilFuseTests extends SharedCustomAnvilTest {
|
|||
|
||||
AnvilFuseTestData data = new AnvilFuseTestData(
|
||||
base, null,
|
||||
expected, expected, null
|
||||
// TODO add expected price
|
||||
expected, expected, null,
|
||||
1, 1, null
|
||||
);
|
||||
|
||||
AnvilFuseTestUtil.executeAnvilTest(anvil, player, data);
|
||||
|
|
|
|||
|
|
@ -64,8 +64,7 @@ public class ConflictApiTests extends ConfigResetCustomAnvilTest {
|
|||
AnvilFuseTestData legalResultData = new AnvilFuseTestData(
|
||||
sharpness1, arthropods1,
|
||||
illegalResult,
|
||||
// TODO add expected price
|
||||
null
|
||||
2
|
||||
);
|
||||
|
||||
CAEnchantment sharpness = EnchantmentApi.getByKey(Enchantment.SHARPNESS.getKey());
|
||||
|
|
|
|||
|
|
@ -52,8 +52,7 @@ public class CustomAnvilRecipeApiTests extends ConfigResetCustomAnvilTest {
|
|||
AnvilFuseTestData legalResultData = new AnvilFuseTestData(
|
||||
stick, stick,
|
||||
null, stick, null,
|
||||
// TODO add expected price
|
||||
null,
|
||||
2,
|
||||
null, null
|
||||
);
|
||||
|
||||
|
|
@ -109,16 +108,14 @@ public class CustomAnvilRecipeApiTests extends ConfigResetCustomAnvilTest {
|
|||
AnvilFuseTestData legalResultData1 = new AnvilFuseTestData(
|
||||
stick, stick,
|
||||
null, stick2, null,
|
||||
// TODO add expected price
|
||||
null,
|
||||
2,
|
||||
null, null
|
||||
);
|
||||
|
||||
AnvilFuseTestData legalResultData2 = new AnvilFuseTestData(
|
||||
stick5, stick,
|
||||
null, stick10, null,
|
||||
// TODO add expected price
|
||||
null,
|
||||
10, // 2 * 5
|
||||
null, null
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -55,8 +55,7 @@ public class UnitRepairApiTests extends ConfigResetCustomAnvilTest {
|
|||
AnvilFuseTestData legalResultData = new AnvilFuseTestData(
|
||||
damagedPickaxe, diamond2,
|
||||
resultPickaxe,
|
||||
// TODO add expected price
|
||||
null
|
||||
2
|
||||
);
|
||||
|
||||
AnvilFuseTestUtil.executeAnvilTest(anvil, player, legalResultData);
|
||||
|
|
@ -105,8 +104,7 @@ public class UnitRepairApiTests extends ConfigResetCustomAnvilTest {
|
|||
AnvilFuseTestData legalResultData = new AnvilFuseTestData(
|
||||
damagedPickaxe, stick2,
|
||||
resultPickaxe,
|
||||
// TODO add expected price
|
||||
null
|
||||
2
|
||||
);
|
||||
|
||||
AnvilFuseTestUtil.executeAnvilTest(anvil, player, nullResultData);
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@ public class AnvilFuseTestUtil {
|
|||
|
||||
ItemStack result = anvil.getItem(2);
|
||||
assertEqual(expectedResult, result);
|
||||
|
||||
assertPriceEqual(expectedPrice, anvil.getRepairCost());
|
||||
}
|
||||
|
||||
|
|
@ -158,7 +159,7 @@ public class AnvilFuseTestUtil {
|
|||
|
||||
public static void assertPriceEqual(Integer expectedPrice, int price){
|
||||
if(expectedPrice == null) return;
|
||||
Assertions.assertEquals(price, expectedPrice);
|
||||
Assertions.assertEquals(expectedPrice, price);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue