Added Mycelial Netherrack to the Fungi Forest, tweaked Nether biome weights
This commit is contained in:
parent
e5f94ae1a6
commit
6f975cd2c2
15 changed files with 106 additions and 32 deletions
|
@ -85,7 +85,7 @@ public enum BOPClimates {
|
||||||
BOPClimates.SAVANNA.addBiome(20, Biomes.SAVANNA);
|
BOPClimates.SAVANNA.addBiome(20, Biomes.SAVANNA);
|
||||||
BOPClimates.HOT_DESERT.addBiome(30, Biomes.DESERT).addBiome(10, Biomes.MESA_CLEAR_ROCK);
|
BOPClimates.HOT_DESERT.addBiome(30, Biomes.DESERT).addBiome(10, Biomes.MESA_CLEAR_ROCK);
|
||||||
BOPClimates.WASTELAND.addBiome(1, Biomes.DESERT);
|
BOPClimates.WASTELAND.addBiome(1, Biomes.DESERT);
|
||||||
BOPClimates.HELL.addBiome(40, Biomes.HELL);
|
BOPClimates.HELL.addBiome(150, Biomes.HELL);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static BOPClimates[] values = BOPClimates.values();
|
private static BOPClimates[] values = BOPClimates.values();
|
||||||
|
|
|
@ -33,7 +33,7 @@ public class BiomeCorruptedSands extends BOPHellBiome
|
||||||
{
|
{
|
||||||
super("corrupted_sands", new PropsBuilder("Corrupted Sands").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
super("corrupted_sands", new PropsBuilder("Corrupted Sands").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||||
|
|
||||||
this.addWeight(BOPClimates.HELL, 20);
|
this.addWeight(BOPClimates.HELL, 75);
|
||||||
|
|
||||||
this.topBlock = Blocks.SOUL_SAND.getDefaultState();
|
this.topBlock = Blocks.SOUL_SAND.getDefaultState();
|
||||||
this.fillerBlock = Blocks.SOUL_SAND.getDefaultState();
|
this.fillerBlock = Blocks.SOUL_SAND.getDefaultState();
|
||||||
|
|
|
@ -19,6 +19,7 @@ import biomesoplenty.api.enums.BOPFlowers;
|
||||||
import biomesoplenty.api.enums.BOPPlants;
|
import biomesoplenty.api.enums.BOPPlants;
|
||||||
import biomesoplenty.api.enums.BOPTrees;
|
import biomesoplenty.api.enums.BOPTrees;
|
||||||
import biomesoplenty.api.generation.GeneratorStage;
|
import biomesoplenty.api.generation.GeneratorStage;
|
||||||
|
import biomesoplenty.common.block.BlockBOPDirt;
|
||||||
import biomesoplenty.common.block.BlockBOPGrass;
|
import biomesoplenty.common.block.BlockBOPGrass;
|
||||||
import biomesoplenty.common.block.BlockBOPLeaves;
|
import biomesoplenty.common.block.BlockBOPLeaves;
|
||||||
import biomesoplenty.common.block.BlockBOPMushroom;
|
import biomesoplenty.common.block.BlockBOPMushroom;
|
||||||
|
@ -28,6 +29,7 @@ import biomesoplenty.common.world.generator.GeneratorBigMushroom;
|
||||||
import biomesoplenty.common.world.generator.GeneratorDoubleFlora;
|
import biomesoplenty.common.world.generator.GeneratorDoubleFlora;
|
||||||
import biomesoplenty.common.world.generator.GeneratorFlora;
|
import biomesoplenty.common.world.generator.GeneratorFlora;
|
||||||
import biomesoplenty.common.world.generator.GeneratorGrass;
|
import biomesoplenty.common.world.generator.GeneratorGrass;
|
||||||
|
import biomesoplenty.common.world.generator.GeneratorSplotches;
|
||||||
import biomesoplenty.common.world.generator.GeneratorWeighted;
|
import biomesoplenty.common.world.generator.GeneratorWeighted;
|
||||||
import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree;
|
import biomesoplenty.common.world.generator.tree.GeneratorTwigletTree;
|
||||||
import net.minecraft.block.BlockDirt;
|
import net.minecraft.block.BlockDirt;
|
||||||
|
@ -43,22 +45,43 @@ import net.minecraft.world.chunk.ChunkPrimer;
|
||||||
|
|
||||||
public class BiomeFungiForest extends BOPHellBiome
|
public class BiomeFungiForest extends BOPHellBiome
|
||||||
{
|
{
|
||||||
|
public IBlockState usualTopBlock;
|
||||||
|
public IBlockState alternateTopBlock;
|
||||||
|
|
||||||
public BiomeFungiForest()
|
public BiomeFungiForest()
|
||||||
{
|
{
|
||||||
super("fungi_forest", new PropsBuilder("Fungi Forest").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
super("fungi_forest", new PropsBuilder("Fungi Forest").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||||
|
|
||||||
this.addWeight(BOPClimates.HELL, 15);
|
this.addWeight(BOPClimates.HELL, 75);
|
||||||
|
|
||||||
|
this.usualTopBlock = this.topBlock;
|
||||||
|
this.alternateTopBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.MYCELIAL_NETHERRACK);
|
||||||
|
|
||||||
// shrooms
|
// shrooms
|
||||||
IBlockPosQuery surfaceBlocks = BlockQuery.buildOr().states(this.topBlock).create();
|
IBlockPosQuery surfaceBlocks = BlockQuery.buildOr().states(this.topBlock).create();
|
||||||
this.addGenerator("glowshroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.25F).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(BlockBOPMushroom.MushroomType.GLOWSHROOM).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
this.addGenerator("glowshroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.25F).with(BlockBOPMushroom.MushroomType.GLOWSHROOM).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
||||||
this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
this.addGenerator("flat_mushroom", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BlockBOPMushroom.MushroomType.FLAT_MUSHROOM).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
||||||
this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(BlockBOPMushroom.MushroomType.TOADSTOOL).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
this.addGenerator("toadstools", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).with(BlockBOPMushroom.MushroomType.TOADSTOOL).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
||||||
this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(5.0F).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(Blocks.RED_MUSHROOM.getDefaultState()).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(5.0F).with(Blocks.RED_MUSHROOM.getDefaultState()).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
||||||
this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(Blocks.BROWN_MUSHROOM.getDefaultState()).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).with(Blocks.BROWN_MUSHROOM.getDefaultState()).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
||||||
this.addGenerator("big_brown_mushroom", GeneratorStage.BIG_SHROOM,(new GeneratorBigMushroom.Builder()).amountPerChunk(2.0F).mushroomType(GeneratorBigMushroom.BigMushroomType.BROWN).scatterYMethod(ScatterYMethod.NETHER_SURFACE).placeOn(surfaceBlocks).create());
|
this.addGenerator("big_brown_mushroom", GeneratorStage.BIG_SHROOM,(new GeneratorBigMushroom.Builder()).amountPerChunk(2.0F).mushroomType(GeneratorBigMushroom.BigMushroomType.BROWN).scatterYMethod(ScatterYMethod.NETHER_SURFACE).placeOn(surfaceBlocks).create());
|
||||||
this.addGenerator("big_red_mushroom", GeneratorStage.BIG_SHROOM,(new GeneratorBigMushroom.Builder()).amountPerChunk(15.0F).mushroomType(GeneratorBigMushroom.BigMushroomType.RED).scatterYMethod(ScatterYMethod.NETHER_SURFACE).minHeight(5).maxHeight(15).placeOn(surfaceBlocks).create());
|
this.addGenerator("big_red_mushroom", GeneratorStage.BIG_SHROOM,(new GeneratorBigMushroom.Builder()).amountPerChunk(25.0F).mushroomType(GeneratorBigMushroom.BigMushroomType.RED).scatterYMethod(ScatterYMethod.NETHER_SURFACE).minHeight(5).maxHeight(25).placeOn(surfaceBlocks).create());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void configure(IConfigObj conf)
|
||||||
|
{
|
||||||
|
super.configure(conf);
|
||||||
|
|
||||||
|
this.usualTopBlock = this.topBlock;
|
||||||
|
this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void genTerrainBlocks(World world, Random rand, ChunkPrimer primer, int x, int z, double noise)
|
||||||
|
{
|
||||||
|
this.topBlock = (noise + rand.nextDouble() * 1.0D > 1.8D) ? this.alternateTopBlock : this.usualTopBlock;
|
||||||
|
super.genTerrainBlocks(world, rand, primer, x, z, noise);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -29,7 +29,7 @@ public class BiomePhantasmagoricInferno extends BOPHellBiome
|
||||||
{
|
{
|
||||||
super("phantasmagoric_inferno", new PropsBuilder("Phantasmagoric Inferno").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
super("phantasmagoric_inferno", new PropsBuilder("Phantasmagoric Inferno").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||||
|
|
||||||
this.addWeight(BOPClimates.HELL, 20);
|
this.addWeight(BOPClimates.HELL, 75);
|
||||||
|
|
||||||
this.topBlock = BOPBlocks.ash_block.getDefaultState();
|
this.topBlock = BOPBlocks.ash_block.getDefaultState();
|
||||||
this.fillerBlock = BOPBlocks.ash_block.getDefaultState();
|
this.fillerBlock = BOPBlocks.ash_block.getDefaultState();
|
||||||
|
|
|
@ -40,7 +40,7 @@ public class BiomeUndergarden extends BOPHellBiome
|
||||||
{
|
{
|
||||||
super("undergarden", new PropsBuilder("Undergarden").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
super("undergarden", new PropsBuilder("Undergarden").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||||
|
|
||||||
this.addWeight(BOPClimates.HELL, 15);
|
this.addWeight(BOPClimates.HELL, 75);
|
||||||
|
|
||||||
this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK);
|
this.topBlock = BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK);
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ public class BiomeVisceralHeap extends BOPHellBiome
|
||||||
{
|
{
|
||||||
super("visceral_heap", new PropsBuilder("Visceral Heap").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
super("visceral_heap", new PropsBuilder("Visceral Heap").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||||
|
|
||||||
this.addWeight(BOPClimates.HELL, 20);
|
this.addWeight(BOPClimates.HELL, 75);
|
||||||
|
|
||||||
this.topBlock = BOPBlocks.flesh.getDefaultState();
|
this.topBlock = BOPBlocks.flesh.getDefaultState();
|
||||||
this.fillerBlock = BOPBlocks.flesh.getDefaultState();
|
this.fillerBlock = BOPBlocks.flesh.getDefaultState();
|
||||||
|
|
|
@ -265,6 +265,9 @@ public class BlockBOPFlower extends BlockBOPDecoration implements IShearable, IH
|
||||||
onFertile = true;
|
onFertile = true;
|
||||||
onNetherrack = true;
|
onNetherrack = true;
|
||||||
break;
|
break;
|
||||||
|
case MYCELIAL_NETHERRACK:
|
||||||
|
onNetherrack = true;
|
||||||
|
break;
|
||||||
case LOAMY: case SANDY: case SILTY: case ORIGIN: default:
|
case LOAMY: case SANDY: case SILTY: case ORIGIN: default:
|
||||||
onFertile = true;
|
onFertile = true;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -52,7 +52,7 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
// add properties (note we also inherit the SNOWY property from BlockGrass)
|
// add properties (note we also inherit the SNOWY property from BlockGrass)
|
||||||
public static enum BOPGrassType implements IStringSerializable
|
public static enum BOPGrassType implements IStringSerializable
|
||||||
{
|
{
|
||||||
SPECTRAL_MOSS, OVERGROWN_STONE, LOAMY, SANDY, SILTY, ORIGIN, OVERGROWN_NETHERRACK, DAISY;
|
SPECTRAL_MOSS, OVERGROWN_STONE, LOAMY, SANDY, SILTY, ORIGIN, OVERGROWN_NETHERRACK, DAISY, MYCELIAL_NETHERRACK;
|
||||||
@Override
|
@Override
|
||||||
public String getName()
|
public String getName()
|
||||||
{
|
{
|
||||||
|
@ -81,7 +81,7 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
BOPGrassType grassType = (BOPGrassType)state.getValue(VARIANT);
|
BOPGrassType grassType = (BOPGrassType)state.getValue(VARIANT);
|
||||||
switch (grassType)
|
switch (grassType)
|
||||||
{
|
{
|
||||||
case SPECTRAL_MOSS: case OVERGROWN_NETHERRACK: case OVERGROWN_STONE:
|
case SPECTRAL_MOSS: case OVERGROWN_NETHERRACK: case OVERGROWN_STONE: case MYCELIAL_NETHERRACK:
|
||||||
return grassType.getName();
|
return grassType.getName();
|
||||||
default:
|
default:
|
||||||
return grassType.getName() + "_grass_block";
|
return grassType.getName() + "_grass_block";
|
||||||
|
@ -124,12 +124,9 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
{
|
{
|
||||||
// overgrown_netherrack supports Nether plants in addition to the defaults
|
// overgrown_netherrack supports Nether plants in addition to the defaults
|
||||||
case OVERGROWN_NETHERRACK:
|
case OVERGROWN_NETHERRACK:
|
||||||
return SoundType.STONE;
|
|
||||||
|
|
||||||
case OVERGROWN_STONE:
|
case OVERGROWN_STONE:
|
||||||
return SoundType.STONE;
|
|
||||||
|
|
||||||
case SPECTRAL_MOSS:
|
case SPECTRAL_MOSS:
|
||||||
|
case MYCELIAL_NETHERRACK:
|
||||||
return SoundType.STONE;
|
return SoundType.STONE;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -144,12 +141,9 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
{
|
{
|
||||||
// overgrown_netherrack supports Nether plants in addition to the defaults
|
// overgrown_netherrack supports Nether plants in addition to the defaults
|
||||||
case OVERGROWN_NETHERRACK:
|
case OVERGROWN_NETHERRACK:
|
||||||
return Material.ROCK;
|
|
||||||
|
|
||||||
case OVERGROWN_STONE:
|
case OVERGROWN_STONE:
|
||||||
return Material.ROCK;
|
|
||||||
|
|
||||||
case SPECTRAL_MOSS:
|
case SPECTRAL_MOSS:
|
||||||
|
case MYCELIAL_NETHERRACK:
|
||||||
return Material.ROCK;
|
return Material.ROCK;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -169,13 +163,10 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
switch ((BOPGrassType) state.getValue(VARIANT))
|
switch ((BOPGrassType) state.getValue(VARIANT))
|
||||||
{
|
{
|
||||||
// overgrown_netherrack supports Nether plants in addition to the defaults
|
// overgrown_netherrack supports Nether plants in addition to the defaults
|
||||||
case OVERGROWN_NETHERRACK:
|
case OVERGROWN_NETHERRACK:
|
||||||
return "pickaxe";
|
|
||||||
|
|
||||||
case OVERGROWN_STONE:
|
case OVERGROWN_STONE:
|
||||||
return "pickaxe";
|
|
||||||
|
|
||||||
case SPECTRAL_MOSS:
|
case SPECTRAL_MOSS:
|
||||||
|
case MYCELIAL_NETHERRACK:
|
||||||
return "pickaxe";
|
return "pickaxe";
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -190,6 +181,7 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
{
|
{
|
||||||
// overgrown_netherrack supports Nether plants in addition to the defaults
|
// overgrown_netherrack supports Nether plants in addition to the defaults
|
||||||
case OVERGROWN_NETHERRACK:
|
case OVERGROWN_NETHERRACK:
|
||||||
|
case MYCELIAL_NETHERRACK:
|
||||||
return 0.4F;
|
return 0.4F;
|
||||||
|
|
||||||
case OVERGROWN_STONE:
|
case OVERGROWN_STONE:
|
||||||
|
@ -212,6 +204,7 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
{
|
{
|
||||||
// overgrown_netherrack supports Nether plants in addition to the defaults
|
// overgrown_netherrack supports Nether plants in addition to the defaults
|
||||||
case OVERGROWN_NETHERRACK:
|
case OVERGROWN_NETHERRACK:
|
||||||
|
case MYCELIAL_NETHERRACK:
|
||||||
return 0.1F;
|
return 0.1F;
|
||||||
|
|
||||||
case OVERGROWN_STONE:
|
case OVERGROWN_STONE:
|
||||||
|
@ -235,6 +228,7 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
{
|
{
|
||||||
// overgrown_netherrack supports Nether plants in addition to the defaults
|
// overgrown_netherrack supports Nether plants in addition to the defaults
|
||||||
case OVERGROWN_NETHERRACK:
|
case OVERGROWN_NETHERRACK:
|
||||||
|
case MYCELIAL_NETHERRACK:
|
||||||
if (plantType == net.minecraftforge.common.EnumPlantType.Nether) {return true;}
|
if (plantType == net.minecraftforge.common.EnumPlantType.Nether) {return true;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -338,8 +332,10 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
public boolean canGrow(World worldIn, BlockPos pos, IBlockState state, boolean isClient) {
|
public boolean canGrow(World worldIn, BlockPos pos, IBlockState state, boolean isClient) {
|
||||||
switch ((BOPGrassType) state.getValue(VARIANT))
|
switch ((BOPGrassType) state.getValue(VARIANT))
|
||||||
{
|
{
|
||||||
case SPECTRAL_MOSS: case OVERGROWN_STONE: case OVERGROWN_NETHERRACK:
|
case SPECTRAL_MOSS:
|
||||||
|
case MYCELIAL_NETHERRACK:
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -349,8 +345,10 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
public boolean canUseBonemeal(World worldIn, Random rand, BlockPos pos, IBlockState state) {
|
public boolean canUseBonemeal(World worldIn, Random rand, BlockPos pos, IBlockState state) {
|
||||||
switch ((BOPGrassType) state.getValue(VARIANT))
|
switch ((BOPGrassType) state.getValue(VARIANT))
|
||||||
{
|
{
|
||||||
case SPECTRAL_MOSS: case OVERGROWN_STONE: case OVERGROWN_NETHERRACK:
|
case SPECTRAL_MOSS:
|
||||||
|
case MYCELIAL_NETHERRACK:
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -475,6 +473,7 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
case SILTY:
|
case SILTY:
|
||||||
return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY);
|
return BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY);
|
||||||
case OVERGROWN_NETHERRACK:
|
case OVERGROWN_NETHERRACK:
|
||||||
|
case MYCELIAL_NETHERRACK:
|
||||||
return Blocks.NETHERRACK.getDefaultState();
|
return Blocks.NETHERRACK.getDefaultState();
|
||||||
case OVERGROWN_STONE:
|
case OVERGROWN_STONE:
|
||||||
return Blocks.STONE.getDefaultState();
|
return Blocks.STONE.getDefaultState();
|
||||||
|
@ -501,7 +500,10 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
||||||
|
|
||||||
switch ((BOPGrassType) source.getValue(VARIANT))
|
switch ((BOPGrassType) source.getValue(VARIANT))
|
||||||
{
|
{
|
||||||
case SPECTRAL_MOSS: case OVERGROWN_NETHERRACK: case OVERGROWN_STONE:
|
case SPECTRAL_MOSS:
|
||||||
|
case OVERGROWN_NETHERRACK:
|
||||||
|
case OVERGROWN_STONE:
|
||||||
|
case MYCELIAL_NETHERRACK:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// loamy/sandy/silty grasses spread to any kind of dirt
|
// loamy/sandy/silty grasses spread to any kind of dirt
|
||||||
|
|
|
@ -15,6 +15,7 @@ import java.util.Random;
|
||||||
|
|
||||||
import biomesoplenty.api.item.BOPItems;
|
import biomesoplenty.api.item.BOPItems;
|
||||||
import biomesoplenty.api.particle.BOPParticleTypes;
|
import biomesoplenty.api.particle.BOPParticleTypes;
|
||||||
|
import biomesoplenty.api.sound.BOPSounds;
|
||||||
import biomesoplenty.core.BiomesOPlenty;
|
import biomesoplenty.core.BiomesOPlenty;
|
||||||
import net.minecraft.entity.EntityFlying;
|
import net.minecraft.entity.EntityFlying;
|
||||||
import net.minecraft.entity.ai.EntityAIBase;
|
import net.minecraft.entity.ai.EntityAIBase;
|
||||||
|
@ -22,6 +23,7 @@ import net.minecraft.entity.ai.EntityMoveHelper;
|
||||||
import net.minecraft.entity.monster.IMob;
|
import net.minecraft.entity.monster.IMob;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.util.EnumFacing;
|
import net.minecraft.util.EnumFacing;
|
||||||
|
import net.minecraft.util.SoundEvent;
|
||||||
import net.minecraft.util.math.AxisAlignedBB;
|
import net.minecraft.util.math.AxisAlignedBB;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
@ -45,6 +47,18 @@ public class EntityPixie extends EntityFlying implements IMob {
|
||||||
// TODO: get right value here this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D);
|
// TODO: get right value here this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected SoundEvent getAmbientSound()
|
||||||
|
{
|
||||||
|
return BOPSounds.pixie_ambient;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected SoundEvent getHurtSound()
|
||||||
|
{
|
||||||
|
return BOPSounds.pixie_hurt;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Item getDropItem()
|
protected Item getDropItem()
|
||||||
{
|
{
|
||||||
|
|
|
@ -144,11 +144,11 @@ public class ModBlockQueries
|
||||||
groundBlocks = new BlockQueryMaterial(Material.BARRIER, Material.CLAY, Material.GRASS, Material.GROUND, Material.PACKED_ICE, Material.ROCK, Material.SAND);
|
groundBlocks = new BlockQueryMaterial(Material.BARRIER, Material.CLAY, Material.GRASS, Material.GROUND, Material.PACKED_ICE, Material.ROCK, Material.SAND);
|
||||||
|
|
||||||
fertile = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Plains).create();
|
fertile = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Plains).create();
|
||||||
fertileOrNetherrack = BlockQuery.buildOr().sustainsPlant(EnumPlantType.Plains).blocks(Blocks.NETHERRACK).states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK)).create();
|
fertileOrNetherrack = BlockQuery.buildOr().sustainsPlant(EnumPlantType.Plains).blocks(Blocks.NETHERRACK).states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK), BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.MYCELIAL_NETHERRACK)).create();
|
||||||
sustainsCave = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Cave).create();
|
sustainsCave = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Cave).create();
|
||||||
sustainsNether = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Nether).create();
|
sustainsNether = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Nether).create();
|
||||||
endish = BlockQuery.buildOr().blocks(Blocks.END_STONE).states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SPECTRAL_MOSS)).create();
|
endish = BlockQuery.buildOr().blocks(Blocks.END_STONE).states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SPECTRAL_MOSS)).create();
|
||||||
hellish = BlockQuery.buildOr().blocks(Blocks.NETHERRACK, BOPBlocks.flesh).states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK)).create();
|
hellish = BlockQuery.buildOr().blocks(Blocks.NETHERRACK, BOPBlocks.flesh).states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK), BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.MYCELIAL_NETHERRACK)).create();
|
||||||
litBeach = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Beach).withLightAboveAtLeast(8).create();
|
litBeach = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Beach).withLightAboveAtLeast(8).create();
|
||||||
litFertileWaterside = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Plains).byWater().create();
|
litFertileWaterside = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Plains).byWater().create();
|
||||||
litFertile = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Plains).withLightAboveAtLeast(8).create();
|
litFertile = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Plains).withLightAboveAtLeast(8).create();
|
||||||
|
|
|
@ -96,6 +96,18 @@
|
||||||
{ "model": "biomesoplenty:daisy_grass_block_snowed", "y": 90 },
|
{ "model": "biomesoplenty:daisy_grass_block_snowed", "y": 90 },
|
||||||
{ "model": "biomesoplenty:daisy_grass_block_snowed", "y": 180 },
|
{ "model": "biomesoplenty:daisy_grass_block_snowed", "y": 180 },
|
||||||
{ "model": "biomesoplenty:daisy_grass_block_snowed", "y": 270 }
|
{ "model": "biomesoplenty:daisy_grass_block_snowed", "y": 270 }
|
||||||
|
],
|
||||||
|
"snowy=false,variant=mycelial_netherrack": [
|
||||||
|
{ "model": "biomesoplenty:mycelial_netherrack" },
|
||||||
|
{ "model": "biomesoplenty:mycelial_netherrack", "y": 90 },
|
||||||
|
{ "model": "biomesoplenty:mycelial_netherrack", "y": 180 },
|
||||||
|
{ "model": "biomesoplenty:mycelial_netherrack", "y": 270 }
|
||||||
|
],
|
||||||
|
"snowy=true,variant=mycelial_netherrack": [
|
||||||
|
{ "model": "biomesoplenty:mycelial_netherrack" },
|
||||||
|
{ "model": "biomesoplenty:mycelial_netherrack", "y": 90 },
|
||||||
|
{ "model": "biomesoplenty:mycelial_netherrack", "y": 180 },
|
||||||
|
{ "model": "biomesoplenty:mycelial_netherrack", "y": 270 }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -262,6 +262,7 @@ tile.grass.sandy_grass_block.name=Sandy Grass Block
|
||||||
tile.grass.silty_grass_block.name=Silty Grass Block
|
tile.grass.silty_grass_block.name=Silty Grass Block
|
||||||
tile.grass.origin_grass_block.name=Origin Grass Block
|
tile.grass.origin_grass_block.name=Origin Grass Block
|
||||||
tile.grass.overgrown_netherrack.name=Overgrown Netherrack
|
tile.grass.overgrown_netherrack.name=Overgrown Netherrack
|
||||||
|
tile.grass.mycelial_netherrack.name=Mycelial Netherrack
|
||||||
tile.grass_path.grass_loamy_path.name=Loamy Grass Path
|
tile.grass_path.grass_loamy_path.name=Loamy Grass Path
|
||||||
tile.grass_path.grass_sandy_path.name=Sandy Grass Path
|
tile.grass_path.grass_sandy_path.name=Sandy Grass Path
|
||||||
tile.grass_path.grass_silty_path.name=Silty Grass Path
|
tile.grass_path.grass_silty_path.name=Silty Grass Path
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"parent": "block/cube_bottom_top",
|
||||||
|
"textures": {
|
||||||
|
"particle": "blocks/netherrack",
|
||||||
|
"bottom": "blocks/netherrack",
|
||||||
|
"top": "blocks/mycelium_top",
|
||||||
|
"side": "biomesoplenty:blocks/mycelial_netherrack_side"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"parent": "biomesoplenty:block/mycelial_netherrack",
|
||||||
|
"display": {
|
||||||
|
"thirdperson": {
|
||||||
|
"rotation": [ 10, -45, 170 ],
|
||||||
|
"translation": [ 0, 1.5, -2.75 ],
|
||||||
|
"scale": [ 0.375, 0.375, 0.375 ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 774 B |
Loading…
Reference in a new issue