Fixed reading in schematics failing if they had tile entity data because of a Spigot change.

This commit is contained in:
Matthew Miller 2018-08-06 17:57:40 +10:00
parent 1d9546f9c7
commit d11c3ae600

View File

@ -21,6 +21,7 @@ package com.sk89q.worldedit.extent.clipboard.io;
import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkNotNull;
import com.google.common.collect.Maps;
import com.sk89q.jnbt.ByteArrayTag; import com.sk89q.jnbt.ByteArrayTag;
import com.sk89q.jnbt.CompoundTag; import com.sk89q.jnbt.CompoundTag;
import com.sk89q.jnbt.IntArrayTag; import com.sk89q.jnbt.IntArrayTag;
@ -196,7 +197,7 @@ public class SpongeSchematicReader extends NBTSchematicReader {
BlockVector pt = new BlockVector(x, y, z); BlockVector pt = new BlockVector(x, y, z);
try { try {
if (tileEntitiesMap.containsKey(pt)) { if (tileEntitiesMap.containsKey(pt)) {
Map<String, Tag> values = tileEntitiesMap.get(pt); Map<String, Tag> values = Maps.newHashMap(tileEntitiesMap.get(pt));
for (NBTCompatibilityHandler handler : COMPATIBILITY_HANDLERS) { for (NBTCompatibilityHandler handler : COMPATIBILITY_HANDLERS) {
if (handler.isAffectedBlock(state)) { if (handler.isAffectedBlock(state)) {
handler.updateNBT(state, values); handler.updateNBT(state, values);