Added mycelium particles to Mycelial Netherrack, added hot spring pools to the Polar Chasm

This commit is contained in:
Forstride 2017-05-16 15:36:25 -04:00
parent 8d89b6ae5a
commit 9e0dc810a4
3 changed files with 43 additions and 5 deletions

View file

@ -45,6 +45,9 @@ public class EntityPixieTrailFX extends Particle
this.particleMaxAge = (int)((float)this.particleMaxAge * par14);
this.particleAge = (particleMaxAge / 2) + (int)((particleMaxAge / 2) * world.rand.nextInt(7));
this.particleAlpha = 1.0F;
this.particleRed = 1.0F;
this.particleGreen = 1.0F;
this.particleBlue = 1.0F;
}
@Override
@ -75,6 +78,24 @@ public class EntityPixieTrailFX extends Particle
}
@Override
public int getBrightnessForRender(float p_189214_1_)
{
float f = ((float)this.particleAge + p_189214_1_) / (float)this.particleMaxAge;
f = MathHelper.clamp(f, 0.0F, 1.0F);
int i = super.getBrightnessForRender(p_189214_1_);
int j = i & 255;
int k = i >> 16 & 255;
j = j + (int)(f * 15.0F * 16.0F);
if (j > 240)
{
j = 240;
}
return j | k << 16;
}
@Override
public void onUpdate()
{

View file

@ -40,16 +40,19 @@ public class BiomePolarChasm extends BOPHellBiome
this.wallBlock = BOPBlocks.hard_ice.getDefaultState();
// ice pools
this.addGenerator("ice_pools", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(5.0F).liquid(Blocks.ICE.getDefaultState()).frozenLiquid((IBlockState)null).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
this.addGenerator("ice_pools", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(5.0F).waterLakeForBiome(this).liquid(Blocks.ICE.getDefaultState()).frozenLiquid((IBlockState)null).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
// hot springs
this.addGenerator("hot_springs", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(8.0F).liquid(BOPBlocks.hot_spring_water).frozenLiquid((IBlockState)null).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
//ice crystals
IBlockPosQuery emptyHardIce = BlockQuery.buildAnd().withAltitudeBetween(60, 120).withAirBelow().states(BOPBlocks.hard_ice.getDefaultState()).create();
this.addGenerator("ice_crystals", GeneratorStage.ORE_PRE, (new GeneratorCrystals.Builder()).amountPerChunk(25.0F).placeOn(emptyHardIce).with(Blocks.ICE.getDefaultState()).create());
this.addGenerator("glowstone_crystals", GeneratorStage.ORE_PRE, (new GeneratorCrystals.Builder()).amountPerChunk(10.0F).placeOn(emptyHardIce).with(Blocks.GLOWSTONE.getDefaultState()).create());
this.addGenerator("ice_crystals", GeneratorStage.ORE_PRE, (new GeneratorCrystals.Builder()).amountPerChunk(50.0F).placeOn(emptyHardIce).with(Blocks.ICE.getDefaultState()).create());
this.addGenerator("glowstone_crystals", GeneratorStage.ORE_PRE, (new GeneratorCrystals.Builder()).amountPerChunk(20.0F).placeOn(emptyHardIce).with(Blocks.GLOWSTONE.getDefaultState()).create());
// splatter top blocks
IBlockPosQuery emptySurface = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create();
this.addGenerator("snow_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(5.0F).generationAttempts(128).scatterYMethod(ScatterYMethod.NETHER_SURFACE).replace(emptySurface).with(Blocks.SNOW.getDefaultState()).create());
this.addGenerator("snow_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(7.0F).generationAttempts(128).scatterYMethod(ScatterYMethod.NETHER_SURFACE).replace(emptySurface).with(Blocks.SNOW.getDefaultState()).create());
}
@Override

View file

@ -456,7 +456,21 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
return getDirtBlockMeta(state);
}
}
@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(IBlockState state, World world, BlockPos pos, Random rand)
{
super.randomDisplayTick(state, world, pos, rand);
if (state.getValue(VARIANT) == BOPGrassType.MYCELIAL_NETHERRACK)
{
if (rand.nextInt(10) == 0)
{
world.spawnParticle(EnumParticleTypes.TOWN_AURA, (double)((float)pos.getX() + rand.nextFloat()), (double)((float)pos.getY() + 1.1F), (double)((float)pos.getZ() + rand.nextFloat()), 0.0D, 0.0D, 0.0D, new int[0]);
}
}
}
// get the blockstate which corresponds to the type of dirt which this grass variant grows on
// this is used to determine what drops when you break the grass block, and the type of dirt it reverts to when covered