From 1e03fc2ea58b667807c96fcb20a0989c8ad99ae1 Mon Sep 17 00:00:00 2001 From: Matt Caughey Date: Wed, 30 Oct 2013 00:21:12 -0400 Subject: [PATCH] Fixed up hive generation yet again --- common/biomesoplenty/blocks/BlockHive.java | 17 +------- .../itemblocks/ItemBlockHive.java | 2 +- .../biomesoplenty/worldgen/WorldGenHive.java | 40 +++++++++++------- .../assets/biomesoplenty/lang/en_US.lang | 3 +- .../textures/blocks/honeyblock.png | Bin 0 -> 673 bytes 5 files changed, 29 insertions(+), 33 deletions(-) create mode 100644 resources/assets/biomesoplenty/textures/blocks/honeyblock.png diff --git a/common/biomesoplenty/blocks/BlockHive.java b/common/biomesoplenty/blocks/BlockHive.java index 003243287..e14216468 100644 --- a/common/biomesoplenty/blocks/BlockHive.java +++ b/common/biomesoplenty/blocks/BlockHive.java @@ -17,7 +17,7 @@ import biomesoplenty.entities.EntityWasp; public class BlockHive extends Block { - private static final String[] hiveTypes = new String[] {"honeycomb", "honeycombspawner", "hive", "hivespawner", "honeycombempty"}; + private static final String[] hiveTypes = new String[] {"honeycomb", "hive", "honeycombempty", "honeyblock"}; private Icon[] textures; public BlockHive(int par1) @@ -29,7 +29,7 @@ public class BlockHive extends Block @Override public void breakBlock(World world, int x, int y, int z, int par5, int par6) { - if (world.getBlockMetadata(x, y, z) == 4) + if (world.getBlockMetadata(x, y, z) == 2) { EntityWasp wasp = new EntityWasp(world); wasp.setLocationAndAngles((double)x + 0.6, (double)y + 0.1, (double)z + 0.3, 0.0F, 0.0F); @@ -61,19 +61,6 @@ public class BlockHive extends Block } } - @Override - public int damageDropped(int meta) - { - if (meta == 1) { - meta = 0; - } - if (meta == 3) { - meta = 2; - } - - return meta; - } - @Override public int getFlammability(IBlockAccess world, int x, int y, int z, int metadata, ForgeDirection face) { diff --git a/common/biomesoplenty/itemblocks/ItemBlockHive.java b/common/biomesoplenty/itemblocks/ItemBlockHive.java index 9ab95e701..1da826fed 100644 --- a/common/biomesoplenty/itemblocks/ItemBlockHive.java +++ b/common/biomesoplenty/itemblocks/ItemBlockHive.java @@ -8,7 +8,7 @@ import net.minecraft.world.World; public class ItemBlockHive extends ItemBlock { - private static final String[] types = new String[] {"honeycomb", "honeycombspawner", "hive", "hivespawner", "honeycombempty"}; + private static final String[] types = new String[] {"honeycomb", "hive", "honeycombempty", "honeyblock"}; public ItemBlockHive(int par1) { diff --git a/common/biomesoplenty/worldgen/WorldGenHive.java b/common/biomesoplenty/worldgen/WorldGenHive.java index 0a667ec48..789993f66 100644 --- a/common/biomesoplenty/worldgen/WorldGenHive.java +++ b/common/biomesoplenty/worldgen/WorldGenHive.java @@ -19,10 +19,13 @@ public class WorldGenHive extends WorldGenerator int baseWidth = 4 + rand.nextInt(2); int baseHeight = 8 + rand.nextInt(2); - if (world.getBlockId(x, y + 3, z) != Block.netherrack.blockID || !world.isAirBlock(x, y + 2, z)) + for (int air = 0; air < 26; air++) + { + if (world.getBlockId(x, y + 3, z) != Block.netherrack.blockID || !world.isAirBlock(x, (y + 2) - air, z)) { - return false; + return false; } + } for (int cubeno = 0; cubeno < 4; cubeno++) { @@ -43,12 +46,12 @@ public class WorldGenHive extends WorldGenerator case 2: chance = 1.0F; - meta = 2; + meta = 1; break; case 3: chance = 0.5F; - meta = 2; + meta = 1; break; } @@ -119,8 +122,8 @@ public class WorldGenHive extends WorldGenerator { for (int j = -width; j < width; j++) { - if ((hLayer == 0 || hLayer == (height - 1)) && (world.rand.nextFloat() <= chance)) world.setBlock(origx + i, origy - hLayer, origz + j, Blocks.hive.get().blockID, meta, 2); - else if ((i == -width || i == (width - 1) || j == -width || j == (width - 1)) && (world.rand.nextFloat() <= chance)) world.setBlock(origx + i, origy - hLayer, origz + j, Blocks.hive.get().blockID, meta, 2); + if ((hLayer == 0 || hLayer == (height - 1)) && (world.rand.nextFloat() <= chance)) world.setBlock(origx + i, origy - hLayer, origz + j, Blocks.hive.get().blockID, 1, 2); + else if ((i == -width || i == (width - 1) || j == -width || j == (width - 1)) && (world.rand.nextFloat() <= chance)) world.setBlock(origx + i, origy - hLayer, origz + j, Blocks.hive.get().blockID, 1, 2); } } } @@ -128,7 +131,7 @@ public class WorldGenHive extends WorldGenerator public void spawnWasps(World world, Random rand, int x, int y, int z) { - for (int spawn = 0; spawn < 20; spawn++) + for (int spawn = 0; spawn < 50; spawn++) { int spawnx = (x - 12) + rand.nextInt(24); int spawny = y - rand.nextInt(24); @@ -136,14 +139,21 @@ public class WorldGenHive extends WorldGenerator if (world.getBlockId(spawnx, spawny, spawnz) == Blocks.hive.get().blockID) { - if (world.getBlockMetadata(spawnx, spawny, spawnz) == 0) + if (world.getBlockMetadata(spawnx, spawny, spawnz) == 1) { - world.setBlock(spawnx, spawny, spawnz, Blocks.hive.get().blockID, 1, 0); - } - - if (world.getBlockMetadata(spawnx, spawny, spawnz) == 2) - { - world.setBlock(spawnx, spawny, spawnz, Blocks.hive.get().blockID, 3, 0); + if (world.getBlockId(spawnx - 1, spawny, spawnz) == Blocks.hive.get().blockID && world.getBlockId(spawnx + 1, spawny, spawnz) == Blocks.hive.get().blockID && world.getBlockId(spawnx, spawny, spawnz - 1) == Blocks.hive.get().blockID && world.getBlockId(spawnx, spawny, spawnz + 1) == Blocks.hive.get().blockID && world.getBlockId(spawnx, spawny - 1, spawnz) == Blocks.hive.get().blockID && world.getBlockId(spawnx, spawny + 1, spawnz) == Blocks.hive.get().blockID) + { + if (world.getBlockMetadata(spawnx - 1, spawny, spawnz) == 1 && world.getBlockMetadata(spawnx + 1, spawny, spawnz) == 1 && world.getBlockMetadata(spawnx, spawny, spawnz - 1) == 1 && world.getBlockMetadata(spawnx, spawny, spawnz + 1) == 1 && world.getBlockMetadata(spawnx, spawny - 1, spawnz) == 1 && world.getBlockMetadata(spawnx, spawny + 1, spawnz) == 1) + { + world.setBlock(spawnx, spawny, spawnz, Block.mobSpawner.blockID); + TileEntityMobSpawner tileentitymobspawner = (TileEntityMobSpawner)world.getBlockTileEntity(spawnx, spawny, spawnz); + + if (tileentitymobspawner != null) + { + tileentitymobspawner.getSpawnerLogic().setMobID("BiomesOPlenty.Wasp"); + } + } + } } } } @@ -161,7 +171,7 @@ public class WorldGenHive extends WorldGenerator { if (world.getBlockMetadata(spawnx, spawny, spawnz) == 0) { - world.setBlock(spawnx, spawny, spawnz, Blocks.hive.get().blockID, 4, 0); + world.setBlock(spawnx, spawny, spawnz, Blocks.hive.get().blockID, 2, 0); } } } diff --git a/resources/assets/biomesoplenty/lang/en_US.lang b/resources/assets/biomesoplenty/lang/en_US.lang index 6f887ad3a..c8284b407 100644 --- a/resources/assets/biomesoplenty/lang/en_US.lang +++ b/resources/assets/biomesoplenty/lang/en_US.lang @@ -158,10 +158,9 @@ tile.bop.moss.name=Moss tile.bop.cloud.name=Cloud Block tile.bop.hive.honeycomb.name=Honeycomb Block -tile.bop.hive.honeycombspawner.name=Honeycomb Wasp Spawner tile.bop.hive.hive.name=Hive Block -tile.bop.hive.hivespawner.name=Hive Wasp Spawner tile.bop.hive.honeycombempty.name=Empty Honeycomb Block +tile.bop.hive.honeyblock.name=Solid Honey Block tile.bop.bones.bones_small.name=Small Bone Segment tile.bop.bones.bones_medium.name=Medium Bone Segment diff --git a/resources/assets/biomesoplenty/textures/blocks/honeyblock.png b/resources/assets/biomesoplenty/textures/blocks/honeyblock.png new file mode 100644 index 0000000000000000000000000000000000000000..8f3adfc51656bc55a343f9fd43c60ba3d2e6f617 GIT binary patch literal 673 zcmV;S0$%-zP)N2bPDNB8 zb~7$DE-^7j^FlWO00JFJL_t(IPhC>YOH@%DeH$T2X(32N_GJtd7(|OC5GHXbL{M;K zU~<&4(HxsTsPGSP?IviGfdnBbvlvB^x4|`bKYFDzi@>M*{jI4aGicUk6g%`yXb$ud@|cqnL0zTbNsgc z^wR}=YsGRqR@$+8AFE-kg;D6#zSg1dTwiXGQ+?MU0b9EZo@`z>ro;ZDGP0=$6xSbH^z$^ei-c?kOh8kcV)*pXtM$T38_ zDfpv84|fvi zo19_eKhxpcJ(?>*_8JNiN#Yo}B#wH>;Z8}T@c57xp%CG<8i8(p^`MfJKTz0fJBM*` zneT(Rk|m5DbpO2F-59(yj_B{DStoAXW;3Of65mfSR@TIEXBu@6TfMqeyfM*f`B4T` zm{A^wBf9LRJM5do+NnrEH8_T5m|(C|_ueCY+>K*B!Uj=}!>Y0&?1_X0N3nLrKIHFO z|2ovjd>hgJd^3ypf4ze~Gi!h0l0Ag*^(KG09~xQJ@?_mVl-M1h&n6)_00000NkvXX Hu0mjfjI=3+ literal 0 HcmV?d00001