From 518fcfca97266b1ff1067fa79dad581da24bbb2a Mon Sep 17 00:00:00 2001 From: TomTheFurry Date: Sun, 1 May 2022 16:18:43 +0800 Subject: [PATCH] Fixed the mob spawner failure message by adding whitelist to spawner block entity --- .../mimicObject/LightedWorldGenRegion.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/mimicObject/LightedWorldGenRegion.java b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/mimicObject/LightedWorldGenRegion.java index d66a1cf14..f968d909e 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/mimicObject/LightedWorldGenRegion.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/mimicObject/LightedWorldGenRegion.java @@ -24,6 +24,9 @@ import java.util.List; import com.seibel.lod.core.api.internal.InternalApiShared; import com.seibel.lod.core.logging.DhLoggerBuilder; +import net.minecraft.world.level.block.EntityBlock; +import net.minecraft.world.level.block.SpawnerBlock; +import net.minecraft.world.level.block.entity.SpawnerBlockEntity; import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.Nullable; @@ -164,7 +167,12 @@ public class LightedWorldGenRegion extends WorldGenRegion // Skip BlockEntity stuff. It aren't really needed @Override public BlockEntity getBlockEntity(BlockPos blockPos) { - return null; + BlockState blockState = this.getBlockState(blockPos); + if (!blockState.hasBlockEntity()) return null; + if (blockState.getBlock() instanceof SpawnerBlock) { + // This is a bypass for the spawner block since MC complains about not having it + return ((EntityBlock) blockState.getBlock()).newBlockEntity(blockPos, blockState); + } else return null; } // Skip BlockEntity stuff. It aren't really needed