Merge remote-tracking branch 'upstream/BOP-1.8.9-3.0.x' into BOP-1.8.9-3.0.x
This commit is contained in:
commit
9090d1713f
178 changed files with 1806 additions and 162 deletions
|
@ -53,6 +53,8 @@ public class BOPBiome extends BiomeGenBase implements IExtendedBiome
|
|||
public boolean canGenerateVillages = true;
|
||||
public boolean canGenerateRivers = true;
|
||||
|
||||
public int beachBiomeId = BiomeGenBase.beach.biomeID;
|
||||
|
||||
public TerrainSettings terrainSettings = new TerrainSettings();
|
||||
public boolean noNeighborTerrainInfuence = false;
|
||||
public int avgDirtDepth = 3;
|
||||
|
@ -68,7 +70,7 @@ public class BOPBiome extends BiomeGenBase implements IExtendedBiome
|
|||
this.theBiomeDecorator.grassPerChunk = -999;
|
||||
this.theBiomeDecorator.sandPerChunk = -999;
|
||||
this.theBiomeDecorator.sandPerChunk2 = -999;
|
||||
this.theBiomeDecorator.generateLakes = false;
|
||||
this.theBiomeDecorator.generateLakes = false;
|
||||
|
||||
// roots
|
||||
this.addGenerator("roots", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(4.0F).with(BOPPlants.ROOT).create());
|
||||
|
@ -104,6 +106,8 @@ public class BOPBiome extends BiomeGenBase implements IExtendedBiome
|
|||
this.canGenerateVillages = conf.getBool("canGenerateVillages", this.canGenerateVillages);
|
||||
this.canGenerateRivers = conf.getBool("canGenerateRivers", this.canGenerateRivers);
|
||||
|
||||
this.beachBiomeId = conf.getInt("beachBiomeId", this.beachBiomeId);
|
||||
|
||||
// Allow weights to be overridden
|
||||
IConfigObj confWeights = conf.getObject("weights");
|
||||
if (confWeights != null)
|
||||
|
@ -359,6 +363,12 @@ public class BOPBiome extends BiomeGenBase implements IExtendedBiome
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBeachId()
|
||||
{
|
||||
return this.beachBiomeId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BiomeGenBase getBaseBiome()
|
||||
|
|
|
@ -54,6 +54,7 @@ public class BOPBiomes
|
|||
public static Optional<BiomeGenBase> mountain = Optional.absent();
|
||||
public static Optional<BiomeGenBase> mystic_grove = Optional.absent();
|
||||
public static Optional<BiomeGenBase> ominous_woods = Optional.absent();
|
||||
public static Optional<BiomeGenBase> orchard = Optional.absent();
|
||||
public static Optional<BiomeGenBase> origin_valley = Optional.absent();
|
||||
public static Optional<BiomeGenBase> outback = Optional.absent();
|
||||
public static Optional<BiomeGenBase> overgrown_cliffs = Optional.absent();
|
||||
|
@ -78,9 +79,11 @@ public class BOPBiomes
|
|||
// edge-biomes, sub-biomes and mutated-biomes
|
||||
public static Optional<BiomeGenBase> mountain_foothills = Optional.absent();
|
||||
public static Optional<BiomeGenBase> canyon_ravine = Optional.absent();
|
||||
public static Optional<BiomeGenBase> oasis = Optional.absent();
|
||||
public static Optional<BiomeGenBase> coral_reef = Optional.absent();
|
||||
public static Optional<BiomeGenBase> kelp_forest = Optional.absent();
|
||||
public static Optional<BiomeGenBase> tropical_island = Optional.absent();
|
||||
public static Optional<BiomeGenBase> volcanic_island = Optional.absent();
|
||||
public static Optional<BiomeGenBase> gravel_beach = Optional.absent();
|
||||
|
||||
//Biome extensions
|
||||
|
|
|
@ -19,6 +19,8 @@ public class ExtendedBiomeWrapper implements IExtendedBiome
|
|||
private GenerationManager generationManager = new GenerationManager();
|
||||
private Map<BOPClimates, Integer> weightMap = new HashMap<BOPClimates, Integer>();
|
||||
|
||||
public int beachBiomeId = BiomeGenBase.beach.biomeID;
|
||||
|
||||
public ExtendedBiomeWrapper(BiomeGenBase biome)
|
||||
{
|
||||
this.biome = biome;
|
||||
|
@ -33,6 +35,8 @@ public class ExtendedBiomeWrapper implements IExtendedBiome
|
|||
@Override
|
||||
public void configure(IConfigObj conf)
|
||||
{
|
||||
this.beachBiomeId = conf.getInt("beachBiomeId", this.beachBiomeId);
|
||||
|
||||
// Allow generators to be configured
|
||||
IConfigObj confGenerators = conf.getObject("generators");
|
||||
if (confGenerators != null)
|
||||
|
@ -89,6 +93,12 @@ public class ExtendedBiomeWrapper implements IExtendedBiome
|
|||
{
|
||||
this.weightMap.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBeachId()
|
||||
{
|
||||
return this.beachBiomeId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BiomeGenBase getBaseBiome()
|
||||
|
|
|
@ -30,6 +30,8 @@ public interface IExtendedBiome
|
|||
public void clearWeights();
|
||||
public void addWeight(BOPClimates climate, int weight);
|
||||
|
||||
public int getBeachId();
|
||||
|
||||
/**Get the base biome associated with this extension**/
|
||||
public BiomeGenBase getBaseBiome();
|
||||
}
|
||||
|
|
|
@ -32,12 +32,14 @@ public class BOPBlocks
|
|||
public static Block log_1;
|
||||
public static Block log_2;
|
||||
public static Block log_3;
|
||||
public static Block log_4;
|
||||
public static Block leaves_0;
|
||||
public static Block leaves_1;
|
||||
public static Block leaves_2;
|
||||
public static Block leaves_3;
|
||||
public static Block leaves_4;
|
||||
public static Block leaves_5;
|
||||
public static Block leaves_6;
|
||||
public static Block sapling_0;
|
||||
public static Block sapling_1;
|
||||
public static Block sapling_2;
|
||||
|
@ -61,6 +63,8 @@ public class BOPBlocks
|
|||
public static Block hellbark_stairs;
|
||||
public static Block jacaranda_stairs;
|
||||
public static Block mahogany_stairs;
|
||||
public static Block ebony_stairs;
|
||||
public static Block eucalyptus_stairs;
|
||||
public static Block sacred_oak_fence;
|
||||
public static Block cherry_fence;
|
||||
public static Block umbran_fence;
|
||||
|
@ -75,6 +79,8 @@ public class BOPBlocks
|
|||
public static Block hellbark_fence;
|
||||
public static Block jacaranda_fence;
|
||||
public static Block mahogany_fence;
|
||||
public static Block ebony_fence;
|
||||
public static Block eucalyptus_fence;
|
||||
public static Block sacred_oak_fence_gate;
|
||||
public static Block cherry_fence_gate;
|
||||
public static Block umbran_fence_gate;
|
||||
|
@ -89,6 +95,8 @@ public class BOPBlocks
|
|||
public static Block hellbark_fence_gate;
|
||||
public static Block jacaranda_fence_gate;
|
||||
public static Block mahogany_fence_gate;
|
||||
public static Block ebony_fence_gate;
|
||||
public static Block eucalyptus_fence_gate;
|
||||
public static Block sacred_oak_door;
|
||||
public static Block cherry_door;
|
||||
public static Block umbran_door;
|
||||
|
@ -103,7 +111,8 @@ public class BOPBlocks
|
|||
public static Block hellbark_door;
|
||||
public static Block jacaranda_door;
|
||||
public static Block mahogany_door;
|
||||
|
||||
public static Block ebony_door;
|
||||
public static Block eucalyptus_door;
|
||||
|
||||
public static Block mud;
|
||||
public static Block sand;
|
||||
|
|
|
@ -65,6 +65,8 @@ public class BOPItems
|
|||
public static Item hellbark_door;
|
||||
public static Item jacaranda_door;
|
||||
public static Item mahogany_door;
|
||||
public static Item ebony_door;
|
||||
public static Item eucalyptus_door;
|
||||
|
||||
public static Item wood_slab_0;
|
||||
public static Item wood_slab_1;
|
||||
|
|
|
@ -59,6 +59,8 @@ public class BiomeGenBayou extends BOPBiome
|
|||
this.canSpawnInBiome = false;
|
||||
this.canGenerateRivers = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.HOT_SWAMP, 10);
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ import net.minecraft.init.Blocks;
|
|||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
|
@ -58,6 +59,11 @@ public class BiomeGenBog extends BOPBiome
|
|||
this.canGenerateRivers = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.addWeight(BOPClimates.COLD_SWAMP, 7);
|
||||
|
||||
this.spawnableWaterCreatureList.clear();
|
||||
|
|
|
@ -8,6 +8,7 @@ import net.minecraft.entity.passive.EntityWolf;
|
|||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.common.block.BlockBOPDoublePlant;
|
||||
|
@ -39,6 +40,11 @@ public class BiomeGenBorealForest extends BOPBiome
|
|||
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityWolf.class, 5, 4, 4));
|
||||
|
||||
// sand and gravel
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package biomesoplenty.common.biome.overworld;
|
||||
|
||||
import net.minecraft.block.BlockFlower;
|
||||
import net.minecraft.block.BlockPlanks;
|
||||
import net.minecraft.block.BlockTallGrass;
|
||||
import net.minecraft.block.material.Material;
|
||||
|
@ -17,13 +16,13 @@ import biomesoplenty.common.block.BlockBOPSand;
|
|||
import biomesoplenty.common.enums.BOPClimates;
|
||||
import biomesoplenty.common.enums.BOPGems;
|
||||
import biomesoplenty.common.enums.BOPPlants;
|
||||
import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod;
|
||||
import biomesoplenty.common.enums.BOPTrees;
|
||||
import biomesoplenty.common.enums.BOPWoods;
|
||||
import biomesoplenty.common.world.BOPWorldSettings;
|
||||
import biomesoplenty.common.world.feature.GeneratorFlora;
|
||||
import biomesoplenty.common.world.feature.GeneratorGrass;
|
||||
import biomesoplenty.common.world.feature.GeneratorLakes;
|
||||
import biomesoplenty.common.world.feature.GeneratorOreSingle;
|
||||
import biomesoplenty.common.world.feature.GeneratorSplotches;
|
||||
import biomesoplenty.common.world.feature.GeneratorWaterside;
|
||||
import biomesoplenty.common.world.feature.tree.GeneratorBasicTree;
|
||||
import biomesoplenty.common.world.feature.tree.GeneratorBigTree;
|
||||
|
@ -54,10 +53,10 @@ public class BiomeGenBrushland extends BOPBiome
|
|||
// trees & logs
|
||||
GeneratorWeighted treeGenerator = new GeneratorWeighted(6.0F);
|
||||
this.addGenerator("trees", GeneratorStage.TREE, treeGenerator);
|
||||
treeGenerator.add("brush", 1, (new GeneratorBasicTree.Builder()).log(BlockPlanks.EnumType.JUNGLE).leaves(BlockPlanks.EnumType.OAK).minHeight(3).maxHeight(5).leafLayers(2).create());
|
||||
treeGenerator.add("brush_twiglet", 2, (new GeneratorTwigletTree.Builder()).minHeight(1).maxHeight(2).log(BlockPlanks.EnumType.JUNGLE).leaves(BlockPlanks.EnumType.OAK).create());
|
||||
treeGenerator.add("brush", 1, (new GeneratorBasicTree.Builder()).log(BlockPlanks.EnumType.ACACIA).leaves(BlockPlanks.EnumType.ACACIA).minHeight(3).maxHeight(5).leafLayers(2).create());
|
||||
treeGenerator.add("brush_twiglet", 2, (new GeneratorTwigletTree.Builder()).minHeight(1).maxHeight(2).log(BOPWoods.EBONY).leaves(BOPTrees.EBONY).create());
|
||||
treeGenerator.add("brush_bush", 3, (new GeneratorFlora.Builder()).placeOn(this.topBlock).replace(Material.air).withNonDecayingLeaf(BlockPlanks.EnumType.OAK).generationAttempts(8).create());
|
||||
treeGenerator.add("decaying_tree", 2, (new GeneratorBigTree.Builder()).amountPerChunk(1.0F).log(BlockPlanks.EnumType.ACACIA).leaves(BlockPlanks.EnumType.ACACIA).minHeight(4).maxHeight(10).foliageHeight(1).create());
|
||||
treeGenerator.add("decaying_tree", 2, (new GeneratorBigTree.Builder()).amountPerChunk(1.0F).log(BOPWoods.EBONY).leaves(BOPTrees.EBONY).minHeight(4).maxHeight(10).foliageHeight(1).create());
|
||||
|
||||
// grasses
|
||||
GeneratorWeighted grassGenerator = new GeneratorWeighted(9.0F);
|
||||
|
|
|
@ -49,6 +49,8 @@ public class BiomeGenCanyon extends BOPBiome
|
|||
|
||||
this.canSpawnInBiome = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.spawnableCreatureList.clear();
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import net.minecraft.entity.passive.EntityWolf;
|
|||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
|
@ -43,6 +44,11 @@ public class BiomeGenConiferousForest extends BOPBiome
|
|||
this.setTemperatureRainfall(0.45F, 0.5F);
|
||||
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.addWeight(BOPClimates.BOREAL, 10);
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ import biomesoplenty.common.world.feature.GeneratorColumns;
|
|||
import biomesoplenty.common.world.feature.GeneratorFlora;
|
||||
import biomesoplenty.common.world.feature.GeneratorOreSingle;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
|
||||
public class BiomeGenCoralReef extends BOPBiome
|
||||
{
|
||||
|
@ -34,6 +35,8 @@ public class BiomeGenCoralReef extends BOPBiome
|
|||
this.canGenerateVillages = false;
|
||||
this.canGenerateRivers = false;
|
||||
|
||||
this.beachBiomeId = BiomeGenBase.ocean.biomeID;
|
||||
|
||||
clearWeights();
|
||||
|
||||
// coral
|
||||
|
|
|
@ -30,6 +30,8 @@ public class BiomeGenCrag extends BOPBiome
|
|||
this.canGenerateVillages = false;
|
||||
this.canGenerateRivers = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.COLD_SWAMP, 1);
|
||||
|
||||
this.spawnableCreatureList.clear();
|
||||
|
|
|
@ -12,6 +12,7 @@ import net.minecraft.block.BlockTallGrass;
|
|||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
|
@ -44,6 +45,11 @@ public class BiomeGenDeadForest extends BOPBiome
|
|||
this.canSpawnInBiome = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.setColor(0xBCA165);
|
||||
this.setTemperatureRainfall(0.3F, 0.3F);
|
||||
|
||||
|
|
|
@ -59,6 +59,8 @@ public class BiomeGenDeadSwamp extends BOPBiome
|
|||
this.canGenerateRivers = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.COLD_SWAMP, 3);
|
||||
|
||||
this.spawnableCreatureList.clear();
|
||||
|
|
|
@ -23,6 +23,8 @@ import biomesoplenty.common.entities.EntityButterfly;
|
|||
import biomesoplenty.common.enums.BOPClimates;
|
||||
import biomesoplenty.common.enums.BOPGems;
|
||||
import biomesoplenty.common.enums.BOPPlants;
|
||||
import biomesoplenty.common.enums.BOPTrees;
|
||||
import biomesoplenty.common.enums.BOPWoods;
|
||||
import biomesoplenty.common.world.BOPWorldSettings;
|
||||
import biomesoplenty.common.world.feature.GeneratorFlora;
|
||||
import biomesoplenty.common.world.feature.GeneratorGrass;
|
||||
|
@ -53,7 +55,7 @@ public class BiomeGenEucalyptusForest extends BOPBiome
|
|||
GeneratorWeighted treeGenerator = new GeneratorWeighted(10);
|
||||
this.addGenerator("trees", GeneratorStage.TREE, treeGenerator);
|
||||
treeGenerator.add("oak_bush", 8, (new GeneratorBush.Builder()).maxHeight(2).create());
|
||||
treeGenerator.add("tall_eucalyptus", 1, (new GeneratorBulbTree.Builder()).minHeight(15).maxHeight(30).log(BlockPlanks.EnumType.JUNGLE).leaves(BlockPlanks.EnumType.JUNGLE).create());
|
||||
treeGenerator.add("tall_eucalyptus", 1, (new GeneratorBulbTree.Builder()).minHeight(15).maxHeight(30).log(BOPWoods.EUCALYPTUS).leaves(BOPTrees.EUCALYPTUS).create());
|
||||
// TODO: Add Eucalyptus wood as a new wood type - the bark is quite special
|
||||
|
||||
// grasses
|
||||
|
|
|
@ -16,6 +16,7 @@ import net.minecraft.init.Blocks;
|
|||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
|
@ -63,6 +64,11 @@ public class BiomeGenFen extends BOPBiome
|
|||
this.canGenerateRivers = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.addWeight(BOPClimates.COLD_SWAMP, 7);
|
||||
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntitySnail.class, 8, 1, 2));
|
||||
|
|
|
@ -56,6 +56,8 @@ public class BiomeGenFungiForest extends BOPBiome
|
|||
|
||||
this.canSpawnInBiome = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.TROPICAL, 1);
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ import net.minecraft.entity.passive.EntityHorse;
|
|||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BlockQueries;
|
||||
|
@ -45,6 +46,11 @@ public class BiomeGenGrassland extends BOPBiome {
|
|||
this.addWeight(BOPClimates.COOL_TEMPERATE, 7);
|
||||
this.addWeight(BOPClimates.WET_TEMPERATE, 3);
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.canGenerateVillages = true;
|
||||
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
||||
|
|
|
@ -26,7 +26,7 @@ public class BiomeGenGravelBeach extends BOPBiome
|
|||
public BiomeGenGravelBeach()
|
||||
{
|
||||
// terrain
|
||||
this.terrainSettings.avgHeight(64).heightVariation(5, 5);
|
||||
this.terrainSettings.avgHeight(64).heightVariation(3, 4);
|
||||
|
||||
this.setColor(0x908884);
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ package biomesoplenty.common.biome.overworld;
|
|||
import net.minecraft.block.BlockDoublePlant;
|
||||
import net.minecraft.block.BlockTallGrass;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
|
@ -40,6 +41,8 @@ public class BiomeGenHighland extends BOPBiome
|
|||
|
||||
this.addWeight(BOPClimates.COOL_TEMPERATE, 7);
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
// boulders
|
||||
this.addGenerator("boulders", GeneratorStage.SAND, (new GeneratorBlobs.Builder()).amountPerChunk(0.5F).placeOn(Blocks.grass).with(Blocks.cobblestone.getDefaultState()).minRadius(0.3F).maxRadius(1.2F).numBalls(1).scatterYMethod(ScatterYMethod.AT_SURFACE).create());
|
||||
this.addGenerator("big_boulders", GeneratorStage.SAND, (new GeneratorBlobs.Builder()).amountPerChunk(0.1F).placeOn(Blocks.grass).with(Blocks.cobblestone.getDefaultState()).minRadius(0.3F).maxRadius(4.0F).numBalls(3).scatterYMethod(ScatterYMethod.AT_SURFACE).create());
|
||||
|
|
|
@ -20,6 +20,7 @@ import biomesoplenty.common.world.feature.GeneratorColumns;
|
|||
import biomesoplenty.common.world.feature.GeneratorFlora;
|
||||
import biomesoplenty.common.world.feature.GeneratorOreSingle;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
|
||||
public class BiomeGenKelpForest extends BOPBiome
|
||||
{
|
||||
|
@ -34,6 +35,8 @@ public class BiomeGenKelpForest extends BOPBiome
|
|||
this.canGenerateVillages = false;
|
||||
this.canGenerateRivers = false;
|
||||
|
||||
this.beachBiomeId = BiomeGenBase.ocean.biomeID;
|
||||
|
||||
clearWeights();
|
||||
|
||||
// algae
|
||||
|
|
|
@ -16,6 +16,7 @@ import net.minecraft.init.Blocks;
|
|||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
|
@ -63,6 +64,11 @@ public class BiomeGenLandOfLakes extends BOPBiome
|
|||
|
||||
this.addWeight(BOPClimates.COLD_SWAMP, 3);
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.spawnableWaterCreatureList.clear();
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntitySnail.class, 8, 1, 2));
|
||||
|
||||
|
|
|
@ -64,6 +64,8 @@ public class BiomeGenLushSwamp extends BOPBiome
|
|||
this.canGenerateRivers = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.WET_TEMPERATE, 10);
|
||||
|
||||
this.spawnableWaterCreatureList.clear();
|
||||
|
|
|
@ -8,6 +8,7 @@ import net.minecraft.entity.passive.EntityWolf;
|
|||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.common.block.BlockBOPDoublePlant;
|
||||
|
@ -40,6 +41,11 @@ public class BiomeGenMapleWoods extends BOPBiome
|
|||
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityWolf.class, 5, 4, 4));
|
||||
|
||||
// sand and gravel
|
||||
|
|
|
@ -56,6 +56,8 @@ public class BiomeGenMarsh extends BOPBiome
|
|||
this.canGenerateRivers = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.WET_TEMPERATE, 7);
|
||||
|
||||
this.spawnableCreatureList.clear(); // none of your regular farmyard critters here
|
||||
|
|
|
@ -7,6 +7,7 @@ import net.minecraft.block.BlockTallGrass;
|
|||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
|
@ -44,6 +45,11 @@ public class BiomeGenMeadow extends BOPBiome
|
|||
|
||||
this.canGenerateVillages = true;
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntitySnail.class, 6, 1, 2));
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityButterfly.class, 6, 2, 4));
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ package biomesoplenty.common.biome.overworld;
|
|||
import net.minecraft.block.BlockTallGrass;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
|
@ -48,6 +49,8 @@ public class BiomeGenMoor extends BOPBiome
|
|||
this.canSpawnInBiome = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.COLD_SWAMP, 5);
|
||||
|
||||
this.spawnableWaterCreatureList.clear();
|
||||
|
|
|
@ -80,6 +80,8 @@ public class BiomeGenMountain extends BOPBiome
|
|||
this.setColor(0x80A355);
|
||||
this.setTemperatureRainfall(0.3F, 0.1F);
|
||||
|
||||
this.beachBiomeId = BiomeGenBase.stoneBeach.biomeID;
|
||||
|
||||
if (type == MountainType.PEAKS)
|
||||
{
|
||||
this.canGenerateVillages = false;
|
||||
|
|
|
@ -59,6 +59,8 @@ public class BiomeGenMysticGrove extends BOPBiome
|
|||
this.canGenerateVillages = false;
|
||||
this.canSpawnInBiome = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.WET_TEMPERATE, 1);
|
||||
|
||||
this.spawnableCreatureList.clear(); // none of your regular farmyard critters here
|
||||
|
|
|
@ -0,0 +1,119 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2015-2016, 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.overworld;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.block.BlockQueries;
|
||||
import biomesoplenty.common.block.BlockBOPCoral;
|
||||
import biomesoplenty.common.enums.BOPFlowers;
|
||||
import biomesoplenty.common.enums.BOPGems;
|
||||
import biomesoplenty.common.enums.BOPPlants;
|
||||
import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod;
|
||||
import biomesoplenty.common.util.config.BOPConfig.IConfigObj;
|
||||
import biomesoplenty.common.world.BOPWorldSettings;
|
||||
import biomesoplenty.common.world.feature.GeneratorColumns;
|
||||
import biomesoplenty.common.world.feature.GeneratorFlora;
|
||||
import biomesoplenty.common.world.feature.GeneratorGrass;
|
||||
import biomesoplenty.common.world.feature.GeneratorLakes;
|
||||
import biomesoplenty.common.world.feature.GeneratorOreSingle;
|
||||
import biomesoplenty.common.world.feature.GeneratorWaterside;
|
||||
import net.minecraft.block.BlockTallGrass;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.chunk.ChunkPrimer;
|
||||
|
||||
public class BiomeGenOasis extends BOPBiome
|
||||
{
|
||||
public IBlockState usualTopBlock;
|
||||
public IBlockState alternateTopBlock;
|
||||
|
||||
public BiomeGenOasis()
|
||||
{
|
||||
// terrain
|
||||
this.terrainSettings.avgHeight(64).heightVariation(5, 3);
|
||||
|
||||
this.setTemperatureRainfall(2.0F, 0.5F);
|
||||
|
||||
this.setColor(7712283);
|
||||
|
||||
this.canSpawnInBiome = false;
|
||||
this.canGenerateVillages = false;
|
||||
this.canGenerateRivers = false;
|
||||
|
||||
this.topBlock = Blocks.sand.getDefaultState();
|
||||
this.fillerBlock = Blocks.sand.getDefaultState();
|
||||
this.usualTopBlock = this.topBlock;
|
||||
this.alternateTopBlock = Blocks.grass.getDefaultState();
|
||||
|
||||
clearWeights();
|
||||
|
||||
// oases
|
||||
this.addGenerator("oases", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(20).maxRadius(7).replace(Blocks.sand.getDefaultState()).with(Blocks.grass.getDefaultState()).create());
|
||||
|
||||
// lakes
|
||||
this.addGenerator("lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(1.5F).waterLakeForBiome(this).create());
|
||||
|
||||
// grasses
|
||||
GeneratorWeighted grassGenerator = new GeneratorWeighted(4.0F);
|
||||
this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator);
|
||||
grassGenerator.add("shortgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create());
|
||||
grassGenerator.add("mediumgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create());
|
||||
grassGenerator.add("dampgrass", 1, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create());
|
||||
grassGenerator.add("tallgrass", 2, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create());
|
||||
|
||||
// other plants
|
||||
this.addGenerator("sprouts", GeneratorStage.FLOWERS,(new GeneratorFlora.Builder()).amountPerChunk(0.8F).with(BOPPlants.SPROUT).create());
|
||||
this.addGenerator("desertgrass", GeneratorStage.GRASS, (new GeneratorGrass.Builder()).amountPerChunk(1.5F).with(BOPPlants.DESERTGRASS).generationAttempts(8).create());
|
||||
this.addGenerator("bromeliad", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder().amountPerChunk(0.5F).with(BOPFlowers.BROMELIAD).generationAttempts(8).create()));
|
||||
this.addGenerator("tiny_cacti", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.6F).with(BOPPlants.TINYCACTUS).create());
|
||||
this.addGenerator("cacti", GeneratorStage.FLOWERS,(new GeneratorColumns.Builder()).amountPerChunk(0.4F).generationAttempts(3).placeOn(this.topBlock).with(Blocks.cactus.getDefaultState()).minHeight(1).maxHeight(2).create());
|
||||
|
||||
// water plants
|
||||
this.addGenerator("algae", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(3.0F).replace(Blocks.water).with(BOPBlocks.coral.getDefaultState().withProperty(BlockBOPCoral.VARIANT, BlockBOPCoral.CoralType.ALGAE)).scatterYMethod(ScatterYMethod.AT_GROUND).create());
|
||||
|
||||
// gem
|
||||
this.addGenerator("ruby", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.RUBY).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void configure(IConfigObj conf)
|
||||
{
|
||||
super.configure(conf);
|
||||
|
||||
this.usualTopBlock = this.topBlock;
|
||||
this.alternateTopBlock = conf.getBlockState("alternateTopBlock", this.alternateTopBlock);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySettings(BOPWorldSettings settings)
|
||||
{
|
||||
if (!settings.generateBopGems) {this.removeGenerator("ruby");}
|
||||
|
||||
if (!settings.generateBopFoliage) {this.removeGenerator("caveweed"); this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");}
|
||||
|
||||
if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");}
|
||||
|
||||
GeneratorWeighted grassGen = (GeneratorWeighted)this.getGenerator("grass");
|
||||
if (!settings.generateBopGrasses) {grassGen.removeGenerator("shortgrass"); grassGen.removeGenerator("mediumgrass"); grassGen.removeGenerator("wheatgrass"); grassGen.removeGenerator("dampgrass");}
|
||||
}
|
||||
|
||||
@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);
|
||||
}
|
||||
}
|
|
@ -69,6 +69,8 @@ public class BiomeGenOminousWoods extends BOPBiome
|
|||
this.canGenerateVillages = false;
|
||||
this.canSpawnInBiome = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.COLD_SWAMP, 1);
|
||||
|
||||
this.spawnableCreatureList.clear(); // none of your regular farmyard critters here
|
||||
|
|
|
@ -0,0 +1,120 @@
|
|||
package biomesoplenty.common.biome.overworld;
|
||||
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.common.block.BlockBOPDirt;
|
||||
import biomesoplenty.common.block.BlockBOPDoublePlant;
|
||||
import biomesoplenty.common.block.BlockBOPGrass;
|
||||
import biomesoplenty.common.block.BlockBOPMushroom;
|
||||
import biomesoplenty.common.entities.EntityButterfly;
|
||||
import biomesoplenty.common.enums.BOPClimates;
|
||||
import biomesoplenty.common.enums.BOPFlowers;
|
||||
import biomesoplenty.common.enums.BOPGems;
|
||||
import biomesoplenty.common.enums.BOPPlants;
|
||||
import biomesoplenty.common.world.BOPWorldSettings;
|
||||
import biomesoplenty.common.world.feature.GeneratorDoubleFlora;
|
||||
import biomesoplenty.common.world.feature.GeneratorFlora;
|
||||
import biomesoplenty.common.world.feature.GeneratorGrass;
|
||||
import biomesoplenty.common.world.feature.GeneratorOreSingle;
|
||||
import biomesoplenty.common.world.feature.GeneratorWaterside;
|
||||
import biomesoplenty.common.world.feature.tree.GeneratorBasicTree;
|
||||
import biomesoplenty.common.world.feature.tree.GeneratorBigTree;
|
||||
import biomesoplenty.common.world.feature.tree.GeneratorTaigaTree;
|
||||
import net.minecraft.block.BlockPlanks.EnumType;
|
||||
import net.minecraft.block.BlockFlower;
|
||||
import net.minecraft.block.BlockTallGrass;
|
||||
import net.minecraft.entity.passive.EntityHorse;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
|
||||
public class BiomeGenOrchard extends BOPBiome
|
||||
{
|
||||
public BiomeGenOrchard()
|
||||
{
|
||||
// terrain
|
||||
this.terrainSettings.avgHeight(64).heightVariation(4, 15);
|
||||
|
||||
this.setColor(14024557);
|
||||
this.setTemperatureRainfall(0.7F, 0.7F);
|
||||
|
||||
this.addWeight(BOPClimates.WARM_TEMPERATE, 3);
|
||||
|
||||
this.canGenerateVillages = true;
|
||||
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 1, 2, 6));
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityButterfly.class, 6, 2, 4));
|
||||
|
||||
// trees
|
||||
GeneratorWeighted treeGenerator = new GeneratorWeighted(4);
|
||||
this.addGenerator("trees", GeneratorStage.TREE, treeGenerator);
|
||||
treeGenerator.add("oak_large", 1, (new GeneratorBigTree.Builder()).create());
|
||||
|
||||
// grasses
|
||||
GeneratorWeighted grassGenerator = new GeneratorWeighted(15);
|
||||
this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator);
|
||||
grassGenerator.add("shortgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.SHORTGRASS).create());
|
||||
grassGenerator.add("mediumgrass", 3, (new GeneratorGrass.Builder()).with(BOPPlants.MEDIUMGRASS).create());
|
||||
grassGenerator.add("wheatgrass", 4, (new GeneratorGrass.Builder()).with(BOPPlants.WHEATGRASS).create());
|
||||
grassGenerator.add("dampgrass", 2, (new GeneratorGrass.Builder()).with(BOPPlants.DAMPGRASS).create());
|
||||
grassGenerator.add("tallgrass", 6, (new GeneratorGrass.Builder()).with(BlockTallGrass.EnumType.GRASS).create());
|
||||
|
||||
// flowers
|
||||
GeneratorWeighted flowerGenerator = new GeneratorWeighted(1.5F);
|
||||
this.addGenerator("flowers", GeneratorStage.GRASS, flowerGenerator);
|
||||
flowerGenerator.add("white_anemones", 1, (new GeneratorFlora.Builder().with(BOPFlowers.WHITE_ANEMONE).generationAttempts(16).create()));
|
||||
flowerGenerator.add("houstonia", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.HOUSTONIA).create()));
|
||||
flowerGenerator.add("oxeye_daisy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.OXEYE_DAISY).create()));
|
||||
flowerGenerator.add("dandelion", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.DANDELION).create()));
|
||||
flowerGenerator.add("poppy", 1, (new GeneratorFlora.Builder().with(BlockFlower.EnumFlowerType.POPPY).create()));
|
||||
|
||||
// other plants
|
||||
this.addGenerator("berry_bushes", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.4F).with(BOPPlants.BERRYBUSH).generationAttempts(8).create());
|
||||
this.addGenerator("shrubs", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(0.1F).with(BOPPlants.SHRUB).create());
|
||||
this.addGenerator("water_reeds", GeneratorStage.LILYPAD, (new GeneratorFlora.Builder()).amountPerChunk(1).with(BOPPlants.REED).generationAttempts(32).create());
|
||||
this.addGenerator("leaf_piles", GeneratorStage.FLOWERS, (new GeneratorFlora.Builder()).amountPerChunk(1).with(BOPPlants.LEAFPILE).generationAttempts(32).create());
|
||||
this.addGenerator("flax", GeneratorStage.FLOWERS, (new GeneratorDoubleFlora.Builder()).amountPerChunk(0.2F).with(BlockBOPDoublePlant.DoublePlantType.FLAX).generationAttempts(8).create());
|
||||
|
||||
// shrooms
|
||||
this.addGenerator("portobellos", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(1).with(BlockBOPMushroom.MushroomType.PORTOBELLO).create());
|
||||
|
||||
// gem
|
||||
this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySettings(BOPWorldSettings settings)
|
||||
{
|
||||
if (!settings.generateBopGems) {this.removeGenerator("peridot");}
|
||||
if (!settings.generateFlax) {this.removeGenerator("flax");}
|
||||
if (!settings.generateBerryBushes) {this.removeGenerator("berry_bushes");}
|
||||
|
||||
if (!settings.generateBopFoliage) {this.removeGenerator("caveweed"); this.removeGenerator("bushes"); this.removeGenerator("koru"); this.removeGenerator("shrubs"); this.removeGenerator("leaf_piles"); this.removeGenerator("dead_leaf_piles"); this.removeGenerator("clover_patches"); this.removeGenerator("sprouts");}
|
||||
|
||||
if (!settings.generateBopMushrooms) {this.removeGenerator("toadstools"); this.removeGenerator("flat_mushroom"); this.removeGenerator("blue_milk_caps"); this.removeGenerator("portobellos");}
|
||||
|
||||
if (!settings.generateBopPlants) {this.removeGenerator("cattail"); this.removeGenerator("double_cattail"); this.removeGenerator("river_cane"); this.removeGenerator("tiny_cacti"); this.removeGenerator("roots"); this.removeGenerator("rafflesia"); this.removeGenerator("desert_sprouts");}
|
||||
|
||||
if (!settings.generateBopWaterPlants) {this.removeGenerator("algae"); this.removeGenerator("water_reeds"); this.removeGenerator("algae"); this.removeGenerator("duckweed"); this.removeGenerator("medium_lily"); this.removeGenerator("small_lily"); this.removeGenerator("tiny_lily");}
|
||||
|
||||
GeneratorWeighted flowerGen = (GeneratorWeighted)this.getGenerator("flowers");
|
||||
if (!settings.generateBopFlowers) {flowerGen.removeGenerator("bluebells"); flowerGen.removeGenerator("clover"); flowerGen.removeGenerator("swampflower"); flowerGen.removeGenerator("deathbloom"); flowerGen.removeGenerator("glowflower"); flowerGen.removeGenerator("blue_hydrangeas"); flowerGen.removeGenerator("pink_daffodil"); flowerGen.removeGenerator("white_anemones"); flowerGen.removeGenerator("orange_cosmos"); flowerGen.removeGenerator("wildflowers"); flowerGen.removeGenerator("violet"); flowerGen.removeGenerator("hibiscus"); flowerGen.removeGenerator("goldenrods"); flowerGen.removeGenerator("icy_irises"); flowerGen.removeGenerator("wilted_lily"); flowerGen.removeGenerator("lily_of_the_valley"); flowerGen.removeGenerator("bromeliad"); this.removeGenerator("bromeliad");}
|
||||
|
||||
GeneratorWeighted grassGen = (GeneratorWeighted)this.getGenerator("grass");
|
||||
if (!settings.generateBopGrasses) {grassGen.removeGenerator("shortgrass"); grassGen.removeGenerator("mediumgrass"); grassGen.removeGenerator("wheatgrass"); grassGen.removeGenerator("dampgrass");}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getGrassColorAtPos(BlockPos pos)
|
||||
{
|
||||
return 14024557;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getFoliageColorAtPos(BlockPos pos)
|
||||
{
|
||||
return 14024557;
|
||||
}
|
||||
}
|
|
@ -13,7 +13,9 @@ import net.minecraft.block.BlockFlower;
|
|||
import net.minecraft.block.BlockPlanks;
|
||||
import net.minecraft.block.BlockTallGrass;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.passive.EntityOcelot;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
|
@ -46,8 +48,11 @@ public class BiomeGenOvergrownCliffs extends BOPBiome
|
|||
this.canGenerateVillages = false;
|
||||
|
||||
this.addWeight(BOPClimates.TROPICAL, 2);
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.spawnableCreatureList.clear();
|
||||
this.spawnableMonsterList.add(new SpawnListEntry(EntityOcelot.class, 2, 1, 1));
|
||||
|
||||
// trees
|
||||
GeneratorWeighted treeGenerator = new GeneratorWeighted(40.0F);
|
||||
|
|
|
@ -84,13 +84,13 @@ public class BiomeGenPrairie extends BOPBiome
|
|||
this.addGenerator("portobellos", GeneratorStage.SHROOM,(new GeneratorFlora.Builder()).amountPerChunk(2).with(BlockBOPMushroom.MushroomType.PORTOBELLO).create());
|
||||
|
||||
// gem
|
||||
this.addGenerator("tanzanite", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.TANZANITE).create());
|
||||
this.addGenerator("peridot", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(BOPGems.PERIDOT).create());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySettings(BOPWorldSettings settings)
|
||||
{
|
||||
if (!settings.generateBopGems) {this.removeGenerator("tanzanite");}
|
||||
if (!settings.generateBopGems) {this.removeGenerator("peridot");}
|
||||
if (!settings.generateFlax) {this.removeGenerator("flax");}
|
||||
if (!settings.generateBerryBushes) {this.removeGenerator("berry_bushes");}
|
||||
|
||||
|
|
|
@ -53,6 +53,8 @@ public class BiomeGenQuagmire extends BOPBiome
|
|||
this.canGenerateRivers = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.COLD_SWAMP, 2);
|
||||
|
||||
this.spawnableCreatureList.clear();
|
||||
|
|
|
@ -47,6 +47,8 @@ public class BiomeGenRainforest extends BOPBiome
|
|||
this.canGenerateVillages = false;
|
||||
this.canGenerateRivers = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.spawnableMonsterList.add(new SpawnListEntry(EntityOcelot.class, 2, 1, 1));
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityButterfly.class, 6, 2, 4));
|
||||
|
||||
|
|
|
@ -45,6 +45,8 @@ public class BiomeGenSacredSprings extends BOPBiome
|
|||
this.canGenerateRivers = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.TROPICAL, 1);
|
||||
|
||||
this.spawnableMonsterList.add(new SpawnListEntry(EntityOcelot.class, 2, 1, 1));
|
||||
|
|
|
@ -8,6 +8,7 @@ import net.minecraft.init.Blocks;
|
|||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.common.block.BlockBOPDoublePlant;
|
||||
|
@ -40,6 +41,11 @@ public class BiomeGenSeasonalForest extends BOPBiome
|
|||
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityWolf.class, 5, 4, 4));
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntitySnail.class, 6, 1, 2));
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ import net.minecraft.util.BlockPos;
|
|||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.ChunkPrimer;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
|
@ -67,6 +68,11 @@ public class BiomeGenShield extends BOPBiome
|
|||
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.addWeight(BOPClimates.BOREAL, 5);
|
||||
|
||||
// gravel
|
||||
|
|
|
@ -14,6 +14,7 @@ import net.minecraft.entity.passive.EntityHorse;
|
|||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
|
@ -48,6 +49,11 @@ public class BiomeGenShrubland extends BOPBiome
|
|||
|
||||
this.canGenerateVillages = true;
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityButterfly.class, 6, 2, 4));
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ import net.minecraft.util.BlockPos;
|
|||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.chunk.ChunkPrimer;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
|
@ -59,6 +60,11 @@ public class BiomeGenSteppe extends BOPBiome
|
|||
|
||||
this.addWeight(BOPClimates.DRY_TEMPERATE, 5);
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityHorse.class, 5, 2, 6));
|
||||
|
||||
// should the Steppe not have some splattered gravel and coarse dirt?
|
||||
|
|
|
@ -10,6 +10,7 @@ import net.minecraft.init.Blocks;
|
|||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
|
@ -54,6 +55,11 @@ public class BiomeGenTemperateRainforest extends BOPBiome
|
|||
|
||||
this.addWeight(BOPClimates.WET_TEMPERATE, 7);
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntitySnail.class, 6, 1, 2));
|
||||
|
||||
// sand and gravel
|
||||
|
|
|
@ -28,6 +28,7 @@ import biomesoplenty.common.world.feature.GeneratorOreSingle;
|
|||
import net.minecraft.block.BlockDoublePlant;
|
||||
import net.minecraft.block.BlockFlower;
|
||||
import net.minecraft.block.BlockTallGrass;
|
||||
import net.minecraft.entity.passive.EntityOcelot;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ import net.minecraft.block.BlockTallGrass;
|
|||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.BlockPos;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.common.enums.BOPClimates;
|
||||
|
@ -42,7 +43,12 @@ public class BiomeGenTundra extends BOPBiome
|
|||
|
||||
this.canGenerateRivers = false;
|
||||
this.canSpawnInBiome = false;
|
||||
this.canGenerateVillages = true;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.spawnableCreatureList.clear();
|
||||
|
||||
|
|
|
@ -0,0 +1,59 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2015-2016, 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.overworld;
|
||||
|
||||
import net.minecraft.init.Blocks;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.common.util.biome.GeneratorUtils.ScatterYMethod;
|
||||
import biomesoplenty.common.util.block.BlockQuery;
|
||||
import biomesoplenty.common.util.block.BlockQuery.IBlockPosQuery;
|
||||
import biomesoplenty.common.world.feature.GeneratorLakes;
|
||||
import biomesoplenty.common.world.feature.GeneratorOreSingle;
|
||||
import biomesoplenty.common.world.feature.GeneratorSplotches;
|
||||
|
||||
public class BiomeGenVolcanicIsland extends BOPBiome
|
||||
{
|
||||
public BiomeGenVolcanicIsland()
|
||||
{
|
||||
// terrain
|
||||
this.terrainSettings.avgHeight(120).heightVariation(50, 50).octaves(1, 1, 2, 2, 3, 2).sidewaysNoise(0.1D);
|
||||
|
||||
this.setTemperatureRainfall(1.2F, 0.5F);
|
||||
|
||||
this.setColor(6645093);
|
||||
|
||||
this.topBlock = BOPBlocks.ash_block.getDefaultState();
|
||||
this.fillerBlock = BOPBlocks.ash_block.getDefaultState();
|
||||
|
||||
this.canSpawnInBiome = false;
|
||||
this.canGenerateVillages = false;
|
||||
this.canGenerateRivers = false;
|
||||
|
||||
this.theBiomeDecorator.generateLakes = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.avgDirtDepth = 16;
|
||||
|
||||
this.spawnableCreatureList.clear();
|
||||
this.spawnableMonsterList.clear();
|
||||
|
||||
clearWeights();
|
||||
|
||||
// lava
|
||||
IBlockPosQuery emptyAshBlock = BlockQuery.buildAnd().withAirAbove().states(this.topBlock).create();
|
||||
this.addGenerator("lava_flows", GeneratorStage.FLOWERS,(new GeneratorSplotches.Builder()).placeOn(emptyAshBlock).replace(BOPBlocks.ash_block).amountPerChunk(0.1F).splotchSize(12).scatterYMethod(ScatterYMethod.AT_SURFACE).with(Blocks.flowing_lava.getDefaultState()).create());
|
||||
this.addGenerator("lava_lakes", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(2.5F).lavaLake().create());
|
||||
|
||||
// gem
|
||||
this.addGenerator("emeralds", GeneratorStage.SAND, (new GeneratorOreSingle.Builder()).amountPerChunk(12).with(Blocks.emerald_ore.getDefaultState()).create());
|
||||
}
|
||||
}
|
|
@ -62,6 +62,8 @@ public class BiomeGenWasteland extends BOPBiome
|
|||
this.canGenerateVillages = false;
|
||||
this.canSpawnInBiome = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.WASTELAND, 50);
|
||||
|
||||
this.spawnableCreatureList.clear();
|
||||
|
|
|
@ -61,6 +61,8 @@ public class BiomeGenWetland extends BOPBiome
|
|||
this.canGenerateRivers = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
this.beachBiomeId = -1;
|
||||
|
||||
this.addWeight(BOPClimates.WET_TEMPERATE, 7);
|
||||
this.addWeight(BOPClimates.COLD_SWAMP, 5);
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ import net.minecraft.init.Blocks;
|
|||
import net.minecraft.util.BlockPos;
|
||||
import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry;
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
import biomesoplenty.common.block.BlockBOPDoublePlant;
|
||||
|
@ -52,6 +53,11 @@ public class BiomeGenWoodland extends BOPBiome
|
|||
|
||||
this.addWeight(BOPClimates.WARM_TEMPERATE, 10);
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntitySnail.class, 6, 1, 2));
|
||||
this.spawnableCreatureList.add(new SpawnListEntry(EntityButterfly.class, 6, 2, 4));
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ package biomesoplenty.common.biome.vanilla;
|
|||
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.ExtendedBiomeWrapper;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
|
@ -22,6 +23,11 @@ public class BiomeExtBirchForest extends ExtendedBiomeWrapper
|
|||
{
|
||||
super(BiomeGenBase.birchForest);
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
// grasses
|
||||
GeneratorWeighted grassGenerator = new GeneratorWeighted(2.5F);
|
||||
this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator);
|
||||
|
|
|
@ -4,6 +4,7 @@ import net.minecraft.block.BlockDoublePlant;
|
|||
import net.minecraft.block.BlockFlower.EnumFlowerType;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.ExtendedBiomeWrapper;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
|
@ -24,6 +25,11 @@ public class BiomeExtForest extends ExtendedBiomeWrapper
|
|||
{
|
||||
super(BiomeGenBase.forest);
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
// grasses
|
||||
GeneratorWeighted grassGenerator = new GeneratorWeighted(5.0F);
|
||||
this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package biomesoplenty.common.biome.vanilla;
|
||||
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.ExtendedBiomeWrapper;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
|
@ -19,6 +20,11 @@ public class BiomeExtRoofedForest extends ExtendedBiomeWrapper
|
|||
{
|
||||
super(BiomeGenBase.roofedForest);
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
// grasses
|
||||
GeneratorWeighted grassGenerator = new GeneratorWeighted(2.0F);
|
||||
this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package biomesoplenty.common.biome.vanilla;
|
||||
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.ExtendedBiomeWrapper;
|
||||
import biomesoplenty.api.biome.generation.GeneratorStage;
|
||||
import biomesoplenty.api.biome.generation.GeneratorWeighted;
|
||||
|
@ -18,6 +19,11 @@ public class BiomeExtTaiga extends ExtendedBiomeWrapper
|
|||
{
|
||||
super(BiomeGenBase.taiga);
|
||||
|
||||
if (BOPBiomes.gravel_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeId = BOPBiomes.gravel_beach.get().biomeID;
|
||||
}
|
||||
|
||||
// grasses
|
||||
GeneratorWeighted grassGenerator = new GeneratorWeighted(0.5F);
|
||||
this.addGenerator("grass", GeneratorStage.GRASS, grassGenerator);
|
||||
|
|
|
@ -54,8 +54,8 @@ public class BlockBOPAsh extends BlockBOPGeneric
|
|||
return;
|
||||
}
|
||||
}
|
||||
entity.motionX *= 0.4D;
|
||||
entity.motionZ *= 0.4D;
|
||||
entity.motionX *= 0.8D;
|
||||
entity.motionZ *= 0.8D;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -144,7 +144,7 @@ public class BlockBOPLeaves extends BlockLeaves implements IBOPBlock
|
|||
return ColoringType.PLAIN;
|
||||
case FLOWERING:
|
||||
return ColoringType.OVERLAY;
|
||||
case MAHOGANY: case MANGROVE: case PALM: case PINE: case REDWOOD: case SACRED_OAK: case WILLOW: default:
|
||||
case MAHOGANY: case MANGROVE: case PALM: case PINE: case REDWOOD: case SACRED_OAK: case WILLOW: case EBONY: case EUCALYPTUS: default:
|
||||
return ColoringType.TINTED;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -175,7 +175,7 @@ public class BlockBOPSapling extends BlockBOPDecoration implements IGrowable {
|
|||
case ETHEREAL: //Not implemented
|
||||
return new WorldGenTrees(true);
|
||||
case ORIGIN:
|
||||
return new GeneratorBasicTree.Builder().amountPerChunk(4).minHeight(5).maxHeight(8).leaves(BOPTrees.ORIGIN).create();
|
||||
return new GeneratorBasicTree.Builder().minHeight(5).maxHeight(8).leaves(BOPTrees.ORIGIN).create();
|
||||
case PINK_CHERRY:
|
||||
return new GeneratorBasicTree.Builder().log(BOPWoods.CHERRY).leaves(BOPTrees.PINK_CHERRY).create();
|
||||
case WHITE_CHERRY:
|
||||
|
@ -202,6 +202,10 @@ public class BlockBOPSapling extends BlockBOPDecoration implements IGrowable {
|
|||
return new GeneratorPineTree.Builder().minHeight(6).maxHeight(18).log(BOPWoods.PINE).leaves(BOPTrees.PINE).create();
|
||||
case MAHOGANY:
|
||||
return new GeneratorMahoganyTree.Builder().create();
|
||||
case EBONY:
|
||||
return new GeneratorBigTree.Builder().log(BOPWoods.EBONY).leaves(BOPTrees.EBONY).minHeight(4).maxHeight(10).foliageHeight(1).create();
|
||||
case EUCALYPTUS: //Not implemented
|
||||
return new GeneratorBulbTree.Builder().minHeight(15).maxHeight(30).log(BOPWoods.EUCALYPTUS).leaves(BOPTrees.EUCALYPTUS).create();
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ import com.google.common.base.Predicate;
|
|||
public enum BOPTrees implements IStringSerializable, IPagedVariants
|
||||
{
|
||||
|
||||
YELLOW_AUTUMN, ORANGE_AUTUMN, BAMBOO, MAGIC, UMBRAN, DEAD, FIR, ETHEREAL, ORIGIN, PINK_CHERRY, WHITE_CHERRY, MAPLE, HELLBARK, FLOWERING, JACARANDA, SACRED_OAK, MANGROVE, PALM, REDWOOD, WILLOW, PINE, MAHOGANY, RED_BIG_FLOWER, YELLOW_BIG_FLOWER;
|
||||
YELLOW_AUTUMN, ORANGE_AUTUMN, BAMBOO, MAGIC, UMBRAN, DEAD, FIR, ETHEREAL, ORIGIN, PINK_CHERRY, WHITE_CHERRY, MAPLE, HELLBARK, FLOWERING, JACARANDA, SACRED_OAK, MANGROVE, PALM, REDWOOD, WILLOW, PINE, MAHOGANY, EBONY, EUCALYPTUS, RED_BIG_FLOWER, YELLOW_BIG_FLOWER;
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
|
|
|
@ -16,7 +16,7 @@ import com.google.common.base.Predicate;
|
|||
public enum BOPWoods implements IStringSerializable, IPagedVariants
|
||||
{
|
||||
|
||||
SACRED_OAK, CHERRY, UMBRAN, FIR, ETHEREAL, MAGIC, MANGROVE, PALM, REDWOOD, WILLOW, PINE, HELLBARK, JACARANDA, MAHOGANY, GIANT_FLOWER, DEAD;
|
||||
SACRED_OAK, CHERRY, UMBRAN, FIR, ETHEREAL, MAGIC, MANGROVE, PALM, REDWOOD, WILLOW, PINE, HELLBARK, JACARANDA, MAHOGANY, EBONY, EUCALYPTUS, GIANT_FLOWER, DEAD;
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
|
|
|
@ -56,8 +56,10 @@ import static biomesoplenty.api.biome.BOPBiomes.moor;
|
|||
import static biomesoplenty.api.biome.BOPBiomes.mountain;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.mountain_foothills;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.mystic_grove;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.oasis;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.ominous_woods;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.origin_valley;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.orchard;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.outback;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.overgrown_cliffs;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.plains_extension;
|
||||
|
@ -79,6 +81,7 @@ import static biomesoplenty.api.biome.BOPBiomes.temperate_rainforest;
|
|||
import static biomesoplenty.api.biome.BOPBiomes.tropical_island;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.tropical_rainforest;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.tundra;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.volcanic_island;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.wasteland;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.wetland;
|
||||
import static biomesoplenty.api.biome.BOPBiomes.woodland;
|
||||
|
@ -138,7 +141,9 @@ import biomesoplenty.common.biome.overworld.BiomeGenMeadow;
|
|||
import biomesoplenty.common.biome.overworld.BiomeGenMoor;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenMountain;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenMysticGrove;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenOasis;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenOminousWoods;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenOrchard;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenOriginValley;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenOutback;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenOvergrownCliffs;
|
||||
|
@ -156,6 +161,7 @@ import biomesoplenty.common.biome.overworld.BiomeGenTemperateRainforest;
|
|||
import biomesoplenty.common.biome.overworld.BiomeGenTropicalIsland;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenTropicalRainforest;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenTundra;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenVolcanicIsland;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenWasteland;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenWetland;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenWoodland;
|
||||
|
@ -240,11 +246,13 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry
|
|||
|
||||
initSubBiomes();
|
||||
initMutatedBiomes();
|
||||
initExtendedBiomes();
|
||||
|
||||
|
||||
registerBiomes();
|
||||
registerBiomeDictionaryTags();
|
||||
|
||||
//After normal biomes to account for adding custom beaches
|
||||
initExtendedBiomes();
|
||||
|
||||
// save the biome ids to the config file (creating it if it doesn't exist)
|
||||
BOPConfig.writeFile(biomeIdMapFile, biomeIdMap);
|
||||
|
||||
|
@ -310,29 +318,12 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry
|
|||
setSubBiome(BiomeGenBase.extremeHillsPlus, BiomeGenBase.getBiome(BiomeGenBase.extremeHillsPlus.biomeID + 128));
|
||||
setSubBiome(BiomeGenBase.megaTaigaHills, BiomeGenBase.getBiome(BiomeGenBase.megaTaigaHills.biomeID + 128));
|
||||
}
|
||||
|
||||
public static void initExtendedBiomes()
|
||||
{
|
||||
biomeWrapperMap = new HashMap<Integer, IExtendedBiome>();
|
||||
|
||||
end_extension = registerWrappedBiome(new BiomeExtEnd(), "end");
|
||||
birch_forest_extension = registerWrappedBiome(new BiomeExtBirchForest(), "birch_forest");
|
||||
desert_extension = registerWrappedBiome(new BiomeExtDesert(), "desert");
|
||||
extreme_hills_extension = registerWrappedBiome(new BiomeExtExtremeHills(), "extreme_hills");
|
||||
forest_extension = registerWrappedBiome(new BiomeExtForest(), "forest");
|
||||
ice_plains_extension = registerWrappedBiome(new BiomeExtIcePlains(), "ice_plains");
|
||||
jungle_extension = registerWrappedBiome(new BiomeExtJungle(), "jungle");
|
||||
mesa_extension = registerWrappedBiome(new BiomeExtMesa(), "mesa");
|
||||
plains_extension = registerWrappedBiome(new BiomeExtPlains(), "plains");
|
||||
roofed_forest_extension = registerWrappedBiome(new BiomeExtRoofedForest(), "roofed_forest");
|
||||
savanna_extension = registerWrappedBiome(new BiomeExtSavanna(), "savanna");
|
||||
swampland_extension = registerWrappedBiome(new BiomeExtSwampland(), "swampland");
|
||||
taiga_extension = registerWrappedBiome(new BiomeExtTaiga(), "taiga");
|
||||
|
||||
}
|
||||
|
||||
private static void registerBiomes()
|
||||
{
|
||||
// beach biomes (normal biomes rely on these being registered first)
|
||||
|
||||
gravel_beach = registerBOPBiome(new BiomeGenGravelBeach(), "Gravel Beach");
|
||||
|
||||
// normal biomes which have weights
|
||||
alps = registerBOPBiome(new BiomeGenAlps(), "Alps");
|
||||
|
@ -371,6 +362,7 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry
|
|||
mountain = registerBOPBiome(new BiomeGenMountain(BiomeGenMountain.MountainType.PEAKS), "Mountain");
|
||||
mystic_grove = registerBOPBiome(new BiomeGenMysticGrove(), "Mystic Grove");
|
||||
ominous_woods = registerBOPBiome(new BiomeGenOminousWoods(), "Ominous Woods");
|
||||
orchard = registerBOPBiome(new BiomeGenOrchard(), "Orchard");
|
||||
origin_valley = registerBOPBiome(new BiomeGenOriginValley(), "Origin Valley");
|
||||
outback = registerBOPBiome(new BiomeGenOutback(), "Outback");
|
||||
overgrown_cliffs = registerBOPBiome(new BiomeGenOvergrownCliffs(), "Overgrown Cliffs");
|
||||
|
@ -396,19 +388,42 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry
|
|||
|
||||
mountain_foothills = registerBOPBiome(new BiomeGenMountain(BiomeGenMountain.MountainType.FOOTHILLS), "Mountain Foothills");
|
||||
canyon_ravine = registerBOPBiome(new BiomeGenCanyon(BiomeGenCanyon.CanyonType.RAVINE), "Canyon Ravine");
|
||||
oasis = registerBOPBiome(new BiomeGenOasis(), "Oasis");
|
||||
coral_reef = registerBOPBiome(new BiomeGenCoralReef(), "Coral Reef");
|
||||
kelp_forest = registerBOPBiome(new BiomeGenKelpForest(), "Kelp Forest");
|
||||
gravel_beach = registerBOPBiome(new BiomeGenGravelBeach(), "Gravel Beach");
|
||||
|
||||
setSubBiome(canyon, canyon_ravine);
|
||||
setSubBiome(Optional.of(BiomeGenBase.desert), BOPBiomes.oasis);
|
||||
setSubBiome(Optional.of(BiomeGenBase.ocean), BOPBiomes.coral_reef);
|
||||
setSubBiome(Optional.of(BiomeGenBase.ocean), BOPBiomes.kelp_forest);
|
||||
|
||||
// island biomes
|
||||
|
||||
tropical_island = registerBOPBiome(new BiomeGenTropicalIsland(), "Tropical Island");
|
||||
volcanic_island = registerBOPBiome(new BiomeGenVolcanicIsland(), "Volcanic Island");
|
||||
|
||||
addIslandBiome(tropical_island, 10);
|
||||
addIslandBiome(volcanic_island, 3);
|
||||
}
|
||||
|
||||
public static void initExtendedBiomes()
|
||||
{
|
||||
biomeWrapperMap = new HashMap<Integer, IExtendedBiome>();
|
||||
|
||||
end_extension = registerWrappedBiome(new BiomeExtEnd(), "end");
|
||||
birch_forest_extension = registerWrappedBiome(new BiomeExtBirchForest(), "birch_forest");
|
||||
desert_extension = registerWrappedBiome(new BiomeExtDesert(), "desert");
|
||||
extreme_hills_extension = registerWrappedBiome(new BiomeExtExtremeHills(), "extreme_hills");
|
||||
forest_extension = registerWrappedBiome(new BiomeExtForest(), "forest");
|
||||
ice_plains_extension = registerWrappedBiome(new BiomeExtIcePlains(), "ice_plains");
|
||||
jungle_extension = registerWrappedBiome(new BiomeExtJungle(), "jungle");
|
||||
mesa_extension = registerWrappedBiome(new BiomeExtMesa(), "mesa");
|
||||
plains_extension = registerWrappedBiome(new BiomeExtPlains(), "plains");
|
||||
roofed_forest_extension = registerWrappedBiome(new BiomeExtRoofedForest(), "roofed_forest");
|
||||
savanna_extension = registerWrappedBiome(new BiomeExtSavanna(), "savanna");
|
||||
swampland_extension = registerWrappedBiome(new BiomeExtSwampland(), "swampland");
|
||||
taiga_extension = registerWrappedBiome(new BiomeExtTaiga(), "taiga");
|
||||
|
||||
}
|
||||
|
||||
private static void registerBiomeDictionaryTags()
|
||||
|
@ -451,7 +466,7 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry
|
|||
registerBiomeToDictionary(BOPBiomes.mountain, Type.MOUNTAIN, Type.FOREST, Type.DRY);
|
||||
registerBiomeToDictionary(BOPBiomes.mystic_grove, Type.MAGICAL, Type.FOREST, Type.LUSH);
|
||||
registerBiomeToDictionary(BOPBiomes.ominous_woods, Type.MAGICAL, Type.FOREST, Type.SPOOKY, Type.DEAD);
|
||||
registerBiomeToDictionary(BOPBiomes.origin_valley, Type.MAGICAL, Type.SPARSE);
|
||||
//registerBiomeToDictionary(BOPBiomes.origin_valley, Type.FOREST, Type.PLAINS, Type.LUSH);
|
||||
registerBiomeToDictionary(BOPBiomes.outback, Type.SANDY, Type.PLAINS, Type.SAVANNA, Type.DRY, Type.HOT);
|
||||
registerBiomeToDictionary(BOPBiomes.overgrown_cliffs, Type.MOUNTAIN, Type.LUSH, Type.DENSE, Type.JUNGLE);
|
||||
registerBiomeToDictionary(BOPBiomes.prairie, Type.PLAINS, Type.DRY, Type.SPARSE);
|
||||
|
@ -475,9 +490,11 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry
|
|||
// edge-biomes, sub-biomes and mutated-biomes
|
||||
registerBiomeToDictionary(BOPBiomes.mountain_foothills, Type.HILLS, Type.MOUNTAIN);
|
||||
registerBiomeToDictionary(BOPBiomes.canyon_ravine, Type.SANDY, Type.HILLS, Type.DRY, Type.HOT);
|
||||
registerBiomeToDictionary(BOPBiomes.oasis, Type.DESERT, Type.LUSH, Type.JUNGLE, Type.HOT);
|
||||
registerBiomeToDictionary(BOPBiomes.coral_reef, Type.WATER, Type.OCEAN);
|
||||
registerBiomeToDictionary(BOPBiomes.kelp_forest, Type.WATER, Type.OCEAN);
|
||||
registerBiomeToDictionary(BOPBiomes.tropical_island, Type.WATER, Type.OCEAN, Type.JUNGLE, Type.LUSH);
|
||||
registerBiomeToDictionary(BOPBiomes.volcanic_island, Type.WATER, Type.OCEAN, Type.DEAD, Type.WASTELAND, Type.MOUNTAIN, Type.HOT);
|
||||
registerBiomeToDictionary(BOPBiomes.gravel_beach, Type.BEACH);
|
||||
|
||||
}
|
||||
|
|
|
@ -62,71 +62,53 @@ public class ModBlocks
|
|||
|
||||
public static void init()
|
||||
{
|
||||
ash_block = registerBlock( new BlockBOPAsh(), "ash_block" );
|
||||
bamboo = registerBlock( new BlockBOPBamboo(), "bamboo" );
|
||||
bone_segment = registerBlock( new BlockBOPBones(), "bone_segment" );
|
||||
coral = registerBlock( new BlockBOPCoral(), "coral" );
|
||||
seaweed = registerBlock( new BlockBOPSeaweed(), "seaweed" );
|
||||
gem_block = registerBlock( new BlockBOPGem(), "gem_block" );
|
||||
gem_ore = registerBlock( new BlockBOPGemOre(), "gem_ore" );
|
||||
hive = registerBlock( new BlockBOPHive(), "hive" );
|
||||
mushroom = registerBlock( new BlockBOPMushroom(), "mushroom" );
|
||||
stone = registerBlock( new BlockBOPStone(), "stone" );
|
||||
mud = registerBlock( new BlockBOPMud(), "mud" );
|
||||
sand = registerBlock( new BlockBOPSand(), "sand" );
|
||||
turnip_block = registerBlock( new BlockBOPTurnip(), "turnip_block", null ); // no creative tab
|
||||
flesh = registerBlock( new BlockBOPFlesh(), "flesh" );
|
||||
//Terrain Blocks
|
||||
grass = registerBlock( new BlockBOPGrass(), "grass" );
|
||||
waterlily = registerBlock( new BlockBOPLilypad(), "waterlily" );
|
||||
dirt = registerBlock( new BlockBOPDirt(), "dirt" );
|
||||
crystal = registerBlock( new BlockBOPCrystal(), "crystal" );
|
||||
biome_block = registerBlock( new BlockBOPBiomeBlock(), "biome_block" );
|
||||
|
||||
// generics
|
||||
bamboo_thatching = registerBlock( (new BlockBOPGeneric(Material.wood)).setStepSound(Block.soundTypeWood).setHardness(2.0F), "bamboo_thatching"); bamboo_thatching.setHarvestLevel("axe", 0);
|
||||
BlockBOPFarmland.createAllPages();
|
||||
farmland_0 = registerBlock( BlockBOPFarmland.paging.getBlock(0), "farmland_0", null);
|
||||
farmland_1 = registerBlock( BlockBOPFarmland.paging.getBlock(1), "farmland_1", null);
|
||||
|
||||
stone = registerBlock( new BlockBOPStone(), "stone" );
|
||||
crag_rock = registerBlock( (new BlockBOPGeneric()).setStepSound(Block.soundTypeStone), "crag_rock" );
|
||||
dried_sand = registerBlock( (new BlockBOPGeneric()).addSupportedPlantType(EnumPlantType.Desert), "dried_sand"); dried_sand.setHarvestLevel("pickaxe",0);
|
||||
hard_ice = registerBlock( (new BlockBOPGeneric(Material.packedIce)).setHardness(0.75F), "hard_ice" );
|
||||
mud_brick_block = registerBlock( (new BlockBOPGeneric()).setResistance(2.0F), "mud_brick_block" );
|
||||
ash_block = registerBlock( new BlockBOPAsh(), "ash_block" );
|
||||
mud = registerBlock( new BlockBOPMud(), "mud" );
|
||||
sand = registerBlock( new BlockBOPSand(), "sand" );
|
||||
flesh = registerBlock( new BlockBOPFlesh(), "flesh" );
|
||||
|
||||
//Building Blocks
|
||||
crystal = registerBlock( new BlockBOPCrystal(), "crystal" );
|
||||
biome_block = registerBlock( new BlockBOPBiomeBlock(), "biome_block" );
|
||||
gem_ore = registerBlock( new BlockBOPGemOre(), "gem_ore" );
|
||||
gem_block = registerBlock( new BlockBOPGem(), "gem_block" );
|
||||
hive = registerBlock( new BlockBOPHive(), "hive" );
|
||||
honey_block = registerBlock( new BlockBOPHoney(), "honey_block" );
|
||||
bone_segment = registerBlock( new BlockBOPBones(), "bone_segment" );
|
||||
|
||||
//Material Blocks
|
||||
bamboo_thatching = registerBlock( (new BlockBOPGeneric(Material.wood)).setStepSound(Block.soundTypeWood).setHardness(2.0F), "bamboo_thatching"); bamboo_thatching.setHarvestLevel("axe", 0);
|
||||
mud_brick_block = registerBlock( (new BlockBOPGeneric()).setResistance(2.0F), "mud_brick_block" );
|
||||
mud_brick_stairs = registerBlock( BOPReflectionHelper.construct(BlockStairs.class, (IBlockState)mud_brick_block.getDefaultState()), "mud_brick_stairs");
|
||||
|
||||
// stone and brick slabs
|
||||
//Stone Slabs
|
||||
// need to register items at the same time really so that they can be mapped to each other - bit messy this
|
||||
other_slab = registerBlock( new BlockBOPHalfOtherSlab(), "other_slab");
|
||||
double_other_slab = registerBlock( new BlockBOPDoubleOtherSlab(), "double_other_slab", null ); // no creative tab for double slab
|
||||
BOPItems.other_slab = ModItems.registerItem( new ItemSlab(other_slab, (BlockSlab)other_slab, (BlockSlab)double_other_slab), "other_slab");
|
||||
|
||||
// 22 flower types 16 per BlockBOPFlower instance, needs 2 'pages'
|
||||
BlockBOPFlower.createAllPages();
|
||||
flower_0 = registerBlock( BlockBOPFlower.paging.getBlock(0), "flower_0" );
|
||||
flower_1 = registerBlock( BlockBOPFlower.paging.getBlock(1), "flower_1" );
|
||||
|
||||
|
||||
// Logs
|
||||
// 16 wood types, 4 per BlockBOPLog instance, needs 4 'pages'
|
||||
BlockBOPLog.createAllPages();
|
||||
log_0 = registerBlock( BlockBOPLog.paging.getBlock(0), "log_0" );
|
||||
log_1 = registerBlock( BlockBOPLog.paging.getBlock(1), "log_1" );
|
||||
log_2 = registerBlock( BlockBOPLog.paging.getBlock(2), "log_2" );
|
||||
log_3 = registerBlock( BlockBOPLog.paging.getBlock(3), "log_3" );
|
||||
log_4 = registerBlock( BlockBOPLog.paging.getBlock(4), "log_4" );
|
||||
|
||||
// TODO: check if hellbark planks, fence etc can burn
|
||||
|
||||
// 16 wood types, 8 per BlockBOPHalfWoodSlab and BlockBOPDoubleWoodSlab intance, needs 2 'pages'
|
||||
// need to register items at the same time really so that they can be mapped to each other - bit messy this
|
||||
BlockBOPDoubleWoodSlab.createAllPages();
|
||||
BlockBOPHalfWoodSlab.createAllPages();
|
||||
wood_slab_0 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(0), "wood_slab_0");
|
||||
double_wood_slab_0 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(0), "double_wood_slab_0", null ); // no creative tab for double slab
|
||||
BOPItems.wood_slab_0 = ModItems.registerItem( new ItemSlab(wood_slab_0, (BlockSlab)wood_slab_0, (BlockSlab)double_wood_slab_0), "wood_slab_0");
|
||||
|
||||
wood_slab_1 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(1), "wood_slab_1");
|
||||
double_wood_slab_1 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(1), "double_wood_slab_1", null ); // no creative tab for double slab
|
||||
BOPItems.wood_slab_1 = ModItems.registerItem( new ItemSlab(wood_slab_1, (BlockSlab)wood_slab_1, (BlockSlab)double_wood_slab_1), "wood_slab_1");
|
||||
|
||||
// 16 wood types, 16 per BlockBOPPlanks instance, needs 1 'pages'
|
||||
BlockBOPPlanks.createAllPages();
|
||||
planks_0 = registerBlock( BlockBOPPlanks.paging.getBlock(0), "planks_0");
|
||||
|
||||
//Leaves
|
||||
// 22 tree types, 4 per BlockBOPLeaves instance, needs 6 'pages'
|
||||
BlockBOPLeaves.createAllPages();
|
||||
leaves_0 = registerBlock( BlockBOPLeaves.paging.getBlock(0), "leaves_0");
|
||||
|
@ -135,16 +117,11 @@ public class ModBlocks
|
|||
leaves_3 = registerBlock( BlockBOPLeaves.paging.getBlock(3), "leaves_3" );
|
||||
leaves_4 = registerBlock( BlockBOPLeaves.paging.getBlock(4), "leaves_4" );
|
||||
leaves_5 = registerBlock( BlockBOPLeaves.paging.getBlock(5), "leaves_5" );
|
||||
|
||||
BlockBOPFarmland.createAllPages();
|
||||
farmland_0 = registerBlock( BlockBOPFarmland.paging.getBlock(0), "farmland_0", null);
|
||||
farmland_1 = registerBlock( BlockBOPFarmland.paging.getBlock(1), "farmland_1", null);
|
||||
|
||||
// 22 tree types, 8 per BlockBOPSapling instance, needs 3 'pages'
|
||||
BlockBOPSapling.createAllPages();
|
||||
sapling_0 = registerBlock( BlockBOPSapling.paging.getBlock(0), "sapling_0");
|
||||
sapling_1 = registerBlock( BlockBOPSapling.paging.getBlock(1), "sapling_1");
|
||||
sapling_2 = registerBlock( BlockBOPSapling.paging.getBlock(2), "sapling_2");
|
||||
leaves_6 = registerBlock( BlockBOPLeaves.paging.getBlock(6), "leaves_6" );
|
||||
|
||||
// 16 wood types, 16 per BlockBOPPlanks instance, needs 1 'pages'
|
||||
BlockBOPPlanks.createAllPages();
|
||||
planks_0 = registerBlock( BlockBOPPlanks.paging.getBlock(0), "planks_0");
|
||||
|
||||
// stairs have no variant metadata, use a new BlockBOPStairs instance for each (note there's no giant_flower_stairs or dead_stairs)
|
||||
sacred_oak_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.SACRED_OAK), "sacred_oak_stairs" );
|
||||
|
@ -161,6 +138,20 @@ public class ModBlocks
|
|||
hellbark_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.HELLBARK), "hellbark_stairs" );
|
||||
jacaranda_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.JACARANDA), "jacaranda_stairs" );
|
||||
mahogany_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.MAHOGANY), "mahogany_stairs" );
|
||||
ebony_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.EBONY), "ebony_stairs" );
|
||||
eucalyptus_stairs = registerBlock( new BlockBOPWoodStairs(BOPWoods.EUCALYPTUS), "eucalyptus_stairs" );
|
||||
|
||||
// 16 wood types, 8 per BlockBOPHalfWoodSlab and BlockBOPDoubleWoodSlab intance, needs 2 'pages'
|
||||
// need to register items at the same time really so that they can be mapped to each other - bit messy this
|
||||
BlockBOPDoubleWoodSlab.createAllPages();
|
||||
BlockBOPHalfWoodSlab.createAllPages();
|
||||
wood_slab_0 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(0), "wood_slab_0");
|
||||
double_wood_slab_0 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(0), "double_wood_slab_0", null ); // no creative tab for double slab
|
||||
BOPItems.wood_slab_0 = ModItems.registerItem( new ItemSlab(wood_slab_0, (BlockSlab)wood_slab_0, (BlockSlab)double_wood_slab_0), "wood_slab_0");
|
||||
|
||||
wood_slab_1 = registerBlock( BlockBOPHalfWoodSlab.paging.getBlock(1), "wood_slab_1");
|
||||
double_wood_slab_1 = registerBlock( BlockBOPDoubleWoodSlab.paging.getBlock(1), "double_wood_slab_1", null ); // no creative tab for double slab
|
||||
BOPItems.wood_slab_1 = ModItems.registerItem( new ItemSlab(wood_slab_1, (BlockSlab)wood_slab_1, (BlockSlab)double_wood_slab_1), "wood_slab_1");
|
||||
|
||||
// fences have no variant metadata, use a new BlockBOPFence instance for each (note there's no giant_flower_fence or dead_fence)
|
||||
sacred_oak_fence = registerBlock( new BlockBOPFence(BOPWoods.SACRED_OAK), "sacred_oak_fence" );
|
||||
|
@ -177,6 +168,8 @@ public class ModBlocks
|
|||
hellbark_fence = registerBlock( new BlockBOPFence(BOPWoods.HELLBARK), "hellbark_fence" );
|
||||
jacaranda_fence = registerBlock( new BlockBOPFence(BOPWoods.JACARANDA), "jacaranda_fence" );
|
||||
mahogany_fence = registerBlock( new BlockBOPFence(BOPWoods.MAHOGANY), "mahogany_fence" );
|
||||
ebony_fence = registerBlock( new BlockBOPFence(BOPWoods.EBONY), "ebony_fence" );
|
||||
eucalyptus_fence = registerBlock( new BlockBOPFence(BOPWoods.EUCALYPTUS), "eucalyptus_fence" );
|
||||
|
||||
// fence gates have no variant metadata, use a new BlockBOPFenceGate instance for each (note there's no giant_flower_fence_gate or dead_fence_gate)
|
||||
sacred_oak_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.SACRED_OAK), "sacred_oak_fence_gate" );
|
||||
|
@ -193,6 +186,8 @@ public class ModBlocks
|
|||
hellbark_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.HELLBARK), "hellbark_fence_gate" );
|
||||
jacaranda_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.JACARANDA), "jacaranda_fence_gate" );
|
||||
mahogany_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.MAHOGANY), "mahogany_fence_gate" );
|
||||
ebony_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.EBONY), "ebony_fence_gate" );
|
||||
eucalyptus_fence_gate = registerBlock( new BlockBOPFenceGate(BOPWoods.EUCALYPTUS), "eucalyptus_fence_gate" );
|
||||
|
||||
// doors have no variant metadata, use a new BlockBOPDoor instance for each (note there's no giant_flower_door or dead_door)
|
||||
sacred_oak_door = registerDoor( new BlockBOPDoor(BOPWoods.SACRED_OAK), "sacred_oak_door", BOPItems.sacred_oak_door );
|
||||
|
@ -209,21 +204,42 @@ public class ModBlocks
|
|||
hellbark_door = registerDoor( new BlockBOPDoor(BOPWoods.HELLBARK), "hellbark_door", BOPItems.hellbark_door );
|
||||
jacaranda_door = registerDoor( new BlockBOPDoor(BOPWoods.JACARANDA), "jacaranda_door", BOPItems.jacaranda_door );
|
||||
mahogany_door = registerDoor( new BlockBOPDoor(BOPWoods.MAHOGANY), "mahogany_door", BOPItems.mahogany_door );
|
||||
ebony_door = registerDoor( new BlockBOPDoor(BOPWoods.EBONY), "ebony_door", BOPItems.ebony_door );
|
||||
eucalyptus_door = registerDoor( new BlockBOPDoor(BOPWoods.EUCALYPTUS), "eucalyptus_door", BOPItems.eucalyptus_door );
|
||||
|
||||
// Plants
|
||||
|
||||
coral = registerBlock( new BlockBOPCoral(), "coral" );
|
||||
seaweed = registerBlock( new BlockBOPSeaweed(), "seaweed" );
|
||||
waterlily = registerBlock( new BlockBOPLilypad(), "waterlily" );
|
||||
moss = registerBlock( new BlockBOPVine(true), "moss" );
|
||||
bamboo = registerBlock( new BlockBOPBamboo(), "bamboo" );
|
||||
turnip_block = registerBlock( new BlockBOPTurnip(), "turnip_block", null ); // no creative tab
|
||||
|
||||
// 22 tree types, 8 per BlockBOPSapling instance, needs 3 'pages'
|
||||
BlockBOPSapling.createAllPages();
|
||||
sapling_0 = registerBlock( BlockBOPSapling.paging.getBlock(0), "sapling_0");
|
||||
sapling_1 = registerBlock( BlockBOPSapling.paging.getBlock(1), "sapling_1");
|
||||
sapling_2 = registerBlock( BlockBOPSapling.paging.getBlock(2), "sapling_2");
|
||||
|
||||
//Plants
|
||||
BlockBOPPlant.createAllPages();
|
||||
plant_0 = registerBlock( BlockBOPPlant.paging.getBlock(0), "plant_0" );
|
||||
plant_1 = registerBlock( BlockBOPPlant.paging.getBlock(1), "plant_1" );
|
||||
double_plant = registerBlock( new BlockBOPDoublePlant(), "double_plant" );
|
||||
mushroom = registerBlock( new BlockBOPMushroom(), "mushroom" );
|
||||
|
||||
// 22 flower types 16 per BlockBOPFlower instance, needs 2 'pages'
|
||||
BlockBOPFlower.createAllPages();
|
||||
flower_0 = registerBlock( BlockBOPFlower.paging.getBlock(0), "flower_0" );
|
||||
flower_1 = registerBlock( BlockBOPFlower.paging.getBlock(1), "flower_1" );
|
||||
|
||||
//vines
|
||||
// TODO: special placement rules?
|
||||
flower_vine = registerBlock( new BlockBOPVine(false), "flower_vine" );
|
||||
ivy = registerBlock( new BlockBOPVine(true), "ivy" );
|
||||
moss = registerBlock( new BlockBOPVine(true), "moss" );
|
||||
tree_moss = registerBlock( new BlockBOPVine(false), "tree_moss" );
|
||||
|
||||
BlockBOPPlant.createAllPages();
|
||||
plant_0 = registerBlock( BlockBOPPlant.paging.getBlock(0), "plant_0" );
|
||||
plant_1 = registerBlock( BlockBOPPlant.paging.getBlock(1), "plant_1" );
|
||||
double_plant = registerBlock( new BlockBOPDoublePlant(), "double_plant" );
|
||||
|
||||
honey_block = registerBlock( new BlockBOPHoney(), "honey_block" );
|
||||
terrarium = registerBlock( new BlockBOPTerrarium(), "terrarium" );
|
||||
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ import net.minecraftforge.oredict.ShapelessOreRecipe;
|
|||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.item.BOPItems;
|
||||
import biomesoplenty.common.block.BlockBOPBones;
|
||||
import biomesoplenty.common.block.BlockBOPDirt;
|
||||
import biomesoplenty.common.block.BlockBOPDoor;
|
||||
import biomesoplenty.common.block.BlockBOPDoublePlant;
|
||||
import biomesoplenty.common.block.BlockBOPFence;
|
||||
|
@ -34,6 +35,7 @@ import biomesoplenty.common.block.BlockBOPLog;
|
|||
import biomesoplenty.common.block.BlockBOPMushroom;
|
||||
import biomesoplenty.common.block.BlockBOPPlanks;
|
||||
import biomesoplenty.common.block.BlockBOPPlant;
|
||||
import biomesoplenty.common.block.BlockBOPSand;
|
||||
import biomesoplenty.common.block.BlockBOPSapling;
|
||||
import biomesoplenty.common.block.BlockBOPSeaweed;
|
||||
import biomesoplenty.common.block.BlockBOPTerrarium;
|
||||
|
@ -239,6 +241,16 @@ public class ModCrafting
|
|||
// Mossy Stone Brick
|
||||
GameRegistry.addShapedRecipe(new ItemStack(Blocks.stonebrick, 1, 1), new Object[] {"MMM", "MSM", "MMM", 'M', BOPBlocks.moss, 'S', Blocks.stonebrick});
|
||||
|
||||
//Coarse Dirts
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY).withProperty(BlockBOPDirt.COARSE, true))), new Object[] {"GD", "DG", 'G', Blocks.gravel, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.LOAMY.ordinal())});
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY).withProperty(BlockBOPDirt.COARSE, true))), new Object[] {"DG", "GD", 'G', Blocks.gravel, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.LOAMY.ordinal())});
|
||||
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY).withProperty(BlockBOPDirt.COARSE, true))), new Object[] {"GD", "DG", 'G', Blocks.gravel, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SANDY.ordinal())});
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY).withProperty(BlockBOPDirt.COARSE, true))), new Object[] {"DG", "GD", 'G', Blocks.gravel, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SANDY.ordinal())});
|
||||
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY).withProperty(BlockBOPDirt.COARSE, true))), new Object[] {"GD", "DG", 'G', Blocks.gravel, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SILTY.ordinal())});
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY).withProperty(BlockBOPDirt.COARSE, true))), new Object[] {"DG", "GD", 'G', Blocks.gravel, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SILTY.ordinal())});
|
||||
|
||||
// Enderporter
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPItems.enderporter), new Object[] {"IOI", "OAO", "IOI", 'I', Items.ender_eye, 'O', new ItemStack(BOPItems.soul), 'A', new ItemStack(BOPItems.gem, 1, BOPGems.AMETHYST.ordinal())});
|
||||
|
||||
|
@ -308,6 +320,7 @@ public class ModCrafting
|
|||
{
|
||||
|
||||
// Register smelting recipes
|
||||
GameRegistry.addSmelting(new ItemStack(BOPBlocks.sand, 1, BlockBOPSand.SandType.QUICKSAND.ordinal()), new ItemStack(Blocks.sand), 0F);
|
||||
GameRegistry.addSmelting(new ItemStack(BOPBlocks.mud), new ItemStack(Blocks.dirt), 0F);
|
||||
GameRegistry.addSmelting(BlockBOPPlant.paging.getVariantItem(BOPPlants.TINYCACTUS), new ItemStack(Items.dye, 1, EnumDyeColor.GREEN.getDyeDamage()), 0.2F);
|
||||
GameRegistry.addSmelting(BOPItems.mudball, new ItemStack(BOPItems.mud_brick), 0F);
|
||||
|
@ -352,6 +365,8 @@ public class ModCrafting
|
|||
OreDictionary.registerOre("blockGrass", new ItemStack(BOPBlocks.grass, 1, BlockBOPGrass.BOPGrassType.ORIGIN.ordinal()));
|
||||
OreDictionary.registerOre("blockGrass", new ItemStack(Blocks.grass));
|
||||
|
||||
OreDictionary.registerOre("blockDirt", new ItemStack(Blocks.dirt));
|
||||
|
||||
OreDictionary.registerOre("foodMushroompowder", new ItemStack(BOPItems.shroompowder));
|
||||
OreDictionary.registerOre("foodFruitsalad", new ItemStack(BOPItems.saladfruit));
|
||||
OreDictionary.registerOre("foodVeggiesalad", new ItemStack(BOPItems.saladveggie));
|
||||
|
|
|
@ -45,16 +45,12 @@ public class ModItems
|
|||
public static void registerItems()
|
||||
{
|
||||
// food
|
||||
ambrosia = registerItem(new ItemAmbrosia(), "ambrosia");
|
||||
berries = registerItem(new ItemBOPFood(1, 0.1F, 8), "berries");
|
||||
shroompowder = registerItem(new ItemFood(1, 0.1F, false), "shroompowder");
|
||||
((ItemFood)shroompowder).setAlwaysEdible();
|
||||
((ItemFood)shroompowder).setPotionEffect(Potion.confusion.id, 225, 0, 0.6F);
|
||||
peach = registerItem(new ItemFood(5, 0.2F, false), "peach");
|
||||
berries = registerItem(new ItemBOPFood(1, 0.1F, 8), "berries");
|
||||
pear = registerItem(new ItemFood(5, 0.3F, false), "pear");
|
||||
peach = registerItem(new ItemFood(5, 0.2F, false), "peach");
|
||||
persimmon = registerItem(new ItemFood(5, 0.2F, false), "persimmon");
|
||||
filled_honeycomb = registerItem(new ItemBOPFood(3, 0.4F, 16), "filled_honeycomb");
|
||||
turnip_seeds = registerItem(new ItemSeeds(BOPBlocks.turnip_block, Blocks.farmland), "turnip_seeds");
|
||||
turnip = registerItem(new ItemFood(3, 0.4F, false), "turnip");
|
||||
pear = registerItem(new ItemFood(5, 0.3F, false), "pear");
|
||||
saladfruit = registerItem(new ItemSoup(6), "saladfruit");
|
||||
((ItemFood)saladfruit).setPotionEffect(Potion.digSpeed.id, 775, 1, 0.05F);
|
||||
saladveggie = registerItem(new ItemSoup(6), "saladveggie");
|
||||
|
@ -62,35 +58,36 @@ public class ModItems
|
|||
saladshroom = registerItem(new ItemSoup(6), "saladshroom");
|
||||
((ItemFood)saladshroom).setPotionEffect(Potion.jump.id, 550, 1, 0.05F);
|
||||
ricebowl = registerItem(new ItemSoup(2), "ricebowl");
|
||||
honeycomb = registerItem(new Item(), "honeycomb");
|
||||
filled_honeycomb = registerItem(new ItemBOPFood(3, 0.4F, 16), "filled_honeycomb");
|
||||
pinecone = registerItem(new Item(), "pinecone");
|
||||
shroompowder = registerItem(new ItemFood(1, 0.1F, false), "shroompowder");
|
||||
((ItemFood)shroompowder).setAlwaysEdible();
|
||||
((ItemFood)shroompowder).setPotionEffect(Potion.confusion.id, 225, 0, 0.6F);
|
||||
ambrosia = registerItem(new ItemAmbrosia(), "ambrosia");
|
||||
|
||||
earth = registerItem(new Item(), "earth");
|
||||
earth.setCreativeTab(null);
|
||||
fleshchunk = registerItem(new Item(), "fleshchunk");
|
||||
flax_string = registerItem(new Item(), "flax_string");
|
||||
mudball = registerItem(new ItemMudball(), "mudball");
|
||||
turnip_seeds = registerItem(new ItemSeeds(BOPBlocks.turnip_block, Blocks.farmland), "turnip_seeds");
|
||||
crystal_shard = registerItem(new Item(), "crystal_shard");
|
||||
mud_brick = registerItem(new Item(), "mud_brick");
|
||||
ash = registerItem(new Item(), "ash");
|
||||
fleshchunk = registerItem(new Item(), "fleshchunk");
|
||||
gem = registerItem(new ItemGem(), "gem");
|
||||
terrestrial_artifact = registerItem(new Item(), "terrestrial_artifact");
|
||||
terrestrial_artifact.setMaxStackSize(1);
|
||||
flax_string = registerItem(new Item(), "flax_string");
|
||||
honeycomb = registerItem(new Item(), "honeycomb");
|
||||
gem = registerItem(new ItemGem(), "gem");
|
||||
ash = registerItem(new Item(), "ash");
|
||||
mud_brick = registerItem(new Item(), "mud_brick");
|
||||
crystal_shard = registerItem(new Item(), "crystal_shard");
|
||||
biome_essence = registerItem(new ItemBiomeEssence(), "biome_essence");
|
||||
pixie_dust = registerItem(new Item(), "pixie_dust");
|
||||
ichor = registerItem(new Item(), "ichor");
|
||||
soul = registerItem(new Item(), "soul");
|
||||
soul.setMaxStackSize(1);
|
||||
// TODO: move dyes to their own class?
|
||||
blue_dye = registerItem(new Item(), "blue_dye");
|
||||
brown_dye = registerItem(new Item(), "brown_dye");
|
||||
green_dye = registerItem(new Item(), "green_dye");
|
||||
white_dye = registerItem(new Item(), "white_dye");
|
||||
black_dye = registerItem(new Item(), "black_dye");
|
||||
soul = registerItem(new Item(), "soul");
|
||||
soul.setMaxStackSize(1);
|
||||
pixie_dust = registerItem(new Item(), "pixie_dust");
|
||||
ichor = registerItem(new Item(), "ichor");
|
||||
pinecone = registerItem(new Item(), "pinecone");
|
||||
|
||||
|
||||
dart = registerItem(new ItemDart(), "dart");
|
||||
dart_blower = registerItem(new ItemDartBlower(), "dart_blower");
|
||||
|
||||
// armor
|
||||
|
||||
|
@ -130,8 +127,6 @@ public class ModItems
|
|||
amethyst_chestplate = registerItem(new ItemArmor(amethyst_armor_material, 0, 1), "amethyst_chestplate");
|
||||
amethyst_leggings = registerItem(new ItemArmor(amethyst_armor_material, 0, 2), "amethyst_leggings");
|
||||
amethyst_boots = registerItem(new ItemArmor(amethyst_armor_material, 0, 3), "amethyst_boots");
|
||||
|
||||
|
||||
|
||||
// tools
|
||||
|
||||
|
@ -162,7 +157,6 @@ public class ModItems
|
|||
amethyst_shovel = registerItem(new ItemSpade(amethyst_tool_material), "amethyst_shovel");
|
||||
amethyst_sword = registerItem(new ItemSword(amethyst_tool_material), "amethyst_sword");
|
||||
|
||||
|
||||
mud_scythe = registerItem(new ItemBOPScythe(mud_tool_material), "mud_scythe");
|
||||
wood_scythe = registerItem(new ItemBOPScythe(ToolMaterial.WOOD), "wood_scythe");
|
||||
stone_scythe = registerItem(new ItemBOPScythe(ToolMaterial.STONE), "stone_scythe");
|
||||
|
@ -170,14 +164,15 @@ public class ModItems
|
|||
gold_scythe = registerItem(new ItemBOPScythe(ToolMaterial.GOLD), "gold_scythe");
|
||||
diamond_scythe = registerItem(new ItemBOPScythe(ToolMaterial.EMERALD), "diamond_scythe");
|
||||
amethyst_scythe = registerItem(new ItemBOPScythe(amethyst_tool_material), "amethyst_scythe");
|
||||
|
||||
|
||||
biome_finder = registerItem(new ItemBiomeFinder(), "biome_finder");
|
||||
biome_essence = registerItem(new ItemBiomeEssence(), "biome_essence");
|
||||
enderporter = registerItem(new ItemEnderporter(), "enderporter");
|
||||
flower_basket = registerItem(new ItemFlowerBasket(), "flower_basket");
|
||||
dart = registerItem(new ItemDart(), "dart");
|
||||
dart_blower = registerItem(new ItemDartBlower(), "dart_blower");
|
||||
|
||||
jar_empty = registerItem(new ItemJarEmpty(), "jar_empty");
|
||||
jar_filled = registerItem(new ItemJarFilled(), "jar_filled");
|
||||
flower_basket = registerItem(new ItemFlowerBasket(), "flower_basket");
|
||||
biome_finder = registerItem(new ItemBiomeFinder(), "biome_finder");
|
||||
enderporter = registerItem(new ItemEnderporter(), "enderporter");
|
||||
|
||||
record_wanderer = registerItem(new ItemBOPRecord("wanderer"), "record_wanderer");
|
||||
record_corruption = registerItem(new ItemBOPRecord("corruption"), "record_corruption");
|
||||
|
|
|
@ -24,6 +24,7 @@ import biomesoplenty.common.world.layer.GenLayerRaggedEdges;
|
|||
import biomesoplenty.common.world.layer.GenLayerRainfallNoise;
|
||||
import biomesoplenty.common.world.layer.GenLayerRainfallRandom;
|
||||
import biomesoplenty.common.world.layer.GenLayerRiverMixBOP;
|
||||
import biomesoplenty.common.world.layer.GenLayerShoreBOP;
|
||||
import biomesoplenty.common.world.layer.GenLayerSubBiomesBOP;
|
||||
import biomesoplenty.common.world.layer.GenLayerTemperatureLatitude;
|
||||
import biomesoplenty.common.world.layer.GenLayerTemperatureNoise;
|
||||
|
@ -258,7 +259,7 @@ public class WorldChunkManagerBOP extends WorldChunkManager
|
|||
{
|
||||
mainBranch = new GenLayerZoom((long)(1000 + i), mainBranch);
|
||||
if (i == 0) {mainBranch = new GenLayerRaggedEdges(3L, mainBranch);}
|
||||
if (i == 1 || biomeSize == 1) {mainBranch = new GenLayerShore(1000L, mainBranch);}
|
||||
if (i == 1 || biomeSize == 1) {mainBranch = new GenLayerShoreBOP(1000L, mainBranch);}
|
||||
}
|
||||
mainBranch = new GenLayerSmooth(1000L, mainBranch);
|
||||
|
||||
|
|
|
@ -0,0 +1,175 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2016, 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.layer;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
|
||||
import biomesoplenty.api.biome.BOPBiome;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.biome.IExtendedBiome;
|
||||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.biome.BiomeGenJungle;
|
||||
import net.minecraft.world.biome.BiomeGenMesa;
|
||||
import net.minecraft.world.gen.layer.GenLayer;
|
||||
import net.minecraft.world.gen.layer.IntCache;
|
||||
|
||||
public class GenLayerShoreBOP extends BOPGenLayer
|
||||
{
|
||||
public GenLayerShoreBOP(long seed, GenLayer parent)
|
||||
{
|
||||
super(seed);
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getInts(int areaX, int areaY, int areaWidth, int areaHeight)
|
||||
{
|
||||
int[] biomeIds = this.parent.getInts(areaX - 1, areaY - 1, areaWidth + 2, areaHeight + 2);
|
||||
int[] out = IntCache.getIntCache(areaWidth * areaHeight);
|
||||
|
||||
for (int z = 0; z < areaHeight; ++z)
|
||||
{
|
||||
for (int x = 0; x < areaWidth; ++x)
|
||||
{
|
||||
this.initChunkSeed((long)(x + areaX), (long)(z + areaY));
|
||||
//The biome we're going to attempt to put a beach beside
|
||||
int biomeId = biomeIds[x + 1 + (z + 1) * (areaWidth + 2)];
|
||||
BiomeGenBase biome = BiomeGenBase.getBiome(biomeId);
|
||||
|
||||
if (biomeId == BiomeGenBase.mushroomIsland.biomeID)
|
||||
{
|
||||
setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, BiomeGenBase.mushroomIslandShore.biomeID, OCEAN_PREDICATE);
|
||||
}
|
||||
else if (biome != null && biome.getBiomeClass() == BiomeGenJungle.class)
|
||||
{
|
||||
int biomeNorth = biomeIds[x + 1 + (z + 1 - 1) * (areaWidth + 2)];
|
||||
int biomeEast = biomeIds[x + 1 + 1 + (z + 1) * (areaWidth + 2)];
|
||||
int biomeWest = biomeIds[x + 1 - 1 + (z + 1) * (areaWidth + 2)];
|
||||
int biomeSouth = biomeIds[x + 1 + (z + 1 + 1) * (areaWidth + 2)];
|
||||
|
||||
//Ensure the biomes surrounding the jungle are all suitable before generating a beach
|
||||
if (JUNGLE_BORDER_PREDICATE.apply(biomeNorth) && JUNGLE_BORDER_PREDICATE.apply(biomeEast) && JUNGLE_BORDER_PREDICATE.apply(biomeWest) && JUNGLE_BORDER_PREDICATE.apply(biomeSouth))
|
||||
{
|
||||
setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, BiomeGenBase.beach.biomeID, OCEANIC_PREDICATE);
|
||||
}
|
||||
else //There is a non-jungle/ocean/taiga/forest next to the jungle, generate an edge biome
|
||||
{
|
||||
out[x + z * areaWidth] = BiomeGenBase.jungleEdge.biomeID;
|
||||
}
|
||||
}
|
||||
else if (biomeId != BiomeGenBase.extremeHills.biomeID && biomeId != BiomeGenBase.extremeHillsPlus.biomeID && biomeId != BiomeGenBase.extremeHillsEdge.biomeID)
|
||||
{
|
||||
if (biome != null && biome.isSnowyBiome()) //Snowy biomes should have cold beaches
|
||||
{
|
||||
//Frozen ocean should not have a beach
|
||||
if (isBiomeOceanic(biomeId)) out[x + z * areaWidth] = biomeId;
|
||||
else
|
||||
setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, BiomeGenBase.coldBeach.biomeID, OCEANIC_PREDICATE);
|
||||
}
|
||||
else if (biomeId != BiomeGenBase.mesa.biomeID && biomeId != BiomeGenBase.mesaPlateau_F.biomeID)
|
||||
{
|
||||
if (biomeId != BiomeGenBase.ocean.biomeID && biomeId != BiomeGenBase.deepOcean.biomeID && biomeId != BiomeGenBase.river.biomeID && biomeId != BiomeGenBase.swampland.biomeID)
|
||||
{
|
||||
//Generate custom beaches for our biomes
|
||||
if (biome != null && BOPBiomes.REG_INSTANCE.getExtendedBiome(biome) != null)
|
||||
{
|
||||
IExtendedBiome extBiome = BOPBiomes.REG_INSTANCE.getExtendedBiome(biome);
|
||||
setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, extBiome.getBeachId() == -1 ? biomeId : extBiome.getBeachId(), OCEANIC_PREDICATE);
|
||||
}
|
||||
else
|
||||
{
|
||||
setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, BiomeGenBase.beach.biomeID, OCEANIC_PREDICATE);
|
||||
}
|
||||
}
|
||||
else //Biome is watery, don't put any beaches next to it
|
||||
{
|
||||
out[x + z * areaWidth] = biomeId;
|
||||
}
|
||||
}
|
||||
else //Biome is a variant of the mesa
|
||||
{
|
||||
int biomeNorth = biomeIds[x + 1 + (z + 1 - 1) * (areaWidth + 2)];
|
||||
int biomeEast = biomeIds[x + 1 + 1 + (z + 1) * (areaWidth + 2)];
|
||||
int biomeWest = biomeIds[x + 1 - 1 + (z + 1) * (areaWidth + 2)];
|
||||
int biomeSouth = biomeIds[x + 1 + (z + 1 + 1) * (areaWidth + 2)];
|
||||
|
||||
//Ensure that none of the surrounding biomes are ocean
|
||||
if (!isBiomeOceanic(biomeNorth) && !isBiomeOceanic(biomeEast) && !isBiomeOceanic(biomeWest) && !isBiomeOceanic(biomeSouth))
|
||||
{
|
||||
//If at least one of the surrounding biomes is a non-mesa, set it to desert
|
||||
setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, BiomeGenBase.desert.biomeID, MESA_PREDICATE);
|
||||
}
|
||||
else
|
||||
{
|
||||
out[x + z * areaWidth] = biomeId;
|
||||
}
|
||||
}
|
||||
}
|
||||
else //Biome is a variant of the extreme hills
|
||||
{
|
||||
this.setBiomeWithAdjacent(biomeIds, out, x, z, areaWidth, biomeId, BiomeGenBase.stoneBeach.biomeID, OCEANIC_PREDICATE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
private void setBiomeWithAdjacent(int[] biomeIds, int[] out, int x, int z, int areaWidth, int biomeId, int beachId, Predicate<Integer> adjacentPredicate)
|
||||
{
|
||||
int biomeNorth = biomeIds[x + 1 + (z + 1 - 1) * (areaWidth + 2)];
|
||||
int biomeEast = biomeIds[x + 1 + 1 + (z + 1) * (areaWidth + 2)];
|
||||
int biomeWest = biomeIds[x + 1 - 1 + (z + 1) * (areaWidth + 2)];
|
||||
int biomeSouth = biomeIds[x + 1 + (z + 1 + 1) * (areaWidth + 2)];
|
||||
|
||||
if (adjacentPredicate.apply(biomeNorth) || adjacentPredicate.apply(biomeEast) || adjacentPredicate.apply(biomeWest) || adjacentPredicate.apply(biomeSouth))
|
||||
{
|
||||
out[x + z * areaWidth] = beachId;
|
||||
}
|
||||
else
|
||||
{
|
||||
out[x + z * areaWidth] = biomeId;
|
||||
}
|
||||
}
|
||||
|
||||
private static final Predicate<Integer> OCEAN_PREDICATE = new Predicate<Integer>()
|
||||
{
|
||||
@Override
|
||||
public boolean apply(Integer input)
|
||||
{
|
||||
return input == BiomeGenBase.ocean.biomeID;
|
||||
}
|
||||
};
|
||||
|
||||
private static final Predicate<Integer> OCEANIC_PREDICATE = new Predicate<Integer>()
|
||||
{
|
||||
@Override
|
||||
public boolean apply(Integer input)
|
||||
{
|
||||
return isBiomeOceanic(input);
|
||||
}
|
||||
};
|
||||
|
||||
private static final Predicate<Integer> JUNGLE_BORDER_PREDICATE = new Predicate<Integer>()
|
||||
{
|
||||
@Override
|
||||
public boolean apply(Integer input)
|
||||
{
|
||||
return BiomeGenBase.getBiome(input) != null && BiomeGenBase.getBiome(input).getBiomeClass() == BiomeGenJungle.class ? true : input == BiomeGenBase.jungleEdge.biomeID || input == BiomeGenBase.jungle.biomeID || input == BiomeGenBase.jungleHills.biomeID || input == BiomeGenBase.forest.biomeID || input == BiomeGenBase.taiga.biomeID || isBiomeOceanic(input);
|
||||
}
|
||||
};
|
||||
|
||||
private static final Predicate<Integer> MESA_PREDICATE = new Predicate<Integer>()
|
||||
{
|
||||
@Override
|
||||
public boolean apply(Integer input)
|
||||
{
|
||||
return !(BiomeGenBase.getBiome(input) instanceof BiomeGenMesa);
|
||||
}
|
||||
};
|
||||
}
|
|
@ -5,6 +5,8 @@
|
|||
"variant=pine": { "model": "biomesoplenty:pine_planks" },
|
||||
"variant=hellbark": { "model": "biomesoplenty:hellbark_planks" },
|
||||
"variant=jacaranda": { "model": "biomesoplenty:jacaranda_planks" },
|
||||
"variant=mahogany": { "model": "biomesoplenty:mahogany_planks" }
|
||||
"variant=mahogany": { "model": "biomesoplenty:mahogany_planks" },
|
||||
"variant=ebony": { "model": "biomesoplenty:ebony_planks" },
|
||||
"variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_planks" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_bottom" },
|
||||
"facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_bottom", "y": 90 },
|
||||
"facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_bottom", "y": 180 },
|
||||
"facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_bottom", "y": 270 },
|
||||
"facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_bottom_rh" },
|
||||
"facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 90 },
|
||||
"facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 180 },
|
||||
"facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 270 },
|
||||
"facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 90 },
|
||||
"facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 180 },
|
||||
"facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_bottom_rh", "y": 270 },
|
||||
"facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_bottom_rh" },
|
||||
"facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_bottom", "y": 270 },
|
||||
"facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_bottom" },
|
||||
"facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_bottom", "y": 90 },
|
||||
"facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_bottom", "y": 180 },
|
||||
"facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_top" },
|
||||
"facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_top", "y": 90 },
|
||||
"facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_top", "y": 180 },
|
||||
"facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:ebony_door_top", "y": 270 },
|
||||
"facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_top_rh" },
|
||||
"facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_top_rh", "y": 90 },
|
||||
"facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_top_rh", "y": 180 },
|
||||
"facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:ebony_door_top_rh", "y": 270 },
|
||||
"facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_top_rh", "y": 90 },
|
||||
"facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_top_rh", "y": 180 },
|
||||
"facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_top_rh", "y": 270 },
|
||||
"facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:ebony_door_top_rh" },
|
||||
"facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_top", "y": 270 },
|
||||
"facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_top" },
|
||||
"facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_top", "y": 90 },
|
||||
"facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:ebony_door_top", "y": 180 }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"variants": {
|
||||
"normal": { biomesoplenty:ebony_planks" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"east=false,north=false,south=false,west=false": { "model": "biomesoplenty:ebony_fence_post" },
|
||||
"east=false,north=true,south=false,west=false": { "model": "biomesoplenty:ebony_fence_n", "uvlock": true },
|
||||
"east=true,north=false,south=false,west=false": { "model": "biomesoplenty:ebony_fence_n", "y": 90, "uvlock": true },
|
||||
"east=false,north=false,south=true,west=false": { "model": "biomesoplenty:ebony_fence_n", "y": 180, "uvlock": true },
|
||||
"east=false,north=false,south=false,west=true": { "model": "biomesoplenty:ebony_fence_n", "y": 270, "uvlock": true },
|
||||
"east=true,north=true,south=false,west=false": { "model": "biomesoplenty:ebony_fence_ne", "uvlock": true },
|
||||
"east=true,north=false,south=true,west=false": { "model": "biomesoplenty:ebony_fence_ne", "y": 90, "uvlock": true },
|
||||
"east=false,north=false,south=true,west=true": { "model": "biomesoplenty:ebony_fence_ne", "y": 180, "uvlock": true },
|
||||
"east=false,north=true,south=false,west=true": { "model": "biomesoplenty:ebony_fence_ne", "y": 270, "uvlock": true },
|
||||
"east=false,north=true,south=true,west=false": { "model": "biomesoplenty:ebony_fence_ns", "uvlock": true },
|
||||
"east=true,north=false,south=false,west=true": { "model": "biomesoplenty:ebony_fence_ns", "y": 90, "uvlock": true },
|
||||
"east=true,north=true,south=true,west=false": { "model": "biomesoplenty:ebony_fence_nse", "uvlock": true },
|
||||
"east=true,north=false,south=true,west=true": { "model": "biomesoplenty:ebony_fence_nse", "y": 90, "uvlock": true },
|
||||
"east=false,north=true,south=true,west=true": { "model": "biomesoplenty:ebony_fence_nse", "y": 180, "uvlock": true },
|
||||
"east=true,north=true,south=false,west=true": { "model": "biomesoplenty:ebony_fence_nse", "y": 270, "uvlock": true },
|
||||
"east=true,north=true,south=true,west=true": { "model": "biomesoplenty:ebony_fence_nsew", "uvlock": true }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south,in_wall=false,open=false": { "model": "biomesoplenty:ebony_fence_gate_closed" },
|
||||
"facing=west,in_wall=false,open=false": { "model": "biomesoplenty:ebony_fence_gate_closed", "y": 90, "uvlock": true },
|
||||
"facing=north,in_wall=false,open=false": { "model": "biomesoplenty:ebony_fence_gate_closed", "y": 180, "uvlock": true },
|
||||
"facing=east,in_wall=false,open=false": { "model": "biomesoplenty:ebony_fence_gate_closed", "y": 270, "uvlock": true },
|
||||
"facing=south,in_wall=false,open=true": { "model": "biomesoplenty:ebony_fence_gate_open" },
|
||||
"facing=west,in_wall=false,open=true": { "model": "biomesoplenty:ebony_fence_gate_open", "y": 90, "uvlock": true },
|
||||
"facing=north,in_wall=false,open=true": { "model": "biomesoplenty:ebony_fence_gate_open", "y": 180, "uvlock": true },
|
||||
"facing=east,in_wall=false,open=true": { "model": "biomesoplenty:ebony_fence_gate_open", "y": 270, "uvlock": true },
|
||||
"facing=south,in_wall=true,open=false": { "model": "biomesoplenty:ebony_wall_gate_closed" },
|
||||
"facing=west,in_wall=true,open=false": { "model": "biomesoplenty:ebony_wall_gate_closed", "y": 90, "uvlock": true },
|
||||
"facing=north,in_wall=true,open=false": { "model": "biomesoplenty:ebony_wall_gate_closed", "y": 180, "uvlock": true },
|
||||
"facing=east,in_wall=true,open=false": { "model": "biomesoplenty:ebony_wall_gate_closed", "y": 270, "uvlock": true },
|
||||
"facing=south,in_wall=true,open=true": { "model": "biomesoplenty:ebony_wall_gate_open" },
|
||||
"facing=west,in_wall=true,open=true": { "model": "biomesoplenty:ebony_wall_gate_open", "y": 90, "uvlock": true },
|
||||
"facing=north,in_wall=true,open=true": { "model": "biomesoplenty:ebony_wall_gate_open", "y": 180, "uvlock": true },
|
||||
"facing=east,in_wall=true,open=true": { "model": "biomesoplenty:ebony_wall_gate_open", "y": 270, "uvlock": true }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"variants": {
|
||||
"half=bottom": { "model": "biomesoplenty:half_slab_ebony" },
|
||||
"half=top": { "model": "biomesoplenty:upper_slab_ebony" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:ebony_stairs" },
|
||||
"facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:ebony_stairs", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:ebony_stairs", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:ebony_stairs", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs" },
|
||||
"facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "y": 270, "uvlock": true },
|
||||
"facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "y": 90, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs" },
|
||||
"facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "y": 180, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs" },
|
||||
"facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "y": 270, "uvlock": true },
|
||||
"facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "y": 90, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs" },
|
||||
"facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "y": 180, "uvlock": true },
|
||||
"facing=east,half=top,shape=straight": { "model": "biomesoplenty:ebony_stairs", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=straight": { "model": "biomesoplenty:ebony_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=straight": { "model": "biomesoplenty:ebony_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=straight": { "model": "biomesoplenty:ebony_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:ebony_outer_stairs", "x": 180, "uvlock": true },
|
||||
"facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:ebony_inner_stairs", "x": 180, "uvlock": true }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=lower,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom" },
|
||||
"facing=south,half=lower,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 90 },
|
||||
"facing=west,half=lower,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 180 },
|
||||
"facing=north,half=lower,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 270 },
|
||||
"facing=east,half=lower,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom_rh" },
|
||||
"facing=south,half=lower,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 90 },
|
||||
"facing=west,half=lower,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 180 },
|
||||
"facing=north,half=lower,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 270 },
|
||||
"facing=east,half=lower,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 90 },
|
||||
"facing=south,half=lower,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 180 },
|
||||
"facing=west,half=lower,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom_rh", "y": 270 },
|
||||
"facing=north,half=lower,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom_rh" },
|
||||
"facing=east,half=lower,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 270 },
|
||||
"facing=south,half=lower,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom" },
|
||||
"facing=west,half=lower,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 90 },
|
||||
"facing=north,half=lower,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_bottom", "y": 180 },
|
||||
"facing=east,half=upper,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_top" },
|
||||
"facing=south,half=upper,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_top", "y": 90 },
|
||||
"facing=west,half=upper,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_top", "y": 180 },
|
||||
"facing=north,half=upper,hinge=left,open=false": { "model": "biomesoplenty:eucalyptus_door_top", "y": 270 },
|
||||
"facing=east,half=upper,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_top_rh" },
|
||||
"facing=south,half=upper,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 90 },
|
||||
"facing=west,half=upper,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 180 },
|
||||
"facing=north,half=upper,hinge=right,open=false": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 270 },
|
||||
"facing=east,half=upper,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 90 },
|
||||
"facing=south,half=upper,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 180 },
|
||||
"facing=west,half=upper,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_top_rh", "y": 270 },
|
||||
"facing=north,half=upper,hinge=left,open=true": { "model": "biomesoplenty:eucalyptus_door_top_rh" },
|
||||
"facing=east,half=upper,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_top", "y": 270 },
|
||||
"facing=south,half=upper,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_top" },
|
||||
"facing=west,half=upper,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_top", "y": 90 },
|
||||
"facing=north,half=upper,hinge=right,open=true": { "model": "biomesoplenty:eucalyptus_door_top", "y": 180 }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"variants": {
|
||||
"normal": { biomesoplenty:eucalyptus_planks" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"east=false,north=false,south=false,west=false": { "model": "biomesoplenty:eucalyptus_fence_post" },
|
||||
"east=false,north=true,south=false,west=false": { "model": "biomesoplenty:eucalyptus_fence_n", "uvlock": true },
|
||||
"east=true,north=false,south=false,west=false": { "model": "biomesoplenty:eucalyptus_fence_n", "y": 90, "uvlock": true },
|
||||
"east=false,north=false,south=true,west=false": { "model": "biomesoplenty:eucalyptus_fence_n", "y": 180, "uvlock": true },
|
||||
"east=false,north=false,south=false,west=true": { "model": "biomesoplenty:eucalyptus_fence_n", "y": 270, "uvlock": true },
|
||||
"east=true,north=true,south=false,west=false": { "model": "biomesoplenty:eucalyptus_fence_ne", "uvlock": true },
|
||||
"east=true,north=false,south=true,west=false": { "model": "biomesoplenty:eucalyptus_fence_ne", "y": 90, "uvlock": true },
|
||||
"east=false,north=false,south=true,west=true": { "model": "biomesoplenty:eucalyptus_fence_ne", "y": 180, "uvlock": true },
|
||||
"east=false,north=true,south=false,west=true": { "model": "biomesoplenty:eucalyptus_fence_ne", "y": 270, "uvlock": true },
|
||||
"east=false,north=true,south=true,west=false": { "model": "biomesoplenty:eucalyptus_fence_ns", "uvlock": true },
|
||||
"east=true,north=false,south=false,west=true": { "model": "biomesoplenty:eucalyptus_fence_ns", "y": 90, "uvlock": true },
|
||||
"east=true,north=true,south=true,west=false": { "model": "biomesoplenty:eucalyptus_fence_nse", "uvlock": true },
|
||||
"east=true,north=false,south=true,west=true": { "model": "biomesoplenty:eucalyptus_fence_nse", "y": 90, "uvlock": true },
|
||||
"east=false,north=true,south=true,west=true": { "model": "biomesoplenty:eucalyptus_fence_nse", "y": 180, "uvlock": true },
|
||||
"east=true,north=true,south=false,west=true": { "model": "biomesoplenty:eucalyptus_fence_nse", "y": 270, "uvlock": true },
|
||||
"east=true,north=true,south=true,west=true": { "model": "biomesoplenty:eucalyptus_fence_nsew", "uvlock": true }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=south,in_wall=false,open=false": { "model": "biomesoplenty:eucalyptus_fence_gate_closed" },
|
||||
"facing=west,in_wall=false,open=false": { "model": "biomesoplenty:eucalyptus_fence_gate_closed", "y": 90, "uvlock": true },
|
||||
"facing=north,in_wall=false,open=false": { "model": "biomesoplenty:eucalyptus_fence_gate_closed", "y": 180, "uvlock": true },
|
||||
"facing=east,in_wall=false,open=false": { "model": "biomesoplenty:eucalyptus_fence_gate_closed", "y": 270, "uvlock": true },
|
||||
"facing=south,in_wall=false,open=true": { "model": "biomesoplenty:eucalyptus_fence_gate_open" },
|
||||
"facing=west,in_wall=false,open=true": { "model": "biomesoplenty:eucalyptus_fence_gate_open", "y": 90, "uvlock": true },
|
||||
"facing=north,in_wall=false,open=true": { "model": "biomesoplenty:eucalyptus_fence_gate_open", "y": 180, "uvlock": true },
|
||||
"facing=east,in_wall=false,open=true": { "model": "biomesoplenty:eucalyptus_fence_gate_open", "y": 270, "uvlock": true },
|
||||
"facing=south,in_wall=true,open=false": { "model": "biomesoplenty:eucalyptus_wall_gate_closed" },
|
||||
"facing=west,in_wall=true,open=false": { "model": "biomesoplenty:eucalyptus_wall_gate_closed", "y": 90, "uvlock": true },
|
||||
"facing=north,in_wall=true,open=false": { "model": "biomesoplenty:eucalyptus_wall_gate_closed", "y": 180, "uvlock": true },
|
||||
"facing=east,in_wall=true,open=false": { "model": "biomesoplenty:eucalyptus_wall_gate_closed", "y": 270, "uvlock": true },
|
||||
"facing=south,in_wall=true,open=true": { "model": "biomesoplenty:eucalyptus_wall_gate_open" },
|
||||
"facing=west,in_wall=true,open=true": { "model": "biomesoplenty:eucalyptus_wall_gate_open", "y": 90, "uvlock": true },
|
||||
"facing=north,in_wall=true,open=true": { "model": "biomesoplenty:eucalyptus_wall_gate_open", "y": 180, "uvlock": true },
|
||||
"facing=east,in_wall=true,open=true": { "model": "biomesoplenty:eucalyptus_wall_gate_open", "y": 270, "uvlock": true }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"variants": {
|
||||
"half=bottom": { "model": "biomesoplenty:half_slab_eucalyptus" },
|
||||
"half=top": { "model": "biomesoplenty:upper_slab_eucalyptus" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs" },
|
||||
"facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs" },
|
||||
"facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 270, "uvlock": true },
|
||||
"facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 90, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs" },
|
||||
"facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "y": 180, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs" },
|
||||
"facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 270, "uvlock": true },
|
||||
"facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 90, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs" },
|
||||
"facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "y": 180, "uvlock": true },
|
||||
"facing=east,half=top,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=straight": { "model": "biomesoplenty:eucalyptus_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:eucalyptus_outer_stairs", "x": 180, "uvlock": true },
|
||||
"facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:eucalyptus_inner_stairs", "x": 180, "uvlock": true }
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
"variants": {
|
||||
"variant=pine": { "model": "biomesoplenty:pine_leaves" },
|
||||
"variant=mahogany": { "model": "biomesoplenty:mahogany_leaves" },
|
||||
"variant=red_big_flower": { "model": "biomesoplenty:red_big_flower_petal" },
|
||||
"variant=yellow_big_flower": { "model": "biomesoplenty:yellow_big_flower_petal" }
|
||||
"variant=ebony": { "model": "biomesoplenty:ebony_leaves" },
|
||||
"variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_leaves" }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"variants": {
|
||||
"variant=red_big_flower": { "model": "biomesoplenty:red_big_flower_petal" },
|
||||
"variant=yellow_big_flower": { "model": "biomesoplenty:yellow_big_flower_petal" }
|
||||
}
|
||||
}
|
|
@ -8,14 +8,14 @@
|
|||
"axis=z,variant=mahogany": { "model": "biomesoplenty:mahogany_log_side" },
|
||||
"axis=x,variant=mahogany": { "model": "biomesoplenty:mahogany_log_side", "y": 90 },
|
||||
"axis=none,variant=mahogany": { "model": "biomesoplenty:mahogany_bark" },
|
||||
"axis=y,variant=giant_flower": { "model": "biomesoplenty:giant_flower_stem" },
|
||||
"axis=z,variant=giant_flower": { "model": "biomesoplenty:giant_flower_stem_side" },
|
||||
"axis=x,variant=giant_flower": { "model": "biomesoplenty:giant_flower_stem_side", "y": 90 },
|
||||
"axis=none,variant=giant_flower": { "model": "biomesoplenty:giant_flower_bark" },
|
||||
"axis=y,variant=dead": { "model": "biomesoplenty:dead_log" },
|
||||
"axis=z,variant=dead": { "model": "biomesoplenty:dead_log_side" },
|
||||
"axis=x,variant=dead": { "model": "biomesoplenty:dead_log_side", "y": 90 },
|
||||
"axis=none,variant=dead": { "model": "biomesoplenty:dead_bark" }
|
||||
"axis=y,variant=ebony": { "model": "biomesoplenty:ebony_log" },
|
||||
"axis=z,variant=ebony": { "model": "biomesoplenty:ebony_log_side" },
|
||||
"axis=x,variant=ebony": { "model": "biomesoplenty:ebony_log_side", "y": 90 },
|
||||
"axis=none,variant=ebony": { "model": "biomesoplenty:ebony_bark" },
|
||||
"axis=y,variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_log" },
|
||||
"axis=z,variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_log_side" },
|
||||
"axis=x,variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_log_side", "y": 90 },
|
||||
"axis=none,variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_bark" }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=y,variant=giant_flower": { "model": "biomesoplenty:giant_flower_stem" },
|
||||
"axis=z,variant=giant_flower": { "model": "biomesoplenty:giant_flower_stem_side" },
|
||||
"axis=x,variant=giant_flower": { "model": "biomesoplenty:giant_flower_stem_side", "y": 90 },
|
||||
"axis=none,variant=giant_flower": { "model": "biomesoplenty:giant_flower_bark" },
|
||||
"axis=y,variant=dead": { "model": "biomesoplenty:dead_log" },
|
||||
"axis=z,variant=dead": { "model": "biomesoplenty:dead_log_side" },
|
||||
"axis=x,variant=dead": { "model": "biomesoplenty:dead_log_side", "y": 90 },
|
||||
"axis=none,variant=dead": { "model": "biomesoplenty:dead_bark" }
|
||||
}
|
||||
}
|
||||
|
|
@ -14,6 +14,7 @@
|
|||
"variant=pine": { "model": "biomesoplenty:pine_planks" },
|
||||
"variant=hell_bark": { "model": "biomesoplenty:hell_bark_planks" },
|
||||
"variant=jacaranda": { "model": "biomesoplenty:jacaranda_planks" },
|
||||
"variant=mahogany": { "model": "biomesoplenty:mahogany_planks" }
|
||||
"variant=mahogany": { "model": "biomesoplenty:mahogany_planks" },
|
||||
"variant=ebony": { "model": "biomesoplenty:ebony_planks" }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
"variant=pine": { "model": "biomesoplenty:pine_planks" },
|
||||
"variant=hellbark": { "model": "biomesoplenty:hellbark_planks" },
|
||||
"variant=jacaranda": { "model": "biomesoplenty:jacaranda_planks" },
|
||||
"variant=mahogany": { "model": "biomesoplenty:mahogany_planks" }
|
||||
"variant=mahogany": { "model": "biomesoplenty:mahogany_planks" },
|
||||
"variant=ebony": { "model": "biomesoplenty:ebony_planks" },
|
||||
"variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_planks" }
|
||||
}
|
||||
}
|
|
@ -5,6 +5,8 @@
|
|||
"variant=redwood": { "model": "biomesoplenty:redwood_sapling" },
|
||||
"variant=willow": { "model": "biomesoplenty:willow_sapling" },
|
||||
"variant=pine": { "model": "biomesoplenty:pine_sapling" },
|
||||
"variant=mahogany": { "model": "biomesoplenty:mahogany_sapling" }
|
||||
"variant=mahogany": { "model": "biomesoplenty:mahogany_sapling" },
|
||||
"variant=ebony": { "model": "biomesoplenty:ebony_sapling" },
|
||||
"variant=eucalyptus": { "model": "biomesoplenty:eucalyptus_sapling" }
|
||||
}
|
||||
}
|
|
@ -11,6 +11,10 @@
|
|||
"half=bottom,variant=jacaranda": { "model": "biomesoplenty:half_slab_jacaranda" },
|
||||
"half=top,variant=jacaranda": { "model": "biomesoplenty:upper_slab_jacaranda" },
|
||||
"half=bottom,variant=mahogany": { "model": "biomesoplenty:half_slab_mahogany" },
|
||||
"half=top,variant=mahogany": { "model": "biomesoplenty:upper_slab_mahogany" }
|
||||
"half=top,variant=mahogany": { "model": "biomesoplenty:upper_slab_mahogany" },
|
||||
"half=bottom,variant=ebony": { "model": "biomesoplenty:half_slab_ebony" },
|
||||
"half=top,variant=ebony": { "model": "biomesoplenty:upper_slab_ebony" },
|
||||
"half=bottom,variant=eucalyptus": { "model": "biomesoplenty:half_slab_eucalyptus" },
|
||||
"half=top,variant=eucalyptus": { "model": "biomesoplenty:upper_slab_eucalyptus" }
|
||||
}
|
||||
}
|
|
@ -104,8 +104,10 @@ item.dart.name=Dart
|
|||
item.dart_blower.name=Dart Blower
|
||||
item.diamond_scythe.name=Diamond Scythe
|
||||
item.dull_flower_band.name=Dull Flower Band
|
||||
item.ebony_door.name=Ebony Door
|
||||
item.enderporter.name=Enderporter
|
||||
item.ethereal_door.name=Ethereal Door
|
||||
item.eucalyptus_door.name=Eucalyptus Door
|
||||
item.exotic_flower_band.name=Exotic Flower Band
|
||||
item.filled_honeycomb.name=Filled Honeycomb
|
||||
item.fir_door.name=Fir Door
|
||||
|
@ -209,10 +211,18 @@ tile.dirt.coarse_silty_dirt.name=Coarse Silty Dirt
|
|||
tile.double_plant.flax.name=Flax
|
||||
tile.double_plant.tall_cattail.name=Tail Cattail
|
||||
tile.double_plant.eyebulb.name=Eyebulb
|
||||
tile.ebony_fence.name=Ebony Fence
|
||||
tile.ebony_fence_gate.name=Ebony Fence Gate
|
||||
tile.ebony_wood_slab.name=Ebony Wood Slab
|
||||
tile.ebony_stairs.name=Ebony Wood Stairs
|
||||
tile.ethereal_fence.name=Ethereal Fence
|
||||
tile.ethereal_fence_gate.name=Ethereal Fence Gate
|
||||
tile.ethereal_wood_slab.name=Ethereal Wood Slab
|
||||
tile.ethereal_stairs.name=Ethereal Wood Stairs
|
||||
tile.eucalyptus_fence.name=Eucalyptus Fence
|
||||
tile.eucalyptus_fence_gate.name=Eucalyptus Fence Gate
|
||||
tile.eucalyptus_wood_slab.name=Eucalyptus Wood Slab
|
||||
tile.eucalyptus_stairs.name=Eucalyptus Wood Stairs
|
||||
tile.farmland_0.loamy_farmland.name=Loamy Farmland
|
||||
tile.farmland_0.sandy_farmland.name=Sandy Farmland
|
||||
tile.farmland_1.silty_farmland.name=Silty Farmland
|
||||
|
@ -304,8 +314,10 @@ tile.leaves_4.redwood_leaves.name=Redwood Leaves
|
|||
tile.leaves_4.willow_leaves.name=Willow Leaves
|
||||
tile.leaves_5.pine_leaves.name=Pine Leaves
|
||||
tile.leaves_5.mahogany_leaves.name=Mahogany Leaves
|
||||
tile.leaves_5.red_big_flower_petal.name=Giant Red Flower Petal
|
||||
tile.leaves_5.yellow_big_flower_petal.name=Giant Yellow Flower Petal
|
||||
tile.leaves_5.ebony_leaves.name=Ebony Leaves
|
||||
tile.leaves_5.eucalyptus_leaves.name=Eucalyptus Leaves
|
||||
tile.leaves_6.red_big_flower_petal.name=Giant Red Flower Petal
|
||||
tile.leaves_6.yellow_big_flower_petal.name=Giant Yellow Flower Petal
|
||||
tile.log_0.sacred_oak_log.name=Sacred Oak Wood
|
||||
tile.log_0.cherry_log.name=Cherry Wood
|
||||
tile.log_0.umbran_log.name=Umbran Wood
|
||||
|
@ -320,8 +332,10 @@ tile.log_2.pine_log.name=Pine Wood
|
|||
tile.log_2.hellbark_log.name=Hellbark Wood
|
||||
tile.log_3.jacaranda_log.name=Jacaranda Wood
|
||||
tile.log_3.mahogany_log.name=Mahogany Wood
|
||||
tile.log_3.giant_flower_stem.name=Giant Flower Stem
|
||||
tile.log_3.dead_log.name=Dead Wood
|
||||
tile.log_3.ebony_log.name=Ebony Wood
|
||||
tile.log_3.eucalyptus_log.name=Eucalyptus Wood
|
||||
tile.log_4.giant_flower_stem.name=Giant Flower Stem
|
||||
tile.log_4.dead_log.name=Dead Wood
|
||||
tile.magic_fence.name=Magic Fence
|
||||
tile.magic_fence_gate.name=Magic Fence Gate
|
||||
tile.magic_wood_slab.name=Magic Wood Slab
|
||||
|
@ -369,6 +383,8 @@ tile.planks_0.pine_planks.name=Pine Wood Planks
|
|||
tile.planks_0.hellbark_planks.name=Hellbark Wood Planks
|
||||
tile.planks_0.jacaranda_planks.name=Jacaranda Wood Planks
|
||||
tile.planks_0.mahogany_planks.name=Mahogany Wood Planks
|
||||
tile.planks_0.ebony_planks.name=Ebony Wood Planks
|
||||
tile.planks_0.eucalyptus_planks.name=Eucalyptus Wood Planks
|
||||
tile.plant_0.shortgrass.name=Short Grass
|
||||
tile.plant_0.mediumgrass.name=Medium Grass
|
||||
tile.plant_0.bush.name=Bush
|
||||
|
@ -428,6 +444,8 @@ tile.sapling_2.redwood_sapling.name=Redwood Sapling
|
|||
tile.sapling_2.willow_sapling.name=Willow Sapling
|
||||
tile.sapling_2.pine_sapling.name=Pine Sapling
|
||||
tile.sapling_2.mahogany_sapling.name=Mahogany Sapling
|
||||
tile.sapling_2.ebony_sapling.name=Ebony Sapling
|
||||
tile.sapling_2.eucalyptus_sapling.name=Eucalyptus Sapling
|
||||
tile.seaweed.kelp.name=Kelp
|
||||
tile.stone.limestone.name=Limestone
|
||||
tile.stone.polished_limestone.name=Polished Limestone
|
||||
|
|
|
@ -104,8 +104,10 @@ item.dart.name=飛鏢
|
|||
item.dart_blower.name=吹箭
|
||||
item.diamond_scythe.name=鑽石鐮
|
||||
item.dull_flower_band.name=單調的花環
|
||||
item.ebony_door.name=檀木門
|
||||
item.enderporter.name=終界傳送器
|
||||
item.ethereal_door.name=空靈木門
|
||||
item.eucalyptus_door.name=尤加利木門
|
||||
item.exotic_flower_band.name=異國花環
|
||||
item.filled_honeycomb.name=填滿的蜂巢
|
||||
item.fir_door.name=冷杉木門
|
||||
|
@ -209,10 +211,18 @@ tile.dirt.coarse_silty_dirt.name=粗淤土
|
|||
tile.double_plant.flax.name=亞麻
|
||||
tile.double_plant.tall_cattail.name=香蒲
|
||||
tile.double_plant.eyebulb.name=眼燈草
|
||||
tile.ebony_fence.name=檀木柵欄
|
||||
tile.ebony_fence_gate.name=檀木柵欄門
|
||||
tile.ebony_wood_slab.name=檀木半磚
|
||||
tile.ebony_stairs.name=檀木階梯
|
||||
tile.ethereal_fence.name=空靈木柵欄
|
||||
tile.ethereal_fence_gate.name=空靈木柵欄門
|
||||
tile.ethereal_wood_slab.name=空靈木半磚
|
||||
tile.ethereal_stairs.name=空靈木階梯
|
||||
tile.eucalyptus_fence.name=尤加利木柵欄
|
||||
tile.eucalyptus_fence_gate.name=尤加利木柵欄門
|
||||
tile.eucalyptus_wood_slab.name=尤加利木半磚
|
||||
tile.eucalyptus_stairs.name=尤加利木階梯
|
||||
tile.farmland_0.loamy_farmland.name=壤質耕地
|
||||
tile.farmland_0.sandy_farmland.name=砂質耕地
|
||||
tile.farmland_1.silty_farmland.name=泥質耕地
|
||||
|
@ -304,8 +314,10 @@ tile.leaves_4.redwood_leaves.name=紅木葉
|
|||
tile.leaves_4.willow_leaves.name=柳葉
|
||||
tile.leaves_5.pine_leaves.name=松葉
|
||||
tile.leaves_5.mahogany_leaves.name=桃花心木葉
|
||||
tile.leaves_5.red_big_flower_petal.name=巨紅花瓣
|
||||
tile.leaves_5.yellow_big_flower_petal.name=巨黃花瓣
|
||||
tile.leaves_5.ebony_leaves.name=檀木樹葉
|
||||
tile.leaves_5.eucalyptus_leaves.name=尤加利樹葉
|
||||
tile.leaves_6.red_big_flower_petal.name=巨紅花瓣
|
||||
tile.leaves_6.yellow_big_flower_petal.name=巨黃花瓣
|
||||
tile.log_0.sacred_oak_log.name=聖橡木原木
|
||||
tile.log_0.cherry_log.name=櫻木原木
|
||||
tile.log_0.umbran_log.name=暗影原木
|
||||
|
@ -320,8 +332,10 @@ tile.log_2.pine_log.name=松原木
|
|||
tile.log_2.hellbark_log.name=獄皮原木
|
||||
tile.log_3.jacaranda_log.name=藍花楹原木
|
||||
tile.log_3.mahogany_log.name=桃花心木原木
|
||||
tile.log_3.giant_flower_stem.name=巨大花柄
|
||||
tile.log_3.dead_log.name=死亡原木
|
||||
tile.log_3.ebony_log.name=檀木原木
|
||||
tile.log_3.eucalyptus_log.name=尤加利原木
|
||||
tile.log_4.giant_flower_stem.name=巨大花柄
|
||||
tile.log_4.dead_log.name=死亡原木
|
||||
tile.magic_fence.name=魔木柵欄
|
||||
tile.magic_fence_gate.name=魔木柵欄門
|
||||
tile.magic_wood_slab.name=魔木半磚
|
||||
|
@ -369,6 +383,8 @@ tile.planks_0.pine_planks.name=松木材
|
|||
tile.planks_0.hellbark_planks.name=獄皮木材
|
||||
tile.planks_0.jacaranda_planks.name=藍花楹木材
|
||||
tile.planks_0.mahogany_planks.name=桃花心木材
|
||||
tile.planks_0.ebony_planks.name=檀木木材
|
||||
tile.planks_0.eucalyptus_planks.name=尤加利木材
|
||||
tile.plant_0.shortgrass.name=短草
|
||||
tile.plant_0.mediumgrass.name=中等草
|
||||
tile.plant_0.bush.name=灌木叢
|
||||
|
@ -428,6 +444,8 @@ tile.sapling_2.redwood_sapling.name=紅木樹苗
|
|||
tile.sapling_2.willow_sapling.name=柳樹樹苗
|
||||
tile.sapling_2.pine_sapling.name=松樹樹苗
|
||||
tile.sapling_2.mahogany_sapling.name=桃花心木樹苗
|
||||
tile.sapling_2.ebony_sapling.name=檀木樹苗
|
||||
tile.sapling_2.eucalyptus_sapling.name=尤加利樹苗
|
||||
tile.seaweed.kelp.name=海帶
|
||||
tile.stone.limestone.name=石灰岩半磚
|
||||
tile.stone.polished_limestone.name=平滑石灰岩
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "biomesoplenty:blocks/ebony_log"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "block/door_bottom",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:blocks/door_ebony_lower",
|
||||
"top": "biomesoplenty:blocks/door_ebony_upper"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "block/door_bottom_rh",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:blocks/door_ebony_lower",
|
||||
"top": "biomesoplenty:blocks/door_ebony_upper"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "block/door_top",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:blocks/door_ebony_lower",
|
||||
"top": "biomesoplenty:blocks/door_ebony_upper"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "block/door_top_rh",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:blocks/door_ebony_lower",
|
||||
"top": "biomesoplenty:blocks/door_ebony_upper"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/fence_gate_closed",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:blocks/ebony_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/fence_gate_open",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:blocks/ebony_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "block/fence_inventory",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:blocks/ebony_planks"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/fence_n",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:blocks/ebony_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/fence_ne",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:blocks/ebony_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/fence_ns",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:blocks/ebony_planks"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/fence_nse",
|
||||
"textures": {
|
||||
"texture": "biomesoplenty:blocks/ebony_planks"
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue