Added ivy. Nerfed apple tree growth.
This commit is contained in:
parent
ca54a1a0de
commit
5c53c46290
16 changed files with 744 additions and 119 deletions
|
@ -128,6 +128,7 @@ public class BlockReferences {
|
|||
treeMoss (Blocks.treeMoss, 0),
|
||||
moss (Blocks.moss, 0),
|
||||
willow (Blocks.willow, 0),
|
||||
ivy (Blocks.ivy, 0),
|
||||
|
||||
clover (Blocks.flowers, 0),
|
||||
swampFlower (Blocks.flowers, 1),
|
||||
|
|
|
@ -70,6 +70,7 @@ public class Blocks
|
|||
public static Optional<? extends Block> saplings = Optional.absent();
|
||||
public static Optional<? extends Block> colorizedSaplings = Optional.absent();
|
||||
public static Optional<? extends Block> willow = Optional.absent();
|
||||
public static Optional<? extends Block> ivy = Optional.absent();
|
||||
public static Optional<? extends Block> treeMoss = Optional.absent();
|
||||
public static Optional<? extends Block> moss = Optional.absent();
|
||||
public static Optional<? extends Block> petals = Optional.absent();
|
||||
|
|
|
@ -47,6 +47,7 @@ import biomesoplenty.worldgen.WorldGenMesa;
|
|||
import biomesoplenty.worldgen.WorldGenMud;
|
||||
import biomesoplenty.worldgen.WorldGenMycelium;
|
||||
import biomesoplenty.worldgen.WorldGenNetherGrass;
|
||||
import biomesoplenty.worldgen.WorldGenNetherLava;
|
||||
import biomesoplenty.worldgen.WorldGenNetherVines;
|
||||
import biomesoplenty.worldgen.WorldGenNetherWart;
|
||||
import biomesoplenty.worldgen.WorldGenOasis;
|
||||
|
@ -335,6 +336,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
|||
protected int pondsPerChunk;
|
||||
protected int waterLakesPerChunk;
|
||||
protected int lavaLakesPerChunk;
|
||||
protected int netherLavaPerChunk;
|
||||
|
||||
/** True if decorator should generate surface lava & water */
|
||||
public boolean generateLakes;
|
||||
|
@ -509,6 +511,7 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
|||
this.pondsPerChunk = 0;
|
||||
this.waterLakesPerChunk = 0;
|
||||
this.lavaLakesPerChunk = 0;
|
||||
this.netherLavaPerChunk = 0;
|
||||
this.quicksandPerChunk = 0;
|
||||
this.quicksand2PerChunk = 0;
|
||||
this.crystalsPerChunk = 0;
|
||||
|
@ -590,6 +593,14 @@ public class BiomeDecoratorBOP extends BiomeDecorator
|
|||
var5 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8;
|
||||
(new WorldGenLakes(Block.lavaMoving.blockID)).generate(this.currentWorld, this.randomGenerator, var3, var4, var5);
|
||||
}
|
||||
|
||||
for (var2 = 0; var2 < netherLavaPerChunk; ++var2)
|
||||
{
|
||||
var3 = this.chunk_X + this.randomGenerator.nextInt(16) + 8;
|
||||
var4 = this.randomGenerator.nextInt(this.randomGenerator.nextInt(this.randomGenerator.nextInt(112) + 8) + 8);
|
||||
var5 = this.chunk_Z + this.randomGenerator.nextInt(16) + 8;
|
||||
(new WorldGenNetherLava(Block.lavaMoving.blockID)).generate(this.currentWorld, this.randomGenerator, var3, var4, var5);
|
||||
}
|
||||
|
||||
if (this.generateAsh)
|
||||
{
|
||||
|
|
|
@ -38,7 +38,7 @@ public class BiomeGenLushSwamp extends BiomeGenBase
|
|||
*/
|
||||
public WorldGenerator getRandomWorldGenForTrees(Random par1Random)
|
||||
{
|
||||
return (WorldGenerator)(par1Random.nextInt(2) == 0 ? new WorldGenSwampTall() : this.worldGeneratorSwamp);
|
||||
return new WorldGenSwampTall();
|
||||
}
|
||||
|
||||
public void decorate(World par1World, Random par2Random, int par3, int par4)
|
||||
|
|
|
@ -28,14 +28,14 @@ public class BiomeGenNetherLava extends BiomeGenBase
|
|||
this.topBlock = (byte)Block.netherrack.blockID;
|
||||
this.fillerBlock = (byte)Block.netherrack.blockID;
|
||||
this.customBiomeDecorator.grassPerChunk = 15;
|
||||
this.customBiomeDecorator.lavaLakesPerChunk = 20;
|
||||
this.customBiomeDecorator.netherLavaPerChunk = 20;
|
||||
this.spawnableMonsterList.clear();
|
||||
this.spawnableCreatureList.clear();
|
||||
this.spawnableWaterCreatureList.clear();
|
||||
this.spawnableCaveCreatureList.clear();
|
||||
this.spawnableMonsterList.add(new SpawnListEntry(EntityGhast.class, 50, 4, 4));
|
||||
this.spawnableMonsterList.add(new SpawnListEntry(EntityPigZombie.class, 100, 4, 4));
|
||||
this.spawnableMonsterList.add(new SpawnListEntry(EntityMagmaCube.class, 1, 4, 4));
|
||||
this.spawnableMonsterList.add(new SpawnListEntry(EntityMagmaCube.class, 4, 4, 4));
|
||||
this.theWorldGenerator = new WorldGenLavaSpring(Block.lavaMoving.blockID, 8);
|
||||
}
|
||||
|
||||
|
|
|
@ -106,9 +106,14 @@ public class BlockBOPAppleLeaves extends BlockLeavesBase implements IShearable
|
|||
return;
|
||||
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
if (random.nextInt(5) == 0)
|
||||
if ((meta & 3) < 3)
|
||||
world.setBlock(x, y, z, blockID, ++meta, 3);
|
||||
if (random.nextInt(10) == 0)
|
||||
if (meta > 0)
|
||||
{
|
||||
if ((meta & 3) < 3)
|
||||
{
|
||||
world.setBlock(x, y, z, blockID, ++meta, 3);
|
||||
}
|
||||
}
|
||||
|
||||
if ((meta & 8) != 0/* && (meta & 4) == 0*/)
|
||||
{
|
||||
|
|
|
@ -241,18 +241,6 @@ public class BlockBOPFoliage extends BlockFlower implements IShearable
|
|||
{
|
||||
super.harvestBlock(world, player, x, y, z, meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick(World world, int x, int y, int z, Random random)
|
||||
{
|
||||
if (world.isRemote)
|
||||
return;
|
||||
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
if (random.nextInt(13) == 0)
|
||||
if (meta == 4)
|
||||
world.setBlock(x, y, z, blockID, 8, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated (World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9)
|
||||
|
|
376
src/minecraft/biomesoplenty/blocks/BlockIvy.java
Normal file
376
src/minecraft/biomesoplenty/blocks/BlockIvy.java
Normal file
|
@ -0,0 +1,376 @@
|
|||
package biomesoplenty.blocks;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
|
||||
import biomesoplenty.BiomesOPlenty;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.renderer.texture.IconRegister;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.AxisAlignedBB;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.world.ColorizerFoliage;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.IShearable;
|
||||
|
||||
public class BlockIvy extends Block implements IShearable
|
||||
{
|
||||
public BlockIvy(int par1)
|
||||
{
|
||||
super(par1, Material.vine);
|
||||
this.setTickRandomly(true);
|
||||
this.setCreativeTab(BiomesOPlenty.tabBiomesOPlenty);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerIcons(IconRegister par1IconRegister)
|
||||
{
|
||||
this.blockIcon = par1IconRegister.registerIcon("BiomesOPlenty:ivy");
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the block's bounds for rendering it as an item
|
||||
*/
|
||||
public void setBlockBoundsForItemRender()
|
||||
{
|
||||
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
/**
|
||||
* The type of render function that is called for this block
|
||||
*/
|
||||
public int getRenderType()
|
||||
{
|
||||
return 20;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two
|
||||
* adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
|
||||
*/
|
||||
public boolean isOpaqueCube()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
|
||||
*/
|
||||
public boolean renderAsNormalBlock()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the blocks bounds based on its current state. Args: world, x, y, z
|
||||
*/
|
||||
public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
|
||||
{
|
||||
int var6 = par1IBlockAccess.getBlockMetadata(par2, par3, par4);
|
||||
float var7 = 1.0F;
|
||||
float var8 = 1.0F;
|
||||
float var9 = 1.0F;
|
||||
float var10 = 0.0F;
|
||||
float var11 = 0.0F;
|
||||
float var12 = 0.0F;
|
||||
boolean var13 = var6 > 0;
|
||||
|
||||
if ((var6 & 2) != 0)
|
||||
{
|
||||
var10 = Math.max(var10, 0.0625F);
|
||||
var7 = 0.0F;
|
||||
var8 = 0.0F;
|
||||
var11 = 1.0F;
|
||||
var9 = 0.0F;
|
||||
var12 = 1.0F;
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if ((var6 & 8) != 0)
|
||||
{
|
||||
var7 = Math.min(var7, 0.9375F);
|
||||
var10 = 1.0F;
|
||||
var8 = 0.0F;
|
||||
var11 = 1.0F;
|
||||
var9 = 0.0F;
|
||||
var12 = 1.0F;
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if ((var6 & 4) != 0)
|
||||
{
|
||||
var12 = Math.max(var12, 0.0625F);
|
||||
var9 = 0.0F;
|
||||
var7 = 0.0F;
|
||||
var10 = 1.0F;
|
||||
var8 = 0.0F;
|
||||
var11 = 1.0F;
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if ((var6 & 1) != 0)
|
||||
{
|
||||
var9 = Math.min(var9, 0.9375F);
|
||||
var12 = 1.0F;
|
||||
var7 = 0.0F;
|
||||
var10 = 1.0F;
|
||||
var8 = 0.0F;
|
||||
var11 = 1.0F;
|
||||
var13 = true;
|
||||
}
|
||||
|
||||
if (!var13 && this.canBePlacedOn(par1IBlockAccess.getBlockId(par2, par3 + 1, par4)))
|
||||
{
|
||||
var8 = Math.min(var8, 0.9375F);
|
||||
var11 = 1.0F;
|
||||
var7 = 0.0F;
|
||||
var10 = 1.0F;
|
||||
var9 = 0.0F;
|
||||
var12 = 1.0F;
|
||||
}
|
||||
|
||||
this.setBlockBounds(var7, var8, var9, var10, var11, var12);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been
|
||||
* cleared to be reused)
|
||||
*/
|
||||
public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* checks to see if you can place this block can be placed on that side of a block: BlockLever overrides
|
||||
*/
|
||||
public boolean canPlaceBlockOnSide(World par1World, int par2, int par3, int par4, int par5)
|
||||
{
|
||||
switch (par5)
|
||||
{
|
||||
case 1:
|
||||
return this.canBePlacedOn(par1World.getBlockId(par2, par3 + 1, par4));
|
||||
|
||||
case 2:
|
||||
return this.canBePlacedOn(par1World.getBlockId(par2, par3, par4 + 1));
|
||||
|
||||
case 3:
|
||||
return this.canBePlacedOn(par1World.getBlockId(par2, par3, par4 - 1));
|
||||
|
||||
case 4:
|
||||
return this.canBePlacedOn(par1World.getBlockId(par2 + 1, par3, par4));
|
||||
|
||||
case 5:
|
||||
return this.canBePlacedOn(par1World.getBlockId(par2 - 1, par3, par4));
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* returns true if a vine can be placed on that block (checks for render as normal block and if it is solid)
|
||||
*/
|
||||
private boolean canBePlacedOn(int par1)
|
||||
{
|
||||
if (par1 == 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
Block var2 = Block.blocksList[par1];
|
||||
return var2.renderAsNormalBlock() && var2.blockMaterial.blocksMovement();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if the vine can stay in the world. It also changes the metadata according to neighboring blocks.
|
||||
*/
|
||||
private boolean canVineStay(World par1World, int par2, int par3, int par4)
|
||||
{
|
||||
int var5 = par1World.getBlockMetadata(par2, par3, par4);
|
||||
int var6 = var5;
|
||||
|
||||
if (var5 > 0)
|
||||
{
|
||||
for (int var7 = 0; var7 <= 3; ++var7)
|
||||
{
|
||||
int var8 = 1 << var7;
|
||||
|
||||
if ((var5 & var8) != 0 && !this.canBePlacedOn(par1World.getBlockId(par2 + Direction.offsetX[var7], par3, par4 + Direction.offsetZ[var7])) && (par1World.getBlockId(par2, par3 + 1, par4) != this.blockID || (par1World.getBlockMetadata(par2, par3 + 1, par4) & var8) == 0))
|
||||
{
|
||||
var6 &= ~var8;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (var6 == 0 && !this.canBePlacedOn(par1World.getBlockId(par2, par3 + 1, par4)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (var6 != var5)
|
||||
{
|
||||
par1World.setBlockMetadataWithNotify(par2, par3, par4, var6, 2);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public int getBlockColor()
|
||||
{
|
||||
return ColorizerFoliage.getFoliageColorBasic();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the color this block should be rendered. Used by leaves.
|
||||
*/
|
||||
@Override
|
||||
public int getRenderColor(int par1)
|
||||
{
|
||||
return ColorizerFoliage.getFoliageColorBasic();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a integer with hex for 0xrrggbb with this color multiplied against the blocks color. Note only called
|
||||
* when first determining what to render.
|
||||
*/
|
||||
public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
|
||||
{
|
||||
return par1IBlockAccess.getBiomeGenForCoords(par2, par4).getBiomeFoliageColor();
|
||||
}
|
||||
|
||||
/**
|
||||
* Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are
|
||||
* their own) Args: x, y, z, neighbor blockID
|
||||
*/
|
||||
public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5)
|
||||
{
|
||||
if (!par1World.isRemote && !this.canVineStay(par1World, par2, par3, par4))
|
||||
{
|
||||
this.dropBlockAsItem(par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4), 0);
|
||||
par1World.setBlock(par2, par3, par4, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ticks the block if it's been scheduled
|
||||
*/
|
||||
public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* called before onBlockPlacedBy by ItemBlock and ItemReed
|
||||
*/
|
||||
public void updateBlockMetadata(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8)
|
||||
{
|
||||
byte var9 = 0;
|
||||
|
||||
switch (par5)
|
||||
{
|
||||
case 2:
|
||||
var9 = 1;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
var9 = 4;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
var9 = 8;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
var9 = 2;
|
||||
}
|
||||
|
||||
if (var9 != 0)
|
||||
{
|
||||
par1World.setBlockMetadataWithNotify(par2, par3, par4, var9, 2);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when a block is placed using its ItemBlock. Args: World, X, Y, Z, side, hitX, hitY, hitZ, block metadata
|
||||
*/
|
||||
public int onBlockPlaced(World par1World, int par2, int par3, int par4, int par5, float par6, float par7, float par8, int par9)
|
||||
{
|
||||
byte b0 = 0;
|
||||
|
||||
switch (par5)
|
||||
{
|
||||
case 2:
|
||||
b0 = 1;
|
||||
break;
|
||||
case 3:
|
||||
b0 = 4;
|
||||
break;
|
||||
case 4:
|
||||
b0 = 8;
|
||||
break;
|
||||
case 5:
|
||||
b0 = 2;
|
||||
}
|
||||
|
||||
return b0 != 0 ? b0 : par9;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ID of the items to drop on destruction.
|
||||
*/
|
||||
public int idDropped(int par1, Random par2Random, int par3)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the quantity of items to drop on block destruction.
|
||||
*/
|
||||
public int quantityDropped(Random par1Random)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the player destroys a block with an item that can harvest it. (i, j, k) are the coordinates of the
|
||||
* block and l is the block's subtype/damage.
|
||||
*/
|
||||
public void harvestBlock(World par1World, EntityPlayer par2EntityPlayer, int par3, int par4, int par5, int par6)
|
||||
{
|
||||
super.harvestBlock(par1World, par2EntityPlayer, par3, par4, par5, par6);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isShearable(ItemStack item, World world, int x, int y, int z)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<ItemStack> onSheared(ItemStack item, World world, int x, int y, int z, int fortune)
|
||||
{
|
||||
ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
|
||||
ret.add(new ItemStack(this, 1, 0));
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBlockReplaceable(World world, int x, int y, int z)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLadder(World world, int x, int y, int z)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -33,6 +33,7 @@ import biomesoplenty.blocks.BlockBOPStairs;
|
|||
import biomesoplenty.blocks.BlockBOPStairs.Category;
|
||||
import biomesoplenty.blocks.BlockBamboo;
|
||||
import biomesoplenty.blocks.BlockCloud;
|
||||
import biomesoplenty.blocks.BlockIvy;
|
||||
import biomesoplenty.blocks.BlockMoss;
|
||||
import biomesoplenty.blocks.BlockMud;
|
||||
import biomesoplenty.blocks.BlockOriginGrass;
|
||||
|
@ -47,6 +48,7 @@ import biomesoplenty.items.ItemBOPColorizedSapling;
|
|||
import biomesoplenty.items.ItemBOPFlower;
|
||||
import biomesoplenty.items.ItemBOPFoliage;
|
||||
import biomesoplenty.items.ItemBOPGrass;
|
||||
import biomesoplenty.items.ItemBOPIvy;
|
||||
import biomesoplenty.items.ItemBOPLeaves;
|
||||
import biomesoplenty.items.ItemBOPLog;
|
||||
import biomesoplenty.items.ItemBOPMoss;
|
||||
|
@ -105,6 +107,7 @@ public class BOPBlocks {
|
|||
Blocks.flowers = Optional.of((new BlockBOPFlower(BOPConfiguration.flowersID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("flowers"));
|
||||
Blocks.mushrooms = Optional.of((new BlockBOPMushroom(BOPConfiguration.mushroomsID)).setHardness(0.0F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("mushrooms"));
|
||||
Blocks.willow = Optional.of((new BlockWillow(BOPConfiguration.willowID)).setHardness(0.2F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("willow"));
|
||||
Blocks.ivy = Optional.of((new BlockIvy(BOPConfiguration.ivyID)).setHardness(0.2F).setStepSound(Block.soundGrassFootstep).setUnlocalizedName("ivy"));
|
||||
Blocks.leaves1 = Optional.of((new BlockBOPLeaves(BOPConfiguration.leaves1ID, LeafCategory.CAT1)).setUnlocalizedName("leaves1"));
|
||||
Blocks.leaves2 = Optional.of((new BlockBOPLeaves(BOPConfiguration.leaves2ID, LeafCategory.CAT2)).setUnlocalizedName("leaves2"));
|
||||
Blocks.foliage = Optional.of((new BlockBOPFoliage(BOPConfiguration.foliageID)).setUnlocalizedName("foliage"));
|
||||
|
@ -177,6 +180,7 @@ public class BOPBlocks {
|
|||
GameRegistry.registerBlock(Blocks.flowers.get(), ItemBOPFlower.class, "flowers");
|
||||
GameRegistry.registerBlock(Blocks.mushrooms.get(), ItemBOPMushroom.class, "mushrooms");
|
||||
GameRegistry.registerBlock(Blocks.willow.get(), ItemBOPWillow.class, "willow");
|
||||
GameRegistry.registerBlock(Blocks.ivy.get(), ItemBOPIvy.class, "ivy");
|
||||
GameRegistry.registerBlock(Blocks.leaves1.get(), ItemBOPLeaves.class, "leaves1");
|
||||
GameRegistry.registerBlock(Blocks.leaves2.get(), ItemBOPLeaves.class, "leaves2");
|
||||
GameRegistry.registerBlock(Blocks.foliage.get(), ItemBOPFoliage.class, "foliage");
|
||||
|
@ -260,6 +264,7 @@ public class BOPBlocks {
|
|||
LanguageRegistry.addName(new ItemStack(Blocks.plants.get(),1,7), "Cattail");
|
||||
LanguageRegistry.addName(new ItemStack(Blocks.plants.get(),1,8), "Reed");
|
||||
LanguageRegistry.addName(Blocks.willow.get(), "Willow");
|
||||
LanguageRegistry.addName(Blocks.ivy.get(), "Ivy");
|
||||
LanguageRegistry.addName(new ItemStack(Blocks.leaves1.get(),1,0), "Yellow Autumn Leaves");
|
||||
LanguageRegistry.addName(new ItemStack(Blocks.plants.get(),1,5), "Thorns");
|
||||
LanguageRegistry.addName(new ItemStack(Blocks.foliage.get(),1,3), "High Grass");
|
||||
|
|
|
@ -124,6 +124,7 @@ public class BOPConfiguration {
|
|||
public static int flowersID;
|
||||
public static int mushroomsID;
|
||||
public static int willowID;
|
||||
public static int ivyID;
|
||||
|
||||
public static int leaves1ID;
|
||||
public static int leaves2ID;
|
||||
|
@ -648,6 +649,8 @@ public class BOPConfiguration {
|
|||
promisedLandPortalID = config.getBlock("Promised Land Portal ID", 1941, null).getInt();
|
||||
amethystOreID = config.getBlock("Amethyst Ore ID", 1942, null).getInt();
|
||||
|
||||
ivyID = config.getBlock("Ivy ID", 1943, null).getInt();
|
||||
|
||||
mossID = config.getBlock("Moss ID", 391, null).getInt();
|
||||
|
||||
planksID = config.getBlock("Planks ID", 1947, null).getInt();
|
||||
|
|
38
src/minecraft/biomesoplenty/items/ItemBOPIvy.java
Normal file
38
src/minecraft/biomesoplenty/items/ItemBOPIvy.java
Normal file
|
@ -0,0 +1,38 @@
|
|||
package biomesoplenty.items;
|
||||
|
||||
import net.minecraft.client.renderer.texture.IconRegister;
|
||||
import net.minecraft.item.ItemColored;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.Icon;
|
||||
import biomesoplenty.api.Blocks;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
public class ItemBOPIvy extends ItemColored
|
||||
{
|
||||
@SideOnly(Side.CLIENT)
|
||||
private Icon texture;
|
||||
|
||||
public ItemBOPIvy(int par1)
|
||||
{
|
||||
super(par1, false);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerIcons(IconRegister iconRegister)
|
||||
{
|
||||
texture = iconRegister.registerIcon("BiomesOPlenty:ivy");
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int getColorFromItemStack(ItemStack itemStack, int par2)
|
||||
{
|
||||
return Blocks.ivy.get().getRenderColor(itemStack.getItemDamage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Icon getIconFromDamage(int meta)
|
||||
{
|
||||
return texture;
|
||||
}
|
||||
}
|
|
@ -94,9 +94,29 @@ public class WorldGenApple extends WorldGenerator
|
|||
|
||||
if ((Math.abs(var13) != var11 || Math.abs(var15) != var11 || par2Random.nextInt(2) != 0 && var10 != 0) && !Block.opaqueCubeLookup[par1World.getBlockId(var12, var16, var14)])
|
||||
{
|
||||
var99 = par2Random.nextInt(6);
|
||||
var99 = par2Random.nextInt(15);
|
||||
|
||||
if (var99 == 0)
|
||||
{
|
||||
this.setBlockAndMetadata(par1World, var12, var16, var14, Blocks.leavesFruit.get().blockID, 3);
|
||||
}
|
||||
else if (var99 == 1)
|
||||
{
|
||||
this.setBlockAndMetadata(par1World, var12, var16, var14, Blocks.leavesFruit.get().blockID, 2);
|
||||
}
|
||||
else if (var99 == 2)
|
||||
{
|
||||
this.setBlockAndMetadata(par1World, var12, var16, var14, Blocks.leavesFruit.get().blockID, 2);
|
||||
}
|
||||
else if (var99 == 3)
|
||||
{
|
||||
this.setBlockAndMetadata(par1World, var12, var16, var14, Blocks.leavesFruit.get().blockID, 1);
|
||||
}
|
||||
else if (var99 == 4)
|
||||
{
|
||||
this.setBlockAndMetadata(par1World, var12, var16, var14, Blocks.leavesFruit.get().blockID, 1);
|
||||
}
|
||||
else if (var99 == 5)
|
||||
{
|
||||
this.setBlockAndMetadata(par1World, var12, var16, var14, Blocks.leavesFruit.get().blockID, 1);
|
||||
}
|
||||
|
|
174
src/minecraft/biomesoplenty/worldgen/WorldGenNetherLava.java
Normal file
174
src/minecraft/biomesoplenty/worldgen/WorldGenNetherLava.java
Normal file
|
@ -0,0 +1,174 @@
|
|||
package biomesoplenty.worldgen;
|
||||
|
||||
import java.util.Random;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.world.EnumSkyBlock;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.gen.feature.WorldGenerator;
|
||||
|
||||
public class WorldGenNetherLava extends WorldGenerator
|
||||
{
|
||||
private int blockIndex;
|
||||
|
||||
public WorldGenNetherLava(int par1)
|
||||
{
|
||||
this.blockIndex = par1;
|
||||
}
|
||||
|
||||
public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
|
||||
{
|
||||
par3 -= 8;
|
||||
|
||||
for (par5 -= 8; par4 > 5 && par1World.isAirBlock(par3, par4, par5); --par4)
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
if (par4 <= 4)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
par4 -= 4;
|
||||
boolean[] aboolean = new boolean[2048];
|
||||
int l = par2Random.nextInt(4) + 4;
|
||||
int i1;
|
||||
|
||||
for (i1 = 0; i1 < l; ++i1)
|
||||
{
|
||||
double d0 = par2Random.nextDouble() * 6.0D + 3.0D;
|
||||
double d1 = par2Random.nextDouble() * 4.0D + 2.0D;
|
||||
double d2 = par2Random.nextDouble() * 6.0D + 3.0D;
|
||||
double d3 = par2Random.nextDouble() * (16.0D - d0 - 2.0D) + 1.0D + d0 / 2.0D;
|
||||
double d4 = par2Random.nextDouble() * (8.0D - d1 - 4.0D) + 2.0D + d1 / 2.0D;
|
||||
double d5 = par2Random.nextDouble() * (16.0D - d2 - 2.0D) + 1.0D + d2 / 2.0D;
|
||||
|
||||
for (int j1 = 1; j1 < 15; ++j1)
|
||||
{
|
||||
for (int k1 = 1; k1 < 15; ++k1)
|
||||
{
|
||||
for (int l1 = 1; l1 < 7; ++l1)
|
||||
{
|
||||
double d6 = ((double)j1 - d3) / (d0 / 2.0D);
|
||||
double d7 = ((double)l1 - d4) / (d1 / 2.0D);
|
||||
double d8 = ((double)k1 - d5) / (d2 / 2.0D);
|
||||
double d9 = d6 * d6 + d7 * d7 + d8 * d8;
|
||||
|
||||
if (d9 < 1.0D)
|
||||
{
|
||||
aboolean[(j1 * 16 + k1) * 8 + l1] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int i2;
|
||||
int j2;
|
||||
boolean flag;
|
||||
|
||||
for (i1 = 0; i1 < 16; ++i1)
|
||||
{
|
||||
for (j2 = 0; j2 < 16; ++j2)
|
||||
{
|
||||
for (i2 = 0; i2 < 8; ++i2)
|
||||
{
|
||||
flag = !aboolean[(i1 * 16 + j2) * 8 + i2] && (i1 < 15 && aboolean[((i1 + 1) * 16 + j2) * 8 + i2] || i1 > 0 && aboolean[((i1 - 1) * 16 + j2) * 8 + i2] || j2 < 15 && aboolean[(i1 * 16 + j2 + 1) * 8 + i2] || j2 > 0 && aboolean[(i1 * 16 + (j2 - 1)) * 8 + i2] || i2 < 7 && aboolean[(i1 * 16 + j2) * 8 + i2 + 1] || i2 > 0 && aboolean[(i1 * 16 + j2) * 8 + (i2 - 1)]);
|
||||
|
||||
if (flag)
|
||||
{
|
||||
Material material = par1World.getBlockMaterial(par3 + i1, par4 + i2, par5 + j2);
|
||||
|
||||
if (i2 >= 4 && material.isLiquid())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (i2 < 4 && !material.isSolid() && par1World.getBlockId(par3 + i1, par4 + i2, par5 + j2) != this.blockIndex)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i1 = 0; i1 < 16; ++i1)
|
||||
{
|
||||
for (j2 = 0; j2 < 16; ++j2)
|
||||
{
|
||||
for (i2 = 0; i2 < 8; ++i2)
|
||||
{
|
||||
if (aboolean[(i1 * 16 + j2) * 8 + i2])
|
||||
{
|
||||
par1World.setBlock(par3 + i1, par4 + i2, par5 + j2, i2 >= 4 ? 0 : this.blockIndex, 0, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i1 = 0; i1 < 16; ++i1)
|
||||
{
|
||||
for (j2 = 0; j2 < 16; ++j2)
|
||||
{
|
||||
for (i2 = 4; i2 < 8; ++i2)
|
||||
{
|
||||
if (aboolean[(i1 * 16 + j2) * 8 + i2] && par1World.getBlockId(par3 + i1, par4 + i2 - 1, par5 + j2) == Block.dirt.blockID && par1World.getSavedLightValue(EnumSkyBlock.Sky, par3 + i1, par4 + i2, par5 + j2) > 0)
|
||||
{
|
||||
BiomeGenBase biomegenbase = par1World.getBiomeGenForCoords(par3 + i1, par5 + j2);
|
||||
|
||||
if (biomegenbase.topBlock == Block.mycelium.blockID)
|
||||
{
|
||||
par1World.setBlock(par3 + i1, par4 + i2 - 1, par5 + j2, Block.netherrack.blockID, 0, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
par1World.setBlock(par3 + i1, par4 + i2 - 1, par5 + j2, Block.netherrack.blockID, 0, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Block.blocksList[this.blockIndex].blockMaterial == Material.lava)
|
||||
{
|
||||
for (i1 = 0; i1 < 16; ++i1)
|
||||
{
|
||||
for (j2 = 0; j2 < 16; ++j2)
|
||||
{
|
||||
for (i2 = 0; i2 < 8; ++i2)
|
||||
{
|
||||
flag = !aboolean[(i1 * 16 + j2) * 8 + i2] && (i1 < 15 && aboolean[((i1 + 1) * 16 + j2) * 8 + i2] || i1 > 0 && aboolean[((i1 - 1) * 16 + j2) * 8 + i2] || j2 < 15 && aboolean[(i1 * 16 + j2 + 1) * 8 + i2] || j2 > 0 && aboolean[(i1 * 16 + (j2 - 1)) * 8 + i2] || i2 < 7 && aboolean[(i1 * 16 + j2) * 8 + i2 + 1] || i2 > 0 && aboolean[(i1 * 16 + j2) * 8 + (i2 - 1)]);
|
||||
|
||||
if (flag && (i2 < 4 || par2Random.nextInt(2) != 0) && par1World.getBlockMaterial(par3 + i1, par4 + i2, par5 + j2).isSolid())
|
||||
{
|
||||
par1World.setBlock(par3 + i1, par4 + i2, par5 + j2, Block.netherrack.blockID, 0, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Block.blocksList[this.blockIndex].blockMaterial == Material.water)
|
||||
{
|
||||
for (i1 = 0; i1 < 16; ++i1)
|
||||
{
|
||||
for (j2 = 0; j2 < 16; ++j2)
|
||||
{
|
||||
byte b0 = 4;
|
||||
|
||||
if (par1World.isBlockFreezable(par3 + i1, par4 + b0, par5 + j2))
|
||||
{
|
||||
par1World.setBlock(par3 + i1, par4 + b0, par5 + j2, Block.ice.blockID, 0, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -39,382 +39,382 @@ public class WorldGenNetherVines extends WorldGenerator
|
|||
|
||||
if (var1.isAirBlock(var3 - 1, var4, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 1, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 1, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 1, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 2, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 2, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 2, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 3, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 3, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 3, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 4, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 4, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 4, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 5, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 5, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 5, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 6, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 6, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 6, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 7, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 7, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 7, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 8, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 8, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 8, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 9, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 9, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 9, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 10, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 10, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 10, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 11, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 11, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 11, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 12, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 12, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 12, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 13, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 13, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 13, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 14, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 14, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 14, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 - 1, var4 - 15, var5))
|
||||
{
|
||||
var1.setBlock(var3 - 1, var4 - 15, var5, Block.vine.blockID, 8, 2);
|
||||
var1.setBlock(var3 - 1, var4 - 15, var5, Blocks.ivy.get().blockID, 8, 2);
|
||||
}
|
||||
|
||||
if (var1.isAirBlock(var3 + 1, var4, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 1, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 1, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 1, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 2, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 2, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 2, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 3, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 3, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 3, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 4, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 4, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 4, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 5, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 5, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 5, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 6, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 6, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 6, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 7, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 7, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 7, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 8, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 8, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 8, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 9, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 9, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 9, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 10, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 10, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 10, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 11, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 11, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 11, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 12, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 12, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 12, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 13, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 13, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 13, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 14, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 14, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 14, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 15, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 15, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 15, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 16, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 16, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 16, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 17, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 17, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 17, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 18, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 18, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 18, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 19, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 19, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 19, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3 + 1, var4 - 20, var5))
|
||||
{
|
||||
var1.setBlock(var3 + 1, var4 - 20, var5, Block.vine.blockID, 2, 2);
|
||||
var1.setBlock(var3 + 1, var4 - 20, var5, Blocks.ivy.get().blockID, 2, 2);
|
||||
}
|
||||
|
||||
if (var1.isAirBlock(var3, var4, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 1, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 1, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 1, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 2, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 2, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 2, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 3, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 3, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 3, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 4, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 4, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 4, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 5, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 5, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 5, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 6, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 6, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 6, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 7, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 7, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 7, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 8, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 8, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 8, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 9, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 9, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 9, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 10, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 10, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 10, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 11, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 11, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 11, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 12, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 12, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 12, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 13, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 13, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 13, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 14, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 14, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 14, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 15, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 15, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 15, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 16, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 16, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 16, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 17, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 17, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 17, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 18, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 18, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 18, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 19, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 19, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 19, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 20, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 20, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 20, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 21, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 21, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 21, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 22, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 22, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 22, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 23, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 23, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 23, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 24, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 24, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 24, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 25, var5 - 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 25, var5 - 1, Block.vine.blockID, 1, 2);
|
||||
var1.setBlock(var3, var4 - 25, var5 - 1, Blocks.ivy.get().blockID, 1, 2);
|
||||
}
|
||||
|
||||
if (var1.isAirBlock(var3, var4, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 1, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 1, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 1, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 2, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 2, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 2, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 3, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 3, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 3, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 4, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 4, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 4, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 5, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 5, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 5, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 6, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 6, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 6, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 7, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 7, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 7, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 8, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 8, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 8, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 9, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 9, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 9, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 10, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 10, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 10, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 11, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 11, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 11, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 12, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 12, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 12, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 13, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 13, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 13, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 14, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 14, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 14, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 15, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 15, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 15, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 16, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 16, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 16, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 17, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 17, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 17, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 18, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 18, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 18, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 19, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 19, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 19, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 20, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 20, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 20, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 21, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 21, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 21, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 22, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 22, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 22, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 23, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 23, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 23, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 24, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 24, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 24, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 25, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 25, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 25, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 26, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 26, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 26, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 27, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 27, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 27, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 28, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 28, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 28, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 29, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 29, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 29, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
if (var1.isAirBlock(var3, var4 - 30, var5 + 1))
|
||||
{
|
||||
var1.setBlock(var3, var4 - 30, var5 + 1, Block.vine.blockID, 4, 2);
|
||||
var1.setBlock(var3, var4 - 30, var5 + 1, Blocks.ivy.get().blockID, 4, 2);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
@ -2,6 +2,9 @@ package biomesoplenty.worldgen;
|
|||
|
||||
import java.util.Random;
|
||||
|
||||
import biomesoplenty.api.Blocks;
|
||||
import biomesoplenty.configuration.BOPBlocks;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.world.World;
|
||||
|
@ -125,22 +128,22 @@ public class WorldGenSwampTall extends WorldGenerator
|
|||
{
|
||||
if (par1World.getBlockId(var12, var16, var13) == Block.leaves.blockID)
|
||||
{
|
||||
if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var12 - 1, var16, var13) == 0)
|
||||
if (par2Random.nextInt(3) == 0 && par1World.getBlockId(var12 - 1, var16, var13) == 0)
|
||||
{
|
||||
this.generateVines(par1World, var12 - 1, var16, var13, 8);
|
||||
}
|
||||
|
||||
if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var12 + 1, var16, var13) == 0)
|
||||
if (par2Random.nextInt(3) == 0 && par1World.getBlockId(var12 + 1, var16, var13) == 0)
|
||||
{
|
||||
this.generateVines(par1World, var12 + 1, var16, var13, 2);
|
||||
}
|
||||
|
||||
if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var12, var16, var13 - 1) == 0)
|
||||
if (par2Random.nextInt(3) == 0 && par1World.getBlockId(var12, var16, var13 - 1) == 0)
|
||||
{
|
||||
this.generateVines(par1World, var12, var16, var13 - 1, 1);
|
||||
}
|
||||
|
||||
if (par2Random.nextInt(4) == 0 && par1World.getBlockId(var12, var16, var13 + 1) == 0)
|
||||
if (par2Random.nextInt(3) == 0 && par1World.getBlockId(var12, var16, var13 + 1) == 0)
|
||||
{
|
||||
this.generateVines(par1World, var12, var16, var13 + 1, 4);
|
||||
}
|
||||
|
@ -168,7 +171,7 @@ public class WorldGenSwampTall extends WorldGenerator
|
|||
*/
|
||||
private void generateVines(World par1World, int par2, int par3, int par4, int par5)
|
||||
{
|
||||
this.setBlockAndMetadata(par1World, par2, par3, par4, Block.vine.blockID, par5);
|
||||
this.setBlockAndMetadata(par1World, par2, par3, par4, Blocks.ivy.get().blockID, par5);
|
||||
int var6 = 8;
|
||||
|
||||
while (true)
|
||||
|
@ -180,7 +183,7 @@ public class WorldGenSwampTall extends WorldGenerator
|
|||
return;
|
||||
}
|
||||
|
||||
this.setBlockAndMetadata(par1World, par2, par3, par4, Block.vine.blockID, par5);
|
||||
this.setBlockAndMetadata(par1World, par2, par3, par4, Blocks.ivy.get().blockID, par5);
|
||||
--var6;
|
||||
}
|
||||
}
|
||||
|
|
BIN
src/minecraft/mods/BiomesOPlenty/textures/blocks/ivy.png
Normal file
BIN
src/minecraft/mods/BiomesOPlenty/textures/blocks/ivy.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 602 B |
Loading…
Reference in a new issue