Skip to content

Commit e8935e7

Browse files
Merge pull request #419 from IPECTER/main
Fix StealthSnatch sendCollected Method
2 parents c40a609 + 674e982 commit e8935e7

File tree

1 file changed

+5
-14
lines changed

1 file changed

+5
-14
lines changed

src/main/java/com/volmit/adapt/content/adaptation/stealth/StealthSnatch.java

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
import com.volmit.adapt.api.adaptation.SimpleAdaptation;
2323
import com.volmit.adapt.util.*;
2424
import lombok.NoArgsConstructor;
25+
import net.minecraft.network.protocol.game.PacketPlayOutCollect;
2526
import org.bukkit.Bukkit;
2627
import org.bukkit.Material;
2728
import org.bukkit.Sound;
29+
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
2830
import org.bukkit.entity.Entity;
2931
import org.bukkit.entity.Item;
3032
import org.bukkit.entity.Player;
@@ -116,20 +118,9 @@ private double getRange(double factor) {
116118

117119
public void sendCollected(Player plr, Item item) {
118120
try {
119-
String nmstag = Bukkit.getServer().getClass().getCanonicalName().split("\\Q.\\E")[3];
120-
Class<?> c = Class.forName("net.minecraft.server." + nmstag + ".PacketPlayOutCollect");
121-
Class<?> p = Class.forName("net.minecraft.server." + nmstag + ".EntityPlayer");
122-
Class<?> pk = Class.forName("net.minecraft.server." + nmstag + ".Packet");
123-
Object v = c.getConstructor().newInstance();
124-
new V(v).set("a", item.getEntityId());
125-
new V(v).set("b", plr.getEntityId());
126-
new V(v).set("c", item.getItemStack().getAmount());
127-
128-
for (Entity i : plr.getWorld().getNearbyEntities(plr.getLocation(), 8, 8, 8)) {
129-
if (i instanceof Player) {
130-
Object pconnect = new V(new V(i).invoke("getHandle")).get("playerConnection");
131-
pconnect.getClass().getMethod("sendPacket", pk).invoke(pconnect, v);
132-
}
121+
PacketPlayOutCollect packet = new PacketPlayOutCollect(item.getEntityId(), plr.getEntityId(), item.getItemStack().getAmount());
122+
for (Entity i : plr.getWorld().getNearbyEntities(plr.getLocation(), 8, 8, 8, entity -> entity instanceof Player player)) {
123+
((CraftPlayer) i).getHandle().b.a(packet);
133124
}
134125
} catch (Exception e) {
135126
Adapt.error("Failed to send collected packet");

0 commit comments

Comments
 (0)