geforkt von Mirrors/Paper
2873869bb1
Signs no longer have a specific isEdiable state, the entire API in this regard needs updating/deprecation. The boolean field is completely gone, replaced by a uuid (which will need a new setEditingPlayer(UUID) method on the Sign interface), and the current upstream implementation of setEdiable simply flips the is_waxed state. This patch is hence not needed as it neither allows editing (which will be redone in a later patch) nor is required to copy the is_waxed boolean flag as it lives in the signs compound tag and is covered by applyTo.
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 4d12c33b9a360129ffaefb551010b354bba0c69f..bac5c30d3aae1b3a7dbfb78f6fd37c11038fc735 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java
|
|
@@ -171,7 +171,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
|