geforkt von Mirrors/Paper
bffb08c2f9
The Paper method was chosen for deprecation because it was more restrictive in that it has an isGliding check.
28 Zeilen
1.5 KiB
Diff
28 Zeilen
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Warrior <50800980+Warriorrrr@users.noreply.github.com>
|
|
Date: Sun, 7 May 2023 22:33:50 +0200
|
|
Subject: [PATCH] More accurate isInOpenWater impl
|
|
|
|
For fishing hooks, the openWater field is true by default, and only calculated when a "fish" is approaching the bobber.
|
|
This patch changes the API impl to calculate the open water state itself instead of returning this field.
|
|
|
|
Relevant link: https://github.com/PaperMC/Paper/issues/9131
|
|
|
|
== AT ==
|
|
public net.minecraft.world.entity.projectile.FishingHook calculateOpenWater(Lnet/minecraft/core/BlockPos;)Z
|
|
public net.minecraft.world.entity.projectile.FishingHook outOfWaterTime
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java
|
|
index ad1aeea80877f2cdb9e8ad9c5b46f95dd76b3335..116f23a3ee9fa409d7bc34c3769b94ed2bb07183 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java
|
|
@@ -164,7 +164,7 @@ public class CraftFishHook extends CraftProjectile implements FishHook {
|
|
|
|
@Override
|
|
public boolean isInOpenWater() {
|
|
- return this.getHandle().isOpenWaterFishing();
|
|
+ return this.getHandle().outOfWaterTime < 10 && this.getHandle().calculateOpenWater(this.getHandle().blockPosition()); // Paper - isOpenWaterFishing is only calculated when a "fish" is approaching the hook
|
|
}
|
|
|
|
@Override
|