Paper/Spigot-Server-Patches/0647-Fix-villager-boat-exploit.patch
Shane Freeder e886d8118e
Updated Upstream ()
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
2021-02-06 00:00:18 +00:00

27 lines
1.3 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: jmp <jasonpenilla2@me.com>
Date: Mon, 11 Jan 2021 12:43:51 -0800
Subject: [PATCH] Fix villager boat exploit
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 70f702680f8221cb262023814a7bae21b0074da6..4bc9b3b08b42becfd66f39cb0d639bdcae18d45c 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -540,6 +540,15 @@ public abstract class PlayerList {
for (Iterator iterator = entity.getAllPassengers().iterator(); iterator.hasNext(); entity1.dead = true) {
entity1 = (Entity) iterator.next();
+ // Paper start
+ if (entity1 instanceof EntityVillagerAbstract) {
+ final EntityVillagerAbstract villager = (EntityVillagerAbstract) entity1;
+ final EntityHuman human = villager.getTrader();
+ if (human != null) {
+ villager.setTradingPlayer(null);
+ }
+ }
+ // Paper end
worldserver.removeEntity(entity1);
}