bffb08c2f9
The Paper method was chosen for deprecation because it was more restrictive in that it has an isGliding check.
26 Zeilen
1.3 KiB
Diff
26 Zeilen
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jason Penilla <11360596+jpenilla@users.noreply.github.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 3f6e0319c1580dface0a175ebb93321ae4f45a35..9b56415f1a03423f29822839ce27bbdf33bb91d5 100644
|
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
@@ -585,6 +585,14 @@ public abstract class PlayerList {
|
|
PlayerList.LOGGER.debug("Removing player mount");
|
|
entityplayer.stopRiding();
|
|
entity.getPassengersAndSelf().forEach((entity1) -> {
|
|
+ // Paper start
|
|
+ if (entity1 instanceof net.minecraft.world.entity.npc.AbstractVillager villager) {
|
|
+ final net.minecraft.world.entity.player.Player human = villager.getTradingPlayer();
|
|
+ if (human != null) {
|
|
+ villager.setTradingPlayer(null);
|
|
+ }
|
|
+ }
|
|
+ // Paper end
|
|
entity1.setRemoved(Entity.RemovalReason.UNLOADED_WITH_PLAYER);
|
|
});
|
|
}
|