mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
Merge pull request #2399 from Lazzzycatwastaken/NTMRUINS1
Sludgening is beginning
This commit is contained in:
commit
be78cf3a43
@ -10,8 +10,8 @@ public class StructureConfig {
|
||||
|
||||
public static int enableStructures = 2;
|
||||
|
||||
public static int structureMinChunks = 8;
|
||||
public static int structureMaxChunks = 24;
|
||||
public static int structureMinChunks = 4;
|
||||
public static int structureMaxChunks = 12;
|
||||
|
||||
public static double lootAmountFactor = 1D;
|
||||
|
||||
@ -25,15 +25,15 @@ public class StructureConfig {
|
||||
|
||||
enableStructures = CommonConfig.parseStructureFlag(unparsedStructureFlag);
|
||||
|
||||
structureMinChunks = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.01_structureMinChunks", "Minimum non-zero distance between structures in chunks (Settings lower than 8 may be problematic).", 8);
|
||||
structureMaxChunks = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.02_structureMaxChunks", "Maximum non-zero distance between structures in chunks.", 24);
|
||||
structureMinChunks = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.01_structureMinChunks", "Minimum non-zero distance between structures in chunks (Settings lower than 8 may be problematic).", 4);
|
||||
structureMaxChunks = CommonConfig.createConfigInt(config, CATEGORY_STRUCTURES, "5.02_structureMaxChunks", "Maximum non-zero distance between structures in chunks.", 16);
|
||||
|
||||
lootAmountFactor = CommonConfig.createConfigDouble(config, CATEGORY_STRUCTURES, "5.03_lootAmountFactor", "General factor for loot spawns. Applies to spawned IInventories, not loot blocks.", 1D);
|
||||
|
||||
debugStructures = CommonConfig.createConfigBool(config, CATEGORY_STRUCTURES, "5.04_debugStructures", "If enabled, special structure blocks like jigsaw blocks will not be transformed after generating", false);
|
||||
|
||||
structureMinChunks = CommonConfig.setDef(structureMinChunks, 8);
|
||||
structureMaxChunks = CommonConfig.setDef(structureMaxChunks, 24);
|
||||
structureMinChunks = CommonConfig.setDef(structureMinChunks, 4);
|
||||
structureMaxChunks = CommonConfig.setDef(structureMaxChunks, 12);
|
||||
|
||||
if(structureMinChunks > structureMaxChunks) {
|
||||
MainRegistry.logger.error("Fatal error config: Minimum value has been set higher than the maximum value!");
|
||||
|
||||
@ -21,9 +21,10 @@ public class ItemPoolsPile {
|
||||
public static final String POOL_PILE_MAKESHIFT_PLATES = "POOL_PILE_MAKESHIFT_PLATES";
|
||||
public static final String POOL_PILE_MAKESHIFT_WIRE = "POOL_PILE_MAKESHIFT_WIRE";
|
||||
public static final String POOL_PILE_NUKE_STORAGE = "POOL_PILE_NUKE_STORAGE";
|
||||
|
||||
public static final String POOL_PILE_OF_GARBAGE = "POOL_PILE_OF_GARBAGE";
|
||||
|
||||
public static void init() {
|
||||
|
||||
|
||||
//items found in glyphid hives
|
||||
new ItemPool(POOL_PILE_HIVE) {{
|
||||
this.pool = new WeightedRandomChestContent[] {
|
||||
@ -56,7 +57,7 @@ public class ItemPoolsPile {
|
||||
weighted(Items.experience_bottle, 0, 1, 3, 5),
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
//items found in glyphid bone piles
|
||||
new ItemPool(POOL_PILE_BONES) {{
|
||||
this.pool = new WeightedRandomChestContent[] {
|
||||
@ -65,7 +66,7 @@ public class ItemPoolsPile {
|
||||
weighted(ModItems.biomass, 0, 1, 1, 2)
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
//bottlecap stashess
|
||||
new ItemPool(POOL_PILE_CAPS) {{
|
||||
this.pool = new WeightedRandomChestContent[] {
|
||||
@ -74,7 +75,7 @@ public class ItemPoolsPile {
|
||||
weighted(ModItems.cap_sparkle, 0, 4, 4, 1),
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
//medicine stashes
|
||||
new ItemPool(POOL_PILE_MED_SYRINGE) {{
|
||||
this.pool = new WeightedRandomChestContent[] {
|
||||
@ -91,13 +92,13 @@ public class ItemPoolsPile {
|
||||
weighted(ModItems.siox, 0, 1, 1, 5),
|
||||
};
|
||||
}};
|
||||
|
||||
|
||||
//makeshift gun
|
||||
new ItemPool(POOL_PILE_MAKESHIFT_GUN) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.gun_maresleg, 0, 1, 1, 10) }; }};
|
||||
new ItemPool(POOL_PILE_MAKESHIFT_WRENCH) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.wrench, 0, 1, 1, 10) }; }};
|
||||
new ItemPool(POOL_PILE_MAKESHIFT_PLATES) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.plate_steel, 0, 1, 1, 10) }; }};
|
||||
new ItemPool(POOL_PILE_MAKESHIFT_WIRE) {{ this.pool = new WeightedRandomChestContent[] { weighted(ModItems.wire_fine, Mats.MAT_ALUMINIUM.id, 1, 1, 10) }; }};
|
||||
|
||||
|
||||
new ItemPool(POOL_PILE_NUKE_STORAGE) {{
|
||||
this.pool = new WeightedRandomChestContent[] {
|
||||
weighted(ModItems.ammo_standard, EnumAmmo.NUKE_STANDARD.ordinal(), 1, 1, 50),
|
||||
@ -106,5 +107,34 @@ public class ItemPoolsPile {
|
||||
|
||||
};
|
||||
}};
|
||||
|
||||
new ItemPool(POOL_PILE_OF_GARBAGE) {{
|
||||
this.pool = new WeightedRandomChestContent[] {
|
||||
weighted(ModItems.pipe, 2600, 0, 2, 20),
|
||||
weighted(ModItems.scrap, 0, 1, 5, 20),
|
||||
weighted(ModItems.wire_fine, 8200, 1, 2, 20),
|
||||
weighted(ModItems.dust, 0, 1, 3, 40),
|
||||
weighted(ModItems.dust_tiny, 0, 1, 7, 40),
|
||||
weighted(ModItems.powder_cement, 0, 1, 6, 40),
|
||||
weighted(ModItems.nugget_lead, 0, 0, 3, 20),
|
||||
weighted(ModItems.wire_fine, 0, 0, 3, 20),
|
||||
weighted(ModItems.powder_ash, 0, 0, 1, 15),
|
||||
weighted(ModItems.plate_lead, 0, 0, 1, 15),
|
||||
weighted(Items.string, 0, 0, 1, 15),
|
||||
weighted(ModItems.bolt, 8200, 0, 2, 15),
|
||||
weighted(ModItems.pin, 0, 0, 2, 15),
|
||||
weighted(ModItems.cap_nuka, 0, 0, 8, 15),
|
||||
weighted(ModItems.plate_iron, 0, 0, 2, 15),
|
||||
weighted(ModItems.fallout, 0, 0, 2, 15),
|
||||
weighted(ModItems.coil_tungsten, 0, 0, 2, 15),
|
||||
weighted(ModItems.can_empty, 0, 0, 1, 15),
|
||||
weighted(ModItems.ingot_asbestos, 0, 0, 1, 15),
|
||||
weighted(ModItems.syringe_metal_empty, 0, 0, 1, 15),
|
||||
weighted(ModItems.syringe_empty, 0, 0, 1, 15),
|
||||
weighted(ModItems.pipe_lead, 0, 0, 1, 5),
|
||||
weighted(ModItems.motor, 0, 0, 1, 5),
|
||||
weighted(ModItems.canned_conserve, 2, 0, 1, 5),
|
||||
};
|
||||
}};
|
||||
}
|
||||
}
|
||||
|
||||
@ -41,8 +41,8 @@ public class HbmWorld {
|
||||
private static void registerNTMFeatures() {
|
||||
CivilianFeatures.registerComponents();
|
||||
OfficeFeatures.registerComponents();
|
||||
RuinFeatures.registerComponents();
|
||||
// RuinFeatures.registerComponents();
|
||||
BunkerComponents.registerComponents();
|
||||
MapGenStructureIO.func_143031_a(SiloComponent.class, "NTMSiloComponent");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -62,6 +62,17 @@ public class StructureManager {
|
||||
public static final NBTStructure dish = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/dish.nbt"));
|
||||
public static final NBTStructure radio_house = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/radio_house.nbt"));
|
||||
|
||||
public static final NBTStructure ntmruinsA = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/ntmruinsA.nbt"));
|
||||
public static final NBTStructure ntmruinsB = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/ntmruinsB.nbt"));
|
||||
public static final NBTStructure ntmruinsC = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/ntmruinsC.nbt"));
|
||||
public static final NBTStructure ntmruinsD = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/ntmruinsD.nbt"));
|
||||
public static final NBTStructure ntmruinsE = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/ntmruinsE.nbt"));
|
||||
public static final NBTStructure ntmruinsF = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/ntmruinsF.nbt"));
|
||||
public static final NBTStructure ntmruinsG = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/ntmruinsG.nbt"));
|
||||
public static final NBTStructure ntmruinsH = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/ntmruinsH.nbt"));
|
||||
public static final NBTStructure ntmruinsI = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/ntmruinsI.nbt"));
|
||||
public static final NBTStructure ntmruinsJ = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/ntmruinsJ.nbt"));
|
||||
|
||||
public static final NBTStructure spire = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/spire.nbt"));
|
||||
|
||||
// public static final NBTStructure test_rot = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-rot.nbt"));
|
||||
|
||||
@ -29,6 +29,7 @@ public class LootGenerator {
|
||||
public static final String LOOT_GLYPHID_HIVE = "LOOT_GLYPHID_HIVE";
|
||||
public static final String LOOT_METEOR = "LOOT_METEOR";
|
||||
public static final String LOOT_FLAREGUN = "LOOT_FLAREGUN";
|
||||
public static final String LOOT_SHIT = "LOOT_SHIT";
|
||||
|
||||
public static void applyLoot(World world, int x, int y, int z, String name) {
|
||||
switch(name) {
|
||||
@ -42,6 +43,7 @@ public class LootGenerator {
|
||||
case LOOT_GLYPHID_HIVE: lootGlyphidHive(world, x, y, z);
|
||||
case LOOT_METEOR: lootBookMeteor(world, x, y, z);
|
||||
case LOOT_FLAREGUN: lootFlareGun(world, x, y, z);
|
||||
case LOOT_SHIT: lootShit(world, x, y, z);
|
||||
default: lootBones(world, x, y, z); break;
|
||||
}
|
||||
}
|
||||
@ -233,4 +235,16 @@ public class LootGenerator {
|
||||
0.25, k * 0.03125, 0.125);
|
||||
}
|
||||
}
|
||||
public static void lootShit(World world, int x, int y, int z) {
|
||||
|
||||
TileEntityLoot loot = (TileEntityLoot) world.getTileEntity(x, y, z);
|
||||
|
||||
if(loot != null && loot.items.isEmpty()) {
|
||||
|
||||
int limit = world.rand.nextInt(3) + 3;
|
||||
for(int i = 0; i < limit; i++) {
|
||||
addItemWithDeviation(loot, world.rand, ItemPool.getStack(ItemPool.getPool(ItemPoolsPile.POOL_PILE_OF_GARBAGE), world.rand), world.rand.nextDouble() - 0.5, i * 0.03125, world.rand.nextDouble() - 0.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,10 +15,10 @@ import com.hbm.world.gen.component.CivilianFeatures.NTMLab2;
|
||||
import com.hbm.world.gen.component.CivilianFeatures.RuralHouse1;
|
||||
import com.hbm.world.gen.component.OfficeFeatures.LargeOffice;
|
||||
import com.hbm.world.gen.component.OfficeFeatures.LargeOfficeCorner;
|
||||
import com.hbm.world.gen.component.RuinFeatures.NTMRuin1;
|
||||
import com.hbm.world.gen.component.RuinFeatures.NTMRuin2;
|
||||
import com.hbm.world.gen.component.RuinFeatures.NTMRuin3;
|
||||
import com.hbm.world.gen.component.RuinFeatures.NTMRuin4;
|
||||
//import com.hbm.world.gen.component.RuinFeatures.NTMRuin1;
|
||||
//import com.hbm.world.gen.component.RuinFeatures.NTMRuin2;
|
||||
//import com.hbm.world.gen.component.RuinFeatures.NTMRuin3;
|
||||
//import com.hbm.world.gen.component.RuinFeatures.NTMRuin4;
|
||||
import com.hbm.world.gen.component.SiloComponent;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
@ -124,26 +124,26 @@ public class MapGenNTMFeatures extends MapGenStructure {
|
||||
*/
|
||||
//TODO: Do something about this so it's nice-looking and easily readable. Plus, test compatibility against mods like BoP
|
||||
|
||||
if(rand.nextInt(3) == 0) { //Empty Ruin Structures
|
||||
switch(rand.nextInt(4)) {
|
||||
case 0:
|
||||
NTMRuin1 ruin1 = new NTMRuin1(rand, i, j);
|
||||
this.components.add(ruin1);
|
||||
break;
|
||||
case 1:
|
||||
NTMRuin2 ruin2 = new NTMRuin2(rand, i, j);
|
||||
this.components.add(ruin2);
|
||||
break;
|
||||
case 2:
|
||||
NTMRuin3 ruin3 = new NTMRuin3(rand, i, j);
|
||||
this.components.add(ruin3);
|
||||
break;
|
||||
case 3:
|
||||
NTMRuin4 ruin4 = new NTMRuin4(rand, i, j);
|
||||
this.components.add(ruin4);
|
||||
}
|
||||
// if(rand.nextInt(3) == 0) { //Empty Ruin Structures
|
||||
// switch(rand.nextInt(4)) {
|
||||
// case 0:
|
||||
// NTMRuin1 ruin1 = new NTMRuin1(rand, i, j);
|
||||
// this.components.add(ruin1);
|
||||
// break;
|
||||
// case 1:
|
||||
// NTMRuin2 ruin2 = new NTMRuin2(rand, i, j);
|
||||
// this.components.add(ruin2);
|
||||
// break;
|
||||
// case 2:
|
||||
// NTMRuin3 ruin3 = new NTMRuin3(rand, i, j);
|
||||
// this.components.add(ruin3);
|
||||
// break;
|
||||
// case 3:
|
||||
// NTMRuin4 ruin4 = new NTMRuin4(rand, i, j);
|
||||
// this.components.add(ruin4);
|
||||
// }
|
||||
|
||||
} else if(biome.heightVariation <= 0.25F && rand.nextInt(10) == 0) { //for now our only restriction is kinda-flat biomes. that and chance might change idk
|
||||
if(biome.heightVariation <= 0.25F && rand.nextInt(10) == 0) { //for now our only restriction is kinda-flat biomes. that and chance might change idk
|
||||
SiloComponent silo = new SiloComponent(rand, i, j);
|
||||
this.components.add(silo);
|
||||
} else if(biome.temperature >= 1.0 && biome.rainfall == 0 && !(biome instanceof BiomeGenMesa)) { //Desert & Savannah
|
||||
|
||||
@ -114,6 +114,56 @@ public class NTMWorldGenerator implements IWorldGenerator {
|
||||
spawnWeight = 1;
|
||||
}});
|
||||
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("ruin1") {{
|
||||
canSpawn = biome -> !invalidBiomes.contains(biome) && biome.canSpawnLightningBolt();
|
||||
structure = new JigsawPiece("NTMRuinsA", StructureManager.ntmruinsA, -1) {{conformToTerrain = true;}};
|
||||
spawnWeight = 20;
|
||||
}});
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("ruin2") {{
|
||||
canSpawn = biome -> !invalidBiomes.contains(biome) && biome.canSpawnLightningBolt();
|
||||
structure = new JigsawPiece("NTMRuinsB", StructureManager.ntmruinsB, -1) {{conformToTerrain = true;}};
|
||||
spawnWeight = 25;
|
||||
}});
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("ruin3") {{
|
||||
canSpawn = biome -> !invalidBiomes.contains(biome) && biome.canSpawnLightningBolt();
|
||||
structure = new JigsawPiece("NTMRuinsC", StructureManager.ntmruinsC, -1) {{conformToTerrain = true;}};
|
||||
spawnWeight = 25;
|
||||
}});
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("ruin4") {{
|
||||
canSpawn = biome -> !invalidBiomes.contains(biome) && biome.canSpawnLightningBolt();
|
||||
structure = new JigsawPiece("NTMRuinsD", StructureManager.ntmruinsD, -1) {{conformToTerrain = true;}};
|
||||
spawnWeight = 30;
|
||||
}});
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("ruin5") {{
|
||||
canSpawn = biome -> !invalidBiomes.contains(biome) && biome.canSpawnLightningBolt();
|
||||
structure = new JigsawPiece("NTMRuinsE", StructureManager.ntmruinsE, -1) {{conformToTerrain = true;}};
|
||||
spawnWeight = 30;
|
||||
}});
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("ruin6") {{
|
||||
canSpawn = biome -> !invalidBiomes.contains(biome) && biome.canSpawnLightningBolt();
|
||||
structure = new JigsawPiece("NTMRuinsF", StructureManager.ntmruinsF, -1) {{conformToTerrain = true;}};
|
||||
spawnWeight = 50;
|
||||
}});
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("ruin7") {{
|
||||
canSpawn = biome -> !invalidBiomes.contains(biome) && biome.canSpawnLightningBolt();
|
||||
structure = new JigsawPiece("NTMRuinsG", StructureManager.ntmruinsG, -1) {{conformToTerrain = true;}};
|
||||
spawnWeight = 50;
|
||||
}});
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("ruin8") {{
|
||||
canSpawn = biome -> !invalidBiomes.contains(biome) && biome.canSpawnLightningBolt();
|
||||
structure = new JigsawPiece("NTMRuinsH", StructureManager.ntmruinsH, -1) {{conformToTerrain = true;}};
|
||||
spawnWeight = 50;
|
||||
}});
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("ruin9") {{
|
||||
canSpawn = biome -> !invalidBiomes.contains(biome) && biome.canSpawnLightningBolt();
|
||||
structure = new JigsawPiece("NTMRuinsI", StructureManager.ntmruinsI, -1) {{conformToTerrain = true;}};
|
||||
spawnWeight = 50;
|
||||
}});
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("ruin10") {{
|
||||
canSpawn = biome -> !invalidBiomes.contains(biome) && biome.canSpawnLightningBolt();
|
||||
structure = new JigsawPiece("NTMRuinsJ", StructureManager.ntmruinsJ, -1) {{conformToTerrain = true;}};
|
||||
spawnWeight = 35;
|
||||
}});
|
||||
NBTStructure.registerStructure(0, new SpawnCondition("radio") {{
|
||||
canSpawn = flatbiomes::contains;
|
||||
structure = new JigsawPiece("radio_house", StructureManager.radio_house, -6);
|
||||
|
||||
@ -8,42 +8,42 @@ import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.structure.MapGenStructureIO;
|
||||
import net.minecraft.world.gen.structure.StructureBoundingBox;
|
||||
|
||||
// Idk what i should do with these if you read this bob do whatever since it's not used anywhere
|
||||
public class RuinFeatures {
|
||||
|
||||
|
||||
public static void registerComponents() {
|
||||
MapGenStructureIO.func_143031_a(NTMRuin1.class, "NTMRuin1");
|
||||
MapGenStructureIO.func_143031_a(NTMRuin2.class, "NTMRuin2");
|
||||
MapGenStructureIO.func_143031_a(NTMRuin3.class, "NTMRuin3");
|
||||
MapGenStructureIO.func_143031_a(NTMRuin4.class, "NTMRuin4");
|
||||
}
|
||||
|
||||
|
||||
public static class NTMRuin1 extends Component {
|
||||
|
||||
|
||||
private static ConcreteBricks RandomConcreteBricks = new ConcreteBricks();
|
||||
|
||||
|
||||
public NTMRuin1() {
|
||||
super();
|
||||
}
|
||||
|
||||
|
||||
public NTMRuin1(Random rand, int minX, int minZ) {
|
||||
super(rand, minX, 64, minZ, 8, 6, 10);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) {
|
||||
|
||||
|
||||
//System.out.println(this.coordBaseMode);
|
||||
if(!this.setAverageHeight(world, box, this.boundingBox.minY)) {
|
||||
return false;
|
||||
}
|
||||
//System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ);
|
||||
|
||||
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 8, 10, -1, box);
|
||||
|
||||
|
||||
int pillarMetaWE = this.getPillarMeta(4);
|
||||
int pillarMetaNS = this.getPillarMeta(8);
|
||||
|
||||
|
||||
this.fillWithBlocks(world, box, 0, 0, 0, 0, 6, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall
|
||||
this.fillWithMetadataBlocks(world, box, 1, 3, 0, 3, 3, 0, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false);
|
||||
this.fillWithBlocks(world, box, 4, 0, 0, 4, 6 - 1, 0, ModBlocks.concrete_pillar, Blocks.air, false);
|
||||
@ -83,39 +83,39 @@ public class RuinFeatures {
|
||||
this.fillWithRandomizedBlocks(world, box, 8, 0, 6, 8, 0, 6, false, rand, RandomConcreteBricks);
|
||||
this.fillWithRandomizedBlocks(world, box, 8, 0, 10 - 2, 8, 1, 10 - 1, false, rand, RandomConcreteBricks);
|
||||
this.fillWithRandomizedBlocks(world, box, 8, 2, 10 - 1, 8, 2, 10 - 1, false, rand, RandomConcreteBricks);
|
||||
|
||||
|
||||
this.randomlyFillWithBlocks(world, box, rand, 0.25F, 1, 0, 1, 8 - 1, 0, 10 - 1, Blocks.gravel, Blocks.air, false);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static class NTMRuin2 extends Component {
|
||||
|
||||
|
||||
private static ConcreteBricks RandomConcreteBricks = new ConcreteBricks();
|
||||
|
||||
|
||||
public NTMRuin2() {
|
||||
super();
|
||||
}
|
||||
|
||||
|
||||
public NTMRuin2(Random rand, int minX, int minZ) {
|
||||
super(rand, minX, 64, minZ, 7, 5, 10);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) {
|
||||
|
||||
|
||||
//System.out.println(this.coordBaseMode);
|
||||
if(!this.setAverageHeight(world, box, this.boundingBox.minY)) {
|
||||
return false;
|
||||
}
|
||||
//System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ);
|
||||
|
||||
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 7, 10, -1, box);
|
||||
|
||||
|
||||
int pillarMetaWE = this.getPillarMeta(4);
|
||||
int pillarMetaNS = this.getPillarMeta(8);
|
||||
|
||||
|
||||
this.fillWithBlocks(world, box, 0, 0, 0, 0, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall
|
||||
this.fillWithMetadataBlocks(world, box, 1, 3, 0, 7 - 1, 3, 0, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false);
|
||||
this.fillWithBlocks(world, box, 7, 0, 0, 7, 5, 0, ModBlocks.concrete_pillar, Blocks.air, false);
|
||||
@ -146,40 +146,40 @@ public class RuinFeatures {
|
||||
this.fillWithRandomizedBlocks(world, box, 7, 0, 6, 7, 0, 10 - 1, false, rand, RandomConcreteBricks);
|
||||
this.fillWithRandomizedBlocks(world, box, 7, 1, 6, 7, 1, 7, false, rand, RandomConcreteBricks);
|
||||
this.fillWithRandomizedBlocks(world, box, 7, 1, 10 - 1, 7, 2, 10 - 1, false, rand, RandomConcreteBricks);
|
||||
|
||||
|
||||
this.randomlyFillWithBlocks(world, box, rand, 0.25F, 1, 0, 1, 7 - 1, 0, 10 - 1, Blocks.gravel, Blocks.air, false);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static class NTMRuin3 extends Component {
|
||||
|
||||
|
||||
private static ConcreteBricks RandomConcreteBricks = new ConcreteBricks();
|
||||
|
||||
|
||||
public NTMRuin3() {
|
||||
super();
|
||||
}
|
||||
|
||||
|
||||
public NTMRuin3(Random rand, int minX, int minZ) {
|
||||
super(rand, minX, 64, minZ, 8, 3, 10);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) {
|
||||
|
||||
|
||||
//System.out.println(this.coordBaseMode);
|
||||
if(!this.setAverageHeight(world, box, this.boundingBox.minY)) {
|
||||
return false;
|
||||
}
|
||||
//System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ);
|
||||
|
||||
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 0, 10, -1, box);
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 8, 0, 8, 10, -1, box);
|
||||
|
||||
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 0, 8, 0, -1, box);
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 4, 8, 4, -1, box);
|
||||
|
||||
|
||||
this.fillWithBlocks(world, box, 0, 0, 0, 0, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall
|
||||
this.fillWithBlocks(world, box, 8, 0, 0, 8, 1, 0, ModBlocks.concrete_pillar, Blocks.air, false);
|
||||
this.fillWithRandomizedBlocks(world, box, 1, 0, 0, 8 - 1, 0, 0, false, rand, RandomConcreteBricks);
|
||||
@ -202,44 +202,44 @@ public class RuinFeatures {
|
||||
this.fillWithBlocks(world, box, 4, 0, 4, 4, 2, 4, ModBlocks.concrete_pillar, Blocks.air, false); //Center Wall
|
||||
this.fillWithRandomizedBlocks(world, box, 3, 0, 4, 3, 1, 4, false, rand, RandomConcreteBricks);
|
||||
this.fillWithRandomizedBlocks(world, box, 5, 0, 4, 8 - 1, 1, 4, false, rand, RandomConcreteBricks);
|
||||
|
||||
|
||||
this.randomlyFillWithBlocks(world, box, rand, 0.05F, 1, 0, 1, 8 - 1, 0, 3, Blocks.gravel, Blocks.air, false);
|
||||
this.randomlyFillWithBlocks(world, box, rand, 0.05F, 1, 0, 5, 8 - 1, 0, 10 - 1, Blocks.gravel, Blocks.air, false);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static class NTMRuin4 extends Component {
|
||||
|
||||
|
||||
private static ConcreteBricks RandomConcreteBricks = new ConcreteBricks();
|
||||
|
||||
|
||||
public NTMRuin4() {
|
||||
super();
|
||||
}
|
||||
|
||||
|
||||
public NTMRuin4(Random rand, int minX, int minZ) {
|
||||
super(rand, minX, 64, minZ, 10, 2, 11);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) {
|
||||
|
||||
|
||||
//System.out.println(this.coordBaseMode);
|
||||
if(!this.setAverageHeight(world, box, this.boundingBox.minY)) {
|
||||
return false;
|
||||
}
|
||||
//System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ);
|
||||
|
||||
|
||||
|
||||
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 0, 11, -1, box);
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 10, 5, 10, 11, -1, box);
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 5, 0, 5, 4, -1, box);
|
||||
|
||||
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 11, 10 - 1, 11, -1, box);
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 1, 0, 4, 0, -1, box);
|
||||
placeFoundationUnderneath(world, Blocks.stonebrick, 0, 5, 5, 10 - 1, 5, -1, box);
|
||||
|
||||
|
||||
this.fillWithBlocks(world, box, 0, 0, 0, 0, 1, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall Pt. 1
|
||||
this.fillWithBlocks(world, box, 5, 0, 0, 5, 2, 0, ModBlocks.concrete_pillar, Blocks.air, false);
|
||||
this.fillWithRandomizedBlocks(world, box, 1, 0, 0, 4, 0, 0, false, rand, RandomConcreteBricks);
|
||||
@ -263,12 +263,12 @@ public class RuinFeatures {
|
||||
this.fillWithRandomizedBlocks(world, box, 0, 0, 1, 0, 0, 11 - 1, false, rand, RandomConcreteBricks); //Left Wall
|
||||
this.fillWithRandomizedBlocks(world, box, 0, 1, 1, 0, 1, 1, false, rand, RandomConcreteBricks);
|
||||
this.fillWithRandomizedBlocks(world, box, 0, 1, 4, 0, 1, 7, false, rand, RandomConcreteBricks);
|
||||
|
||||
|
||||
this.randomlyFillWithBlocks(world, box, rand, 0.05F, 1, 0, 1, 4, 0, 5, Blocks.gravel, Blocks.air, false);
|
||||
this.randomlyFillWithBlocks(world, box, rand, 0.05F, 1, 0, 6, 10 - 1, 0, 11 - 1, Blocks.gravel, Blocks.air, false);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
BIN
src/main/resources/assets/hbm/structures/ntmruinsA.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/ntmruinsA.nbt
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/structures/ntmruinsB.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/ntmruinsB.nbt
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/structures/ntmruinsC.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/ntmruinsC.nbt
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/structures/ntmruinsD.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/ntmruinsD.nbt
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/structures/ntmruinsE.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/ntmruinsE.nbt
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/structures/ntmruinsF.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/ntmruinsF.nbt
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/structures/ntmruinsG.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/ntmruinsG.nbt
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/structures/ntmruinsH.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/ntmruinsH.nbt
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/structures/ntmruinsI.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/ntmruinsI.nbt
Normal file
Binary file not shown.
BIN
src/main/resources/assets/hbm/structures/ntmruinsJ.nbt
Normal file
BIN
src/main/resources/assets/hbm/structures/ntmruinsJ.nbt
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user