Paper/Spigot-Server-Patches/0399-Fix-nether-portal-creation.patch
MiniDigger 44d032f1e9 Houston, we got a patch (#2731)
* Houston, we got a patch

* is this the end of the beginning or the beginning of the end
2019-12-12 16:20:43 +00:00

26 Zeilen
1.2 KiB
Diff

From d0f11a5cd0400709f143f80aafd4432f51bd5b06 Mon Sep 17 00:00:00 2001
From: Michael Himing <mhiming@gmail.com>
Date: Mon, 9 Sep 2019 13:21:17 +1000
Subject: [PATCH] Fix nether portal creation
diff --git a/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java b/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
index 60330f753..c22dbbfbe 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/BlockStateListPopulator.java
@@ -38,6 +38,11 @@ public class BlockStateListPopulator extends DummyGeneratorAccess {
@Override
public boolean setTypeAndData(BlockPosition position, IBlockData data, int flag) {
+ // Paper start
+ // When a LinkedHashMap entry is overwritten, it keeps its old position. Removing the entry here before adding
+ // a new one ensures that the nether portal blocks are placed last and are not destroyed by physics.
+ list.remove(position);
+ // Paper end
CraftBlockState state = CraftBlockState.getBlockState(world, position, flag);
state.setData(data);
list.put(position, state);
--
2.24.1