Start working on 1.19.4
This commit is contained in:
		
					parent
					
						
							
								627c3d4475
							
						
					
				
			
			
				commit
				
					
						08ab8edb76
					
				
			
		
					 1390 changed files with 29 additions and 53 deletions
				
			
		| 
						 | 
				
			
			@ -0,0 +1,57 @@
 | 
			
		|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: SamB440 <sam@islandearth.net>
 | 
			
		||||
Date: Mon, 15 Nov 2021 18:10:10 +0000
 | 
			
		||||
Subject: [PATCH] Add PlayerItemFrameChangeEvent
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
 | 
			
		||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | 
			
		||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
 | 
			
		||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
 | 
			
		||||
@@ -0,0 +0,0 @@ package net.minecraft.world.entity.decoration;
 | 
			
		||||
 import com.mojang.logging.LogUtils;
 | 
			
		||||
 import java.util.OptionalInt;
 | 
			
		||||
 import javax.annotation.Nullable;
 | 
			
		||||
+import io.papermc.paper.event.player.PlayerItemFrameChangeEvent; // Paper
 | 
			
		||||
 import net.minecraft.core.BlockPos;
 | 
			
		||||
 import net.minecraft.core.Direction;
 | 
			
		||||
 import net.minecraft.nbt.CompoundTag;
 | 
			
		||||
@@ -0,0 +0,0 @@ public class ItemFrame extends HangingEntity {
 | 
			
		||||
                     return true;
 | 
			
		||||
                 }
 | 
			
		||||
                 // CraftBukkit end
 | 
			
		||||
+                // Paper start - call PlayerItemFrameChangeEvent
 | 
			
		||||
+                if (source.getEntity() instanceof Player player) {
 | 
			
		||||
+                    var event = new PlayerItemFrameChangeEvent((org.bukkit.entity.Player) player.getBukkitEntity(), (org.bukkit.entity.ItemFrame) this.getBukkitEntity(), this.getItem().asBukkitCopy(), PlayerItemFrameChangeEvent.ItemFrameChangeAction.REMOVE);
 | 
			
		||||
+                    if (!event.callEvent()) return true; // return true here because you aren't cancelling the damage, just the change
 | 
			
		||||
+                    this.setItem(ItemStack.fromBukkitCopy(event.getItemStack()), false);
 | 
			
		||||
+                }
 | 
			
		||||
+                // Paper end
 | 
			
		||||
                 this.dropItem(source.getEntity(), false);
 | 
			
		||||
                 this.playSound(this.getRemoveItemSound(), 1.0F, 1.0F);
 | 
			
		||||
             }
 | 
			
		||||
@@ -0,0 +0,0 @@ public class ItemFrame extends HangingEntity {
 | 
			
		||||
                             return InteractionResult.FAIL;
 | 
			
		||||
                         }
 | 
			
		||||
                     }
 | 
			
		||||
-
 | 
			
		||||
-                    this.setItem(itemstack);
 | 
			
		||||
+                    // Paper start - call PlayerItemFrameChangeEvent
 | 
			
		||||
+                    var event = new PlayerItemFrameChangeEvent((org.bukkit.entity.Player) player.getBukkitEntity(), (org.bukkit.entity.ItemFrame) this.getBukkitEntity(), itemstack.asBukkitCopy(), PlayerItemFrameChangeEvent.ItemFrameChangeAction.PLACE);
 | 
			
		||||
+                    if (!event.callEvent()) return InteractionResult.FAIL;
 | 
			
		||||
+                    this.setItem(ItemStack.fromBukkitCopy(event.getItemStack()));
 | 
			
		||||
+                    // this.setItem(itemstack);
 | 
			
		||||
+                    // Paper end
 | 
			
		||||
                     if (!player.getAbilities().instabuild) {
 | 
			
		||||
                         itemstack.shrink(1);
 | 
			
		||||
                     }
 | 
			
		||||
                 }
 | 
			
		||||
             } else {
 | 
			
		||||
+                // Paper start - call PlayerItemFrameChangeEvent
 | 
			
		||||
+                var event = new PlayerItemFrameChangeEvent((org.bukkit.entity.Player) player.getBukkitEntity(), (org.bukkit.entity.ItemFrame) this.getBukkitEntity(), this.getItem().asBukkitCopy(), PlayerItemFrameChangeEvent.ItemFrameChangeAction.ROTATE);
 | 
			
		||||
+                if (!event.callEvent()) return InteractionResult.FAIL;
 | 
			
		||||
+                setItem(ItemStack.fromBukkitCopy(event.getItemStack()), false, false);
 | 
			
		||||
+                // Paper end
 | 
			
		||||
                 this.playSound(this.getRotateItemSound(), 1.0F, 1.0F);
 | 
			
		||||
                 this.setRotation(this.getRotation() + 1);
 | 
			
		||||
             }
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue