Removed Witherwart, added Devilweed, improved various Nether biomes

This commit is contained in:
Forstride 2017-04-21 08:40:48 -04:00
parent 6b886e1ef2
commit fe5df48f1f
19 changed files with 44 additions and 91 deletions

View file

@ -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() {

View file

@ -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);
}

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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());

View file

@ -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);

View file

@ -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());

View file

@ -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;

View file

@ -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" }

View file

@ -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

View file

@ -0,0 +1,6 @@
{
"parent": "block/tinted_cross",
"textures": {
"cross": "biomesoplenty:blocks/devilweed"
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/crop",
"textures": {
"crop": "biomesoplenty:blocks/witherwart"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "biomesoplenty:blocks/devilweed"
}
}

View file

@ -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