Skip to content

Commit

Permalink
Broadcast take item packets with collector as source (#9884)
Browse files Browse the repository at this point in the history
This fixes players (which can't view the collector) seeing item pickups with themselves as the target.
  • Loading branch information
booky10 authored Nov 4, 2023
1 parent 23860da commit 75d04e9
Showing 1 changed file with 20 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: booky10 <boooky10@gmail.com>
Date: Sun, 29 Oct 2023 02:36:10 +0100
Subject: [PATCH] Broadcast take item packets with collector as source

This fixes players (which can't view the collector) seeing item pickups with themselves as the target.

diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 675d695989cef5d8fc2e85673efbb57ec1bb38bd..a76eb3d051db0229ed088b71c92ff3f131449007 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3701,7 +3701,7 @@ public abstract class LivingEntity extends Entity implements Attackable {

public void take(Entity item, int count) {
if (!item.isRemoved() && !this.level().isClientSide && (item instanceof ItemEntity || item instanceof AbstractArrow || item instanceof ExperienceOrb)) {
- ((ServerLevel) this.level()).getChunkSource().broadcast(item, new ClientboundTakeItemEntityPacket(item.getId(), this.getId(), count));
+ ((ServerLevel) this.level()).getChunkSource().broadcastAndSend(this, new ClientboundTakeItemEntityPacket(item.getId(), this.getId(), count)); // Paper - broadcast with collector as source
}

}

0 comments on commit 75d04e9

Please sign in to comment.