Removed Witherwart, added Devilweed, improved various Nether biomes
This commit is contained in:
parent
6b886e1ef2
commit
fe5df48f1f
19 changed files with 44 additions and 91 deletions
|
@ -13,7 +13,7 @@ import net.minecraft.util.IStringSerializable;
|
|||
public enum BOPPlants implements IStringSerializable, IPagedVariants
|
||||
{
|
||||
|
||||
SHORTGRASS, MEDIUMGRASS, BUSH, SPROUT, POISONIVY, BERRYBUSH, SHRUB, WHEATGRASS, DAMPGRASS, KORU, CLOVERPATCH, LEAFPILE, DEADLEAFPILE, DEADGRASS, DESERTGRASS, DESERTSPROUTS, DUNEGRASS, SPECTRALFERN, THORN, WILDRICE, CATTAIL, RIVERCANE, TINYCACTUS, WITHERWART, REED, ROOT, RAFFLESIA;
|
||||
SHORTGRASS, MEDIUMGRASS, BUSH, SPROUT, POISONIVY, BERRYBUSH, SHRUB, WHEATGRASS, DAMPGRASS, KORU, CLOVERPATCH, LEAFPILE, DEADLEAFPILE, DEADGRASS, DESERTGRASS, DESERTSPROUTS, DUNEGRASS, SPECTRALFERN, THORN, WILDRICE, CATTAIL, RIVERCANE, TINYCACTUS, DEVILWEED, REED, ROOT, RAFFLESIA;
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
|
|
|
@ -21,7 +21,7 @@ public class BiomeBoneyard extends BOPHellBiome
|
|||
{
|
||||
public BiomeBoneyard()
|
||||
{
|
||||
super("boneyard", new PropsBuilder("Boneyard").withGuiColour(0xA93C3E));
|
||||
super("boneyard", new PropsBuilder("Boneyard").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||
|
||||
this.addWeight(BOPClimates.HELL, 20);
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ public class BiomeCorruptedSands extends BOPHellBiome
|
|||
{
|
||||
public BiomeCorruptedSands()
|
||||
{
|
||||
super("corrupted_sands", new PropsBuilder("Corrupted Sands").withGuiColour(0xA93C3E));
|
||||
super("corrupted_sands", new PropsBuilder("Corrupted Sands").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||
|
||||
this.addWeight(BOPClimates.HELL, 20);
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ public class BiomeFungiForest extends BOPHellBiome
|
|||
|
||||
public BiomeFungiForest()
|
||||
{
|
||||
super("fungi_forest", new PropsBuilder("Fungi Forest").withGuiColour(0xA93C3E));
|
||||
super("fungi_forest", new PropsBuilder("Fungi Forest").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||
|
||||
this.addWeight(BOPClimates.HELL, 15);
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ public class BiomePhantasmagoricInferno extends BOPHellBiome
|
|||
{
|
||||
public BiomePhantasmagoricInferno()
|
||||
{
|
||||
super("phantasmagoric_inferno", new PropsBuilder("Phantasmagoric Inferno").withGuiColour(0xA93C3E));
|
||||
super("phantasmagoric_inferno", new PropsBuilder("Phantasmagoric Inferno").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||
|
||||
this.addWeight(BOPClimates.HELL, 20);
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ public class BiomePolarChasm extends BOPHellBiome
|
|||
{
|
||||
public BiomePolarChasm()
|
||||
{
|
||||
super("polar_chasm", new PropsBuilder("Polar Chasm").withGuiColour(0xA93C3E));
|
||||
super("polar_chasm", new PropsBuilder("Polar Chasm").withGuiColour(0xA93C3E).withTemperature(0.25F).withRainfall(0.0F).withRainDisabled());
|
||||
|
||||
this.addWeight(BOPClimates.HELL, 1);
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ import biomesoplenty.common.block.BlockBOPVine;
|
|||
import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod;
|
||||
import biomesoplenty.common.util.block.BlockQuery;
|
||||
import biomesoplenty.common.world.generator.GeneratorFlora;
|
||||
import biomesoplenty.common.world.generator.GeneratorGrass;
|
||||
import biomesoplenty.common.world.generator.GeneratorSplatter;
|
||||
import biomesoplenty.common.world.generator.GeneratorVines;
|
||||
import biomesoplenty.common.world.generator.GeneratorWeighted;
|
||||
|
@ -35,17 +36,18 @@ public class BiomeUndergarden extends BOPHellBiome
|
|||
|
||||
public BiomeUndergarden()
|
||||
{
|
||||
super("undergarden", new PropsBuilder("Undergarden").withGuiColour(0xA93C3E));
|
||||
super("undergarden", new PropsBuilder("Undergarden").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||
|
||||
this.addWeight(BOPClimates.HELL, 15);
|
||||
|
||||
this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK);
|
||||
|
||||
// splatter top blocks
|
||||
IBlockPosQuery emptyNetherrack = BlockQuery.buildAnd().states(this.topBlock).withAirAbove().create();
|
||||
IBlockState overgrownNetherrack = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK);
|
||||
this.addGenerator("overgrown_netherrack_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(20.0F).generationAttempts(128).scatterYMethod(ScatterYMethod.NETHER_SURFACE).replace(emptyNetherrack).with(overgrownNetherrack).create());
|
||||
IBlockPosQuery emptyOvergrownNetherrack = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create();
|
||||
this.addGenerator("netherrack_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(7.0F).generationAttempts(128).scatterYMethod(ScatterYMethod.NETHER_SURFACE).replace(emptyOvergrownNetherrack).with(Blocks.NETHERRACK.getDefaultState()).create());
|
||||
|
||||
IBlockPosQuery suitableNetherrackPosition = BlockQuery.buildAnd().withAltitudeBetween(80, 130).states(Blocks.NETHERRACK.getDefaultState()).create();
|
||||
this.addGenerator("ivy", GeneratorStage.FLOWERS,(new GeneratorVines.Builder()).amountPerChunk(30.0F).generationAttempts(128).placeOn(suitableNetherrackPosition).with(BOPBlocks.ivy.getDefaultState()).minHeight(8).maxHeight(20).create());
|
||||
IBlockPosQuery suitableNetherrackPosition = BlockQuery.buildAnd().withAltitudeBetween(70, 120).states(Blocks.NETHERRACK.getDefaultState()).create();
|
||||
this.addGenerator("ivy", GeneratorStage.FLOWERS,(new GeneratorVines.Builder()).amountPerChunk(25.0F).generationAttempts(128).placeOn(suitableNetherrackPosition).with(BOPBlocks.ivy.getDefaultState()).minHeight(8).maxHeight(20).create());
|
||||
|
||||
// flowers
|
||||
GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.0F);
|
||||
|
@ -53,12 +55,15 @@ public class BiomeUndergarden extends BOPHellBiome
|
|||
flowerGenerator.add("burning_blossom", 4, (new GeneratorFlora.Builder().scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(BOPFlowers.BURNING_BLOSSOM).create()));
|
||||
|
||||
// trees
|
||||
IBlockPosQuery surfaceBlocks = BlockQuery.buildOr().states(this.topBlock, overgrownNetherrack).create();
|
||||
GeneratorWeighted treeGenerator = new GeneratorWeighted(12.0F);
|
||||
IBlockPosQuery surfaceBlocks = BlockQuery.buildOr().states(this.topBlock, BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK)).create();
|
||||
GeneratorWeighted treeGenerator = new GeneratorWeighted(15.0F);
|
||||
this.addGenerator("trees", GeneratorStage.TREE, treeGenerator);
|
||||
treeGenerator.add("twiglet", 3, (new GeneratorTwigletTree.Builder()).scatterYMethod(ScatterYMethod.NETHER_SURFACE).placeOn(surfaceBlocks).minHeight(2).maxHeight(2).log(BlockBOPLog.paging.getVariantState(BOPWoods.HELLBARK)).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.HELLBARK)).create());
|
||||
treeGenerator.add("twiglet", 5, (new GeneratorTwigletTree.Builder()).scatterYMethod(ScatterYMethod.NETHER_SURFACE).placeOn(surfaceBlocks).minHeight(2).maxHeight(2).log(BlockBOPLog.paging.getVariantState(BOPWoods.HELLBARK)).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.HELLBARK)).create());
|
||||
|
||||
this.addGenerator("koru", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(5.0F).with(BOPPlants.KORU).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
||||
// grasses
|
||||
GeneratorWeighted grassGenerator = new GeneratorWeighted(15.0F);
|
||||
this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator);
|
||||
grassGenerator.add("devilweed", 5, (new GeneratorGrass.Builder()).with(BOPPlants.DEVILWEED).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
||||
|
||||
// shrooms
|
||||
this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).create());
|
||||
|
|
|
@ -44,7 +44,7 @@ public class BiomeVisceralHeap extends BOPHellBiome
|
|||
|
||||
public BiomeVisceralHeap()
|
||||
{
|
||||
super("visceral_heap", new PropsBuilder("Visceral Heap").withGuiColour(0xA93C3E));
|
||||
super("visceral_heap", new PropsBuilder("Visceral Heap").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||
|
||||
this.addWeight(BOPClimates.HELL, 20);
|
||||
|
||||
|
|
|
@ -96,7 +96,6 @@ public class BiomeGenDummyTemplate extends BOPOverworldBiome
|
|||
this.addGenerator("thorns", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.THORN).create());
|
||||
this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.TINYCACTUS).create());
|
||||
this.addGenerator("wild_rice", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.WILDRICE).create());
|
||||
this.addGenerator("witherwart", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BOPPlants.WITHERWART).create());
|
||||
this.addGenerator("dead_bushes", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.5F).with(BlockTallGrass.EnumType.DEAD_BUSH).create());
|
||||
this.addGenerator("eyebulbs", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPDoublePlant.DoublePlantType.EYEBULB).create());
|
||||
this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.5F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).create());
|
||||
|
|
|
@ -122,7 +122,7 @@ public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHo
|
|||
{
|
||||
case SHRUB: case LEAFPILE: case POISONIVY: case BUSH: case BERRYBUSH:
|
||||
return ColoringType.LIKE_LEAVES;
|
||||
case SHORTGRASS: case MEDIUMGRASS: case SPROUT: case KORU: case CLOVERPATCH: case WHEATGRASS: case DAMPGRASS:
|
||||
case SHORTGRASS: case MEDIUMGRASS: case SPROUT: case KORU: case CLOVERPATCH: case WHEATGRASS: case DAMPGRASS: case DEVILWEED:
|
||||
return ColoringType.LIKE_GRASS;
|
||||
default:
|
||||
return ColoringType.PLAIN;
|
||||
|
@ -247,7 +247,7 @@ public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHo
|
|||
}
|
||||
break;
|
||||
|
||||
case CATTAIL: case RIVERCANE: case TINYCACTUS: case WITHERWART: case REED: case ROOT: case RAFFLESIA:
|
||||
case CATTAIL: case RIVERCANE: case TINYCACTUS: case REED: case ROOT: case RAFFLESIA:
|
||||
// these variants drop themselves as items
|
||||
ret.add(paging.getVariantItem(plant));
|
||||
break;
|
||||
|
@ -288,7 +288,7 @@ public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHo
|
|||
|
||||
switch (plant)
|
||||
{
|
||||
case THORN: case WILDRICE: case CATTAIL: case RIVERCANE: case TINYCACTUS: case WITHERWART: case RAFFLESIA:
|
||||
case THORN: case WILDRICE: case CATTAIL: case RIVERCANE: case TINYCACTUS: case RAFFLESIA:
|
||||
return false;
|
||||
|
||||
default:
|
||||
|
@ -296,41 +296,6 @@ public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHo
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean addDestroyEffects(World world, BlockPos pos, ParticleManager effectRenderer)
|
||||
{
|
||||
IBlockState state = world.getBlockState(pos);
|
||||
Block block = state.getBlock();
|
||||
// make sure the block at pos is actually this block (according to the comments in Block.addDestroyEffects, it might not be...)
|
||||
if (block != this) {return false;}
|
||||
switch ((BOPPlants) state.getValue(this.variantProperty))
|
||||
{
|
||||
case WITHERWART:
|
||||
byte n = 3;
|
||||
for (byte i = 0; i < n; i++)
|
||||
{
|
||||
for (byte j = 0; j < n; j++)
|
||||
{
|
||||
for (byte k = 0; k < n; k++)
|
||||
{
|
||||
double x = pos.getX() + (i + 0.5D) / n;
|
||||
double y = pos.getY() + (j + 0.5D) / n;
|
||||
double z = pos.getZ() + (k + 0.5D) / n;
|
||||
world.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, x, y, z, 0.0D, 0.0D, 0.0D);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// different variants have different sizes
|
||||
@Override
|
||||
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos)
|
||||
|
@ -370,15 +335,13 @@ public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHo
|
|||
return BlockQueries.spectralMoss.matches(world, pos.down());
|
||||
case THORN:
|
||||
return BlockQueries.fertileOrNetherrack.matches(world, pos.down()) || BlockQueries.sustainsNether.matches(world, pos.down());
|
||||
case KORU:
|
||||
return BlockQueries.fertile.matches(world, pos.down());
|
||||
case CATTAIL:
|
||||
return BlockQueries.litFertileWaterside.matches(world, pos.down());
|
||||
case RIVERCANE:
|
||||
// river cane can also be placed on top of itself
|
||||
return BlockQueries.litFertileWaterside.matches(world, pos.down()) || (world.getBlockState(pos.down()) == state);
|
||||
case WITHERWART:
|
||||
return BlockQueries.sustainsNether.matches(world, pos.down());
|
||||
case DEVILWEED:
|
||||
return BlockQueries.fertile.matches(world, pos.down());
|
||||
case REED:
|
||||
return BlockQueries.suitableForReed.matches(world, pos.down());
|
||||
case ROOT:
|
||||
|
@ -509,7 +472,7 @@ public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHo
|
|||
BOPPlants plant = ((BOPPlants) world.getBlockState(pos).getValue(this.variantProperty));
|
||||
switch (plant)
|
||||
{
|
||||
case CATTAIL: case RIVERCANE: case TINYCACTUS: case WITHERWART: case REED: case ROOT:
|
||||
case CATTAIL: case RIVERCANE: case TINYCACTUS: case REED: case ROOT:
|
||||
// these items drop themselves as items when the block is broken (from getDrops), so we don't want to add anything else for using shears
|
||||
break;
|
||||
|
||||
|
@ -539,7 +502,7 @@ public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHo
|
|||
return 0;
|
||||
case RIVERCANE:
|
||||
return 0;
|
||||
case WITHERWART:
|
||||
case DEVILWEED:
|
||||
return 0;
|
||||
case REED:
|
||||
return 0;
|
||||
|
@ -564,7 +527,7 @@ public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHo
|
|||
return 0;
|
||||
case RIVERCANE:
|
||||
return 0;
|
||||
case WITHERWART:
|
||||
case DEVILWEED:
|
||||
return 0;
|
||||
case REED:
|
||||
return 0;
|
||||
|
@ -589,7 +552,6 @@ public class BlockBOPPlant extends BlockBOPDecoration implements IShearable, IHo
|
|||
case BERRYBUSH:
|
||||
case RIVERCANE:
|
||||
case TINYCACTUS:
|
||||
case WITHERWART:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
"variant=cattail": { "model": "biomesoplenty:cattail" },
|
||||
"variant=rivercane": { "model": "biomesoplenty:rivercane" },
|
||||
"variant=tinycactus": { "model": "biomesoplenty:tinycactus" },
|
||||
"variant=witherwart": { "model": "biomesoplenty:witherwart" },
|
||||
"variant=devilweed": { "model": "biomesoplenty:devilweed" },
|
||||
"variant=reed": { "model": "biomesoplenty:reed" },
|
||||
"variant=root": { "model": "biomesoplenty:root" },
|
||||
"variant=rafflesia": { "model": "biomesoplenty:rafflesia" }
|
||||
|
|
|
@ -396,7 +396,7 @@ tile.plant_1.wildrice.name=Wild Rice
|
|||
tile.plant_1.cattail.name=Cattail
|
||||
tile.plant_1.rivercane.name=River Cane
|
||||
tile.plant_1.tinycactus.name=Tiny Cactus
|
||||
tile.plant_1.witherwart.name=Wither Wart
|
||||
tile.plant_1.devilweed.name=Devilweed
|
||||
tile.plant_1.reed.name=Reed
|
||||
tile.plant_1.root.name=Root
|
||||
tile.plant_1.rafflesia.name=Rafflesia
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/tinted_cross",
|
||||
"textures": {
|
||||
"cross": "biomesoplenty:blocks/devilweed"
|
||||
}
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
"parent": "block/crop",
|
||||
"textures": {
|
||||
"crop": "biomesoplenty:blocks/witherwart"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "biomesoplenty:blocks/devilweed"
|
||||
}
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "biomesoplenty:items/witherwart"
|
||||
},
|
||||
"display": {
|
||||
"thirdperson": {
|
||||
"rotation": [ -90, 0, 0 ],
|
||||
"translation": [ 0, 1, -3 ],
|
||||
"scale": [ 0.55, 0.55, 0.55 ]
|
||||
},
|
||||
"firstperson": {
|
||||
"rotation": [ 0, -135, 25 ],
|
||||
"translation": [ 0, 4, 2 ],
|
||||
"scale": [ 1.7, 1.7, 1.7 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 470 B |
Binary file not shown.
Before Width: | Height: | Size: 392 B |
Binary file not shown.
Before Width: | Height: | Size: 311 B |
Loading…
Reference in a new issue