diff --git a/src/main/java/com/hbm/main/StructureManager.java b/src/main/java/com/hbm/main/StructureManager.java index 82c6e47d1..3e16f4011 100644 --- a/src/main/java/com/hbm/main/StructureManager.java +++ b/src/main/java/com/hbm/main/StructureManager.java @@ -60,6 +60,9 @@ public class StructureManager { public static final NBTStructure beached_patrol = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/beached_patrol.nbt")); public static final NBTStructure lighthouse = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/lighthouse.nbt")); public static final NBTStructure dish = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/dish.nbt")); + public static final NBTStructure desert_shack_1 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/desert_shack_1.nbt")); + public static final NBTStructure desert_shack_2 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/desert_shack_2.nbt")); + public static final NBTStructure desert_shack_3 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/desert_shack_3.nbt")); public static final NBTStructure laboratory = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/laboratory.nbt")); public static final NBTStructure radio_house = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/radio_house.nbt")); @@ -77,6 +80,8 @@ public class StructureManager { public static final NBTStructure forest_post = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/forest_post.nbt")); public static final NBTStructure forest_chem = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/forest_chem.nbt")); + public static final NBTStructure plane1 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crashed_plane_1.nbt")); + public static final NBTStructure plane2 = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/crashed_plane_2.nbt")); public static final NBTStructure spire = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/spire.nbt")); diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index 5060d3e61..9bd8954da 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -117,6 +117,36 @@ public class NTMWorldGenerator implements IWorldGenerator { structure = new JigsawPiece("forest_chem", StructureManager.forest_chem, -9); spawnWeight = 50; }}); + NBTStructure.registerStructure(0, new SpawnCondition("plane1") {{ + canSpawn = biome -> biome == BiomeGenBase.forest || biome == BiomeGenBase.plains; + structure = new JigsawPiece("crashed_plane_1", StructureManager.plane1, -5); + spawnWeight = 50; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition("plane2") {{ + canSpawn = biome -> biome == BiomeGenBase.forest || biome == BiomeGenBase.plains; + structure = new JigsawPiece("crashed_plane_2", StructureManager.plane2, -8); + spawnWeight = 50; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition("desert_shack_1") {{ + canSpawn = biome -> biome == BiomeGenBase.desert; + structure = new JigsawPiece("desert_shack_1", StructureManager.desert_shack_1, -7); + spawnWeight = 20; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition("desert_shack_2") {{ + canSpawn = biome -> biome == BiomeGenBase.desert; + structure = new JigsawPiece("desert_shack_2", StructureManager.desert_shack_2, -7); + spawnWeight = 25; + }}); + + NBTStructure.registerStructure(0, new SpawnCondition("desert_shack_3") {{ + canSpawn = biome -> biome == BiomeGenBase.desert; + structure = new JigsawPiece("desert_shack_3", StructureManager.desert_shack_3, -5); + spawnWeight = 30; + }}); + NBTStructure.registerStructure(0, new SpawnCondition("labolatory") {{ canSpawn = biome -> biome == BiomeGenBase.plains; structure = new JigsawPiece("laboratory", StructureManager.laboratory, -10); @@ -129,7 +159,6 @@ public class NTMWorldGenerator implements IWorldGenerator { spawnWeight = 40; }}); - NBTStructure.registerNullWeight(0, 4, oceanBiomes::contains); NBTStructure.registerStructure(0, new SpawnCondition("ruin1") {{ canSpawn = biome -> !invalidBiomes.contains(biome) && biome.canSpawnLightningBolt(); structure = new JigsawPiece("NTMRuinsA", StructureManager.ntmruinsA, -1) {{conformToTerrain = true;}}; diff --git a/src/main/resources/assets/hbm/structures/crashed_plane_1.nbt b/src/main/resources/assets/hbm/structures/crashed_plane_1.nbt new file mode 100644 index 000000000..831b9e543 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/crashed_plane_1.nbt differ diff --git a/src/main/resources/assets/hbm/structures/crashed_plane_2.nbt b/src/main/resources/assets/hbm/structures/crashed_plane_2.nbt new file mode 100644 index 000000000..6902ccbf6 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/crashed_plane_2.nbt differ diff --git a/src/main/resources/assets/hbm/structures/desert_shack_1.nbt b/src/main/resources/assets/hbm/structures/desert_shack_1.nbt new file mode 100644 index 000000000..0161e28dc Binary files /dev/null and b/src/main/resources/assets/hbm/structures/desert_shack_1.nbt differ diff --git a/src/main/resources/assets/hbm/structures/desert_shack_2.nbt b/src/main/resources/assets/hbm/structures/desert_shack_2.nbt new file mode 100644 index 000000000..8313a255a Binary files /dev/null and b/src/main/resources/assets/hbm/structures/desert_shack_2.nbt differ diff --git a/src/main/resources/assets/hbm/structures/desert_shack_3.nbt b/src/main/resources/assets/hbm/structures/desert_shack_3.nbt new file mode 100644 index 000000000..a435c6e85 Binary files /dev/null and b/src/main/resources/assets/hbm/structures/desert_shack_3.nbt differ