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: 6b8cd9a7 SPIGOT-6207: forcibly drop the items of a converted zombie villager
35 lines
1.7 KiB
Diff
35 lines
1.7 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/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
index a7ca1dbebf30262d7c526f96b7a45482b1f898f4..0757cfcb96778258ba2593756e4ca9cbb16e2f87 100644
|
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
@@ -77,6 +77,7 @@ import net.minecraft.util.MathHelper;
|
|
import net.minecraft.world.effect.MobEffect;
|
|
import net.minecraft.world.entity.Entity;
|
|
import net.minecraft.world.entity.EntityTypes;
|
|
+import net.minecraft.world.entity.npc.EntityVillagerAbstract;
|
|
import net.minecraft.world.entity.player.EntityHuman;
|
|
import net.minecraft.world.level.ChunkCoordIntPair;
|
|
import net.minecraft.world.level.EnumGamemode;
|
|
@@ -621,6 +622,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);
|
|
}
|
|
|