Readded the Garden, readded bonemeal functionality on poppys/dandelion and *hopefully* fixed issues involving BlockMoss. Clses #248

This commit is contained in:
Adubbz 2014-05-31 21:43:21 +10:00
parent 09dc9c27da
commit 7c105564f3
6 changed files with 247 additions and 89 deletions

View file

@ -25,6 +25,7 @@ public class BOPCBiomes
public static BiomeGenBase flowerField;
public static BiomeGenBase frostForest;
public static BiomeGenBase fungiForest;
public static BiomeGenBase garden;
public static BiomeGenBase grassland;
public static BiomeGenBase grove;
public static BiomeGenBase heathland;

View file

@ -0,0 +1,97 @@
package biomesoplenty.common.biomes.overworld;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
import net.minecraft.world.gen.feature.WorldGenShrub;
import net.minecraft.world.gen.feature.WorldGenTallGrass;
import biomesoplenty.api.BOPBlockHelper;
import biomesoplenty.common.biomes.BOPBiome;
import biomesoplenty.common.entities.EntityRosester;
import biomesoplenty.common.world.features.WorldGenBOPDoubleFlora;
import biomesoplenty.common.world.features.WorldGenBOPFlora;
import biomesoplenty.common.world.features.trees.WorldGenGiantFlower;
public class BiomeGenGarden extends BOPBiome
{
private static final Height biomeHeight = new Height(0.3F, 0.4F);
public BiomeGenGarden(int biomeID)
{
super(biomeID);
this.setHeight(biomeHeight);
this.setColor(7656308);
this.setTemperatureRainfall(0.7F, 0.8F);
this.spawnableCreatureList.clear();
this.spawnableCreatureList.add(new SpawnListEntry(EntityRosester.class, 10, 4, 4));
this.topBlock = BOPBlockHelper.get("longGrass");
this.theBiomeDecorator.treesPerChunk = 2;
this.theBiomeDecorator.sandPerChunk = -999;
this.theBiomeDecorator.sandPerChunk2 = -999;
this.bopWorldFeatures.setFeature("sproutsPerChunk", 2);
this.bopWorldFeatures.setFeature("shrubsPerChunk", 10);
this.bopWorldFeatures.setFeature("waterReedsPerChunk", 4);
this.bopWorldFeatures.setFeature("generateMelons", true);
this.bopWorldFeatures.setFeature("bopFlowersPerChunk", 20);
this.bopWorldFeatures.setFeature("bopGrassPerChunk", 25);
this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(Blocks.red_flower, 0), 15);
this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 9), 20);
this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPFlora(BOPBlockHelper.get("flowers"), 4), 8);
this.bopWorldFeatures.weightedFlowerGen.put(new WorldGenBOPDoubleFlora(0, 3), 2);
this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(Blocks.tallgrass, 1), 1D);
this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 1), 0.25D);
this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 2), 0.25D);
this.bopWorldFeatures.weightedGrassGen.put(new WorldGenTallGrass(BOPBlockHelper.get("foliage"), 10), 0.5D);
this.bopWorldFeatures.weightedGrassGen.put(new WorldGenBOPDoubleFlora(2), 0.75D);
}
@Override
//TODO: getRandomWorldGenForTrees()
public WorldGenAbstractTree func_150567_a(Random random)
{
return random.nextInt(6) == 0 ? new WorldGenGiantFlower(0) : (random.nextInt(6) == 0 ? new WorldGenGiantFlower(1) : new WorldGenShrub(0, 0));
}
@Override
public void decorate(World world, Random random, int chunkX, int chunkZ)
{
super.decorate(world, random, chunkX, chunkZ);
int var5 = 12 + random.nextInt(6);
for (int var6 = 0; var6 < var5; ++var6)
{
int x = chunkX + random.nextInt(16);
int y = random.nextInt(28) + 4;
int z = chunkZ + random.nextInt(16);
Block block = world.getBlock(x, y, z);
if (block != null && block.isReplaceableOreGen(world, x, y, z, Blocks.stone))
{
world.setBlock(x, y, z, BOPBlockHelper.get("gemOre"), 4, 2);
}
}
}
@Override
public int getBiomeGrassColor(int x, int y, int z)
{
return 7656308;
}
@Override
public int getBiomeFoliageColor(int x, int y, int z)
{
return 6742630;
}
}

View file

@ -13,16 +13,12 @@ public class BlockMoss extends BlockVine
{
public BlockMoss()
{
//TODO: this.setHardness
this.setHardness(0.2F);
//TODO setStepSound(Block.soundGrassFootstep)
this.setStepSound(Block.soundTypeGrass);
//TODO: setTickRandomly()
this.setTickRandomly(true);
//TODO: this.setCreativeTab()
this.setCreativeTab(BiomesOPlenty.tabBiomesOPlenty);
}
@ -41,15 +37,15 @@ public class BlockMoss extends BlockVine
switch (side)
{
case 1:
return ((OreDictionary.getOreID("logWood") == OreDictionary.getOreID(new ItemStack(world.getBlock(x, y + 1, z)))) || (world.getBlock(x, y + 1, z) == Blocks.stone));
return world.getBlock(x, y + 1, z) != Blocks.air && (OreDictionary.getOreID("logWood") == OreDictionary.getOreID(new ItemStack(world.getBlock(x, y + 1, z))) || world.getBlock(x, y + 1, z) == Blocks.stone);
case 2:
return ((OreDictionary.getOreID("logWood") == OreDictionary.getOreID(new ItemStack(world.getBlock(x, y, z + 1)))) || (world.getBlock(x, y, z + 1) == Blocks.stone));
return world.getBlock(x, y, z + 1) != Blocks.air && (OreDictionary.getOreID("logWood") == OreDictionary.getOreID(new ItemStack(world.getBlock(x, y, z + 1))) || world.getBlock(x, y, z + 1) == Blocks.stone);
case 3:
return ((OreDictionary.getOreID("logWood") == OreDictionary.getOreID(new ItemStack(world.getBlock(x, y, z - 1)))) || (world.getBlock(x, y, z - 1) == Blocks.stone));
return world.getBlock(x, y, z - 1) != Blocks.air && (OreDictionary.getOreID("logWood") == OreDictionary.getOreID(new ItemStack(world.getBlock(x, y, z - 1))) || world.getBlock(x, y, z - 1) == Blocks.stone);
case 4:
return ((OreDictionary.getOreID("logWood") == OreDictionary.getOreID(new ItemStack(world.getBlock(x + 1, y, z)))) || (world.getBlock(x + 1, y, z) == Blocks.stone));
return world.getBlock(x + 1, y, z) != Blocks.air && (OreDictionary.getOreID("logWood") == OreDictionary.getOreID(new ItemStack(world.getBlock(x + 1, y, z))) || world.getBlock(x + 1, y, z) == Blocks.stone);
case 5:
return ((OreDictionary.getOreID("logWood") == OreDictionary.getOreID(new ItemStack(world.getBlock(x - 1, y, z)))) || (world.getBlock(x - 1, y, z) == Blocks.stone));
return world.getBlock(x - 1, y, z) != Blocks.air && (OreDictionary.getOreID("logWood") == OreDictionary.getOreID(new ItemStack(world.getBlock(x - 1, y, z))) || world.getBlock(x - 1, y, z) == Blocks.stone);
default:
return false;
}

View file

@ -1,78 +1,6 @@
package biomesoplenty.common.core;
import static biomesoplenty.api.content.BOPCBiomes.alps;
import static biomesoplenty.api.content.BOPCBiomes.alpsForest;
import static biomesoplenty.api.content.BOPCBiomes.arctic;
import static biomesoplenty.api.content.BOPCBiomes.bambooForest;
import static biomesoplenty.api.content.BOPCBiomes.bayou;
import static biomesoplenty.api.content.BOPCBiomes.bog;
import static biomesoplenty.api.content.BOPCBiomes.boneyard;
import static biomesoplenty.api.content.BOPCBiomes.borealForest;
import static biomesoplenty.api.content.BOPCBiomes.brushland;
import static biomesoplenty.api.content.BOPCBiomes.canyon;
import static biomesoplenty.api.content.BOPCBiomes.canyonRavine;
import static biomesoplenty.api.content.BOPCBiomes.chaparral;
import static biomesoplenty.api.content.BOPCBiomes.cherryBlossomGrove;
import static biomesoplenty.api.content.BOPCBiomes.coniferousForest;
import static biomesoplenty.api.content.BOPCBiomes.coralReef;
import static biomesoplenty.api.content.BOPCBiomes.corruptedSands;
import static biomesoplenty.api.content.BOPCBiomes.crag;
import static biomesoplenty.api.content.BOPCBiomes.deadForest;
import static biomesoplenty.api.content.BOPCBiomes.deadSwamp;
import static biomesoplenty.api.content.BOPCBiomes.deciduousForest;
import static biomesoplenty.api.content.BOPCBiomes.dryRiver;
import static biomesoplenty.api.content.BOPCBiomes.fen;
import static biomesoplenty.api.content.BOPCBiomes.flowerField;
import static biomesoplenty.api.content.BOPCBiomes.frostForest;
import static biomesoplenty.api.content.BOPCBiomes.fungiForest;
import static biomesoplenty.api.content.BOPCBiomes.glacier;
import static biomesoplenty.api.content.BOPCBiomes.grassland;
import static biomesoplenty.api.content.BOPCBiomes.grove;
import static biomesoplenty.api.content.BOPCBiomes.heathland;
import static biomesoplenty.api.content.BOPCBiomes.highland;
import static biomesoplenty.api.content.BOPCBiomes.jadeCliffs;
import static biomesoplenty.api.content.BOPCBiomes.kelpForest;
import static biomesoplenty.api.content.BOPCBiomes.lavenderFields;
import static biomesoplenty.api.content.BOPCBiomes.lushDesert;
import static biomesoplenty.api.content.BOPCBiomes.lushRiver;
import static biomesoplenty.api.content.BOPCBiomes.lushSwamp;
import static biomesoplenty.api.content.BOPCBiomes.mapleWoods;
import static biomesoplenty.api.content.BOPCBiomes.marsh;
import static biomesoplenty.api.content.BOPCBiomes.meadow;
import static biomesoplenty.api.content.BOPCBiomes.meadowForest;
import static biomesoplenty.api.content.BOPCBiomes.moor;
import static biomesoplenty.api.content.BOPCBiomes.mountain;
import static biomesoplenty.api.content.BOPCBiomes.mysticGrove;
import static biomesoplenty.api.content.BOPCBiomes.oasis;
import static biomesoplenty.api.content.BOPCBiomes.ominousWoods;
import static biomesoplenty.api.content.BOPCBiomes.originValley;
import static biomesoplenty.api.content.BOPCBiomes.outback;
import static biomesoplenty.api.content.BOPCBiomes.phantasmagoricInferno;
import static biomesoplenty.api.content.BOPCBiomes.prairie;
import static biomesoplenty.api.content.BOPCBiomes.quagmire;
import static biomesoplenty.api.content.BOPCBiomes.rainforest;
import static biomesoplenty.api.content.BOPCBiomes.redwoodForest;
import static biomesoplenty.api.content.BOPCBiomes.sacredSprings;
import static biomesoplenty.api.content.BOPCBiomes.scrubland;
import static biomesoplenty.api.content.BOPCBiomes.seasonalForest;
import static biomesoplenty.api.content.BOPCBiomes.shield;
import static biomesoplenty.api.content.BOPCBiomes.shrubland;
import static biomesoplenty.api.content.BOPCBiomes.silkglades;
import static biomesoplenty.api.content.BOPCBiomes.sludgepit;
import static biomesoplenty.api.content.BOPCBiomes.snowyConiferousForest;
import static biomesoplenty.api.content.BOPCBiomes.spruceWoods;
import static biomesoplenty.api.content.BOPCBiomes.steppe;
import static biomesoplenty.api.content.BOPCBiomes.temperateRainforest;
import static biomesoplenty.api.content.BOPCBiomes.thicket;
import static biomesoplenty.api.content.BOPCBiomes.tropicalRainforest;
import static biomesoplenty.api.content.BOPCBiomes.tropics;
import static biomesoplenty.api.content.BOPCBiomes.tundra;
import static biomesoplenty.api.content.BOPCBiomes.undergarden;
import static biomesoplenty.api.content.BOPCBiomes.visceralHeap;
import static biomesoplenty.api.content.BOPCBiomes.volcano;
import static biomesoplenty.api.content.BOPCBiomes.wasteland;
import static biomesoplenty.api.content.BOPCBiomes.wetland;
import static biomesoplenty.api.content.BOPCBiomes.woodland;
import static biomesoplenty.api.content.BOPCBiomes.*;
import java.util.ArrayList;
import java.util.List;
@ -114,6 +42,7 @@ import biomesoplenty.common.biomes.overworld.BiomeGenFen;
import biomesoplenty.common.biomes.overworld.BiomeGenFlowerField;
import biomesoplenty.common.biomes.overworld.BiomeGenFrostForest;
import biomesoplenty.common.biomes.overworld.BiomeGenFungiForest;
import biomesoplenty.common.biomes.overworld.BiomeGenGarden;
import biomesoplenty.common.biomes.overworld.BiomeGenGrassland;
import biomesoplenty.common.biomes.overworld.BiomeGenGrove;
import biomesoplenty.common.biomes.overworld.BiomeGenHeathland;
@ -226,6 +155,7 @@ public class BOPBiomes
flowerField = registerOverworldBiome(BiomeGenFlowerField.class, "Flower Field", TemperatureType.WARM, 3);
frostForest = registerOverworldBiome(BiomeGenFrostForest.class, "Frost Forest", TemperatureType.ICY, 7);
fungiForest = registerOverworldBiome(BiomeGenFungiForest.class, "Fungi Forest", TemperatureType.COOL, 3);
garden = registerOverworldBiome(BiomeGenGarden.class, "Garden", TemperatureType.COOL, 3);
grassland = registerOverworldBiome(BiomeGenGrassland.class, "Grassland", TemperatureType.COOL, 10);
grove = registerOverworldBiome(BiomeGenGrove.class, "Grove", TemperatureType.COOL, 5);
heathland = registerOverworldBiome(BiomeGenHeathland.class, "Heathland", TemperatureType.WARM, 10);

View file

@ -10,6 +10,7 @@ import net.minecraftforge.event.entity.player.BonemealEvent;
import biomesoplenty.api.BOPBlockHelper;
import biomesoplenty.common.blocks.BlockBOPColorizedSapling;
import biomesoplenty.common.blocks.BlockBOPSapling;
import biomesoplenty.common.world.features.trees.WorldGenGiantFlower;
import cpw.mods.fml.common.eventhandler.Event.Result;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
@ -99,7 +100,7 @@ public class BonemealEventHandler
}
}
}
/*TODO: FEATURE else if (event.ID == Block.plantRed.blockID)
else if (block == Blocks.red_flower)
{
event.setResult(Result.ALLOW);
@ -107,12 +108,12 @@ public class BonemealEventHandler
{
if (event.world.rand.nextFloat() < 0.45D)
{
WorldGenGiantFlowerRed worldgengiantflowerred = new WorldGenGiantFlowerRed();
worldgengiantflowerred.generate(event.world, event.world.rand, event.X, event.Y - 1, event.Z);
WorldGenGiantFlower worldgengiantflower = new WorldGenGiantFlower(0);
worldgengiantflower.generate(event.world, event.world.rand, event.x, event.y - 1, event.z);
}
}
}
else if (event.ID == Block.plantYellow.blockID)
else if (block == Blocks.yellow_flower)
{
event.setResult(Result.ALLOW);
@ -120,11 +121,11 @@ public class BonemealEventHandler
{
if (event.world.rand.nextFloat() < 0.45D)
{
WorldGenGiantFlowerYellow worldgengiantfloweryellow = new WorldGenGiantFlowerYellow();
worldgengiantfloweryellow.generate(event.world, event.world.rand, event.X, event.Y - 1, event.Z);
WorldGenGiantFlower worldgengiantflower = new WorldGenGiantFlower(1);
worldgengiantflower.generate(event.world, event.world.rand, event.x, event.y - 1, event.z);
}
}
}
}*/
else if (block == BOPBlockHelper.get("turnip"))
{
if (event.world.getBlockMetadata(x, y, z) != 7)

View file

@ -0,0 +1,133 @@
package biomesoplenty.common.world.features.trees;
import java.util.Random;
import biomesoplenty.api.BOPBlockHelper;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenAbstractTree;
public class WorldGenGiantFlower extends WorldGenAbstractTree
{
private int metadata;
public WorldGenGiantFlower(int metadata)
{
super(false);
this.metadata = metadata;
}
@Override
public boolean generate(World world, Random random, int x, int y, int z)
{
while (world.isAirBlock(x, y, z) && y > 2)
{
--y;
}
Block block = world.getBlock(x, y, z);
if (block != BOPBlockHelper.get("longGrass")) return false;
else
{
for (int var7 = -2; var7 <= 2; ++var7)
{
for (int var8 = -2; var8 <= 2; ++var8)
{
if (world.isAirBlock(x + var7, y - 1, z + var8) && world.isAirBlock(x + var7, y - 2, z + var8))
return false;
}
}
world.setBlock(x, y, z, Blocks.dirt);
world.setBlock(x, y + 1, z, BOPBlockHelper.get("logs3"), 3, 2);
world.setBlock(x, y + 2, z, BOPBlockHelper.get("logs3"), 3, 2);
world.setBlock(x, y + 3, z, BOPBlockHelper.get("logs3"), 3, 2);
world.setBlock(x, y + 4, z, BOPBlockHelper.get("logs3"), 3, 2);
world.setBlock(x, y + 5, z, BOPBlockHelper.get("logs3"), 3, 2);
//Red
if (metadata == 0)
{
world.setBlock(x - 1, y + 5, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 1, y + 5, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 5, z - 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 5, z + 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 6, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x - 1, y + 6, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 1, y + 6, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 6, z - 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 6, z + 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 1, y + 6, z + 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 1, y + 6, z - 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x - 1, y + 6, z + 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x - 1, y + 6, z - 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 2, y + 6, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x - 2, y + 6, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 6, z + 2, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 6, z - 2, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 1, y + 7, z + 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 1, y + 7, z - 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x - 1, y + 7, z + 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x - 1, y + 7, z - 1, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 2, y + 7, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x - 2, y + 7, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 7, z + 2, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 7, z - 2, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 2, y + 7, z + 2, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 2, y + 7, z - 2, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x - 2, y + 7, z + 2, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x - 2, y + 7, z - 2, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 2, y + 8, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x - 2, y + 8, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 8, z + 2, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 8, z - 2, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x + 3, y + 9, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x - 3, y + 9, z, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 9, z + 3, BOPBlockHelper.get("petals"), 0, 2);
world.setBlock(x, y + 9, z - 3, BOPBlockHelper.get("petals"), 0, 2);
}
else
{
//Yellow
world.setBlock(x - 1, y + 5, z, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x + 1, y + 5, z, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x, y + 5, z - 1, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x, y + 5, z + 1, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x + 2, y + 5, z + 2, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x + 2, y + 5, z - 2, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x - 2, y + 5, z + 2, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x - 2, y + 5, z - 2, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x, y + 6, z, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x - 1, y + 6, z, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x + 1, y + 6, z, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x, y + 6, z - 1, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x, y + 6, z + 1, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x + 1, y + 6, z + 1, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x + 1, y + 6, z - 1, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x - 1, y + 6, z + 1, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x - 1, y + 6, z - 1, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x + 2, y + 6, z, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x - 2, y + 6, z, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x, y + 6, z + 2, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x, y + 6, z - 2, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x, y + 7, z, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x + 3, y + 7, z, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x - 3, y + 7, z, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x, y + 7, z + 3, BOPBlockHelper.get("petals"), 1, 2);
world.setBlock(x, y + 7, z - 3, BOPBlockHelper.get("petals"), 1, 2);
}
return true;
}
}
}