2020-05-06 11:48:49 +02:00
|
|
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
2019-09-16 05:12:17 +02:00
|
|
|
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
|
2020-05-06 11:48:49 +02:00
|
|
|
index 60330f753fcbdef679a9444c3888f1656b2fa344..c22dbbfbe8b16d4c2f1df1f9efd3b06e330ac909 100644
|
2019-09-16 05:12:17 +02:00
|
|
|
--- 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);
|