mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-12 04:06:52 +01:00
6e71f41536
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 CraftBukkit Changes: 65247583f SPIGOT-7857: Improve ItemMeta block data deserialization 05d80500d SPIGOT-7857: Fix spurious internal NBT tag when deserializing BlockStateMeta cebb58e9a SPIGOT-7804: Fix written book serialization efcdd5d38 SPIGOT-7794: Cancelling InventoryItemMoveEvent destroys items b568ba572 SPIGOT-7789: Fix NPE in CraftMetaFirework applyToItem f057cf449 Remove outdated build delay Spigot Changes: f6a48054 SPIGOT-7835: Fix issue with custom hopper settings bb63b137 Rebuild patches e1142b4d Rebuild patches
76 lines
5.4 KiB
Diff
76 lines
5.4 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 e603307871b623ce437f4b1b68ab306fbdd9919d..9962d50ea342cd47428a814519b2d54f547753a4 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
|
@@ -481,7 +481,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)) {
|
|
@@ -489,7 +497,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()) {
|
|
@@ -518,7 +526,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);
|
|
|
|
@@ -552,7 +560,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()) {
|
|
@@ -563,7 +571,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 87e1f74c3d37c9dd23350c9cbc190252e8cb88cd..fd71efd124e54168e6f9b35b1a5ab836141ab2d2 100644
|
|
--- a/src/main/java/net/minecraft/world/item/FishingRodItem.java
|
|
+++ b/src/main/java/net/minecraft/world/item/FishingRodItem.java
|
|
@@ -30,7 +30,7 @@ public class FishingRodItem extends Item {
|
|
|
|
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, LivingEntity.getSlotForHand(hand));
|
|
}
|
|
|