From df02ba5e47c16fb39ac5d40fdf253ff51115aa76 Mon Sep 17 00:00:00 2001 From: Crystal Spider Date: Thu, 27 Jun 2024 19:14:35 +0200 Subject: [PATCH] Make HarvestCheckEvent actually stop further computations as soon as harvesting is prevented. --- .../harvest_with_ease/api/event/HarvestEvent.java | 7 +++---- .../harvest_with_ease/api/event/HarvestEvents.java | 5 +++-- .../harvest_with_ease/api/event/HarvestEvents.java | 7 +++++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/common/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvent.java b/common/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvent.java index 7af8fb2..968da75 100644 --- a/common/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvent.java +++ b/common/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvent.java @@ -93,14 +93,13 @@ interface HarvestCheckEvent extends HarvestEvent { * * @return whether the crop can be harvested. */ + @ApiStatus.Internal boolean canHarvest(); /** - * Sets whether the crop can be harvested. - * - * @param canHarvest whether the crop can be harvested. + * Prevents harvesting. */ - void setCanHarvest(boolean canHarvest); + void preventHarvest(); } /** diff --git a/fabric/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvents.java b/fabric/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvents.java index 154f822..9660020 100644 --- a/fabric/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvents.java +++ b/fabric/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvents.java @@ -279,8 +279,9 @@ public boolean canHarvest() { } @Override - public void setCanHarvest(boolean canHarvest) { - this.canHarvest = canHarvest; + @ApiStatus.Internal + public void preventHarvest() { + this.canHarvest = false; } } diff --git a/forge/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvents.java b/forge/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvents.java index 4bc2439..371eeab 100644 --- a/forge/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvents.java +++ b/forge/src/main/java/it/crystalnest/harvest_with_ease/api/event/HarvestEvents.java @@ -86,6 +86,7 @@ public BlockState getCrop() { * Event triggered when checking whether a crop can be harvested.
* Fired on both sides. */ + @Cancelable public static class HarvestCheckEvent extends ForgeHarvestEvent implements HarvestEvent.HarvestCheckEvent { /** * Whether the crop can be harvested. @@ -106,13 +107,15 @@ public static class HarvestCheckEvent extends ForgeHarvestEvent i } @Override + @ApiStatus.Internal public boolean canHarvest() { return canHarvest; } @Override - public void setCanHarvest(boolean canHarvest) { - this.canHarvest = canHarvest; + public void preventHarvest() { + this.canHarvest = false; + this.setCanceled(true); } }