From f3653d6b1570717aa0ce5d140e6027eaa8470216 Mon Sep 17 00:00:00 2001 From: grimmauld Date: Mon, 21 Dec 2020 09:28:41 +0100 Subject: [PATCH] Fix TE creation assuming other mods don't crash with SchematicWorld instances (#565) --- .../create/content/schematics/SchematicWorld.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/schematics/SchematicWorld.java b/src/main/java/com/simibubi/create/content/schematics/SchematicWorld.java index 4aa3cdbe4..4a445a13f 100644 --- a/src/main/java/com/simibubi/create/content/schematics/SchematicWorld.java +++ b/src/main/java/com/simibubi/create/content/schematics/SchematicWorld.java @@ -8,6 +8,7 @@ import java.util.Map; import java.util.Set; import java.util.function.Predicate; +import com.simibubi.create.Create; import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld; import net.minecraft.block.Block; @@ -86,12 +87,16 @@ public class SchematicWorld extends WrappedWorld { BlockState blockState = getBlockState(pos); if (blockState.hasTileEntity()) { - TileEntity tileEntity = blockState.createTileEntity(this); - if (tileEntity != null) { - tileEntity.setLocation(this, pos); - tileEntities.put(pos, tileEntity); + try { + TileEntity tileEntity = blockState.createTileEntity(this); + if (tileEntity != null) { + tileEntity.setLocation(this, pos); + tileEntities.put(pos, tileEntity); + } + return tileEntity; + } catch (Exception e) { + Create.logger.debug("Could not create TE of block " + blockState + ": " + e); } - return tileEntity; } return null; }