diff options
Diffstat (limited to 'src/Java/gtPlusPlus/australia/gen/map')
7 files changed, 0 insertions, 1626 deletions
diff --git a/src/Java/gtPlusPlus/australia/gen/map/MapGenExtendedVillage.java b/src/Java/gtPlusPlus/australia/gen/map/MapGenExtendedVillage.java deleted file mode 100644 index 8fc6940242..0000000000 --- a/src/Java/gtPlusPlus/australia/gen/map/MapGenExtendedVillage.java +++ /dev/null @@ -1,265 +0,0 @@ -package gtPlusPlus.australia.gen.map; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Random; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.australia.GTplusplus_Australia; - -import java.util.Map.Entry; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.structure.MapGenStructure; -import net.minecraft.world.gen.structure.StructureBoundingBox; -import net.minecraft.world.gen.structure.StructureComponent; -import net.minecraft.world.gen.structure.StructureStart; -import net.minecraft.world.gen.structure.StructureVillagePieces; - -public class MapGenExtendedVillage extends MapGenStructure -{ - /** A list of all the biomes villages can spawn in. */ - public static List<BiomeGenBase> villageSpawnBiomes = Arrays.asList(new BiomeGenBase[] {GTplusplus_Australia.Australian_Desert_Biome_3, GTplusplus_Australia.Australian_Plains_Biome, GTplusplus_Australia.Australian_Forest_Biome, GTplusplus_Australia.Australian_Outback_Biome}); - /** World terrain type, 0 for normal, 1 for flat map */ - private int terrainType; - private int field_82665_g; - private int field_82666_h; - - public MapGenExtendedVillage(){ - this.field_82665_g = 8; - this.field_82666_h = 4; - } - - public MapGenExtendedVillage(Map<?, ?> p_i2093_1_){ - this(); - Iterator<?> iterator = p_i2093_1_.entrySet().iterator(); - - Logger.INFO("Created Extended Village Object."); - - while (iterator.hasNext()) - { - Entry<?, ?> entry = (Entry<?, ?>)iterator.next(); - - if (((String)entry.getKey()).equals("size")) - { - this.terrainType = MathHelper.parseIntWithDefaultAndMax((String)entry.getValue(), this.terrainType, 0); - } - else if (((String)entry.getKey()).equals("distance")) - { - this.field_82665_g = MathHelper.parseIntWithDefaultAndMax((String)entry.getValue(), this.field_82665_g, this.field_82666_h + 1); - } - } - } - - public String func_143025_a() - { - return "ExtendedVillage"; - } - - protected boolean canSpawnStructureAtCoords(int p_75047_1_, int p_75047_2_) - { - - - int k = p_75047_1_; - int l = p_75047_2_; - - if (p_75047_1_ < 0) - { - p_75047_1_ -= this.field_82665_g - 1; - } - - if (p_75047_2_ < 0) - { - p_75047_2_ -= this.field_82665_g - 1; - } - - int i1 = p_75047_1_ / this.field_82665_g; - int j1 = p_75047_2_ / this.field_82665_g; - Random random = this.worldObj.setRandomSeed(i1, j1, 10387312); - i1 *= this.field_82665_g; - j1 *= this.field_82665_g; - i1 += random.nextInt(this.field_82665_g - this.field_82666_h); - j1 += random.nextInt(this.field_82665_g - this.field_82666_h); - - if (k == i1 && l == j1) - { - boolean flag = this.worldObj.getWorldChunkManager().areBiomesViable(k * 16 + 8, l * 16 + 8, 0, villageSpawnBiomes); - - if (flag) - { - Logger.INFO("Found viable biome(s) for custom village"); - return true; - } - } - - return false; - } - - protected StructureStart getStructureStart(int p_75049_1_, int p_75049_2_) - { - return new MapGenExtendedVillage.Start(this.worldObj, this.rand, p_75049_1_, p_75049_2_, this.terrainType); - } - - public static class Start extends StructureStart - { - /** well ... thats what it does */ - private boolean hasMoreThanTwoComponents; - - public Start() { - } - - public Start(World p_i2092_1_, Random p_i2092_2_, int p_i2092_3_, int p_i2092_4_, int p_i2092_5_) - { - super(p_i2092_3_, p_i2092_4_); - Logger.INFO("Trying to Start Village Builder."); - List<?> list = StructureVillagePieces.getStructureVillageWeightedPieceList(p_i2092_2_, p_i2092_5_); - StructureVillagePieces.Start start = new StructureVillagePieces.Start(p_i2092_1_.getWorldChunkManager(), 0, p_i2092_2_, (p_i2092_3_ << 4) + 2, (p_i2092_4_ << 4) + 2, list, p_i2092_5_); - this.components.add(start); - start.buildComponent(start, this.components, p_i2092_2_); - List<?> list1 = start.field_74930_j; - List<?> list2 = start.field_74932_i; - int l; - Logger.INFO("List1: "+list1.size()+" | List2: "+list2.size()); - - while (!list1.isEmpty() || !list2.isEmpty()) - { - Logger.INFO("Iterating non empty list."); - StructureComponent structurecomponent; - - if (list1.isEmpty()) - { - l = p_i2092_2_.nextInt(list2.size()); - structurecomponent = (StructureComponent)list2.remove(l); - structurecomponent.buildComponent(start, this.components, p_i2092_2_); - } - else - { - l = p_i2092_2_.nextInt(list1.size()); - structurecomponent = (StructureComponent)list1.remove(l); - structurecomponent.buildComponent(start, this.components, p_i2092_2_); - } - } - Logger.INFO("Finished iterating lists, updating bounding box for structure."); - - this.updateBoundingBox(); - l = 0; - Iterator iterator = this.components.iterator(); - - while (iterator.hasNext()) - { - Logger.INFO("Iterating Components."); - StructureComponent structurecomponent1 = (StructureComponent)iterator.next(); - - if (!(structurecomponent1 instanceof StructureVillagePieces.Road)) - { - ++l; - } - } - - Logger.INFO("hasMoreThanTwoComponents? "+(l > 2)); - this.hasMoreThanTwoComponents = l > 2; - } - - /** - * currently only defined for Villages, returns true if Village has more than 2 non-road components - */ - public boolean isSizeableStructure() - { - //return this.hasMoreThanTwoComponents; - return true; - } - - public void func_143022_a(NBTTagCompound p_143022_1_) - { - super.func_143022_a(p_143022_1_); - p_143022_1_.setBoolean("Valid", this.hasMoreThanTwoComponents); - } - - public void func_143017_b(NBTTagCompound p_143017_1_) - { - super.func_143017_b(p_143017_1_); - this.hasMoreThanTwoComponents = p_143017_1_.getBoolean("Valid"); - } - } - - /** - * Generates structures in specified chunk next to existing structures. Does *not* generate StructureStarts. - */ - @Override - public boolean generateStructuresInChunk(World p_75051_1_, Random p_75051_2_, int p_75051_3_, int p_75051_4_){ - //Logger.INFO("Try generate Structs in chunk."); - this.callPrivateFunction1(p_75051_1_); - int k = (p_75051_3_ << 4) + 8; - int l = (p_75051_4_ << 4) + 8; - boolean flag = false; - Iterator iterator = this.structureMap.values().iterator(); - - //Logger.INFO("Iteration Size: "+this.structureMap.values().size()); - while (iterator.hasNext()) - { - //Logger.INFO("Iterating."); - StructureStart structurestart = (StructureStart)iterator.next(); - - if (structurestart.isSizeableStructure() && (structurestart.getBoundingBox().intersectsWith(k, l, k + 15, l + 15) || structurestart.getBoundingBox().intersectsWith(k, l, k - 15, l - 15))) - { - Logger.INFO("Iterating. 2"); - structurestart.generateStructure(p_75051_1_, p_75051_2_, new StructureBoundingBox(k, l, k + 15, l + 15)); - flag = true; - this.callPrivateFunction2(structurestart.func_143019_e(), structurestart.func_143018_f(), structurestart); - } - /* else { - Logger.INFO("Iterating. 3"); - Logger.INFO("structurestart.isSizeableStructure()? "+structurestart.isSizeableStructure()); - Logger.INFO("structurestart.getBoundingBox().intersectsWith(k, l, k + 15, l + 15)? "+(structurestart.getBoundingBox().intersectsWith(k, l, k + 15, l + 15) || structurestart.getBoundingBox().intersectsWith(k, l, k - 15, l - 15))); - Logger.INFO("K: "+k+" | L: "+l); - Logger.INFO("structure bounding box info: x-:"+structurestart.getBoundingBox().minX+" y-:"+structurestart.getBoundingBox().minY+" x+:"+structurestart.getBoundingBox().maxX+" y+:"+structurestart.getBoundingBox().maxY); - }*/ - } - - return flag; - } - - Method mMethod1; - Method mMethod2; - private boolean callPrivateFunction1(World aWorld) { - if (mMethod1 == null) { - try { - mMethod1 = MapGenStructure.class.getDeclaredMethod("func_143027_a", World.class); - } catch (NoSuchMethodException | SecurityException e) { - return false; - } - } - if (mMethod1 != null) { - try { - //Logger.INFO("Invoking func_143027_a"); - mMethod1.invoke(this, aWorld); - return true; - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {} - } - return false; - } - - private boolean callPrivateFunction2(int aInt1, int aInt2, StructureStart aStruct) { - if (mMethod2 == null) { - try { - mMethod2 = MapGenStructure.class.getDeclaredMethod("func_143026_a", int.class, int.class, StructureStart.class); - } catch (NoSuchMethodException | SecurityException e) { - return false; - } - } - if (mMethod2 != null) { - try { - Logger.INFO("Invoking func_143026_a"); - mMethod2.invoke(this, aInt1, aInt2, aStruct); - return true; - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {} - } - return false; - } -}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/australia/gen/map/MapGenLargeRavine.java b/src/Java/gtPlusPlus/australia/gen/map/MapGenLargeRavine.java deleted file mode 100644 index 0eab94c5d1..0000000000 --- a/src/Java/gtPlusPlus/australia/gen/map/MapGenLargeRavine.java +++ /dev/null @@ -1,217 +0,0 @@ -package gtPlusPlus.australia.gen.map; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.Random; - -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.lib.CORE; -import net.minecraft.block.Block; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.gen.MapGenRavine; - -public class MapGenLargeRavine extends MapGenRavine { - private float[] field_75046_d = new float[1024]; - - @Override - protected void func_151540_a(long aSeed, int var1, int var2, Block[] aBlocksInChunkOrPassedIn, double p_151540_6_, - double p_151540_8_, double p_151540_10_, float p_151540_12_, float p_151540_13_, float p_151540_14_, - int possibleCurrentY, int possibleMaxY, double p_151540_17_) { - Random random = CORE.RANDOM; - //gtPlusPlus.api.objects.Logger.WORLD("Generating Large Ravine. 1"); - this.range *= 2; - double d4 = (double) (var1 * 24 + 16); - double d5 = (double) (var2 * 24 + 16); - float f3 = 0.0F; - float f4 = 0.0F; - - if (possibleMaxY <= 25) { - int j1 = Math.min(this.range * 16 - 32, 200); - possibleMaxY = j1 - random.nextInt(j1 / 4); - } - - boolean possibleIsUnderGroundFlag = false; - - if (possibleCurrentY <= -1) { - possibleCurrentY = possibleMaxY / 3; - possibleIsUnderGroundFlag = true; - } - - float f5 = 1.0F; - - for (int k1 = 0; k1 < 256; ++k1) { - if (k1 == 0 || random.nextInt(3) == 0) { - f5 = 1.0F + random.nextFloat() * random.nextFloat() * 1.0F; - } - - this.field_75046_d[k1] = f5 * f5; - } - - for (; possibleCurrentY < possibleMaxY; ++possibleCurrentY) { - double d12 = 3.5D + (double) (MathHelper.sin((float) possibleCurrentY * CORE.PI / (float) possibleMaxY) - * p_151540_12_ * 1.0F); - double d6 = d12 * p_151540_17_; - d12 *= (double) random.nextFloat() * 0.55D + 0.75D; - d6 *= (double) random.nextFloat() * 0.55D + 0.75D; - float f6 = MathHelper.cos(p_151540_14_); - float f7 = MathHelper.sin(p_151540_14_); - p_151540_6_ += (double) (MathHelper.cos(p_151540_13_) * f6); - p_151540_8_ += (double) f7; - p_151540_10_ += (double) (MathHelper.sin(p_151540_13_) * f6); - p_151540_14_ *= 1.7F; - p_151540_14_ += f4 * 0.25F; - p_151540_13_ += f3 * 0.25F; - f4 *= 0.8F; - f3 *= 0.5F; - f4 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 2.0F; - f3 += (random.nextFloat() - random.nextFloat()) * random.nextFloat() * 4.0F; - - if (possibleIsUnderGroundFlag || random.nextInt(4) != 0) { - double d7 = p_151540_6_ - d4; - double d8 = p_151540_10_ - d5; - double d9 = (double) (possibleMaxY - possibleCurrentY); - double d10 = (double) (p_151540_12_ + 2.0F + 16.0F); - - if (d7 * d7 + d8 * d8 - d9 * d9 > d10 * d10) { - return; - } - - if (p_151540_6_ >= d4 - 16.0D - d12 * 2.0D && p_151540_10_ >= d5 - 16.0D - d12 * 2.0D - && p_151540_6_ <= d4 + 16.0D + d12 * 2.0D && p_151540_10_ <= d5 + 16.0D + d12 * 2.0D) { - int i4 = MathHelper.floor_double(p_151540_6_ - d12) - var1 * 16 - 1; - int l1 = MathHelper.floor_double(p_151540_6_ + d12) - var1 * 16 + 1; - int j4 = MathHelper.floor_double(p_151540_8_ - d6) - 1; - int i2 = MathHelper.floor_double(p_151540_8_ + d6) + 1; - int k4 = MathHelper.floor_double(p_151540_10_ - d12) - var2 * 16 - 1; - int j2 = MathHelper.floor_double(p_151540_10_ + d12) - var2 * 16 + 1; - - if (i4 < 0) { - i4 = 0; - } - - if (l1 > 16) { - l1 = 16; - } - - if (j4 < 1) { - j4 = 1; - } - - if (i2 > 248) { - i2 = 248; - } - - if (k4 < 0) { - k4 = 0; - } - - if (j2 > 16) { - j2 = 16; - } - - boolean flag2 = false; - int k2; - int j3; - - for (k2 = i4; !flag2 && k2 < l1; ++k2) { - for (int l2 = k4; !flag2 && l2 < j2; ++l2) { - for (int i3 = i2 + 1; !flag2 && i3 >= j4 - 1; --i3) { - j3 = (k2 * 16 + l2) * 256 + i3; - - if (i3 >= 0 && i3 < 256) { - Block block = aBlocksInChunkOrPassedIn[j3]; - - if (isOceanBlock(aBlocksInChunkOrPassedIn, j3, k2, i3, l2, var1, var2)) { - flag2 = true; - } - - if (i3 != j4 - 1 && k2 != i4 && k2 != l1 - 1 && l2 != k4 && l2 != j2 - 1) { - i3 = j4; - } - } - } - } - } - - if (!flag2) { - for (k2 = i4; k2 < l1; ++k2) { - double d13 = ((double) (k2 + var1 * 16) + 0.5D - p_151540_6_) / d12; - - for (j3 = k4; j3 < j2; ++j3) { - double d14 = ((double) (j3 + var2 * 16) + 0.5D - p_151540_10_) / d12; - int k3 = (k2 * 16 + j3) * 256 + i2; - boolean flag = false; - - if (d13 * d13 + d14 * d14 < 1.0D) { - for (int l3 = i2 - 1; l3 >= j4; --l3) { - double d11 = ((double) l3 + 0.5D - p_151540_8_) / d6; - - if ((d13 * d13 + d14 * d14) * (double) this.field_75046_d[l3] - + d11 * d11 / 6.0D < 1.0D) { - Block block1 = aBlocksInChunkOrPassedIn[k3]; - - if (checkIfTopBlock(aBlocksInChunkOrPassedIn, k3, k2, l3, j3, var1, var2)) { - flag = true; - } - - Logger.WORLD("Generating Large Ravine. 2"); - digBlock(aBlocksInChunkOrPassedIn, k3, k2, l3, j3, var1, var2, flag); - } - - --k3; - } - } - } - } - - if (possibleIsUnderGroundFlag) { - break; - } - } - } - } - } - } - - // generate? - @Override - protected void func_151538_a(World p_151538_1_, int p_151538_2_, int p_151538_3_, int chunkX, int chunkZ, - Block[] blocks) { - if (this.rand.nextInt(50) == 0) { - double d0 = (double) (p_151538_2_ * 16 + this.rand.nextInt(16)); - double d1 = (double) (this.rand.nextInt(this.rand.nextInt(40) + 8) + 20); - double d2 = (double) (p_151538_3_ * 16 + this.rand.nextInt(16)); - byte b0 = 1; - - for (int i1 = 0; i1 < b0; ++i1) { - float f = this.rand.nextFloat() * (float) Math.PI * 2.0F; - float f1 = (this.rand.nextFloat() - 0.5F) * 2.0F / 8.0F; - float f2 = (this.rand.nextFloat() * 2.0F + this.rand.nextFloat()) * 2.0F; - this.func_151540_a(this.rand.nextLong(), chunkX, chunkZ, blocks, d0, d1, d2, f2, f, f1, 0, 0, 3.0D); - } - } - } - - private static Method isTopBlock; - - // Determine if the block at the specified location is the top block for the - // biome, we take into account - private synchronized boolean checkIfTopBlock(Block[] data, int index, int x, int y, int z, int chunkX, int chunkZ) { - try { - if (isTopBlock == null) { - isTopBlock = MapGenRavine.class.getDeclaredMethod("isTopBlock", Block[].class, int.class, int.class, - int.class, int.class, int.class, int.class); - } - if (isTopBlock != null) { - return (boolean) isTopBlock.invoke(this, data, index, x, y, z, chunkX, chunkZ); - } else { - return false; - } - } catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException - | InvocationTargetException n) { - return false; - } - } - -}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/australia/gen/map/component/AustraliaComponent.java b/src/Java/gtPlusPlus/australia/gen/map/component/AustraliaComponent.java deleted file mode 100644 index b6b83d997b..0000000000 --- a/src/Java/gtPlusPlus/australia/gen/map/component/AustraliaComponent.java +++ /dev/null @@ -1,196 +0,0 @@ -package gtPlusPlus.australia.gen.map.component; - -import java.util.Random; - -import gtPlusPlus.api.objects.Logger; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.init.Blocks; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntityDispenser; -import net.minecraft.tileentity.TileEntityMobSpawner; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraft.world.World; -import net.minecraft.world.gen.structure.StructureBoundingBox; -import net.minecraft.world.gen.structure.StructureComponent; -import net.minecraftforge.common.ChestGenHooks; - -public class AustraliaComponent extends StructureComponent { - public AustraliaComponent() { - } - - public AustraliaComponent(int direction, Random random, int x, int z, int dimX, int dimY, int dimZ) { - super(direction); - this.coordBaseMode = direction; - this.boundingBox = calcBox(direction, x + (16 - dimX) / 2, 64, z + (16 - dimZ) / 2, dimX, dimY, dimZ, 0); - } - - public boolean addComponentParts(World world, Random random) { - return true; - } - - protected void func_151554_b(World par1World, Block par2, int par3, int par4, int par5, int par6, - StructureBoundingBox par7StructureBoundingBox) { - int j1 = getXWithOffset(par4, par6); - int k0 = getYWithOffset(par5); - int k1 = k0; - int l1 = getZWithOffset(par4, par6); - if (par7StructureBoundingBox.isVecInside(j1, k1, l1)) { - if (par1World.isAirBlock(j1, k1, l1)) { - return; - } - k1--; - while (((par1World.isAirBlock(j1, k1, l1)) || (!par1World.getBlock(j1, k1, l1).getMaterial().isSolid()) - || (par1World.getBlock(j1, k1, l1) == Blocks.ice)) && (k1 > 1)) { - par1World.setBlock(j1, k1, l1, par2, par3, 2); - - k1--; - } - } - } - - protected void clearCurrentPositionBlocksUpwards(World par1World, int par2, int par3, int par4, - StructureBoundingBox par5StructureBoundingBox) { - int l = getXWithOffset(par2, par4); - int i1 = getYWithOffset(par3); - int j1 = getZWithOffset(par2, par4); - if (par5StructureBoundingBox.isVecInside(l, i1, j1)) { - int i = 0; - for (;;) { - i++; - if (((i >= 20) && (par1World.isAirBlock(l, i1, j1))) || (i1 >= 255)) { - break; - } - par1World.setBlock(l, i1, j1, Blocks.air, 0, 2); - i1++; - } - } - } - - protected boolean isWaterBelow(World par1World, int par4, int par5, int par6, - StructureBoundingBox par7StructureBoundingBox) { - int j1 = getXWithOffset(par4, par6); - int k1 = getYWithOffset(par5); - int l1 = getZWithOffset(par4, par6); - for (int i = 0; i < 10; i++) { - Material material = par1World.getBlock(j1, k1, l1).getMaterial(); - if ((material.isLiquid()) || (material == Material.ice)) { - return true; - } - if (!par1World.isAirBlock(j1, k1, l1)) { - return false; - } - } - return false; - } - - public void setDispenser(int x, int y, int z, Random random, World world, int facing) { - int i1 = getXWithOffset(x, z); - int j1 = getYWithOffset(y); - int k1 = getZWithOffset(x, z); - - world.setBlock(i1, j1, k1, Blocks.dispenser, facing, 0); - TileEntity tileDispenser = world.getTileEntity(i1, j1, k1); - if ((tileDispenser != null) && ((tileDispenser instanceof TileEntityDispenser))) { - ChestGenHooks info = ChestGenHooks.getInfo("mineshaftCorridor"); - WeightedRandomChestContent.generateChestContents(random, info.getItems(random), - (TileEntityDispenser) tileDispenser, info.getCount(random)); - } else { - Logger.WARNING("Failed to fetch dispenser entity at (" + i1 + ", " + j1 + ", " + k1 + ")"); - } - } - - protected void setSpawner(int x, int y, int z, String mobName, World world) { - int i1 = getXWithOffset(x, z); - int j1 = getYWithOffset(y); - int k1 = getZWithOffset(x, z); - - world.setBlock(i1, j1, k1, Blocks.mob_spawner, 0, 2); - TileEntity tileSpawner = world.getTileEntity(i1, j1, k1); - if ((tileSpawner != null) && ((tileSpawner instanceof TileEntityMobSpawner))) { - ((TileEntityMobSpawner) tileSpawner).func_145881_a().setEntityName(mobName); - } else { - Logger.WARNING("Failed to fetch mob spawner entity at (" + i1 + ", " + j1 + ", " + k1 + ")"); - } - } - - protected void setFurnace(int x, int y, int z, World world) { - int i1 = getXWithOffset(x, z); - int j1 = getYWithOffset(y); - int k1 = getZWithOffset(x, z); - - world.setBlock(i1, j1, k1, Blocks.furnace, getMetadataWithOffset(Blocks.piston, 3), 2); - } - - protected void placeAirBlockAtPos(int x, int y, int z, StructureBoundingBox bounds, World world) { - placeBlockAtCurrentPosition(world, Blocks.air, 0, x, y, z, bounds); - } - - protected void place(Block block, int meta, int x, int y, int z, StructureBoundingBox bounds, World world) { - placeBlockAtCurrentPosition(world, block, meta, x, y, z, bounds); - } - - protected StructureBoundingBox calcBox(int direction, int x, int y, int z, int xLength, int height, int zLength, - int xShift) { - int minX = 0; - int maxX = 0; - int minY = y; - int maxY = y + height; - int minZ = 0; - int maxZ = 0; - switch (direction) { - case 0: - minX = x - xShift; - maxX = x - xShift + xLength; - minZ = z; - maxZ = z + zLength; - break; - case 1: - minX = x - zLength; - maxX = x; - minZ = z - xShift; - maxZ = z - xShift + xLength; - break; - case 2: - minX = x - xShift; - maxX = x - xShift + xLength; - minZ = z - zLength; - maxZ = z; - break; - case 3: - minX = x; - maxX = x + zLength; - minZ = z - xShift; - maxZ = z - xShift + xLength; - } - return new StructureBoundingBox(minX, minY, minZ, maxX, maxY, maxZ); - } - - protected int calcGroundHeight(World world, StructureBoundingBox boundingBox) { - int height = 0; - int count = 0; - for (int z = boundingBox.minZ; z <= boundingBox.maxZ; z++) { - for (int x = boundingBox.minX; x <= boundingBox.maxX; x++) { - if (boundingBox.isVecInside(x, 64, z)) { - height += Math.max(world.getTopSolidOrLiquidBlock(x, z), world.provider.getAverageGroundLevel()); - count++; - } - } - } - if (count == 0) { - return -1; - } - return height / count; - } - - protected void func_143012_a(NBTTagCompound nbttagcompound) { - } - - protected void func_143011_b(NBTTagCompound nbttagcompound) { - } - - public boolean addComponentParts(World world, Random random, StructureBoundingBox structureboundingbox) { - return true; - } -} diff --git a/src/Java/gtPlusPlus/australia/gen/map/component/ComponentHut.java b/src/Java/gtPlusPlus/australia/gen/map/component/ComponentHut.java deleted file mode 100644 index 1f5dd59667..0000000000 --- a/src/Java/gtPlusPlus/australia/gen/map/component/ComponentHut.java +++ /dev/null @@ -1,474 +0,0 @@ -package gtPlusPlus.australia.gen.map.component; - -import java.util.Random; - -import gtPlusPlus.api.interfaces.IGeneratorWorld; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.australia.GTplusplus_Australia; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.plugin.villagers.entity.EntityNativeAustralian; -import net.minecraft.block.Block; -import net.minecraft.entity.passive.EntityVillager; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraft.world.gen.structure.StructureBoundingBox; - -public class ComponentHut extends AustraliaComponent { - public static final int DIM_X = 7; - public static final int DIM_Y = 10; - public static final int DIM_Z = 7; - - public ComponentHut() { - } - - public ComponentHut(int direction, Random random, int x, int z) { - super(direction, random, x, z, 7, 10, 7); - } - - public boolean addComponentParts(World world, Random random) { - - BiomeGenBase biom = world.getBiomeGenForCoords(getXWithOffset(0, 0), getZWithOffset(0, 0)); - int groundAvg = calcGroundHeight(world, this.boundingBox); - if (groundAvg < 0) { - return true; - } - this.boundingBox.offset(0, groundAvg - this.boundingBox.maxY + 10 - 1, 0); - if ((isWaterBelow(world, 0, -1, 0, this.boundingBox)) || (isWaterBelow(world, 0, -1, 6, this.boundingBox)) - || (isWaterBelow(world, 6, -1, 0, this.boundingBox)) - || (isWaterBelow(world, 6, -1, 6, this.boundingBox))) { - return false; - } - - Block aWall1, aWall2, aRoof, aFloor; - - if (biom.biomeID == GTplusplus_Australia.Australian_Desert_Biome_3.biomeID) { - aWall1 = Blocks.sand; - aWall2 = Blocks.sandstone; - aRoof = Blocks.sandstone; - aFloor = Blocks.sandstone; - } - else if (biom.biomeID == GTplusplus_Australia.Australian_Outback_Biome.biomeID) { - aWall1 = Blocks.clay; - aWall2 = Blocks.hardened_clay; - aRoof = Blocks.hardened_clay; - aFloor = Blocks.stained_hardened_clay; - } - else { - aWall1 = Blocks.sand; - aWall2 = Blocks.sandstone; - aRoof = Blocks.sandstone; - aFloor = Blocks.sandstone; - } - - //Empty Area - fillWithAir(world, this.boundingBox, 0, 1, 0, 6, 9, 6); - - //Build Floor - fillWithMetadataBlocks(world, this.boundingBox, 0, 0, 0, 6, 0, 6, aFloor, 0, aFloor, 1, false); - - //Layer 2 - int dir = MathUtils.randInt(0, 3); - - //Door First - if (dir == 0) { - placeDoorAtCurrentPosition( - world, this.boundingBox, random, 0, 1, 3, getMetadataWithOffset(Blocks.wooden_door, 1)); - } - else if (dir == 1) { - placeDoorAtCurrentPosition( - world, this.boundingBox, random, 3, 1, 6, getMetadataWithOffset(Blocks.wooden_door, 1)); - } - else if (dir == 2) { - placeDoorAtCurrentPosition( - world, this.boundingBox, random, 6, 1, 3, getMetadataWithOffset(Blocks.wooden_door, 1)); - } - else { - placeDoorAtCurrentPosition( - world, this.boundingBox, random, 3, 1, 0, getMetadataWithOffset(Blocks.wooden_door, 1)); - } - - //Layer 1 - //Wall Top - place(aWall1, 0, 0, 1, 2, this.boundingBox, world); - if (dir != 0) place(aWall1, 0, 0, 1, 3, this.boundingBox, world); - place(aWall1, 0, 0, 1, 4, this.boundingBox, world); - //Wall Right - place(aWall1, 0, 2, 1, 6, this.boundingBox, world); - if (dir != 1) place(aWall2, 0, 3, 1, 6, this.boundingBox, world); - place(aWall1, 0, 4, 1, 6, this.boundingBox, world); - //Wall Bottom - place(aWall2, 0, 6, 1, 4, this.boundingBox, world); - if (dir != 2) place(aWall1, 0, 6, 1, 3, this.boundingBox, world); - place(aWall1, 0, 6, 1, 2, this.boundingBox, world); - //Wall Left - place(aWall1, 0, 4, 1, 0, this.boundingBox, world); - if (dir != 3) place(aWall1, 0, 3, 1, 0, this.boundingBox, world); - place(aWall2, 0, 2, 1, 0, this.boundingBox, world); - //Corners - place(aWall1, 0, 1, 1, 5, this.boundingBox, world); - place(aWall2, 0, 5, 1, 5, this.boundingBox, world); - place(aWall1, 0, 5, 1, 1, this.boundingBox, world); - place(aWall1, 0, 1, 1, 1, this.boundingBox, world); - - - //Wall Top - place(aWall1, 0, 0, 2, 2, this.boundingBox, world); - //place(aWall1, 0, 0, 2, 3, this.boundingBox, world); - place(aWall2, 0, 0, 2, 4, this.boundingBox, world); - - //Wall Right - place(aWall2, 0, 2, 2, 6, this.boundingBox, world); - //place(aWall1, 0, 3, 2, 6, this.boundingBox, world); - place(aWall1, 0, 4, 2, 6, this.boundingBox, world); - - //Wall Bottom - place(aWall1, 0, 6, 2, 4, this.boundingBox, world); - //place(aWall1, 0, 6, 2, 3, this.boundingBox, world); - place(aWall2, 0, 6, 2, 2, this.boundingBox, world); - - //Wall Left - place(aWall1, 0, 4, 2, 0, this.boundingBox, world); - //place(aWall2, 0, 4, 2, 0, this.boundingBox, world); - place(aWall1, 0, 2, 2, 0, this.boundingBox, world); - - //Corners - place(aWall1, 0, 1, 2, 5, this.boundingBox, world); - place(aWall1, 0, 5, 2, 5, this.boundingBox, world); - place(aWall2, 0, 5, 2, 1, this.boundingBox, world); - place(aWall2, 0, 1, 2, 1, this.boundingBox, world); - - //Layer 3 - //Wall Top - place(aWall2, 0, 0, 3, 2, this.boundingBox, world); - place(aWall1, 0, 0, 3, 3, this.boundingBox, world); - place(aWall1, 0, 0, 3, 4, this.boundingBox, world); - //Wall Right - place(aWall1, 0, 2, 3, 6, this.boundingBox, world); - place(aWall1, 0, 3, 3, 6, this.boundingBox, world); - place(aWall1, 0, 4, 3, 6, this.boundingBox, world); - //Wall Bottom - place(aWall1, 0, 6, 3, 4, this.boundingBox, world); - place(aWall2, 0, 6, 3, 3, this.boundingBox, world); - place(aWall1, 0, 6, 3, 2, this.boundingBox, world); - //Wall Left - place(aWall1, 0, 4, 3, 0, this.boundingBox, world); - place(aWall2, 0, 3, 3, 0, this.boundingBox, world); - place(aWall1, 0, 2, 3, 0, this.boundingBox, world); - //Corners - place(aWall1, 0, 1, 3, 5, this.boundingBox, world); - place(aWall2, 0, 5, 3, 5, this.boundingBox, world); - place(aWall1, 0, 5, 3, 1, this.boundingBox, world); - place(aWall1, 0, 1, 3, 1, this.boundingBox, world); - - //Roof - //Roof 1 Top - place(aRoof, 0, 1, 4, 2, this.boundingBox, world); - place(aRoof, 0, 1, 4, 3, this.boundingBox, world); - place(aRoof, 0, 1, 4, 4, this.boundingBox, world); - //Roof 1 Right - place(aRoof, 0, 2, 4, 5, this.boundingBox, world); - place(aRoof, 0, 3, 4, 5, this.boundingBox, world); - place(aRoof, 0, 4, 4, 5, this.boundingBox, world); - //Roof 1 Bottom - place(aRoof, 0, 5, 4, 4, this.boundingBox, world); - place(aRoof, 0, 5, 4, 3, this.boundingBox, world); - place(aRoof, 0, 5, 4, 2, this.boundingBox, world); - //Roof 1 Left - place(aRoof, 0, 4, 4, 1, this.boundingBox, world); - place(aRoof, 0, 3, 4, 1, this.boundingBox, world); - place(aRoof, 0, 2, 4, 1, this.boundingBox, world); - - //Roof 2 Top - place(aRoof, 0, 2, 5, 2, this.boundingBox, world); - place(aRoof, 0, 2, 5, 3, this.boundingBox, world); - place(aRoof, 0, 2, 5, 4, this.boundingBox, world); - - //Roof 2 Right - //place(aWall1, 0, 2, 5, 4, this.boundingBox, world); - place(aRoof, 0, 3, 5, 4, this.boundingBox, world); - //place(aWall1, 0, 4, 5, 4, this.boundingBox, world); - - //Roof 2 Bottom - place(aRoof, 0, 4, 5, 4, this.boundingBox, world); - place(aRoof, 0, 4, 5, 3, this.boundingBox, world); - place(aRoof, 0, 4, 5, 2, this.boundingBox, world); - - //Roof 2 Left - //place(aWall1, 0, 4, 5, 2, this.boundingBox, world); - place(aRoof, 0, 3, 5, 2, this.boundingBox, world); - //place(aWall1, 0, 2, 5, 2, this.boundingBox, world); - - //Roof 3 Top - place(Blocks.glowstone, 0, 3, 5, 3, this.boundingBox, world); - /* - int logID = MathUtils.randInt(0, 1); - place(Blocks.dirt, MathUtils.randInt(0, 1), 0, 1, 1, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 0, 2, 1, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 0, 3, 1, this.boundingBox, world); - - place(Blocks.dirt, MathUtils.randInt(0, 1), 0, 1, 5, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 0, 2, 5, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 0, 3, 5, this.boundingBox, world); - - place(Blocks.dirt, MathUtils.randInt(0, 1), 6, 1, 1, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 6, 2, 1, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 6, 3, 1, this.boundingBox, world); - - place(Blocks.dirt, MathUtils.randInt(0, 1), 6, 1, 5, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 6, 2, 5, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 6, 3, 5, this.boundingBox, world); - - int meta = (this.coordBaseMode == 3) || (this.coordBaseMode == 1) ? 4 : 8; - - place(Blocks.dirt, MathUtils.randInt(0, 1), 0, 4, 2, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 0, 4, 3, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 0, 4, 4, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 6, 4, 2, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 6, 4, 3, this.boundingBox, world); - place(Blocks.dirt, MathUtils.randInt(0, 1), 6, 4, 4, this.boundingBox, world); - - for (int x = -2; x < 9; x++) { - place(Blocks.leaves, MathUtils.randInt(0, 3), x, 3, 0, this.boundingBox, world); - place(Blocks.leaves, MathUtils.randInt(0, 3), x, 4, 1, this.boundingBox, world); - place(Blocks.leaves, MathUtils.randInt(0, 3), x, 5, 2, this.boundingBox, world); - place(Blocks.leaves, MathUtils.randInt(0, 3), x, 5, 3, this.boundingBox, world); - place(Blocks.leaves, MathUtils.randInt(0, 3), x, 5, 4, this.bound |
