From 12c54d66e76255987214cb680f298c82ff6fc51c Mon Sep 17 00:00:00 2001 From: tuffpad Date: Fri, 11 Apr 2025 15:28:35 +0200 Subject: [PATCH 1/7] im at tmobile currently and cant check whether this even fucking works so thats great --- src/main/java/com/hbm/world/gen/NTMWorldGenerator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index cd6480087..aac50eef3 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; +import java.util.function.Predicate; import com.hbm.blocks.ModBlocks; import com.hbm.config.StructureConfig; @@ -87,7 +88,7 @@ public class NTMWorldGenerator implements IWorldGenerator { spawnWeight = 8; }}); - NBTStructure.registerNullWeight(0, 2); + NBTStructure.registerNullWeight(0, 2, beachBiomes::contains); Map bricks = new HashMap() {{ put(ModBlocks.meteor_brick, new MeteorBricks()); From 0c25ba0c1c5cd4beb76e7017c3efa9fc6a16440b Mon Sep 17 00:00:00 2001 From: tuffpad Date: Fri, 11 Apr 2025 15:28:56 +0200 Subject: [PATCH 2/7] im at tmobile currently and cant check whether this even fucking works so thats great --- src/main/java/com/hbm/world/gen/NTMWorldGenerator.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index aac50eef3..dad68fa22 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -5,7 +5,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; -import java.util.function.Predicate; import com.hbm.blocks.ModBlocks; import com.hbm.config.StructureConfig; From c6cd707894ca1ffeb4b6bc40a7529234017b61e1 Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Sun, 13 Apr 2025 15:23:05 +0200 Subject: [PATCH 3/7] you're not bricked up right now while you read this, you have serious issue, you're on social media, bro, every 10 seconds you swipe, you see the baddest girl on the planet, and you're sitting here soft, oh lazy, but it would be weird if i was bricked while watching you talk, how was that weird, is it weird to have high testosterone levels? you need savor before it's too late bro, it might be your only shot. --- .../blocks/generic/BlockSkeletonHolder.java | 22 +- .../com/hbm/blocks/machine/Floodlight.java | 129 ++++-- .../com/hbm/itempool/ItemPoolsComponent.java | 9 + .../java/com/hbm/main/StructureManager.java | 1 + .../com/hbm/world/gen/INBTTransformable.java | 51 ++- .../com/hbm/world/gen/MapGenNTMFeatures.java | 59 ++- .../java/com/hbm/world/gen/NBTStructure.java | 2 +- .../com/hbm/world/gen/NTMWorldGenerator.java | 12 +- .../world/gen/component/CivilianFeatures.java | 399 ++++++------------ .../assets/hbm/structures/lighthouse.nbt | Bin 0 -> 155191 bytes 10 files changed, 320 insertions(+), 364 deletions(-) create mode 100644 src/main/resources/assets/hbm/structures/lighthouse.nbt diff --git a/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java b/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java index e64243534..6f07dfee3 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java +++ b/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java @@ -1,5 +1,6 @@ package com.hbm.blocks.generic; +import com.hbm.world.gen.INBTTransformable; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -15,7 +16,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class BlockSkeletonHolder extends BlockContainer { +public class BlockSkeletonHolder extends BlockContainer implements INBTTransformable { public BlockSkeletonHolder() { super(Material.rock); @@ -43,9 +44,9 @@ public class BlockSkeletonHolder extends BlockContainer { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if(world.isRemote) return true; if(player.isSneaking()) return false; - + TileEntitySkeletonHolder pedestal = (TileEntitySkeletonHolder) world.getTileEntity(x, y, z); - + if(pedestal.item == null && player.getHeldItem() != null) { pedestal.item = player.getHeldItem().copy(); player.inventory.mainInventory[player.inventory.currentItem] = null; @@ -59,13 +60,13 @@ public class BlockSkeletonHolder extends BlockContainer { world.markBlockForUpdate(x, y, z); return true; } - + return false; } @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { - + if(!world.isRemote) { TileEntitySkeletonHolder entity = (TileEntitySkeletonHolder) world.getTileEntity(x, y, z); if(entity != null && entity.item != null) { @@ -73,14 +74,19 @@ public class BlockSkeletonHolder extends BlockContainer { world.spawnEntityInWorld(item); } } - + super.breakBlock(world, x, y, z, block, meta); } + @Override + public int transformMeta(int meta, int coordBaseMode) { + return INBTTransformable.transformMetaDirectional(meta, coordBaseMode); + } + public static class TileEntitySkeletonHolder extends TileEntity { public ItemStack item; - + @Override public boolean canUpdate() { return false; } @Override @@ -89,7 +95,7 @@ public class BlockSkeletonHolder extends BlockContainer { this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); diff --git a/src/main/java/com/hbm/blocks/machine/Floodlight.java b/src/main/java/com/hbm/blocks/machine/Floodlight.java index af04665b7..25e70cac2 100644 --- a/src/main/java/com/hbm/blocks/machine/Floodlight.java +++ b/src/main/java/com/hbm/blocks/machine/Floodlight.java @@ -7,6 +7,7 @@ import com.hbm.util.fauxpointtwelve.BlockPos; import api.hbm.block.IToolable; import api.hbm.energymk2.IEnergyReceiverMK2; +import com.hbm.world.gen.INBTTransformable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; @@ -27,7 +28,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class Floodlight extends BlockContainer implements IToolable { +public class Floodlight extends BlockContainer implements IToolable, INBTTransformable { public Floodlight(Material mat) { super(mat); @@ -47,7 +48,7 @@ public class Floodlight extends BlockContainer implements IToolable { public int onBlockPlaced(World world, int x, int y, int z, int side, float fX, float fY, float fZ, int meta) { return side; } - + //only method with player param, called second for variable rotation @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) { @@ -60,18 +61,18 @@ public class Floodlight extends BlockContainer implements IToolable { setAngle(world, x, y, z, player, false); return true; } - + public void setAngle(World world, int x, int y, int z, EntityLivingBase player, boolean updateMeta) { - + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; float rotation = player.rotationPitch; - + TileEntity tile = world.getTileEntity(x, y, z); - + if(tile instanceof TileEntityFloodlight) { int meta = world.getBlockMetadata(x, y, z) % 6; TileEntityFloodlight floodlight = (TileEntityFloodlight) tile; - + if(meta == 0 || meta == 1) { if(i == 0 || i == 2) if(updateMeta) world.setBlockMetadataWithNotify(x, y, z, meta + 6, 3); if(meta == 1) if(i == 0 || i == 1) rotation = 180F - rotation; @@ -83,48 +84,92 @@ public class Floodlight extends BlockContainer implements IToolable { tile.markDirty(); } } - + + @Override + public int transformMeta(int meta, int coordBaseMode) { + if(meta < 6) { + switch(coordBaseMode) { + case 1: // West + switch(meta) { + case 2: return 5; + case 3: return 4; + case 4: return 2; + case 5: return 3; + } + break; + case 2: // North + switch(meta) { + case 2: return 3; + case 3: return 2; + case 4: return 5; + case 5: return 4; + } + break; + case 3: // East + switch(meta) { + case 2: return 4; + case 3: return 5; + case 4: return 3; + case 5: return 2; + } + break; + } + } + + // Also rotate the upper bits that store additional state (6-11) + if(meta >= 6) { + return transformMeta(meta - 6, coordBaseMode) + 6; + } + + return meta; + } + + @Override + public Block transformBlock(Block block) { + return block; // No block transformation needed + } + public static class TileEntityFloodlight extends TileEntity implements IEnergyReceiverMK2 { - + public float rotation; protected BlockPos[] lightPos = new BlockPos[15]; public static final long maxPower = 5_000; public long power; - + public int delay; public boolean isOn; - + @Override public void updateEntity() { - + if(!worldObj.isRemote) { - + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() % 6).getOpposite(); this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); - + if(delay > 0) { delay --; return; } - + if(power >= 100) { power -= 100; - + if(!isOn) { this.isOn = true; this.castLights(); this.worldObj.markTileEntityChunkModified(this.xCoord, this.yCoord, this.zCoord, this); this.worldObj.markBlockForUpdate(xCoord, yCoord, zCoord); - + } else { - + long timer = worldObj.getTotalWorldTime(); if(timer % 5 == 0) { timer = timer / 5; this.castLight((int) Math.abs(timer % this.lightPos.length)); } } - + } else { if(isOn) { this.isOn = false; @@ -136,12 +181,12 @@ public class Floodlight extends BlockContainer implements IToolable { } } } - + private void castLight(int index) { BlockPos newPos = this.getRayEndpoint(index); BlockPos oldPos = this.lightPos[index]; this.lightPos[index] = null; - + if(newPos == null || !newPos.equals(oldPos)) { //if the new end point is null or not equal to the previous, delete the previous spot if(oldPos != null) { TileEntity tile = Compat.getTileStandard(worldObj, oldPos.getX(), oldPos.getY(), oldPos.getZ()); @@ -153,9 +198,9 @@ public class Floodlight extends BlockContainer implements IToolable { } } } - + if(newPos == null) return; - + if(worldObj.getBlock(newPos.getX(), newPos.getY(), newPos.getZ()) == Blocks.air) { worldObj.setBlock(newPos.getX(), newPos.getY(), newPos.getZ(), ModBlocks.floodlight_beam, 0, 2); TileEntity tile = Compat.getTileStandard(worldObj, newPos.getX(), newPos.getY(), newPos.getZ()); @@ -167,16 +212,16 @@ public class Floodlight extends BlockContainer implements IToolable { this.lightPos[index] = newPos; } } - + public BlockPos getRayEndpoint(int index) { - + if(index < 0 || index >= lightPos.length) return null; int meta = this.getBlockMetadata(); Vec3 dir = Vec3.createVectorHelper(1, 0, 0); - + float[] angles = getVariation(index); - + float rotation = this.rotation; if(meta == 1 || meta == 7) rotation = 180 - rotation; if(meta == 6) rotation = 180 - rotation; @@ -188,31 +233,31 @@ public class Floodlight extends BlockContainer implements IToolable { if(meta == 3) dir.rotateAroundY((float) -(Math.PI / 2D)); if(meta == 4) dir.rotateAroundY((float) (Math.PI)); dir.rotateAroundY(angles[1]); - + for(int i = 1; i < 64; i++) { int iX = (int) Math.floor(xCoord + 0.5 + dir.xCoord * i); int iY = (int) Math.floor(yCoord + 0.5 + dir.yCoord * i); int iZ = (int) Math.floor(zCoord + 0.5 + dir.zCoord * i); - + if(iX == xCoord && iY == yCoord && iZ == zCoord) continue; - + Block block = worldObj.getBlock(iX, iY, iZ); if(block.getLightOpacity(worldObj, iX, iY, iZ) < 127) continue; - + int fX = (int) Math.floor(xCoord + 0.5 + dir.xCoord * (i - 1)); int fY = (int) Math.floor(yCoord + 0.5 + dir.yCoord * (i - 1)); int fZ = (int) Math.floor(zCoord + 0.5 + dir.zCoord * (i - 1)); if(i > 1) return new BlockPos(fX, fY, fZ); } - + return null; } - + private void castLights() { for(int i = 0; i < this.lightPos.length; i++) this.castLight(i); } - + private void destroyLight(int index) { BlockPos pos = lightPos[index]; if(pos != null) { @@ -221,11 +266,11 @@ public class Floodlight extends BlockContainer implements IToolable { } } } - + private void destroyLights() { for(int i = 0; i < this.lightPos.length; i++) destroyLight(i); } - + private float[] getVariation(int index) { return new float[] { (((index / 3) - 2) * 7.5F) / 180F * (float) Math.PI, @@ -239,7 +284,7 @@ public class Floodlight extends BlockContainer implements IToolable { this.writeToNBT(nbt); return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, nbt); } - + @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { this.readFromNBT(pkt.func_148857_g()); @@ -268,12 +313,12 @@ public class Floodlight extends BlockContainer implements IToolable { private boolean isLoaded = true; @Override public boolean isLoaded() { return isLoaded; } @Override public void onChunkUnload() { this.isLoaded = false; } - + AxisAlignedBB bb = null; - + @Override public AxisAlignedBB getRenderBoundingBox() { - + if(bb == null) { bb = AxisAlignedBB.getBoundingBox( xCoord - 1, @@ -284,10 +329,10 @@ public class Floodlight extends BlockContainer implements IToolable { zCoord + 2 ); } - + return bb; } - + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/itempool/ItemPoolsComponent.java b/src/main/java/com/hbm/itempool/ItemPoolsComponent.java index 51e0ae85d..76f824f60 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsComponent.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsComponent.java @@ -8,6 +8,7 @@ import com.hbm.inventory.material.Mats; import com.hbm.items.ItemEnums.EnumCokeType; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemRTGPelletDepleted; import com.hbm.items.tool.ItemBlowtorch; import net.minecraft.init.Items; @@ -25,6 +26,7 @@ public class ItemPoolsComponent { public static final String POOL_VAULT_LOCKERS = "POOL_VAULT_LOCKERS"; public static final String POOL_METEOR_SAFE = "POOL_METEOR_SAFE"; public static final String POOL_OIL_RIG = "POOL_OIL_RIG"; + public static final String POOL_RTG = "POOL_RTG"; public static void init() { @@ -210,5 +212,12 @@ public class ItemPoolsComponent { weighted(ModItems.circuit, EnumCircuitType.CAPACITOR.ordinal(), 1, 1, 3), }; }}; + + new ItemPool(POOL_RTG) {{ + this.pool = new WeightedRandomChestContent[] { + weighted(ModItems.pellet_rtg_depleted, ItemRTGPelletDepleted.DepletedRTGMaterial.LEAD.ordinal(), 1, 1, 40), + weighted(ModItems.pellet_rtg_weak,0, 0, 1, 1), + }; + }}; } } diff --git a/src/main/java/com/hbm/main/StructureManager.java b/src/main/java/com/hbm/main/StructureManager.java index 8387ce48c..0ecb95e02 100644 --- a/src/main/java/com/hbm/main/StructureManager.java +++ b/src/main/java/com/hbm/main/StructureManager.java @@ -59,6 +59,7 @@ public class StructureManager { public static final NBTStructure aircraft_carrier = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/aircraft_carrier.nbt")); public static final NBTStructure oil_rig = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/oil_rig.nbt")); 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 test_rot = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-rot.nbt")); // public static final NBTStructure test_jigsaw = new NBTStructure(new ResourceLocation(RefStrings.MODID, "structures/test-jigsaw.nbt")); diff --git a/src/main/java/com/hbm/world/gen/INBTTransformable.java b/src/main/java/com/hbm/world/gen/INBTTransformable.java index b42d6bd43..7658e800f 100644 --- a/src/main/java/com/hbm/world/gen/INBTTransformable.java +++ b/src/main/java/com/hbm/world/gen/INBTTransformable.java @@ -79,9 +79,10 @@ public interface INBTTransformable { } public static int transformMetaPillar(int meta, int coordBaseMode) { - if(coordBaseMode == 2) return meta; - int type = meta & 3; - int rot = meta & 12; + if(coordBaseMode == 2) return meta; // 180° rotation: X and Z flip, result same + + int type = meta & 3; // lower 2 bits + int rot = meta & 12; // upper 2 bits (4 or 8) if(rot == 4) return type | 8; if(rot == 8) return type | 4; @@ -158,4 +159,46 @@ public interface INBTTransformable { return meta; } -} \ No newline at end of file + public static int transformMetaVine(int meta, int coordBaseMode) { //Sloppppp coddee aa + int result = 0; + + for (int i = 0; i < 4; i++) { + int bit = 1 << i; + if ((meta & bit) != 0) { + result |= rotateVineBit(bit, coordBaseMode); + } + } + + return result; + } + + static int rotateVineBit(int bit, int coordBaseMode) { + int index = -1; + + switch (bit) { + case 1: index = 0; break; // south + case 2: index = 1; break; // west + case 4: index = 2; break; // north + case 8: index = 3; break; // east + default: return 0; + } + + int rotated = index; + + switch (coordBaseMode) { + case 1: rotated = (index + 1) % 4; break; // 90° + case 2: rotated = (index + 2) % 4; break; // 180° + case 3: rotated = (index + 3) % 4; break; // 270° + // case 0: vines work ughhggh (im dragging it) + } + + switch (rotated) { + case 0: return 1; // south + case 1: return 2; // west + case 2: return 4; // north + case 3: return 8; // east + } + + return 0; + } +} diff --git a/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java b/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java index a4d225c7f..20f380ed9 100644 --- a/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java +++ b/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java @@ -12,7 +12,6 @@ import com.hbm.world.gen.component.CivilianFeatures.NTMHouse1; import com.hbm.world.gen.component.CivilianFeatures.NTMHouse2; import com.hbm.world.gen.component.CivilianFeatures.NTMLab1; import com.hbm.world.gen.component.CivilianFeatures.NTMLab2; -import com.hbm.world.gen.component.CivilianFeatures.NTMWorkshop1; import com.hbm.world.gen.component.CivilianFeatures.RuralHouse1; import com.hbm.world.gen.component.OfficeFeatures.LargeOffice; import com.hbm.world.gen.component.OfficeFeatures.LargeOfficeCorner; @@ -31,40 +30,40 @@ import net.minecraft.world.gen.structure.StructureComponent; import net.minecraft.world.gen.structure.StructureStart; public class MapGenNTMFeatures extends MapGenStructure { - + //BiomeDictionary could be /very/ useful, since it automatically sorts *all* biomes into predefined categories private static List biomelist; /** Maximum distance between structures */ private int maxDistanceBetweenScatteredFeatures; /** Minimum distance between structures */ private int minDistanceBetweenScatteredFeatures; - + public MapGenNTMFeatures() { this.maxDistanceBetweenScatteredFeatures = StructureConfig.structureMaxChunks; this.minDistanceBetweenScatteredFeatures = StructureConfig.structureMinChunks; } - + /** String ID for this MapGen */ @Override public String func_143025_a() { return "NTMFeatures"; } - + /** * Checks if a structure can be spawned at coords, based off of chance and biome * (Good approach would probably be to only exclude ocean biomes through biomelist and rely on temperature and rainfall instead of biomegenbase, would allow for biomes o' plenty compat) */ @Override protected boolean canSpawnStructureAtCoords(int chunkX, int chunkZ) { - + int k = chunkX; int l = chunkZ; - + if(chunkX < 0) chunkX -= this.maxDistanceBetweenScatteredFeatures - 1; if(chunkZ < 0) chunkZ -= this.maxDistanceBetweenScatteredFeatures - 1; - + int i1 = chunkX / this.maxDistanceBetweenScatteredFeatures; int j1 = chunkZ / this.maxDistanceBetweenScatteredFeatures; Random random = this.worldObj.setRandomSeed(i1, j1, 14357617); @@ -72,31 +71,31 @@ public class MapGenNTMFeatures extends MapGenStructure { j1 *= this.maxDistanceBetweenScatteredFeatures; i1 += random.nextInt(this.maxDistanceBetweenScatteredFeatures - this.minDistanceBetweenScatteredFeatures); j1 += random.nextInt(this.maxDistanceBetweenScatteredFeatures - this.minDistanceBetweenScatteredFeatures); - + if(k == i1 && l == j1) { BiomeGenBase biomegenbase = this.worldObj.getWorldChunkManager().getBiomeGenAt(k * 16 + 8, l * 16 + 8); - + if(biomelist == null) { biomelist = Arrays.asList(new BiomeGenBase[] {BiomeGenBase.ocean, BiomeGenBase.river, BiomeGenBase.frozenOcean, BiomeGenBase.frozenRiver, BiomeGenBase.deepOcean}); } - + Iterator iterator = biomelist.iterator(); - + while(iterator.hasNext()) { BiomeGenBase biomegenbase1 = (BiomeGenBase)iterator.next(); - + if(biomegenbase == biomegenbase1) return false; } return true; } - + return false; } - - + + //StructureStart Methods Class - + /** Returns new StructureStart if structure can be spawned at coords */ @Override protected StructureStart getStructureStart(int chunkX, int chunkZ) { @@ -105,26 +104,26 @@ public class MapGenNTMFeatures extends MapGenStructure { } return new MapGenNTMFeatures.Start(this.worldObj, this.rand, chunkX, chunkZ); } - + public static class Start extends StructureStart { - + public Start() {} - + public Start(World world, Random rand, int chunkX, int chunkZ) { super(chunkX, chunkZ); - + int i = (chunkX << 4) + 8; int j = (chunkZ << 4) + 8; - + BiomeGenBase biome = world.getBiomeGenForCoords(i, j); //Only gets the biome in the corner of the chunk. - + /* * Probably want to use nextInt() to increase the structures of rarity here. As a fallback, you could have generic stone brick/useless block ruins that will always be chosen if the * chance/location fails for all other structures. Might not even be necessary, but whatever. * Rainfall & Temperature Check */ //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: @@ -143,7 +142,7 @@ public class MapGenNTMFeatures extends MapGenStructure { 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 SiloComponent silo = new SiloComponent(rand, i, j); this.components.add(silo); @@ -155,10 +154,6 @@ public class MapGenNTMFeatures extends MapGenStructure { NTMHouse2 house2 = new NTMHouse2(rand, i, j); this.components.add(house2); } - - } else if(biome.temperature >= 0.25 && biome.temperature <= 0.3 && biome.rainfall >= 0.6 && biome.rainfall <= 0.9 && rand.nextBoolean()) { //Taiga & Mega Taiga - NTMWorkshop1 workshop1 = new NTMWorkshop1(rand, i, j); //TODO replace this - this.components.add(workshop1); } else { //Everything else switch(rand.nextInt(6)) { case 0: @@ -179,16 +174,16 @@ public class MapGenNTMFeatures extends MapGenStructure { this.components.add(ruralHouse); break; } } - + if(GeneralConfig.enableDebugMode) { System.out.print("[Debug] StructureStart at " + i + ", 64, " + j + "\n[Debug] Components: "); this.components.forEach((component) -> { System.out.print(MapGenStructureIO.func_143036_a((StructureComponent) component) + " "); }); - + System.out.print("\n"); } - + this.updateBoundingBox(); } } diff --git a/src/main/java/com/hbm/world/gen/NBTStructure.java b/src/main/java/com/hbm/world/gen/NBTStructure.java index f994a0049..60da4735a 100644 --- a/src/main/java/com/hbm/world/gen/NBTStructure.java +++ b/src/main/java/com/hbm/world/gen/NBTStructure.java @@ -578,7 +578,7 @@ public class NBTStructure { if(definition.block instanceof BlockSign) return INBTTransformable.transformMetaDeco(definition.meta, coordBaseMode); if(definition.block instanceof BlockLadder) return INBTTransformable.transformMetaDeco(definition.meta, coordBaseMode); if(definition.block instanceof BlockTripWireHook) return INBTTransformable.transformMetaDirectional(definition.meta, coordBaseMode); - + if(definition.block == Blocks.vine) return INBTTransformable.transformMetaVine(definition.meta, coordBaseMode); return definition.meta; } diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index dad68fa22..c13df3d45 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -38,7 +38,7 @@ public class NTMWorldGenerator implements IWorldGenerator { final List invalidBiomes = Arrays.asList(new BiomeGenBase[] {BiomeGenBase.ocean, BiomeGenBase.river, BiomeGenBase.frozenOcean, BiomeGenBase.frozenRiver, BiomeGenBase.deepOcean}); final List oceanBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.ocean, BiomeGenBase.deepOcean }); final List beachBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.beach, BiomeGenBase.stoneBeach, BiomeGenBase.coldBeach }); - + final List lighthouseBiomes = Arrays.asList(new BiomeGenBase[] { BiomeGenBase.ocean, BiomeGenBase.deepOcean, BiomeGenBase.beach, BiomeGenBase.stoneBeach, BiomeGenBase.coldBeach }); NBTStructure.registerStructure(0, new SpawnCondition() {{ canSpawn = biome -> !invalidBiomes.contains(biome); @@ -79,6 +79,14 @@ public class NTMWorldGenerator implements IWorldGenerator { spawnWeight = 2; }}); + NBTStructure.registerStructure(0, new SpawnCondition() {{ + canSpawn = lighthouseBiomes::contains; + structure = new JigsawPiece("lighthouse", StructureManager.lighthouse, -40); + maxHeight = 29; + minHeight = 28; + spawnWeight = 2; + }}); + NBTStructure.registerStructure(0, new SpawnCondition() {{ canSpawn = beachBiomes::contains; structure = new JigsawPiece("beached_patrol", StructureManager.beached_patrol, -5); @@ -87,7 +95,7 @@ public class NTMWorldGenerator implements IWorldGenerator { spawnWeight = 8; }}); - NBTStructure.registerNullWeight(0, 2, beachBiomes::contains); + NBTStructure.registerNullWeight(0, 2, oceanBiomes::contains); //why the fuck did this change Map bricks = new HashMap() {{ put(ModBlocks.meteor_brick, new MeteorBricks()); diff --git a/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java b/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java index b6a335dd4..a55b69512 100644 --- a/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java +++ b/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java @@ -21,49 +21,48 @@ import net.minecraft.world.World; import net.minecraft.world.gen.structure.MapGenStructureIO; import net.minecraft.world.gen.structure.StructureBoundingBox; -/* Described as "Civilian", as that's the overarching connection between all of these structures. Unlike the ruins, there's not enough to +/* Described as "Civilian", as that's the overarching connection between all of these structures. Unlike the ruins, there's not enough to * compartmentalize even further. Just in general many of the structures I consider lower-quality (except for the sandstone houses; those are actually pretty nice). */ public class CivilianFeatures { - + public static void registerComponents() { - MapGenStructureIO.func_143031_a(NTMHouse1.class, "NTMHouse1"); - MapGenStructureIO.func_143031_a(NTMHouse2.class, "NTMHouse2"); + MapGenStructureIO.func_143031_a(NTMHouse1.class, "NTMHouse1"); + MapGenStructureIO.func_143031_a(NTMHouse2.class, "NTMHouse2"); MapGenStructureIO.func_143031_a(NTMLab1.class, "NTMLab1"); //i'll replace these shitty structures one day trust - MapGenStructureIO.func_143031_a(NTMLab2.class, "NTMLab2"); - MapGenStructureIO.func_143031_a(NTMWorkshop1.class, "NTMWorkshop1"); + MapGenStructureIO.func_143031_a(NTMLab2.class, "NTMLab2"); MapGenStructureIO.func_143031_a(RuralHouse1.class, "NTMRuralHouse1"); } - + /** Sandstone Ruin 1 */ public static class NTMHouse1 extends Component { - + private boolean hasPlacedChest; - + private static Sandstone RandomSandstone = new Sandstone(); - + public NTMHouse1() { super(); } - + /** Constructor for this feature; takes coordinates for bounding box */ public NTMHouse1(Random rand, int minX, int minZ) { super(rand, minX, 64, minZ, 9, 4, 6); this.hasPlacedChest = false; } - + @Override protected void func_143012_a(NBTTagCompound nbt) { super.func_143012_a(nbt); nbt.setBoolean("hasChest", this.hasPlacedChest); } - + @Override protected void func_143011_b(NBTTagCompound nbt) { super.func_143011_b(nbt); this.hasPlacedChest = nbt.getBoolean("hasChest"); } - + /** * Generates structures. */ @@ -86,15 +85,15 @@ public class CivilianFeatures { * Fills an area with blocks randomly - look into randLimit? * this.randomlyFillWithBlocks(world, box, rand, randLimit, minX, minY, minZ, maxX, maxY, maxZ, blockToPlace, blockToReplace, alwaysReplace); */ - + //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.sandstone, 0, 0, 0, 9, 6, -1, box); - + //Walls this.fillWithRandomizedBlocks(world, box, 0, 0, 0, 9, 0, 0, false, rand, RandomSandstone); //Back Wall this.fillWithRandomizedBlocks(world, box, 0, 1, 0, 1, 1, 0, false, rand, RandomSandstone); @@ -114,10 +113,10 @@ public class CivilianFeatures { this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 9 - 2, 2, 6, box); this.fillWithRandomizedBlocks(world, box, 9, 0, 0, 9, 0, 6, false, rand, RandomSandstone); //Right Wall this.randomlyFillWithBlocks(world, box, rand, 0.65F, 9, 1, 1, 9, 1, 6 - 1, Blocks.sand, Blocks.air, false); - + this.fillWithRandomizedBlocks(world, box, 4, 0, 1, 4, 1, 3, false, rand, RandomSandstone); this.placeBlockAtCurrentPosition(world, ModBlocks.reinforced_sand, 0, 4, 0, 4, box); - + //Loot/Sand this.placeBlockAtCurrentPosition(world, ModBlocks.crate_weapon, 0, 1, 0, 1, box); if(!this.hasPlacedChest) @@ -128,35 +127,35 @@ public class CivilianFeatures { this.placeBlockAtCurrentPosition(world, ModBlocks.crate_metal, 0, 9 - 1, 0, 1, box); this.randomlyFillWithBlocks(world, box, rand, 0.25F, 1, 0, 2, 3, 0, 6 - 1, Blocks.sand, Blocks.air, false); this.randomlyFillWithBlocks(world, box, rand, 0.25F, 5, 0, 2, 9 - 1, 0, 6 - 1, Blocks.sand, Blocks.air, false); - + return true; } - + } - + public static class NTMHouse2 extends Component { - + private static Sandstone RandomSandstone = new Sandstone(); - + private boolean[] hasPlacedLoot = new boolean[2]; - + public NTMHouse2() { super(); } - + public NTMHouse2(Random rand, int minX, int minZ) { super(rand, minX, 64, minZ, 15, 5, 9); this.hasPlacedLoot[0] = false; this.hasPlacedLoot[1] = false; } - + @Override protected void func_143012_a(NBTTagCompound nbt) { super.func_143012_a(nbt); nbt.setBoolean("hasLoot1", this.hasPlacedLoot[0]); nbt.setBoolean("hasLoot2", this.hasPlacedLoot[1]); } - + @Override protected void func_143011_b(NBTTagCompound nbt) { super.func_143011_b(nbt); @@ -166,18 +165,18 @@ public class CivilianFeatures { @Override public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { - + //System.out.print(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.sandstone, 0, 0, 0, 6, 15, -1, box); placeFoundationUnderneath(world, Blocks.sandstone, 0, 9, 0, 15, 9, -1, box); - + this.fillWithAir(world, box, 1, 0, 1, 5, 5, 9 - 1); - + //House 1 this.fillWithRandomizedBlocks(world, box, 0, 0, 0, 6, 1, 0, false, rand, RandomSandstone); //Back Wall this.fillWithRandomizedBlocks(world, box, 0, 2, 0, 1, 2, 0, false, rand, RandomSandstone); @@ -196,7 +195,7 @@ public class CivilianFeatures { this.fillWithRandomizedBlocks(world, box, 6, 0, 9 - 2, 6, 0, 9 - 2, false, rand, RandomSandstone); this.fillWithRandomizedBlocks(world, box, 6, 3, 9 - 2, 6, 3, 9 - 2, false, rand, RandomSandstone); this.fillWithRandomizedBlocks(world, box, 6, 0, 1, 6, 3, 9 - 3, false, rand, RandomSandstone); - + this.fillWithBlocks(world, box, 1, 0, 1, 5, 0, 9 - 1, Blocks.sandstone, Blocks.air, false); //Floor //this.fillWithRandomizedBlocks(world, box, 1, 5 - 1, 0, 5, 5 - 1, 9, false, rand, RandomSandstone); //Ceiling this.fillWithBlocks(world, box, 1, 5 - 1, 0, 5, 5 - 1, 9, Blocks.sandstone, Blocks.air, false); @@ -207,7 +206,7 @@ public class CivilianFeatures { this.fillWithMetadataBlocks(world, box, 3, 5, 4, 3, 5, 6, Blocks.stone_slab, 1, Blocks.air, 0, false); this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 3, 5, 9 - 1, box); this.fillWithMetadataBlocks(world, box, 2, 5, 9, 4, 5, 9, Blocks.stone_slab, 1, Blocks.air, 0, false); - + //House 2 this.fillWithRandomizedBlocks(world, box, 15 - 6, 0, 0, 15, 0, 0, false, rand, RandomSandstone); //Back Wall this.fillWithRandomizedBlocks(world, box, 15 - 6, 1, 0, 15 - 2, 1, 0, false, rand, RandomSandstone); @@ -234,9 +233,9 @@ public class CivilianFeatures { this.fillWithMetadataBlocks(world, box, 15, 1, 4, 15, 1, 5, Blocks.stone_slab, 1, Blocks.air, 0, false); this.fillWithRandomizedBlocks(world, box, 15, 1, 9 - 1, 15, 1, 9 - 3, false, rand, RandomSandstone); this.placeBlockAtCurrentPosition(world, Blocks.stone_slab, 1, 15, 1, 9 - 1, box); - + this.fillWithBlocks(world, box, 15 - 5, 0, 1, 15 - 1, 0, 9 - 1, Blocks.sandstone, Blocks.air, false); //Floor - + //Loot & Decorations //House 1 int eastMeta = this.getDecoMeta(4); @@ -247,7 +246,7 @@ public class CivilianFeatures { this.placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 1, 1, 9 - 4, box); if(!hasPlacedLoot[0]) { this.placeBlockAtCurrentPosition(world, Blocks.chest, this.getMetadataWithOffset(Blocks.chest, 3), 1, 1, 9 - 2, box); - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), (TileEntityChest)world.getTileEntity(this.getXWithOffset(1, 9 - 2), + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), (TileEntityChest)world.getTileEntity(this.getXWithOffset(1, 9 - 2), this.getYWithOffset(1), this.getZWithOffset(1, 9 - 2)), 10); this.hasPlacedLoot[0] = true; } @@ -256,53 +255,53 @@ public class CivilianFeatures { this.fillWithMetadataBlocks(world, box, 5, 1, 6, 5, 3, 6, ModBlocks.steel_scaffold, eastMeta < 4 ? 0 : 8, Blocks.air, 0, false); this.placeBlockAtCurrentPosition(world, ModBlocks.steel_grate, 7, 5, 1, 5, box); this.placeBlockAtCurrentPosition(world, ModBlocks.crate_weapon, 0, 5, 2, 5, box); - + //House 2 if(!hasPlacedLoot[1]) { this.placeBlockAtCurrentPosition(world, Blocks.chest, this.getMetadataWithOffset(Blocks.chest, 3), 15 - 5, 1, 1, box); - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(this.getXWithOffset(15 - 5, 1), + WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsLegacy.POOL_ANTENNA), (TileEntityChest)world.getTileEntity(this.getXWithOffset(15 - 5, 1), this.getYWithOffset(1), this.getZWithOffset(15 - 5, 1)), 10); this.hasPlacedLoot[1] = true; } this.placeBlockAtCurrentPosition(world, ModBlocks.bobblehead, rand.nextInt(16), 15 - 5, 1, 4, box); TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(this.getXWithOffset(15 - 5, 4), this.getYWithOffset(1), this.getZWithOffset(15 - 5, 4)); - + if(bobble != null) { bobble.type = BobbleType.values()[rand.nextInt(BobbleType.values().length - 1) + 1]; bobble.markDirty(); } - + this.randomlyFillWithBlocks(world, box, rand, 0.25F, 15 - 4, 1, 1, 15 - 1, 1, 9 - 1, Blocks.sand, Blocks.air, false); - + return true; } } - + public static class NTMLab1 extends Component { - + private static ConcreteBricks RandomConcreteBricks = new ConcreteBricks(); private static LabTiles RandomLabTiles = new LabTiles(); - + private boolean[] hasPlacedLoot = new boolean[2]; - + public NTMLab1() { super(); } - + /** Constructor for this feature; takes coordinates for bounding box */ public NTMLab1(Random rand, int minX, int minZ) { super(rand, minX, 64, minZ, 9, 4, 7); this.hasPlacedLoot[0] = false; this.hasPlacedLoot[1] = false; } - + @Override protected void func_143012_a(NBTTagCompound nbt) { super.func_143012_a(nbt); nbt.setBoolean("hasLoot1", this.hasPlacedLoot[0]); nbt.setBoolean("hasLoot2", this.hasPlacedLoot[1]); } - + @Override protected void func_143011_b(NBTTagCompound nbt) { super.func_143011_b(nbt); @@ -312,28 +311,28 @@ public class CivilianFeatures { @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, 9, 7 - 2, -1, box); placeFoundationUnderneath(world, Blocks.stonebrick, 0, 3, 6, 9, 7, -1, box); - - if(this.getBlockAtCurrentPosition(world, 2, 0, 7 - 1, box).getMaterial().isReplaceable() + + if(this.getBlockAtCurrentPosition(world, 2, 0, 7 - 1, box).getMaterial().isReplaceable() || this.getBlockAtCurrentPosition(world, 2, 0, 7 - 1, box) == Blocks.air) { placeFoundationUnderneath(world, Blocks.stonebrick, 0, 2, 7 - 1, 2, 7 - 1, -1, box); this.placeBlockAtCurrentPosition(world, Blocks.stone_brick_stairs, getStairMeta(0), 2, 0, 7 - 1, box); } - + this.fillWithAir(world, box, 1, 0, 1, 9 - 1, 4, 4); this.fillWithAir(world, box, 4, 0, 4, 9 - 1, 4, 7 - 1); this.fillWithAir(world, box, 3, 1, 7 - 1, 3, 2, 7 - 1); - + int pillarMeta = this.getPillarMeta(8); - + //Pillars this.fillWithBlocks(world, box, 0, 0, 0, 0, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); this.fillWithBlocks(world, box, 9, 0, 0, 9, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); @@ -343,7 +342,7 @@ public class CivilianFeatures { this.fillWithBlocks(world, box, 3, 0, 7 - 2, 3, 3, 7 - 2, ModBlocks.concrete_pillar, Blocks.air, false); this.fillWithBlocks(world, box, 3, 0, 7, 3, 3, 7, ModBlocks.concrete_pillar, Blocks.air, false); this.fillWithBlocks(world, box, 9, 0, 7, 9, 3, 7, ModBlocks.concrete_pillar, Blocks.air, false); - + //Walls this.fillWithRandomizedBlocks(world, box, 1, 0, 0, 9 - 1, 4 - 1, 0, false, rand, RandomConcreteBricks); //Back Wall this.fillWithRandomizedBlocks(world, box, 0, 4, 0, 9, 4, 0, false, rand, RandomConcreteBricks); @@ -358,16 +357,16 @@ public class CivilianFeatures { this.randomlyFillWithBlocks(world, box, rand, 0.75F, 5, 2, 7, 9 - 2, 3, 7, Blocks.glass_pane, Blocks.air, false); this.fillWithRandomizedBlocks(world, box, 3, 4, 7, 9, 4, 7, false, rand, RandomConcreteBricks); this.fillWithRandomizedBlocks(world, box, 9, 1, 1, 9, 4, 7 - 1, false, rand, RandomConcreteBricks); //Right Wall - + //Floor & Ceiling this.fillWithRandomizedBlocks(world, box, 1, 0, 1, 9 - 1, 0, 4, false, rand, RandomLabTiles); //Floor this.fillWithRandomizedBlocks(world, box, 4, 0, 7 - 2, 9 - 1, 0, 7 - 1, false, rand, RandomLabTiles); this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_cracked, 0, 3, 0, 7 - 1, box); - + this.fillWithBlocks(world, box, 1, 4 - 1, 1, 1, 4, 4, ModBlocks.reinforced_glass, Blocks.air, false); //Ceiling this.fillWithBlocks(world, box, 2, 4, 1, 9 - 1, 4, 4, ModBlocks.brick_light, Blocks.air, false); this.fillWithBlocks(world, box, 4, 4, 7 - 2, 9 - 1, 4, 7 - 1, ModBlocks.brick_light, Blocks.air, false); - + //Decorations & Loot this.fillWithMetadataBlocks(world, box, 1, 1, 1, 1, 1, 4, Blocks.dirt, 2, Blocks.air, 0, false); int westDecoMeta = this.getDecoMeta(5); @@ -376,11 +375,11 @@ public class CivilianFeatures { for(byte i = 0; i < 4; i++) { this.placeBlockAtCurrentPosition(world, ModBlocks.plant_flower, i, 1, 2, 1 + i, box); } - + int doorMeta = this.getMetadataWithOffset(Blocks.wooden_door, 2); this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, 3, 1, 7 - 1, box); ItemDoor.placeDoorBlock(world, this.getXWithOffset(3, 7 - 1), this.getYWithOffset(1), this.getZWithOffset(3, 7 - 1), doorMeta, ModBlocks.door_office); - + int northDecoMeta = this.getDecoMeta(3); this.fillWithMetadataBlocks(world, box, 5, 4 - 1, 1, 9 - 1, 4 - 1, 1, ModBlocks.steel_scaffold, westDecoMeta < 4 ? 0 : 8, Blocks.air, 0, false); this.fillWithMetadataBlocks(world, box, 5, 4 - 1, 2, 9 - 1, 4 - 1, 2, ModBlocks.steel_wall, northDecoMeta, Blocks.air, 0, false); @@ -395,24 +394,24 @@ public class CivilianFeatures { LootGenerator.lootMedicine(world, this.getXWithOffset(6, 3), this.getYWithOffset(2), this.getZWithOffset(6, 3)); this.hasPlacedLoot[0] = true; } - + this.placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 9 - 1, 1, 7 - 2, box); if(!hasPlacedLoot[1]) { this.hasPlacedLoot[1] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 9 - 1, 1, 7 - 1, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), 8); } - + return true; } } - + public static class NTMLab2 extends Component { - + private static SuperConcrete RandomSuperConcrete = new SuperConcrete(); private static ConcreteBricks RandomConcreteBricks = new ConcreteBricks(); private static LabTiles RandomLabTiles = new LabTiles(); - + private boolean[] hasPlacedLoot = new boolean[2]; - + public NTMLab2() { super(); } @@ -422,48 +421,48 @@ public class CivilianFeatures { this.hasPlacedLoot[0] = false; this.hasPlacedLoot[1] = false; } - + @Override protected void func_143012_a(NBTTagCompound nbt) { super.func_143012_a(nbt); nbt.setBoolean("hasLoot1", this.hasPlacedLoot[0]); nbt.setBoolean("hasLoot2", this.hasPlacedLoot[1]); } - + @Override protected void func_143011_b(NBTTagCompound nbt) { super.func_143011_b(nbt); this.hasPlacedLoot[0] = nbt.getBoolean("hasLoot1"); this.hasPlacedLoot[1] = nbt.getBoolean("hasLoot2"); } - + @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; } this.boundingBox.offset(0, -7, 0); //System.out.println("" + this.boundingBox.minX + ", " + this.boundingBox.minY + ", " + this.boundingBox.minZ); - + placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 0, 12, 8 - 2, 6, box); placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 7, 6, 8, 6, box); - - if(this.getBlockAtCurrentPosition(world, 12 - 3, 11 - 4, 7, box).getMaterial().isReplaceable() + + if(this.getBlockAtCurrentPosition(world, 12 - 3, 11 - 4, 7, box).getMaterial().isReplaceable() || this.getBlockAtCurrentPosition(world, 12 - 3, 11 - 4, 7, box) == Blocks.air) { int stairMeta = this.getMetadataWithOffset(Blocks.stone_brick_stairs, 2); placeFoundationUnderneath(world, Blocks.stonebrick, 0, 12 - 3, 7, 12 - 2, 7, 11 - 4, box); this.fillWithMetadataBlocks(world, box, 12 - 3, 11 - 4, 7, 12 - 2, 11 - 4, 7, Blocks.stone_brick_stairs, stairMeta, Blocks.air, 0, false); } - - + + this.fillWithAir(world, box, 1, 11 - 4, 1, 12 - 1, 11, 8 - 3); this.fillWithAir(world, box, 1, 11 - 4, 8 - 2, 5, 11, 8 - 1); this.fillWithAir(world, box, 12 - 3, 11 - 3, 8 - 2, 12 - 2, 11 - 2, 8 - 2); this.fillWithAir(world, box, 5, 5, 1, 6, 6, 2); - this.fillWithAir(world, box, 2, 0, 2, 12 - 2, 3, 8 - 2); - + this.fillWithAir(world, box, 2, 0, 2, 12 - 2, 3, 8 - 2); + //Walls this.fillWithRandomizedBlocks(world, box, 0, 11 - 4, 0, 12, 11, 0, false, rand, RandomSuperConcrete); //Back Wall this.fillWithRandomizedBlocks(world, box, 0, 11 - 4, 0, 0, 11, 8, false, rand, RandomSuperConcrete); //Left Wall @@ -488,13 +487,13 @@ public class CivilianFeatures { this.fillWithRandomizedBlocks(world, box, 12, 11 - 3, 2, 12, 11 - 1, 2, false, rand, RandomSuperConcrete); this.fillWithBlocks(world, box, 12, 11 - 3, 1, 12, 11 - 1, 1, ModBlocks.reinforced_glass, Blocks.air, false); this.fillWithRandomizedBlocks(world, box, 12, 11, 1, 12, 11, 8 - 3, false, rand, RandomSuperConcrete); - + this.fillWithBlocks(world, box, 1, 0, 1, 12 - 1, 3, 1, ModBlocks.reinforced_stone, Blocks.air, false); //Back Wall this.fillWithBlocks(world, box, 1, 0, 2, 1, 3, 8 - 2, ModBlocks.reinforced_stone, Blocks.air, false); //Left Wall - this.fillWithBlocks(world, box, 1, 0, 8 - 1, 12 - 1, 3, 8 - 1, ModBlocks.reinforced_stone, Blocks.air, false); //Front Wall + this.fillWithBlocks(world, box, 1, 0, 8 - 1, 12 - 1, 3, 8 - 1, ModBlocks.reinforced_stone, Blocks.air, false); //Front Wall this.fillWithBlocks(world, box, 12 - 1, 0, 2, 12 - 1, 3, 8 - 2, ModBlocks.reinforced_stone, Blocks.air, false); // Right Wall this.fillWithBlocks(world, box, 6, 0, 3, 6, 3, 8 - 2, ModBlocks.reinforced_stone, Blocks.air, false); //Internal Wall - + //Floors & Ceiling this.fillWithRandomizedBlocks(world, box, 1, 11 - 4, 1, 3, 11 - 4, 8 - 1, false, rand, RandomLabTiles); //Left Floor this.fillWithRandomizedBlocks(world, box, 4, 11 - 4, 8 - 2, 5, 11 - 4, 8 - 1, false, rand, RandomLabTiles); @@ -509,7 +508,7 @@ public class CivilianFeatures { this.placeBlockAtCurrentPosition(world, ModBlocks.tile_lab_cracked, 0, 6, 11 - 4, 5, box); this.fillWithBlocks(world, box, 7, 11 - 4, 2, 7, 11 - 4, 3, ModBlocks.tile_lab_broken, Blocks.air, false); this.fillWithBlocks(world, box, 7, 11 - 4, 4, 7, 11 - 4, 5, ModBlocks.tile_lab_cracked, Blocks.air, false); - + this.fillWithBlocks(world, box, 1, 11, 1, 2, 11, 8 - 1, ModBlocks.brick_light, Blocks.air, false); //Left Ceiling this.fillWithBlocks(world, box, 3, 11, 8 - 2, 4, 11, 8 - 1, ModBlocks.brick_light, Blocks.air, false); this.fillWithBlocks(world, box, 12 - 3, 11, 1, 12 - 1, 11, 8 - 3, ModBlocks.brick_light, Blocks.air, false); //Right Ceiling @@ -520,40 +519,40 @@ public class CivilianFeatures { this.fillWithBlocks(world, box, 4, 11, 4, 4, 11, 5, ModBlocks.waste_planks, Blocks.air, false); this.fillWithBlocks(world, box, 5, 11, 6, 5, 11, 8 - 1, ModBlocks.waste_planks, Blocks.air, false); this.fillWithBlocks(world, box, 8, 11, 3, 8, 11, 5, ModBlocks.waste_planks, Blocks.air, false); - + this.fillWithRandomizedBlocks(world, box, 2, 0, 2, 5, 0, 8 - 2, false, rand, RandomLabTiles); //Floor this.fillWithRandomizedBlocks(world, box, 6, 0, 2, 6, 0, 3, false, rand, RandomLabTiles); this.fillWithRandomizedBlocks(world, box, 7, 0, 2, 12 - 2, 0, 8 - 2, false, rand, RandomLabTiles); - + this.fillWithRandomizedBlocks(world, box, 1, 4, 1, 12 - 1, 4, 8 - 1, false, rand, RandomConcreteBricks); //Ceiling - + //Decorations & Loot int eastMeta = this.getDecoMeta(4); int westMeta = this.getDecoMeta(5); int northMeta = this.getDecoMeta(3); int southMeta = this.getDecoMeta(2); this.placeBlockAtCurrentPosition(world, ModBlocks.crashed_balefire, southMeta, 6, 11 - 2, 3, box); - + int doorMeta = this.getMetadataWithOffset(Blocks.wooden_door, 1); this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, 12 - 3, 11 - 3, 8 - 2, box); - ItemDoor.placeDoorBlock(world, this.getXWithOffset(12 - 3, 8 - 2), this.getYWithOffset(11 - 3), this.getZWithOffset(12 - 3, 8 - 2), + ItemDoor.placeDoorBlock(world, this.getXWithOffset(12 - 3, 8 - 2), this.getYWithOffset(11 - 3), this.getZWithOffset(12 - 3, 8 - 2), doorMeta, ModBlocks.door_office); this.placeBlockAtCurrentPosition(world, ModBlocks.door_office, doorMeta, 12 - 2, 11 - 3, 8 - 2, box); - ItemDoor.placeDoorBlock(world, this.getXWithOffset(12 - 2, 8 - 2), this.getYWithOffset(11 - 3), this.getZWithOffset(12 - 2, 8 - 2), + ItemDoor.placeDoorBlock(world, this.getXWithOffset(12 - 2, 8 - 2), this.getYWithOffset(11 - 3), this.getZWithOffset(12 - 2, 8 - 2), doorMeta, ModBlocks.door_office); - + this.fillWithBlocks(world, box, 1, 11 - 3, 1, 1, 11 - 1, 1, ModBlocks.deco_steel, Blocks.air, false); this.fillWithMetadataBlocks(world, box, 1, 11 - 3, 2, 1, 11 - 2, 3, ModBlocks.steel_grate, 7, Blocks.air, 0, false); this.placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, westMeta, 1, 11 - 1, 2, box); this.placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 0, 1, 11 - 1, 3, box); this.fillWithBlocks(world, box, 1, 11 - 3, 6, 1, 11 - 1, 6, ModBlocks.deco_pipe_framed_rusted, Blocks.air, false); - + this.fillWithMetadataBlocks(world, box, 12 - 4, 11 - 3, 1, 12 - 4, 11 - 1, 1, ModBlocks.steel_wall, eastMeta, Blocks.air, 0, false); this.fillWithMetadataBlocks(world, box, 12 - 3, 11 - 1, 1, 12 - 2, 11 - 1, 1, ModBlocks.steel_grate, 0, Blocks.air, 0, false); this.fillWithMetadataBlocks(world, box, 12 - 3, 11 - 2, 1, 12 - 2, 11 - 2, 1, ModBlocks.tape_recorder, northMeta, Blocks.air, 0, false); this.fillWithBlocks(world, box, 12 - 3, 11 - 3, 1, 12 - 2, 11 - 3, 1, ModBlocks.deco_steel, Blocks.air, false); this.fillWithMetadataBlocks(world, box, 12 - 1, 11 - 3, 1, 12 - 1, 11 - 1, 1, ModBlocks.steel_wall, westMeta, Blocks.air, 0, false); - + this.fillWithMetadataBlocks(world, box, 2, 1, 2, 2, 1, 8 - 2, ModBlocks.steel_grate, 7, Blocks.air, 0, false); this.placeBlockAtCurrentPosition(world, ModBlocks.vitrified_barrel, 0, 2, 2, 2, box); this.fillWithMetadataBlocks(world, box, 3, 1, 2, 3, 3, 2, ModBlocks.steel_wall, westMeta, Blocks.air, 0, false); @@ -565,7 +564,7 @@ public class CivilianFeatures { this.hasPlacedLoot[0] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 5, 1, 8 - 2, ItemPool.getPool(ItemPoolsComponent.POOL_NUKE_FUEL), 10); } this.fillWithBlocks(world, box, 4, 1, 8 - 3, 5, 1, 8 - 3, ModBlocks.crate_lead, Blocks.air, false); - + this.fillWithBlocks(world, box, 12 - 5, 1, 8 - 2, 12 - 5, 3, 8 - 2, ModBlocks.deco_steel, Blocks.air, false);; this.fillWithMetadataBlocks(world, box, 12 - 4, 1, 8 - 2, 12 - 2, 1, 8 - 2, ModBlocks.steel_grate, 7, Blocks.air, 0, false); this.fillWithMetadataBlocks(world, box, 12 - 4, 2, 8 - 2, 12 - 3, 2, 8 - 2, ModBlocks.tape_recorder, southMeta, Blocks.air, 0, false); @@ -576,184 +575,34 @@ public class CivilianFeatures { if(rand.nextInt(2) == 0) generateLoreBook(world, box, 12 - 2, 1, 3, 1, HbmChestContents.generateOfficeBook(rand)); } - + return true; } } - - public static class NTMWorkshop1 extends Component { - - private static SuperConcrete RandomSuperConcrete = new SuperConcrete(); - - private boolean hasPlacedLoot; - - public NTMWorkshop1() { + + public static class RuralHouse1 extends Component { + + public RuralHouse1() { super(); } - - public NTMWorkshop1(Random rand, int minX, int minZ) { - super(rand, minX, 64, minZ, 10, 6, 8); - this.hasPlacedLoot = false; - } - - @Override - protected void func_143012_a(NBTTagCompound nbt) { - super.func_143012_a(nbt); - nbt.setBoolean("hasLoot", this.hasPlacedLoot); - } - - @Override - protected void func_143011_b(NBTTagCompound nbt) { - super.func_143011_b(nbt); - this.hasPlacedLoot = nbt.getBoolean("hasLoot"); + + public RuralHouse1(Random rand, int minX, int minZ) { + super(rand, minX, 64, minZ, 14, 8, 14); } @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, 1, 0, 8 - 3, 11, -1, box); - placeFoundationUnderneath(world, Blocks.dirt, 0, 8, 1, 10, 6, -1, box); - - this.fillWithAir(world, box, 1, 0, 0, 10 - 3, 6 - 2, 8); - this.fillWithAir(world, box, 10 - 2, 0, 2, 10 - 1, 2, 5); - - if(this.getBlockAtCurrentPosition(world, 0, 0, 5, box).getMaterial().isReplaceable() - || this.getBlockAtCurrentPosition(world, 0, 0, 5, box) == Blocks.air) { - int stairMeta = this.getMetadataWithOffset(Blocks.stone_brick_stairs, 1); - this.placeBlockAtCurrentPosition(world, Blocks.stone_brick_stairs, stairMeta, 0, 0, 5, box); - - placeFoundationUnderneath(world, Blocks.stonebrick, 0, 0, 1, 0, 8 - 1, -1, box); - - this.fillWithMetadataBlocks(world, box, 0, 0, 1, 0, 0, 8 - 1, Blocks.stone_slab, 5, Blocks.air, 0, false); - } - - //Walls - int pillarMetaWE = this.getPillarMeta(4); - int pillarMetaNS = this.getPillarMeta(8); - this.fillWithBlocks(world, box, 1, 0, 0, 1, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); //Back Wall - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 1, 4, 0, box); - this.fillWithMetadataBlocks(world, box, 2, 4, 0, 10 - 4, 4, 0, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 10 - 3, 4, 0, box); - this.fillWithBlocks(world, box, 10 - 3, 0, 0, 10 - 3, 3, 0, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 2, 0, 0, 10 - 4, 1, 0, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 2, 0, 2, 2, 0, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, 3, 2, 0, 5, 2, 0, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 10 - 4, 2, 0, 10 - 4, 2, 0, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 3, 0, 10 - 4, 3, 0, false, rand, RandomSuperConcrete); - this.fillWithMetadataBlocks(world, box, 1, 4, 1, 1, 4, 8 - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Left Wall - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 1, 4, 8, box); - this.fillWithBlocks(world, box, 1, 0, 8, 1, 3, 8, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 1, 0, 1, 1, 1, 4, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 1, 2, 1, 1, 2, 1, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, 1, 2, 2, 1, 2, 3, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 1, 2, 4, 1, 2, 4, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 1, 3, 1, 1, 3, 8 - 1, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 1, 0, 8 - 2, 1, 3, 8 - 1, false, rand, RandomSuperConcrete); - this.fillWithMetadataBlocks(world, box, 2, 4, 8, 10 - 4, 4, 8, ModBlocks.concrete_pillar, pillarMetaWE, Blocks.air, 0, false); //Front Wall - this.placeBlockAtCurrentPosition(world, ModBlocks.concrete, 0, 10 - 3, 4, 8, box); - this.fillWithBlocks(world, box, 10 - 3, 0, 8, 10 - 3, 3, 8, ModBlocks.concrete_pillar, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 2, 0, 8, 10 - 4, 1, 8, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 2, 8, 2, 2, 8, false, rand, RandomSuperConcrete); - this.fillWithBlocks(world, box, 3, 2, 8, 5, 2, 8, ModBlocks.reinforced_glass, Blocks.air, false); - this.fillWithRandomizedBlocks(world, box, 10 - 4, 2, 8, 10 - 4, 2, 8, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 3, 8, 10 - 4, 3, 8, false, rand, RandomSuperConcrete); - this.fillWithMetadataBlocks(world, box, 10 - 3, 4, 1, 10 - 3, 4, 8 - 1, ModBlocks.concrete_pillar, pillarMetaNS, Blocks.air, 0, false); //Right Wall - this.fillWithRandomizedBlocks(world, box, 10 - 3, 0, 1, 10 - 3, 3, 8 - 1, false, rand, RandomSuperConcrete); - - pillarMetaWE = this.getPillarMeta(5); - pillarMetaNS = this.getPillarMeta(9); - this.fillWithMetadataBlocks(world, box, 10 - 2, 2, 1, 10 - 1, 2, 1, Blocks.log, pillarMetaWE, Blocks.air, 0, false); //Back Wall - this.fillWithMetadataBlocks(world, box, 10, 0, 1, 10, 2, 1, Blocks.log, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 1, 10 - 1, 1, 1, Blocks.planks, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 10, 2, 2, 10, 2, 5, Blocks.log, pillarMetaNS, Blocks.air, 0, false); //Right Wall - this.fillWithMetadataBlocks(world, box, 10, 0, 6, 10, 2, 6, Blocks.log, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 10, 0, 3, 10, 1, 5, Blocks.planks, 1, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 10 - 2, 2, 6, 10 - 1, 2, 6, Blocks.log, pillarMetaWE, Blocks.air, 0, false); //Front Wall - this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 6, 10 - 1, 1, 6, Blocks.planks, 1, Blocks.air, 0, false); - - //Floor & Ceiling - this.fillWithBlocks(world, box, 2, 0, 1, 6, 0, 8 - 1, ModBlocks.brick_light, Blocks.air, false); //Floor - this.placeBlockAtCurrentPosition(world, ModBlocks.brick_light, 0, 1, 0, 5, box); - this.fillWithRandomizedBlocks(world, box, 2, 4, 1, 6, 4, 3, false, rand, RandomSuperConcrete); //Ceiling - this.fillWithRandomizedBlocks(world, box, 2, 4, 4, 2, 4, 4, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 5, 4, 4, 6, 4, 4, false, rand, RandomSuperConcrete); - this.fillWithRandomizedBlocks(world, box, 2, 4, 8 - 3, 6, 4, 8 - 1, false, rand, RandomSuperConcrete); - - this.fillWithBlocks(world, box, 10 - 2, 2, 2, 10 - 1, 2, 5, ModBlocks.deco_steel, Blocks.air, false); - - //Loot & Decorations - int southMeta = this.getDecoMeta(2); - int eastMeta = this.getDecoMeta(5); - this.placeBlockAtCurrentPosition(world, ModBlocks.pole_satellite_receiver, eastMeta, 2, 6 - 1, 1, box); - this.fillWithBlocks(world, box, 3, 6 - 1, 1, 4, 6 - 1, 1, ModBlocks.deco_steel, Blocks.air, false); - this.fillWithBlocks(world, box, 2, 6 - 1, 2, 4, 6 - 1, 2, ModBlocks.deco_steel, Blocks.air, false); - this.fillWithBlocks(world, box, 2, 6, 1, 4, 6, 2, ModBlocks.steel_roof, Blocks.air, false); - this.fillWithBlocks(world, box, 2, 1, 1, 2, 3, 1, ModBlocks.deco_red_copper, Blocks.air, false); - this.fillWithBlocks(world, box, 3, 1, 1, 3, 1, 2, ModBlocks.deco_beryllium, Blocks.air, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.machine_amgen, 0, 4, 1, 1, box); - this.placeBlockAtCurrentPosition(world, ModBlocks.machine_detector, 0, 4, 1, 2, box); - this.fillWithBlocks(world, box, 5, 1, 1, 5, 1, 2, ModBlocks.deco_beryllium, Blocks.air, false); - this.fillWithBlocks(world, box, 6, 1, 1, 6, 3, 1, ModBlocks.deco_red_copper, Blocks.air, false); - this.fillWithBlocks(world, box, 3, 1, 4, 4, 1, 4, ModBlocks.concrete_super_broken, Blocks.air, false); - this.fillWithMetadataBlocks(world, box, 6, 1, 4, 6, 3, 4, ModBlocks.steel_scaffold, eastMeta < 4 ? 0 : 8, Blocks.air, 0, false); - this.fillWithMetadataBlocks(world, box, 6, 1, 5, 6, 1, 7, ModBlocks.steel_grate, 7, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.radiorec, eastMeta, 6, 2, 8 - 1, box); - this.fillWithMetadataBlocks(world, box, 2, 1, 8 - 1, 3, 1, 8 - 1, ModBlocks.machine_electric_furnace_off, southMeta, Blocks.air, 0, false); - if(!hasPlacedLoot) { - this.hasPlacedLoot = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, 4, 1, 8 - 1, ItemPool.getPool(ItemPoolsComponent.POOL_MACHINE_PARTS), 11); - } - this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 5, 3, 1, box); - this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 2, 1, 2, box); - this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 6, 1, 2, box); - this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 6, 2, 5, box); - - this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 5, 10 - 1, 0, 5, ModBlocks.steel_grate, 7, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, southMeta, 10 - 2, 1, 5, box); - this.placeBlockAtCurrentPosition(world, ModBlocks.bobblehead, rand.nextInt(16), 10 - 1, 1, 5, box); - TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(this.getXWithOffset(10 - 1, 5), this.getYWithOffset(1), this.getZWithOffset(10 - 1, 5)); - - if(bobble != null) { - bobble.type = BobbleType.values()[rand.nextInt(BobbleType.values().length - 1) + 1]; - bobble.markDirty(); - } - this.fillWithMetadataBlocks(world, box, 10 - 2, 0, 2, 10 - 2, 0, 3, Blocks.log, pillarMetaWE, Blocks.air, 0, false); - this.placeBlockAtCurrentPosition(world, Blocks.log, pillarMetaWE, 10 - 2, 1, 2, box); - this.placeBlockAtCurrentPosition(world, Blocks.web, 0, 10 - 2, 1, 3, box); - - return true; - } - } - - - public static class RuralHouse1 extends Component { - - public RuralHouse1() { - super(); - } - - public RuralHouse1(Random rand, int minX, int minZ) { - super(rand, minX, 64, minZ, 14, 8, 14); - } - - @Override - public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { - - if(!this.setAverageHeight(world, box, this.boundingBox.minY)) { - return false; - } - + //FillWithAir fillWithAir(world, box, 9, 1, 3, 12, 4, 8); fillWithAir(world, box, 5, 1, 2, 8, 3, 8); fillWithAir(world, box, 2, 1, 5, 4, 3, 8); fillWithAir(world, box, 2, 1, 10, 7, 3, 12); - + //Foundations fillWithBlocks(world, box, 1, 0, 4, 4, 0, 4, ModBlocks.concrete_colored_ext); fillWithBlocks(world, box, 4, 0, 2, 4, 0, 3, ModBlocks.concrete_colored_ext); @@ -770,7 +619,7 @@ public class CivilianFeatures { placeFoundationUnderneath(world, ModBlocks.concrete_colored_ext, 0, 1, 10, 8, 13, -1, box); placeFoundationUnderneath(world, ModBlocks.concrete_colored_ext, 0, 1, 4, 3, 9, -1, box); placeFoundationUnderneath(world, ModBlocks.concrete_colored_ext, 0, 4, 1, 13, 9, -1, box); - + placeFoundationUnderneath(world, Blocks.log, 0, 2, 3, 2, 3, 0, box); placeFoundationUnderneath(world, Blocks.log, 0, 3, 2, 3, 2, 0, box); placeFoundationUnderneath(world, Blocks.log, 0, 3, 0, 3, 0, -1, box); @@ -793,7 +642,7 @@ public class CivilianFeatures { placeFoundationUnderneath(world, Blocks.log, 0, 0, 6, 0, 7, 0, box); placeFoundationUnderneath(world, Blocks.log, 0, 0, 4, 0, 4, 0, box); placeFoundationUnderneath(world, Blocks.log, 0, 0, 3, 0, 4, -1, box); - + //Walls //North/Front fillWithBlocks(world, box, 1, 1, 4, 4, 4, 4, Blocks.brick_block); @@ -856,7 +705,7 @@ public class CivilianFeatures { //North/Front int logW = this.getPillarMeta(4); int logN = this.getPillarMeta(8); - + fillWithBlocks(world, box, 0, 0, 3, 0, 3, 3, Blocks.log); fillWithMetadataBlocks(world, box, 1, 4, 3, 3, 4, 3, Blocks.log, logW); fillWithMetadataBlocks(world, box, 3, 4, 1, 3, 4, 2, Blocks.log, logN); @@ -903,12 +752,12 @@ public class CivilianFeatures { placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 0, 3, 10, box); placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 0, 3, 8, box); placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 9, 0, 3, 4, box); - + int stairW = this.getStairMeta(0); int stairE = this.getStairMeta(1); int stairN = this.getStairMeta(2); int stairS = this.getStairMeta(3); - + //Floor placeBlockAtCurrentPosition(world, Blocks.planks, 1, 11, 0, 2, box); fillWithMetadataBlocks(world, box, 9, 0, 3, 12, 0, 8, Blocks.planks, 1); @@ -930,7 +779,7 @@ public class CivilianFeatures { fillWithMetadataBlocks(world, box, 10 + i, 0, 13 - i, 11 + i, 0, 13 - i, Blocks.planks, 1); fillWithBlocks(world, box, 10 + i, 1, 13 - i, 11 + i, 1, 13 - i, Blocks.fence); } - + //Ceiling fillWithMetadataBlocks(world, box, 12, 4, 3, 12, 4, 8, Blocks.oak_stairs, stairW | 4); fillWithBlocks(world, box, 12, 5, 3, 12, 5, 8, Blocks.planks); @@ -940,7 +789,7 @@ public class CivilianFeatures { fillWithBlocks(world, box, 8, 4, 5, 8, 4, 8, Blocks.planks); fillWithBlocks(world, box, 5, 4, 2, 8, 4, 4, Blocks.planks); fillWithBlocks(world, box, 1, 4, 5, 7, 4, 12, Blocks.planks); - + //Roofing //Framing placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW, 1, 5, 3, box); @@ -998,11 +847,11 @@ public class CivilianFeatures { placeBlockAtCurrentPosition(world, Blocks.spruce_stairs, stairW | 4, 7 - i, 5 + i, z, box); } } - + //Main (LEFT) BrokenStairs roofStairs = new BrokenStairs(); BrokenBlocks roofBlocks = new BrokenBlocks(); - + roofStairs.setMetadata(stairW); fillWithBlocks(world, box, 4, 5, 1, 7, 5, 1, Blocks.wooden_slab); fillWithRandomizedBlocks(world, box, 4, 5, 2, 7, 5, 3, rand, roofBlocks); //TODO separate into stair/slab/block block selectors @@ -1026,11 +875,11 @@ public class CivilianFeatures { fillWithRandomizedBlocks(world, box, 3, 7, 10, 3, 7, 13, rand, roofStairs); fillWithRandomizedBlocks(world, box, 2, 6, 4, 2, 6, 13, rand, roofStairs); fillWithRandomizedBlocks(world, box, 1, 5, 4, 1, 5, 13, rand, roofStairs); - + //Deco int metaN = getDecoMeta(3); int metaE = getDecoMeta(4); - + //Webs randomlyFillWithBlocks(world, box, rand, 0.05F, 12, 3, 3, 12, 3, 8, Blocks.web); randomlyFillWithBlocks(world, box, rand, 0.05F, 10, 4, 3, 11, 4, 8, Blocks.web); @@ -1085,7 +934,7 @@ public class CivilianFeatures { placeBlockAtCurrentPosition(world, ModBlocks.steel_wall, metaN, 3, 3, 6, box); placeBlockAtCurrentPosition(world, ModBlocks.radiorec, getDecoMeta(2), 8, 2, 2, box); placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 7, 2, 4, box); - + fillWithBlocks(world, box, 2, 1, 12, 3, 1, 12, Blocks.bookshelf); //bookshelf/desk placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairE | 4, 4, 1, 12, box); placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 8, 5, 1, 12, box); @@ -1095,7 +944,7 @@ public class CivilianFeatures { placeBed(world, box, 1, 3, 1, 10); placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 4, 2, 12, box); placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 5, 2, 12, box); - + fillWithMetadataBlocks(world, box, 4, 5, 5, 5, 5, 5, Blocks.dark_oak_stairs, stairS | 4); //seat and desk placeBlockAtCurrentPosition(world, Blocks.wooden_slab, 1, 4, 5, 6, box); placeBlockAtCurrentPosition(world, ModBlocks.crate_can, 0, 7, 5, 7, box); //conserve crates @@ -1104,7 +953,7 @@ public class CivilianFeatures { if(rand.nextBoolean()) placeBlockAtCurrentPosition(world, ModBlocks.machine_diesel, metaE, 7, 5, 9, box); placeBlockAtCurrentPosition(world, rand.nextBoolean() ? ModBlocks.crate_weapon : ModBlocks.crate, 0, 6, 5, 12, box); - + //inventories generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(2), 7, 1, 10, ItemPool.getPool(ItemPoolsComponent.POOL_OFFICE_TRASH), 4); generateInvContents(world, box, rand, Blocks.chest, metaE, 7, 5, 5, ItemPool.getPool(ItemPoolsLegacy.POOL_GENERIC), 8); @@ -1114,10 +963,10 @@ public class CivilianFeatures { placeBlockAtCurrentPosition(world, ModBlocks.deco_loot, 0, 5, 6, 5, box); LootGenerator.lootMakeshiftGun(world, getXWithOffset(5, 5), getYWithOffset(6), getZWithOffset(5, 5)); placeRandomBobble(world, box, rand, 5, 5, 12); - + return true; } - + //i don't like this class public static class BrokenStairs extends BlockSelector { //man. @@ -1129,11 +978,11 @@ public class CivilianFeatures { public int getSelectedBlockMetaData() { return this.field_151562_a instanceof BlockStairs ? this.selectedBlockMetaData : 0; } - + @Override public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { float chance = rand.nextFloat(); - + if(chance < 0.7) this.field_151562_a = Blocks.oak_stairs; else if(chance < 0.97) @@ -1142,14 +991,14 @@ public class CivilianFeatures { this.field_151562_a = Blocks.air; } } - + //this fucking sucks. i am racist against the blockselector class public static class BrokenBlocks extends BlockSelector { - + @Override public void selectBlocks(Random rand, int posX, int posY, int posZ, boolean notInterior) { float chance = rand.nextFloat(); - + if(chance < 0.6) { this.field_151562_a = Blocks.planks; this.selectedBlockMetaData = 0; diff --git a/src/main/resources/assets/hbm/structures/lighthouse.nbt b/src/main/resources/assets/hbm/structures/lighthouse.nbt new file mode 100644 index 0000000000000000000000000000000000000000..24b8bb08701a6d8939797a6525e7ffb69d5e4f86 GIT binary patch literal 155191 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 literal 0 HcmV?d00001 From 0cc70760ab0216319214ce7611bb894fe9252c11 Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Sun, 13 Apr 2025 17:39:58 +0200 Subject: [PATCH 4/7] Imagine being an artic fox You could run up on the opps in da snow Id probably miss human things like fortnite and geek bars But I'd prolly be tuff ngl --- .../assets/hbm/structures/lighthouse.nbt | Bin 155191 -> 157058 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/assets/hbm/structures/lighthouse.nbt b/src/main/resources/assets/hbm/structures/lighthouse.nbt index 24b8bb08701a6d8939797a6525e7ffb69d5e4f86..84670465e03326e247369c5577582321eeae53a7 100644 GIT binary patch literal 157058 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 From fe52d7aed1f4cb66cac421fe9a1520fe90e48aec Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Sun, 13 Apr 2025 17:43:24 +0200 Subject: [PATCH 5/7] think of the lamest dude u know ... he listen to 2hollis don't he --- .../tileentity/RenderSkeletonHolder.java | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java b/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java index 725e9f7ec..eaaf88738 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java +++ b/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java @@ -1,5 +1,6 @@ package com.hbm.render.tileentity; +import net.minecraft.world.World; import org.lwjgl.opengl.GL11; import com.hbm.blocks.generic.BlockSkeletonHolder.TileEntitySkeletonHolder; @@ -22,33 +23,41 @@ public class RenderSkeletonHolder extends TileEntitySpecialRenderer { public void renderTileEntityAt(TileEntity te, double x, double y, double z, float interp) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y, z + 0.5); - - switch(te.getBlockMetadata()) { - case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; - case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; - case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + + int meta = 0; + World world = te.getWorldObj(); + if (world != null) { + meta = world.getBlockMetadata(te.xCoord, te.yCoord, te.zCoord); } - + + int rotation = 0; + switch (meta) { + case 2: rotation = 180; break; // east + case 3: rotation = 0; break; // west + case 4: rotation = 270; break; // north + case 5: rotation = 90; break; // south + } + GL11.glRotatef(rotation, 0F, 1F, 0F); + GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); RenderHelper.enableStandardItemLighting(); bindTexture(ResourceManager.skeleton_holder_tex); ResourceManager.skeleton_holder.renderPart("Holder1"); - + TileEntitySkeletonHolder pedestal = (TileEntitySkeletonHolder) te; - + if(pedestal.item != null) { ItemStack stack = pedestal.item.copy(); - + GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); if(!(stack.getItemSpriteNumber() == 0 && stack.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(stack.getItem()).getRenderType()))) { GL11.glScaled(1.5, 1.5, 1.5); } - + GL11.glTranslated(0, 0.125, 0); EntityItem dummy = new EntityItem(te.getWorldObj(), 0, 0, 0, stack); @@ -58,7 +67,7 @@ public class RenderSkeletonHolder extends TileEntitySpecialRenderer { RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); RenderItem.renderInFrame = false; } - + GL11.glPopMatrix(); } } From edc701e12987cbc09829ed59029a521c680e0427 Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Sun, 13 Apr 2025 17:49:19 +0200 Subject: [PATCH 6/7] the devil couldnt reach me so he made me implement shitty code and then remove it and end up not implementing shit --- .../com/hbm/blocks/generic/BlockSkeletonHolder.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java b/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java index 6f07dfee3..972d24b5b 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java +++ b/src/main/java/com/hbm/blocks/generic/BlockSkeletonHolder.java @@ -1,6 +1,5 @@ package com.hbm.blocks.generic; -import com.hbm.world.gen.INBTTransformable; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -16,7 +15,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class BlockSkeletonHolder extends BlockContainer implements INBTTransformable { +public class BlockSkeletonHolder extends BlockContainer { public BlockSkeletonHolder() { super(Material.rock); @@ -38,7 +37,7 @@ public class BlockSkeletonHolder extends BlockContainer implements INBTTransform if(i == 1) world.setBlockMetadataWithNotify(x, y, z, 3, 2); if(i == 2) world.setBlockMetadataWithNotify(x, y, z, 4, 2); if(i == 3) world.setBlockMetadataWithNotify(x, y, z, 2, 2); - } + } //I hope you change this shit to not be hardcoded because im not doing it @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { @@ -78,11 +77,6 @@ public class BlockSkeletonHolder extends BlockContainer implements INBTTransform super.breakBlock(world, x, y, z, block, meta); } - @Override - public int transformMeta(int meta, int coordBaseMode) { - return INBTTransformable.transformMetaDirectional(meta, coordBaseMode); - } - public static class TileEntitySkeletonHolder extends TileEntity { public ItemStack item; From 7e81a7b5c2ec6012d79331d7b416e0902d79c499 Mon Sep 17 00:00:00 2001 From: Lazzzycatwastaken Date: Mon, 14 Apr 2025 22:13:14 +0200 Subject: [PATCH 7/7] github bent me over and fucked me in every hole now i need therapy --- .../tileentity/RenderSkeletonHolder.java | 26 ++++++++----------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java b/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java index eaaf88738..1baae38fb 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java +++ b/src/main/java/com/hbm/render/tileentity/RenderSkeletonHolder.java @@ -1,9 +1,9 @@ package com.hbm.render.tileentity; -import net.minecraft.world.World; import org.lwjgl.opengl.GL11; import com.hbm.blocks.generic.BlockSkeletonHolder.TileEntitySkeletonHolder; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; import com.hbm.main.ResourceManager; import net.minecraft.block.Block; @@ -24,20 +24,12 @@ public class RenderSkeletonHolder extends TileEntitySpecialRenderer { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y, z + 0.5); - int meta = 0; - World world = te.getWorldObj(); - if (world != null) { - meta = world.getBlockMetadata(te.xCoord, te.yCoord, te.zCoord); - } - - int rotation = 0; - switch (meta) { - case 2: rotation = 180; break; // east - case 3: rotation = 0; break; // west - case 4: rotation = 270; break; // north - case 5: rotation = 90; break; // south - } - GL11.glRotatef(rotation, 0F, 1F, 0F); + switch(te.getBlockMetadata()) { + case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(270, 0F, 1F, 0F); break; + case 3: GL11.glRotatef(0, 0F, 1F, 0F); break; + case 5: GL11.glRotatef(90, 0F, 1F, 0F); break; + } //why the FUCK did this not commit properl;y GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_CULL_FACE); @@ -54,6 +46,10 @@ public class RenderSkeletonHolder extends TileEntitySpecialRenderer { GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); + if(stack.getItem() instanceof ItemGunBaseNT) { + GL11.glRotatef(-90F, 0.0F, 1.0F, 0.0F); + } + if(!(stack.getItemSpriteNumber() == 0 && stack.getItem() instanceof ItemBlock && RenderBlocks.renderItemIn3d(Block.getBlockFromItem(stack.getItem()).getRenderType()))) { GL11.glScaled(1.5, 1.5, 1.5); }