From 873558752982ab6c0666b1df843f7c402b0a71e7 Mon Sep 17 00:00:00 2001 From: prplz Date: Mon, 16 Sep 2019 13:12:17 +1000 Subject: [PATCH] Fix nether portal frame creation (#2546) --- .../0416-Fix-nether-portal-creation.patch | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Spigot-Server-Patches/0416-Fix-nether-portal-creation.patch diff --git a/Spigot-Server-Patches/0416-Fix-nether-portal-creation.patch b/Spigot-Server-Patches/0416-Fix-nether-portal-creation.patch new file mode 100644 index 000000000..da0e5cf07 --- /dev/null +++ b/Spigot-Server-Patches/0416-Fix-nether-portal-creation.patch @@ -0,0 +1,25 @@ +From 7c8a99570d2da9d5839045ba2d0e35eb44c74171 Mon Sep 17 00:00:00 2001 +From: Michael Himing +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 88fbfc01b..f66f8b323 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.23.0.windows.1 +