mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-26 12:36:07 +01:00
71c84c8132
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 9a80d38c SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-722: Add EntityRemoveEvent 258086d9 SPIGOT-7417, PR-967: Add Sign#getTargetSide and Sign#getAllowedEditor ffaba051 SPIGOT-7584: Add missing Tag.ITEMS_NON_FLAMMABLE_WOOD CraftBukkit Changes: 98b6c1ac7 SPIGOT-7589 Fix NullPointerException when bans expire a2736ddb0 SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-1008: Add EntityRemoveEvent 5bf12cb89 SPIGOT-7565: Throw a more descriptive error message when a developer tries to spawn an entity from a CraftBukkit class 76d95fe7e SPIGOT-7417, PR-1343: Add Sign#getTargetSide and Sign#getAllowedEditor Spigot Changes: e9ec5485 Rebuild patches f1b62e0c Rebuild patches
76 lines
5.5 KiB
Diff
76 lines
5.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: booky10 <boooky10@gmail.com>
|
|
Date: Mon, 3 Jul 2023 01:55:32 +0200
|
|
Subject: [PATCH] Add hand to fish event for all player interactions
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
|
index a87fcd5b837e1c824cbd5587c3350986e2fd7acb..91497f5e6c07fcf1b05eca6846c51e1a15ed3bc0 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
|
@@ -475,7 +475,15 @@ public class FishingHook extends Projectile {
|
|
@Override
|
|
public void readAdditionalSaveData(CompoundTag nbt) {}
|
|
|
|
+ // Paper start - Add hand parameter to PlayerFishEvent
|
|
+ @Deprecated
|
|
+ @io.papermc.paper.annotation.DoNotUse
|
|
public int retrieve(ItemStack usedItem) {
|
|
+ return this.retrieve(net.minecraft.world.InteractionHand.MAIN_HAND, usedItem);
|
|
+ }
|
|
+
|
|
+ public int retrieve(net.minecraft.world.InteractionHand hand, ItemStack usedItem) {
|
|
+ // Paper end - Add hand parameter to PlayerFishEvent
|
|
net.minecraft.world.entity.player.Player entityhuman = this.getPlayerOwner();
|
|
|
|
if (!this.level().isClientSide && entityhuman != null && !this.shouldStopFishing(entityhuman)) {
|
|
@@ -483,7 +491,7 @@ public class FishingHook extends Projectile {
|
|
|
|
if (this.hookedIn != null) {
|
|
// CraftBukkit start
|
|
- PlayerFishEvent playerFishEvent = new PlayerFishEvent((Player) entityhuman.getBukkitEntity(), this.hookedIn.getBukkitEntity(), (FishHook) this.getBukkitEntity(), PlayerFishEvent.State.CAUGHT_ENTITY);
|
|
+ PlayerFishEvent playerFishEvent = new PlayerFishEvent((Player) entityhuman.getBukkitEntity(), this.hookedIn.getBukkitEntity(), (FishHook) this.getBukkitEntity(), org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(hand), PlayerFishEvent.State.CAUGHT_ENTITY); // Paper - Add hand parameter to PlayerFishEvent
|
|
this.level().getCraftServer().getPluginManager().callEvent(playerFishEvent);
|
|
|
|
if (playerFishEvent.isCancelled()) {
|
|
@@ -512,7 +520,7 @@ public class FishingHook extends Projectile {
|
|
}
|
|
// Paper end
|
|
// CraftBukkit start
|
|
- PlayerFishEvent playerFishEvent = new PlayerFishEvent((Player) entityhuman.getBukkitEntity(), entityitem != null ? entityitem.getBukkitEntity() : null, (FishHook) this.getBukkitEntity(), PlayerFishEvent.State.CAUGHT_FISH); // Paper - entityitem may be null
|
|
+ PlayerFishEvent playerFishEvent = new PlayerFishEvent((Player) entityhuman.getBukkitEntity(), entityitem != null ? entityitem.getBukkitEntity() : null, (FishHook) this.getBukkitEntity(), org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(hand), PlayerFishEvent.State.CAUGHT_FISH); // Paper - entityitem may be null // Paper - Add hand parameter to PlayerFishEvent
|
|
playerFishEvent.setExpToDrop(this.random.nextInt(6) + 1);
|
|
this.level().getCraftServer().getPluginManager().callEvent(playerFishEvent);
|
|
|
|
@@ -546,7 +554,7 @@ public class FishingHook extends Projectile {
|
|
|
|
if (this.onGround()) {
|
|
// CraftBukkit start
|
|
- PlayerFishEvent playerFishEvent = new PlayerFishEvent((Player) entityhuman.getBukkitEntity(), null, (FishHook) this.getBukkitEntity(), PlayerFishEvent.State.IN_GROUND);
|
|
+ PlayerFishEvent playerFishEvent = new PlayerFishEvent((Player) entityhuman.getBukkitEntity(), null, (FishHook) this.getBukkitEntity(), org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(hand), PlayerFishEvent.State.IN_GROUND); // Paper - Add hand parameter to PlayerFishEvent
|
|
this.level().getCraftServer().getPluginManager().callEvent(playerFishEvent);
|
|
|
|
if (playerFishEvent.isCancelled()) {
|
|
@@ -557,7 +565,7 @@ public class FishingHook extends Projectile {
|
|
}
|
|
// CraftBukkit start
|
|
if (i == 0) {
|
|
- PlayerFishEvent playerFishEvent = new PlayerFishEvent((Player) entityhuman.getBukkitEntity(), null, (FishHook) this.getBukkitEntity(), PlayerFishEvent.State.REEL_IN);
|
|
+ PlayerFishEvent playerFishEvent = new PlayerFishEvent((Player) entityhuman.getBukkitEntity(), null, (FishHook) this.getBukkitEntity(), org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(hand), PlayerFishEvent.State.REEL_IN); // Paper - Add hand parameter to PlayerFishEvent
|
|
this.level().getCraftServer().getPluginManager().callEvent(playerFishEvent);
|
|
if (playerFishEvent.isCancelled()) {
|
|
return 0;
|
|
diff --git a/src/main/java/net/minecraft/world/item/FishingRodItem.java b/src/main/java/net/minecraft/world/item/FishingRodItem.java
|
|
index b9aca584c9765e995d1f8b9b2e45e5257fb6ab9d..95144f0ea5e99285c0a82b9d2e60766b785a236d 100644
|
|
--- a/src/main/java/net/minecraft/world/item/FishingRodItem.java
|
|
+++ b/src/main/java/net/minecraft/world/item/FishingRodItem.java
|
|
@@ -29,7 +29,7 @@ public class FishingRodItem extends Item implements Vanishable {
|
|
|
|
if (user.fishing != null) {
|
|
if (!world.isClientSide) {
|
|
- i = user.fishing.retrieve(itemstack);
|
|
+ i = user.fishing.retrieve(hand, itemstack); // Paper - Add hand parameter to PlayerFishEvent
|
|
itemstack.hurtAndBreak(i, user, (entityhuman1) -> {
|
|
entityhuman1.broadcastBreakEvent(hand);
|
|
});
|