Backport changes

This commit is contained in:
Alexander Söderberg 2020-04-21 23:58:14 +02:00
parent 8a19c4c38c
commit c478dbd249
No known key found for this signature in database
GPG Key ID: C0207FF7EA146678
2 changed files with 6 additions and 6 deletions

View File

@ -33,6 +33,7 @@ import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.HashMap;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
@ -230,7 +231,7 @@ public class BukkitGetBlocks_1_14 extends CharGetBlocks {
// Remove existing tiles // Remove existing tiles
{ {
Map<BlockPosition, TileEntity> tiles = nmsChunk.getTileEntities(); Map<BlockPosition, TileEntity> tiles = new HashMap<>(nmsChunk.getTileEntities());
if (!tiles.isEmpty()) { if (!tiles.isEmpty()) {
for (Map.Entry<BlockPosition, TileEntity> entry : tiles.entrySet()) { for (Map.Entry<BlockPosition, TileEntity> entry : tiles.entrySet()) {
final BlockPosition pos = entry.getKey(); final BlockPosition pos = entry.getKey();
@ -243,8 +244,7 @@ public class BukkitGetBlocks_1_14 extends CharGetBlocks {
} }
if (set.getBlock(lx, ly, lz).getOrdinal() != 0) { if (set.getBlock(lx, ly, lz).getOrdinal() != 0) {
TileEntity tile = entry.getValue(); TileEntity tile = entry.getValue();
tile.n(); nmsChunk.removeTileEntity(tile.getPosition());
tile.invalidateBlockCache();
} }
} }
} }

View File

@ -33,6 +33,7 @@ import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.HashMap;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
@ -238,7 +239,7 @@ public class BukkitGetBlocks_1_15 extends CharGetBlocks {
// Remove existing tiles // Remove existing tiles
{ {
Map<BlockPosition, TileEntity> tiles = nmsChunk.getTileEntities(); Map<BlockPosition, TileEntity> tiles = new HashMap<>(nmsChunk.getTileEntities());
if (!tiles.isEmpty()) { if (!tiles.isEmpty()) {
for (Map.Entry<BlockPosition, TileEntity> entry : tiles.entrySet()) { for (Map.Entry<BlockPosition, TileEntity> entry : tiles.entrySet()) {
final BlockPosition pos = entry.getKey(); final BlockPosition pos = entry.getKey();
@ -251,8 +252,7 @@ public class BukkitGetBlocks_1_15 extends CharGetBlocks {
} }
if (set.getBlock(lx, ly, lz).getOrdinal() != 0) { if (set.getBlock(lx, ly, lz).getOrdinal() != 0) {
TileEntity tile = entry.getValue(); TileEntity tile = entry.getValue();
tile.hasWorld(); nmsChunk.removeTileEntity(tile.getPosition());
tile.invalidateBlockCache();
} }
} }
} }