fix BrewingStand inventory is updated immediately instead of after firing the event. Now the event can be canceled correct. (#4351)

This commit is contained in:
Wolf2323 2020-12-10 22:24:08 +01:00 committed by GitHub
parent c4072ee90d
commit 0e09ac397d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -114,6 +114,7 @@ public final class AlchemyPotionBrewer {
}
List<AlchemyPotion> inputList = new ArrayList<>();
ItemStack[] outputList = new ItemStack[3];
for (int i = 0; i < 3; i++) {
ItemStack item = inventory.getItem(i);
@ -128,7 +129,7 @@ public final class AlchemyPotionBrewer {
inputList.add(input);
if (output != null) {
inventory.setItem(i, output.toItemStack(item.getAmount()).clone());
outputList[i] = output.toItemStack(item.getAmount()).clone();
}
}
@ -139,6 +140,12 @@ public final class AlchemyPotionBrewer {
return;
}
for (int i = 0; i < 3; i++) {
if(outputList[i] != null) {
inventory.setItem(i, outputList[i]);
}
}
removeIngredient(inventory, player);
for (AlchemyPotion input : inputList) {