Removed the Boneyard. Fixed overgrown stone/netherrack and spectral moss blocks. More improvements to Nether biomes
This commit is contained in:
parent
50643ec899
commit
0cf39d0b33
24 changed files with 253 additions and 360 deletions
|
@ -92,7 +92,6 @@ public class BOPBiomes
|
|||
public static Optional<Biome> gravel_beach = Optional.absent();
|
||||
|
||||
// nether biomes
|
||||
public static Optional<Biome> boneyard = Optional.absent();
|
||||
public static Optional<Biome> corrupted_sands = Optional.absent();
|
||||
public static Optional<Biome> fungi_forest = Optional.absent();
|
||||
public static Optional<Biome> phantasmagoric_inferno = Optional.absent();
|
||||
|
|
|
@ -24,7 +24,6 @@ public class BOPBlocks
|
|||
public static Block mushroom;
|
||||
public static Block stone;
|
||||
public static Block biome_block;
|
||||
public static Block bone_segment;
|
||||
|
||||
public static Block flower_0;
|
||||
public static Block flower_1;
|
||||
|
|
|
@ -15,6 +15,6 @@ public interface IBOPWorldSettings
|
|||
{
|
||||
GEMS, SOILS, TREES, GRASSES, FOLIAGE, FLOWERS, PLANTS, WATER_PLANTS, MUSHROOMS,
|
||||
ROCK_FORMATIONS, POISON_IVY, FLAX, BERRY_BUSHES, THORNS, QUICKSAND, LIQUID_POISON, HOT_SPRINGS,
|
||||
NETHER_HIVES, NETHER_PLANTS, END_FEATURES;
|
||||
NETHER_HIVES, END_FEATURES;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -191,7 +191,6 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH
|
|||
GENERATE_LIQUID_POISON (122),
|
||||
GENERATE_HOT_SPRINGS (123),
|
||||
GENERATE_NETHER_HIVES (124),
|
||||
GENERATE_NETHER_PLANTS (125),
|
||||
GENERATE_END_FEATURES (126),
|
||||
MAIN_NOISE_SCALE_X (127),
|
||||
MAIN_NOISE_SCALE_Y (128),
|
||||
|
@ -271,7 +270,6 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH
|
|||
new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_LIQUID_POISON.getId(), "Liquid Poison Pools", true, this.settings.generateLiquidPoison),
|
||||
new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_HOT_SPRINGS.getId(), "Hot Spring Pools", true, this.settings.generateHotSprings),
|
||||
new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_NETHER_HIVES.getId(), "Nether Hives", true, this.settings.generateNetherHives),
|
||||
new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_NETHER_PLANTS.getId(), "Nether Plants", true, this.settings.generateNetherPlants),
|
||||
new GuiBOPPageList.GuiButtonEntry(GuiEntries.GENERATE_END_FEATURES.getId(), "End Features", true, this.settings.generateEndFeatures)
|
||||
};
|
||||
|
||||
|
@ -425,9 +423,6 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH
|
|||
case GENERATE_NETHER_HIVES:
|
||||
this.settings.generateNetherHives = value;
|
||||
break;
|
||||
case GENERATE_NETHER_PLANTS:
|
||||
this.settings.generateNetherPlants = value;
|
||||
break;
|
||||
case GENERATE_END_FEATURES:
|
||||
this.settings.generateEndFeatures = value;
|
||||
break;
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2014-2017, the Biomes O' Plenty Team
|
||||
*
|
||||
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
|
||||
*
|
||||
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
|
||||
******************************************************************************/
|
||||
package biomesoplenty.common.biome.nether;
|
||||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.block.IBlockPosQuery;
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.api.generation.GeneratorStage;
|
||||
import biomesoplenty.common.block.BlockBOPGrass;
|
||||
import biomesoplenty.common.util.block.BlockQuery;
|
||||
import biomesoplenty.common.world.generator.GeneratorHellFossils;
|
||||
import biomesoplenty.common.world.generator.GeneratorSplatter;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.init.Blocks;
|
||||
|
||||
public class BiomeBoneyard extends BOPHellBiome
|
||||
{
|
||||
public BiomeBoneyard()
|
||||
{
|
||||
super("boneyard", new PropsBuilder("Boneyard").withGuiColour(0xA93C3E).withTemperature(2.0F).withRainfall(0.0F).withRainDisabled());
|
||||
|
||||
this.addWeight(BOPClimates.HELL, 20);
|
||||
|
||||
this.addGenerator("hell_fossils", GeneratorStage.PRE, (new GeneratorHellFossils.Builder()).amountPerChunk(9.0F).create());
|
||||
}
|
||||
}
|
|
@ -9,6 +9,8 @@ package biomesoplenty.common.biome.nether;
|
|||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.block.IBlockPosQuery;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType;
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.api.enums.BOPPlants;
|
||||
import biomesoplenty.api.generation.GeneratorStage;
|
||||
|
@ -18,6 +20,10 @@ import biomesoplenty.common.util.block.BlockQuery;
|
|||
import biomesoplenty.common.world.generator.GeneratorFlora;
|
||||
import biomesoplenty.common.world.generator.GeneratorLakes;
|
||||
import biomesoplenty.common.world.generator.GeneratorSplatter;
|
||||
import biomesoplenty.common.world.generator.GeneratorWeighted;
|
||||
import biomesoplenty.common.world.generator.tree.GeneratorBasicTree;
|
||||
import biomesoplenty.common.world.generator.tree.GeneratorBigTree;
|
||||
import net.minecraft.block.BlockPlanks;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.init.Blocks;
|
||||
|
||||
|
@ -43,4 +49,14 @@ public class BiomeCorruptedSands extends BOPHellBiome
|
|||
this.addGenerator("dead_grass", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(5.0F).with(BOPPlants.DEADGRASS).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
||||
this.addGenerator("thorns", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(20.0F).with(BOPPlants.THORN).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySettings(IBOPWorldSettings settings)
|
||||
{
|
||||
if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");}
|
||||
|
||||
if (!settings.isEnabled(GeneratorType.THORNS)) {this.removeGenerator("thorns");}
|
||||
|
||||
if (!settings.isEnabled(GeneratorType.QUICKSAND)) {this.removeGenerator("quicksand");}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,9 @@ import java.util.Random;
|
|||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.block.IBlockPosQuery;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings;
|
||||
import biomesoplenty.api.config.IConfigObj;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType;
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.api.enums.BOPFlowers;
|
||||
import biomesoplenty.api.enums.BOPPlants;
|
||||
|
@ -58,4 +60,12 @@ public class BiomeFungiForest extends BOPHellBiome
|
|||
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());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySettings(IBOPWorldSettings settings)
|
||||
{
|
||||
if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");}
|
||||
|
||||
if (!settings.isEnabled(GeneratorType.MUSHROOMS)) {this.removeGenerator("glowshrooms"); this.removeGenerator("toadstools"); this.removeGenerator("flat_mushroom"); this.removeGenerator("blue_milk_caps"); this.removeGenerator("portobellos");}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,8 @@ package biomesoplenty.common.biome.nether;
|
|||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.block.IBlockPosQuery;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType;
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.api.enums.BOPPlants;
|
||||
import biomesoplenty.api.generation.GeneratorStage;
|
||||
|
@ -41,4 +43,10 @@ public class BiomePhantasmagoricInferno extends BOPHellBiome
|
|||
|
||||
this.addGenerator("fire", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(5.0F).with(Blocks.FIRE.getDefaultState()).placeOn(emptyAsh).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySettings(IBOPWorldSettings settings)
|
||||
{
|
||||
if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,8 @@ package biomesoplenty.common.biome.nether;
|
|||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.block.IBlockPosQuery;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType;
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.api.generation.GeneratorStage;
|
||||
import biomesoplenty.common.block.BlockBOPGrass;
|
||||
|
@ -41,11 +43,18 @@ public class BiomePolarChasm extends BOPHellBiome
|
|||
this.addGenerator("ice_pools", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(5.0F).liquid(Blocks.ICE.getDefaultState()).frozenLiquid((IBlockState)null).scatterYMethod(ScatterYMethod.NETHER_SURFACE).create());
|
||||
|
||||
//ice crystals
|
||||
IBlockPosQuery emptyHardIce = BlockQuery.buildAnd().withAltitudeBetween(90, 120).withAirBelow().states(BOPBlocks.hard_ice.getDefaultState()).create();
|
||||
this.addGenerator("ice_crystals", GeneratorStage.ORE_PRE, (new GeneratorCrystals.Builder()).amountPerChunk(20.0F).placeOn(emptyHardIce).with(Blocks.ICE.getDefaultState()).create());
|
||||
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());
|
||||
|
||||
// splatter top blocks
|
||||
IBlockPosQuery emptySurface = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create();
|
||||
this.addGenerator("snow_splatter", GeneratorStage.SAND, (new GeneratorSplatter.Builder()).amountPerChunk(2.0F).generationAttempts(128).scatterYMethod(ScatterYMethod.NETHER_SURFACE).replace(emptySurface).with(Blocks.SNOW.getDefaultState()).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());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySettings(IBOPWorldSettings settings)
|
||||
{
|
||||
if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,8 @@ package biomesoplenty.common.biome.nether;
|
|||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.block.IBlockPosQuery;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType;
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.api.enums.BOPFlowers;
|
||||
import biomesoplenty.api.enums.BOPPlants;
|
||||
|
@ -71,4 +73,16 @@ public class BiomeUndergarden extends BOPHellBiome
|
|||
this.addGenerator("red_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(2.0F).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(Blocks.RED_MUSHROOM.getDefaultState()).create());
|
||||
this.addGenerator("brown_mushrooms", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1.0F).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(Blocks.BROWN_MUSHROOM.getDefaultState()).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySettings(IBOPWorldSettings settings)
|
||||
{
|
||||
if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");}
|
||||
|
||||
if (!settings.isEnabled(GeneratorType.FLOWERS)) {this.removeGenerator("flowers");}
|
||||
|
||||
if (!settings.isEnabled(GeneratorType.GRASSES)) {this.removeGenerator("grass");}
|
||||
|
||||
if (!settings.isEnabled(GeneratorType.MUSHROOMS)) {this.removeGenerator("glowshrooms"); this.removeGenerator("toadstools"); this.removeGenerator("flat_mushroom"); this.removeGenerator("blue_milk_caps"); this.removeGenerator("portobellos");}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,9 @@ package biomesoplenty.common.biome.nether;
|
|||
import java.util.Random;
|
||||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings;
|
||||
import biomesoplenty.api.config.IConfigObj;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType;
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.api.enums.BOPFlowers;
|
||||
import biomesoplenty.api.enums.BOPPlants;
|
||||
|
@ -57,4 +59,10 @@ public class BiomeVisceralHeap extends BOPHellBiome
|
|||
|
||||
this.addGenerator("eyebulbs", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.7F).scatterYMethod(ScatterYMethod.NETHER_SURFACE).with(BlockBOPDoublePlant.DoublePlantType.EYEBULB).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySettings(IBOPWorldSettings settings)
|
||||
{
|
||||
if (!settings.isEnabled(GeneratorType.NETHER_HIVES)) {this.removeGenerator("hive");}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,141 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2014-2017, the Biomes O' Plenty Team
|
||||
*
|
||||
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
|
||||
*
|
||||
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
|
||||
******************************************************************************/
|
||||
package biomesoplenty.common.block;
|
||||
|
||||
import biomesoplenty.common.item.ItemBOPBlock;
|
||||
import net.minecraft.block.BlockRotatedPillar;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.color.IBlockColor;
|
||||
import net.minecraft.client.renderer.color.IItemColor;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockBOPBoneSegment extends BlockRotatedPillar implements IBOPBlock
|
||||
{
|
||||
public static enum BoneType implements IStringSerializable
|
||||
{
|
||||
SMALL, MEDIUM;
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return this.name().toLowerCase();
|
||||
}
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return this.getName();
|
||||
}
|
||||
};
|
||||
public static final PropertyEnum<BoneType> VARIANT = PropertyEnum.create("variant", BoneType.class);
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, new IProperty[] { VARIANT, AXIS });}
|
||||
|
||||
// implement IBOPBlock
|
||||
@Override
|
||||
public Class<? extends ItemBlock> getItemClass() { return ItemBOPBlock.class; }
|
||||
@Override
|
||||
public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; }
|
||||
@Override
|
||||
public IProperty[] getNonRenderingProperties() { return null; }
|
||||
@Override
|
||||
public String getStateName(IBlockState state)
|
||||
{
|
||||
return ((BoneType) state.getValue(VARIANT)).getName() + "_bone_segment";
|
||||
}
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IBlockColor getBlockColor() { return null; }
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IItemColor getItemColor() { return null; }
|
||||
|
||||
public BlockBOPBoneSegment()
|
||||
{
|
||||
super(Material.ROCK);
|
||||
|
||||
// set some defaults
|
||||
this.setHardness(5.0F);
|
||||
this.setResistance(10.0F);
|
||||
this.setSoundType(SoundType.STONE);
|
||||
this.setHarvestLevel("pickaxe", 0);
|
||||
this.setDefaultState( this.blockState.getBaseState().withProperty(VARIANT, BoneType.SMALL));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
double x1, y1 = 0.0D, z1, x2, y2 = 1.0D, z2;
|
||||
|
||||
switch (state.getValue(VARIANT))
|
||||
{
|
||||
case SMALL:
|
||||
x1 = z1 = 0.25D;
|
||||
x2 = z2 = 0.75D;
|
||||
break;
|
||||
case MEDIUM: default:
|
||||
x1 = z1 = 0.125D;
|
||||
x2 = z2 = 0.875D;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (state.getValue(AXIS))
|
||||
{
|
||||
case Y:
|
||||
return new AxisAlignedBB(x1, y1, z1, x2, y2, z2);
|
||||
|
||||
case Z:
|
||||
return new AxisAlignedBB(x1, z1, y1, x2, z2, y2);
|
||||
|
||||
default:
|
||||
return new AxisAlignedBB(y1, x1, z1, y2, x2, z2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AxisAlignedBB getCollisionBoundingBox(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
return getBoundingBox(state, world, pos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOpaqueCube(IBlockState state)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// map from state to meta and vice verca
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta)
|
||||
{
|
||||
return super.getStateFromMeta(meta).withProperty(VARIANT, BoneType.values()[meta & 3]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state)
|
||||
{
|
||||
return super.getMetaFromState(state) | state.getValue(VARIANT).ordinal();
|
||||
}
|
||||
|
||||
// our blocks usually drop their current state as opposed to a single 'default' state
|
||||
@Override
|
||||
public int damageDropped(IBlockState state)
|
||||
{
|
||||
return this.getMetaFromState(state.withProperty(AXIS, EnumFacing.Axis.X));
|
||||
}
|
||||
}
|
|
@ -10,7 +10,10 @@ package biomesoplenty.common.block;
|
|||
|
||||
import java.util.Random;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.common.block.BlockBOPStone.StoneType;
|
||||
import biomesoplenty.common.item.ItemBOPBlock;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockDirt;
|
||||
|
@ -37,6 +40,7 @@ import net.minecraft.util.EnumParticleTypes;
|
|||
import net.minecraft.util.IStringSerializable;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.world.Explosion;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.EnumPlantType;
|
||||
|
@ -95,9 +99,6 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
|||
super();
|
||||
|
||||
// set some defaults
|
||||
this.setHardness(0.6F);
|
||||
this.setHarvestLevel("shovel", 0);
|
||||
this.setSoundType(SoundType.PLANT);
|
||||
this.setDefaultState(this.blockState.getBaseState().withProperty(SNOWY, Boolean.valueOf(false)).withProperty(VARIANT, BOPGrassType.LOAMY));
|
||||
|
||||
}
|
||||
|
@ -116,6 +117,114 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
|||
return ((BOPGrassType) state.getValue(VARIANT)).ordinal();
|
||||
}
|
||||
|
||||
@Override
|
||||
public SoundType getSoundType(IBlockState state, World world, BlockPos pos, @Nullable Entity entity)
|
||||
{
|
||||
switch ((BOPGrassType) state.getValue(VARIANT))
|
||||
{
|
||||
// overgrown_netherrack supports Nether plants in addition to the defaults
|
||||
case OVERGROWN_NETHERRACK:
|
||||
return SoundType.STONE;
|
||||
|
||||
case OVERGROWN_STONE:
|
||||
return SoundType.STONE;
|
||||
|
||||
case SPECTRAL_MOSS:
|
||||
return SoundType.STONE;
|
||||
|
||||
default:
|
||||
return SoundType.PLANT;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Material getMaterial(IBlockState state)
|
||||
{
|
||||
switch ((BOPGrassType) state.getValue(VARIANT))
|
||||
{
|
||||
// overgrown_netherrack supports Nether plants in addition to the defaults
|
||||
case OVERGROWN_NETHERRACK:
|
||||
return Material.ROCK;
|
||||
|
||||
case OVERGROWN_STONE:
|
||||
return Material.ROCK;
|
||||
|
||||
case SPECTRAL_MOSS:
|
||||
return Material.ROCK;
|
||||
|
||||
default:
|
||||
return Material.GRASS;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getHarvestLevel(IBlockState state)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getHarvestTool(IBlockState state)
|
||||
{
|
||||
switch ((BOPGrassType) state.getValue(VARIANT))
|
||||
{
|
||||
// overgrown_netherrack supports Nether plants in addition to the defaults
|
||||
case OVERGROWN_NETHERRACK:
|
||||
return "pickaxe";
|
||||
|
||||
case OVERGROWN_STONE:
|
||||
return "pickaxe";
|
||||
|
||||
case SPECTRAL_MOSS:
|
||||
return "pickaxe";
|
||||
|
||||
default:
|
||||
return "shovel";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getBlockHardness(IBlockState state, World world, BlockPos pos)
|
||||
{
|
||||
switch ((BOPGrassType) state.getValue(VARIANT))
|
||||
{
|
||||
// overgrown_netherrack supports Nether plants in addition to the defaults
|
||||
case OVERGROWN_NETHERRACK:
|
||||
return 0.4F;
|
||||
|
||||
case OVERGROWN_STONE:
|
||||
return 1.5F;
|
||||
|
||||
case SPECTRAL_MOSS:
|
||||
return 3.0F;
|
||||
|
||||
default:
|
||||
return 0.6F;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getExplosionResistance(World world, BlockPos pos, Entity exploder, Explosion explosion)
|
||||
{
|
||||
IBlockState state = world.getBlockState(pos);
|
||||
|
||||
switch ((BOPGrassType) state.getValue(VARIANT))
|
||||
{
|
||||
// overgrown_netherrack supports Nether plants in addition to the defaults
|
||||
case OVERGROWN_NETHERRACK:
|
||||
return 0.1F;
|
||||
|
||||
case OVERGROWN_STONE:
|
||||
return 2.0F;
|
||||
|
||||
case SPECTRAL_MOSS:
|
||||
return 3.0F;
|
||||
|
||||
default:
|
||||
return 0.12F;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSustainPlantType(IBlockAccess world, BlockPos pos, EnumPlantType plantType)
|
||||
{
|
||||
|
@ -356,7 +465,7 @@ public class BlockBOPGrass extends BlockGrass implements IBOPBlock, ISustainsPla
|
|||
case OVERGROWN_NETHERRACK:
|
||||
return Blocks.NETHERRACK.getDefaultState();
|
||||
case OVERGROWN_STONE:
|
||||
return Blocks.STONE.getDefaultState();
|
||||
return Blocks.COBBLESTONE.getDefaultState();
|
||||
case ORIGIN: case DAISY: default:
|
||||
return Blocks.DIRT.getStateFromMeta(BlockDirt.DirtType.DIRT.getMetadata());
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@ import java.util.Map;
|
|||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import biomesoplenty.common.biome.vanilla.*;
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
import com.google.common.collect.Sets;
|
||||
|
@ -30,7 +29,6 @@ import biomesoplenty.api.biome.IExtendedBiome;
|
|||
import biomesoplenty.api.config.IConfigObj;
|
||||
import biomesoplenty.api.enums.BOPClimates;
|
||||
import biomesoplenty.common.biome.nether.BOPHellBiome;
|
||||
import biomesoplenty.common.biome.nether.BiomeBoneyard;
|
||||
import biomesoplenty.common.biome.nether.BiomeCorruptedSands;
|
||||
import biomesoplenty.common.biome.nether.BiomeFungiForest;
|
||||
import biomesoplenty.common.biome.nether.BiomePhantasmagoricInferno;
|
||||
|
@ -100,6 +98,35 @@ import biomesoplenty.common.biome.overworld.BiomeGenWasteland;
|
|||
import biomesoplenty.common.biome.overworld.BiomeGenWetland;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenWoodland;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenXericShrubland;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtBirchForest;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtBirchForestHills;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtColdTaiga;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtColdTaigaHills;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtDesert;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtDesertHills;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtEnd;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtExtremeHills;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtExtremeHillsPlus;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtForest;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtForestHills;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtHell;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtIceMountains;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtIcePlains;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtJungle;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtJungleHills;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtMegaTaiga;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtMegaTaigaHills;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtMesa;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtMesaPlateau;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtMushroomIsland;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtOcean;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtPlains;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtRoofedForest;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtSavanna;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtSavannaPlateau;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtSwampland;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtTaiga;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtTaigaHills;
|
||||
import biomesoplenty.common.command.BOPCommand;
|
||||
import biomesoplenty.common.util.config.BOPConfig;
|
||||
import biomesoplenty.common.world.WorldProviderBOPHell;
|
||||
|
@ -302,7 +329,6 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry
|
|||
addIslandBiome(mangrove, 10);
|
||||
|
||||
// nether biomes
|
||||
boneyard = registerNetherBiome(new BiomeBoneyard());
|
||||
corrupted_sands = registerNetherBiome(new BiomeCorruptedSands());
|
||||
fungi_forest = registerNetherBiome(new BiomeFungiForest());
|
||||
phantasmagoric_inferno = registerNetherBiome(new BiomePhantasmagoricInferno());
|
||||
|
|
|
@ -10,12 +10,53 @@ package biomesoplenty.common.init;
|
|||
|
||||
import static biomesoplenty.api.block.BOPBlocks.*;
|
||||
|
||||
import biomesoplenty.common.block.*;
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.ImmutableSet;
|
||||
|
||||
import biomesoplenty.api.enums.BOPWoods;
|
||||
import biomesoplenty.api.item.BOPItems;
|
||||
import biomesoplenty.common.block.BlockBOPAsh;
|
||||
import biomesoplenty.common.block.BlockBOPBamboo;
|
||||
import biomesoplenty.common.block.BlockBOPBiomeBlock;
|
||||
import biomesoplenty.common.block.BlockBOPCoral;
|
||||
import biomesoplenty.common.block.BlockBOPCrystal;
|
||||
import biomesoplenty.common.block.BlockBOPDirt;
|
||||
import biomesoplenty.common.block.BlockBOPDoor;
|
||||
import biomesoplenty.common.block.BlockBOPDoubleOtherSlab;
|
||||
import biomesoplenty.common.block.BlockBOPDoublePlant;
|
||||
import biomesoplenty.common.block.BlockBOPDoubleWoodSlab;
|
||||
import biomesoplenty.common.block.BlockBOPFarmland;
|
||||
import biomesoplenty.common.block.BlockBOPFence;
|
||||
import biomesoplenty.common.block.BlockBOPFenceGate;
|
||||
import biomesoplenty.common.block.BlockBOPFlesh;
|
||||
import biomesoplenty.common.block.BlockBOPFlower;
|
||||
import biomesoplenty.common.block.BlockBOPGem;
|
||||
import biomesoplenty.common.block.BlockBOPGemOre;
|
||||
import biomesoplenty.common.block.BlockBOPGeneric;
|
||||
import biomesoplenty.common.block.BlockBOPGrass;
|
||||
import biomesoplenty.common.block.BlockBOPGrassPath;
|
||||
import biomesoplenty.common.block.BlockBOPHalfOtherSlab;
|
||||
import biomesoplenty.common.block.BlockBOPHalfWoodSlab;
|
||||
import biomesoplenty.common.block.BlockBOPHive;
|
||||
import biomesoplenty.common.block.BlockBOPHoney;
|
||||
import biomesoplenty.common.block.BlockBOPJelledPoison;
|
||||
import biomesoplenty.common.block.BlockBOPLeaves;
|
||||
import biomesoplenty.common.block.BlockBOPLilypad;
|
||||
import biomesoplenty.common.block.BlockBOPLog;
|
||||
import biomesoplenty.common.block.BlockBOPMud;
|
||||
import biomesoplenty.common.block.BlockBOPMushroom;
|
||||
import biomesoplenty.common.block.BlockBOPPlanks;
|
||||
import biomesoplenty.common.block.BlockBOPPlant;
|
||||
import biomesoplenty.common.block.BlockBOPSapling;
|
||||
import biomesoplenty.common.block.BlockBOPSeaweed;
|
||||
import biomesoplenty.common.block.BlockBOPStone;
|
||||
import biomesoplenty.common.block.BlockBOPStoneFormations;
|
||||
import biomesoplenty.common.block.BlockBOPStoneStairs;
|
||||
import biomesoplenty.common.block.BlockBOPTerrarium;
|
||||
import biomesoplenty.common.block.BlockBOPTurnip;
|
||||
import biomesoplenty.common.block.BlockBOPVine;
|
||||
import biomesoplenty.common.block.BlockBOPWoodStairs;
|
||||
import biomesoplenty.common.block.IBOPBlock;
|
||||
import biomesoplenty.common.command.BOPCommand;
|
||||
import biomesoplenty.common.fluids.BloodFluid;
|
||||
import biomesoplenty.common.fluids.HoneyFluid;
|
||||
|
@ -27,13 +68,11 @@ import biomesoplenty.common.fluids.blocks.BlockHoneyFluid;
|
|||
import biomesoplenty.common.fluids.blocks.BlockHotSpringWaterFluid;
|
||||
import biomesoplenty.common.fluids.blocks.BlockPoisonFluid;
|
||||
import biomesoplenty.common.fluids.blocks.BlockQuicksandFluid;
|
||||
import biomesoplenty.common.util.BOPReflectionHelper;
|
||||
import biomesoplenty.common.util.block.BlockStateUtils;
|
||||
import biomesoplenty.common.util.inventory.CreativeTabBOP;
|
||||
import biomesoplenty.core.BiomesOPlenty;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockSlab;
|
||||
import net.minecraft.block.BlockStairs;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
@ -84,7 +123,6 @@ public class ModBlocks
|
|||
hive = registerBlock( new BlockBOPHive(), "hive" );
|
||||
honey_block = registerBlock( new BlockBOPHoney(), "honey_block" );
|
||||
jelled_poison = registerBlock( new BlockBOPJelledPoison(), "jelled_poison" );
|
||||
bone_segment = registerBlock( new BlockBOPBoneSegment(), "bone_segment" );
|
||||
|
||||
//Material Blocks
|
||||
bamboo_thatching = registerBlock( (new BlockBOPGeneric(Material.WOOD, SoundType.WOOD)).setHardness(2.0F), "bamboo_thatching"); bamboo_thatching.setHarvestLevel("axe", 0);
|
||||
|
|
|
@ -57,7 +57,6 @@ public class ModGenerators
|
|||
registerGenerator("blobs", GeneratorBlobs.class, new GeneratorBlobs.Builder());
|
||||
registerGenerator("lakes", GeneratorLakes.class, new GeneratorLakes.Builder());
|
||||
registerGenerator("columns", GeneratorColumns.class, new GeneratorColumns.Builder());
|
||||
registerGenerator("hell_fossils", GeneratorHellFossils.class, new GeneratorHellFossils.Builder());
|
||||
registerGenerator("vines", GeneratorVines.class, new GeneratorVines.Builder());
|
||||
registerGenerator("mixed_lily", GeneratorMixedLily.class, new GeneratorMixedLily.Builder());
|
||||
registerGenerator("crystals", GeneratorCrystals.class, new GeneratorCrystals.Builder());
|
||||
|
|
|
@ -92,7 +92,6 @@ public class BOPWorldSettings implements IBOPWorldSettings
|
|||
public boolean generateLiquidPoison = true;
|
||||
public boolean generateHotSprings = true;
|
||||
public boolean generateNetherHives = true;
|
||||
public boolean generateNetherPlants = true;
|
||||
public boolean generateEndFeatures = true;
|
||||
|
||||
|
||||
|
@ -160,7 +159,6 @@ public class BOPWorldSettings implements IBOPWorldSettings
|
|||
obj.addProperty("generateLiquidPoison", this.generateLiquidPoison);
|
||||
obj.addProperty("generateHotSprings", this.generateHotSprings);
|
||||
obj.addProperty("generateNetherHives", this.generateNetherHives);
|
||||
obj.addProperty("generateNetherPlants", this.generateNetherPlants);
|
||||
obj.addProperty("generateEndFeatures", this.generateEndFeatures);
|
||||
obj.addProperty("mainNoiseScaleX", this.mainNoiseScaleX);
|
||||
obj.addProperty("mainNoiseScaleY", this.mainNoiseScaleY);
|
||||
|
@ -203,7 +201,6 @@ public class BOPWorldSettings implements IBOPWorldSettings
|
|||
this.generateLiquidPoison = worldConfig.getBool("generateLiquidPoison", this.generateLiquidPoison);
|
||||
this.generateHotSprings = worldConfig.getBool("generateHotSprings", this.generateHotSprings);
|
||||
this.generateNetherHives = worldConfig.getBool("generateNetherHives", this.generateNetherHives);
|
||||
this.generateNetherPlants = worldConfig.getBool("generateNetherPlants", this.generateNetherPlants);
|
||||
this.generateEndFeatures = worldConfig.getBool("generateEndFeatures", this.generateEndFeatures);
|
||||
this.mainNoiseScaleX = worldConfig.getFloat("mainNoiseScaleX", this.mainNoiseScaleX);
|
||||
this.mainNoiseScaleY = worldConfig.getFloat("mainNoiseScaleY", this.mainNoiseScaleY);
|
||||
|
@ -241,7 +238,6 @@ public class BOPWorldSettings implements IBOPWorldSettings
|
|||
this.generateLiquidPoison = true;
|
||||
this.generateHotSprings = true;
|
||||
this.generateNetherHives = true;
|
||||
this.generateNetherPlants = true;
|
||||
this.generateEndFeatures = true;
|
||||
|
||||
// Vanilla default values
|
||||
|
@ -317,8 +313,6 @@ public class BOPWorldSettings implements IBOPWorldSettings
|
|||
return this.generateHotSprings;
|
||||
case NETHER_HIVES:
|
||||
return this.generateNetherHives;
|
||||
case NETHER_PLANTS:
|
||||
return this.generateNetherPlants;
|
||||
case END_FEATURES:
|
||||
return this.generateEndFeatures;
|
||||
|
||||
|
|
|
@ -1,96 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2014-2017, the Biomes O' Plenty Team
|
||||
*
|
||||
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
|
||||
*
|
||||
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
|
||||
******************************************************************************/
|
||||
package biomesoplenty.common.world.generator;
|
||||
|
||||
import biomesoplenty.api.config.IConfigObj;
|
||||
import biomesoplenty.api.generation.BOPGeneratorBase;
|
||||
import biomesoplenty.common.util.biome.GeneratorUtils;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.util.Mirror;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.Rotation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.ChunkPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.gen.structure.StructureBoundingBox;
|
||||
import net.minecraft.world.gen.structure.template.PlacementSettings;
|
||||
import net.minecraft.world.gen.structure.template.Template;
|
||||
import net.minecraft.world.gen.structure.template.TemplateManager;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class GeneratorHellFossils extends BOPGeneratorBase
|
||||
{
|
||||
public static class Builder extends BOPGeneratorBase.InnerBuilder<GeneratorHellFossils.Builder, GeneratorHellFossils> implements IGeneratorBuilder<GeneratorHellFossils>
|
||||
{
|
||||
public Builder()
|
||||
{
|
||||
// defaults
|
||||
this.amountPerChunk = 1.0F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GeneratorHellFossils create()
|
||||
{
|
||||
return new GeneratorHellFossils(this.amountPerChunk);
|
||||
}
|
||||
}
|
||||
|
||||
public GeneratorHellFossils(float amountPerChunk)
|
||||
{
|
||||
super(amountPerChunk);
|
||||
}
|
||||
|
||||
private static final ResourceLocation STRUCTURE_SPINE_01 = new ResourceLocation("fossils/fossil_spine_01");
|
||||
private static final ResourceLocation STRUCTURE_SPINE_02 = new ResourceLocation("fossils/fossil_spine_02");
|
||||
private static final ResourceLocation STRUCTURE_SPINE_03 = new ResourceLocation("fossils/fossil_spine_03");
|
||||
private static final ResourceLocation STRUCTURE_SPINE_04 = new ResourceLocation("fossils/fossil_spine_04");
|
||||
private static final ResourceLocation[] FOSSILS = new ResourceLocation[] {STRUCTURE_SPINE_01, STRUCTURE_SPINE_02, STRUCTURE_SPINE_03, STRUCTURE_SPINE_04};
|
||||
|
||||
@Override
|
||||
public BlockPos getScatterY(World world, Random random, int x, int z)
|
||||
{
|
||||
return GeneratorUtils.ScatterYMethod.NETHER_SURFACE.getBlockPos(world, random, x, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean generate(World world, Random random, BlockPos pos)
|
||||
{
|
||||
Random chunkRand = world.getChunkFromBlockCoords(pos).getRandomWithSeed(987234911L);
|
||||
MinecraftServer server = world.getMinecraftServer();
|
||||
Rotation[] rotationValues = Rotation.values();
|
||||
// pick a random rotation
|
||||
Rotation rotation = rotationValues[random.nextInt(rotationValues.length)];
|
||||
int fossilIndex = chunkRand.nextInt(FOSSILS.length);
|
||||
TemplateManager fossilTemplate = world.getSaveHandler().getStructureTemplateManager();
|
||||
|
||||
// choose a random fossil template
|
||||
Template template = fossilTemplate.getTemplate(server, FOSSILS[fossilIndex]);
|
||||
ChunkPos chunkPos = new ChunkPos(pos);
|
||||
|
||||
StructureBoundingBox chunkBoundingBox = new StructureBoundingBox(chunkPos.getXStart(), 0, chunkPos.getZStart(), chunkPos.getXEnd(), 256, chunkPos.getZEnd());
|
||||
PlacementSettings settings = (new PlacementSettings()).setRotation(rotation).setBoundingBox(chunkBoundingBox).setRandom(random);
|
||||
|
||||
// offset the fossil slightly on the x and z axis
|
||||
int xOffset = chunkRand.nextInt(4);
|
||||
int zOffset = chunkRand.nextInt(4);
|
||||
|
||||
// determine the initial position to build the fossil from, accounting for offsets and rotation
|
||||
BlockPos fossilZero = template.getZeroPositionWithTransform(pos.add(xOffset, -random.nextInt(4), zOffset), Mirror.NONE, rotation);
|
||||
// allow some blocks to be dropped during rotation to make it look better. only applicable to non 90 degrees angles?
|
||||
settings.setIntegrity(0.9F);
|
||||
template.addBlocksToWorld(world, fossilZero, settings, 20);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configure(IConfigObj conf)
|
||||
{
|
||||
this.amountPerChunk = conf.getFloat("amountPerChunk", this.amountPerChunk);
|
||||
}
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=y,variant=small": { "model": "biomesoplenty:small_bone_segment" },
|
||||
"axis=z,variant=small": { "model": "biomesoplenty:small_bone_segment", "x": 90 },
|
||||
"axis=x,variant=small": { "model": "biomesoplenty:small_bone_segment", "x": 90, "y": 90 },
|
||||
"axis=none,variant=small": { "model": "biomesoplenty:small_bone_segment" },
|
||||
"axis=y,variant=medium": { "model": "biomesoplenty:medium_bone_segment" },
|
||||
"axis=z,variant=medium": { "model": "biomesoplenty:medium_bone_segment", "x": 90 },
|
||||
"axis=x,variant=medium": { "model": "biomesoplenty:medium_bone_segment", "x": 90, "y": 90 },
|
||||
"axis=none,variant=medium": { "model": "biomesoplenty:medium_bone_segment" }
|
||||
}
|
||||
}
|
||||
|
|
@ -177,8 +177,6 @@ tile.ash_block.name=Ash Block
|
|||
tile.bamboo.name=Bamboo
|
||||
tile.bamboo_thatching.name=Bamboo Thatching
|
||||
tile.biome_block.name=Biome Essence Ore
|
||||
tile.bone_segment.small_bone_segment.name=Small Bone Segment
|
||||
tile.bone_segment.medium_bone_segment.name=Medium Bone Segment
|
||||
tile.cherry_fence.name=Cherry Fence
|
||||
tile.cherry_fence_gate.name=Cherry Fence Gate
|
||||
tile.cherry_wood_slab.name=Cherry Wood Slab
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"end": "blocks/bone_block_top",
|
||||
"side": "blocks/bone_block_side",
|
||||
"particle": "blocks/bone_block_side"
|
||||
},
|
||||
"elements": [
|
||||
{ "from": [ 2, 0, 2 ],
|
||||
"to": [ 14, 16, 14 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 4, 4, 12, 12 ], "texture": "#end", "cullface": "down" },
|
||||
"up": { "uv": [ 4, 4, 12, 12 ], "texture": "#end" },
|
||||
"north": { "uv": [ 2, 2, 14, 14 ], "texture": "#side", "cullface": "north" },
|
||||
"south": { "uv": [ 2, 2, 14, 14 ], "texture": "#side", "cullface": "south" },
|
||||
"west": { "uv": [ 2, 2, 14, 14 ], "texture": "#side", "cullface": "west" },
|
||||
"east": { "uv": [ 2, 2, 14, 14 ], "texture": "#side", "cullface": "east" }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"end": "blocks/bone_block_top",
|
||||
"side": "blocks/bone_block_side",
|
||||
"particle": "blocks/bone_block_side"
|
||||
},
|
||||
"elements": [
|
||||
{ "from": [ 4, 0, 4 ],
|
||||
"to": [ 12, 16, 12 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 6, 6, 10, 10 ], "texture": "#end", "cullface": "down" },
|
||||
"up": { "uv": [ 6, 6, 10, 10 ], "texture": "#end" },
|
||||
"north": { "uv": [ 4, 4, 12, 12 ], "texture": "#side", "cullface": "north" },
|
||||
"south": { "uv": [ 4, 4, 12, 12 ], "texture": "#side", "cullface": "south" },
|
||||
"west": { "uv": [ 4, 4, 12, 12 ], "texture": "#side", "cullface": "west" },
|
||||
"east": { "uv": [ 4, 4, 12, 12 ], "texture": "#side", "cullface": "east" }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"parent": "biomesoplenty:block/medium_bone_segment"
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"parent": "biomesoplenty:block/small_bone_segment"
|
||||
}
|
Loading…
Reference in a new issue