diff --git a/src/main/java/appeng/worldgen/meteorite/MeteoriteSpawnData.java b/src/main/java/appeng/worldgen/meteorite/MeteoriteSpawnData.java index 52a8e4205..caa3eaf26 100644 --- a/src/main/java/appeng/worldgen/meteorite/MeteoriteSpawnData.java +++ b/src/main/java/appeng/worldgen/meteorite/MeteoriteSpawnData.java @@ -16,7 +16,6 @@ import net.minecraft.world.storage.WorldSavedData; import net.minecraftforge.fml.server.ServerLifecycleHooks; import it.unimi.dsi.fastutil.longs.LongOpenHashSet; -import it.unimi.dsi.fastutil.longs.LongSet; /** * This is per-world data to track where Meteorites have been spawned. diff --git a/src/main/java/appeng/worldgen/meteorite/MeteoriteSpawner.java b/src/main/java/appeng/worldgen/meteorite/MeteoriteSpawner.java index 4c1e1269f..f2b96a6b6 100644 --- a/src/main/java/appeng/worldgen/meteorite/MeteoriteSpawner.java +++ b/src/main/java/appeng/worldgen/meteorite/MeteoriteSpawner.java @@ -22,7 +22,6 @@ import javax.annotation.Nullable; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; -import net.minecraft.block.material.Material; import net.minecraft.tags.BlockTags; import net.minecraft.tags.Tag; import net.minecraft.util.ResourceLocation; @@ -47,15 +46,16 @@ public class MeteoriteSpawner { "meteorite/invalid_spawn"); private final Tag validSpawnTag; - private final Tag invalidSpawnTag; private final Tag sandTag; + private final Tag terracottaTag; public MeteoriteSpawner() { this.validSpawnTag = BlockTags.getCollection().getOrCreate(TAG_VALID_SPAWN); this.invalidSpawnTag = BlockTags.getCollection().getOrCreate(TAG_INVALID_SPAWN); this.sandTag = BlockTags.getCollection().getOrCreate(new ResourceLocation("minecraft:sand")); + this.terracottaTag = BlockTags.getCollection().getOrCreate(new ResourceLocation("forge:terracotta")); } public PlacedMeteoriteSettings trySpawnMeteoriteAtSuitableHeight(IWorldReader world, BlockPos startPos, @@ -184,12 +184,14 @@ public class MeteoriteSpawner { } private FalloutMode getFalloutFromBaseBlock(BlockState blockState) { - if (blockState.getBlock().isIn(sandTag)) { + final Block block = blockState.getBlock(); + + if (block.isIn(sandTag)) { return FalloutMode.SAND; - } else if (blockState.getBlock() == Blocks.TERRACOTTA) { + } else if (block.isIn(terracottaTag)) { return FalloutMode.TERRACOTTA; - } else if (blockState.getMaterial() == Material.SNOW || blockState.getMaterial() == Material.SNOW_BLOCK - || blockState.getMaterial() == Material.ICE || blockState.getMaterial() == Material.PACKED_ICE) { + } else if (block == Blocks.SNOW || block == Blocks.SNOW || block == Blocks.SNOW_BLOCK || block == Blocks.ICE + || block == Blocks.PACKED_ICE) { return FalloutMode.ICE_SNOW; } else { return FalloutMode.DEFAULT; diff --git a/src/main/java/appeng/worldgen/meteorite/fallout/Fallout.java b/src/main/java/appeng/worldgen/meteorite/fallout/Fallout.java index df3657264..2d4eae515 100644 --- a/src/main/java/appeng/worldgen/meteorite/fallout/Fallout.java +++ b/src/main/java/appeng/worldgen/meteorite/fallout/Fallout.java @@ -23,7 +23,6 @@ import net.minecraft.block.Blocks; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IWorld; -import appeng.util.Platform; import appeng.worldgen.meteorite.MeteoriteBlockPutter; public class Fallout { diff --git a/src/main/java/appeng/worldgen/meteorite/fallout/FalloutCopy.java b/src/main/java/appeng/worldgen/meteorite/fallout/FalloutCopy.java index 7026d50a6..5a4fe0843 100644 --- a/src/main/java/appeng/worldgen/meteorite/fallout/FalloutCopy.java +++ b/src/main/java/appeng/worldgen/meteorite/fallout/FalloutCopy.java @@ -36,7 +36,7 @@ public class FalloutCopy extends Fallout { public FalloutCopy(final IWorld w, BlockPos pos, final MeteoriteBlockPutter putter, final BlockState skyStone) { super(putter, skyStone); this.putter = putter; - this.block = w.getBlockState(pos); + this.block = w.getBiome(pos).getSurfaceBuilderConfig().getTop(); } @Override diff --git a/src/main/resources/data/forge/tags/blocks/terracotta.json b/src/main/resources/data/forge/tags/blocks/terracotta.json new file mode 100644 index 000000000..865d32777 --- /dev/null +++ b/src/main/resources/data/forge/tags/blocks/terracotta.json @@ -0,0 +1,22 @@ +{ + "replace": false, + "values": [ + "minecraft:terracotta", + "minecraft:white_terracotta", + "minecraft:orange_terracotta", + "minecraft:magenta_terracotta", + "minecraft:light_blue_terracotta", + "minecraft:yellow_terracotta", + "minecraft:lime_terracotta", + "minecraft:pink_terracotta", + "minecraft:gray_terracotta", + "minecraft:light_gray_terracotta", + "minecraft:cyan_terracotta", + "minecraft:purple_terracotta", + "minecraft:blue_terracotta", + "minecraft:brown_terracotta", + "minecraft:green_terracotta", + "minecraft:red_terracotta", + "minecraft:black_terracotta" + ] +}