Added white sand beaches to the Tropical Island (Includes white sand/sandstone blocks)
This commit is contained in:
parent
6f2b55aa47
commit
d7928f8bb9
|
@ -90,6 +90,7 @@ public class BOPBiomes
|
|||
public static Optional<Biome> volcanic_island = Optional.absent();
|
||||
public static Optional<Biome> flower_island = Optional.absent();
|
||||
public static Optional<Biome> gravel_beach = Optional.absent();
|
||||
public static Optional<Biome> white_beach = Optional.absent();
|
||||
|
||||
// nether biomes
|
||||
public static Optional<Biome> corrupted_sands = Optional.absent();
|
||||
|
|
|
@ -15,6 +15,7 @@ public class BOPBlocks
|
|||
{
|
||||
public static Block bamboo_thatching;
|
||||
public static Block ash_block;
|
||||
public static Block white_sand;
|
||||
public static Block bamboo;
|
||||
public static Block coral;
|
||||
public static Block seaweed;
|
||||
|
@ -23,6 +24,7 @@ public class BOPBlocks
|
|||
public static Block hive;
|
||||
public static Block mushroom;
|
||||
public static Block stone;
|
||||
public static Block white_sandstone;
|
||||
public static Block biome_block;
|
||||
|
||||
public static Block flower_0;
|
||||
|
@ -131,6 +133,7 @@ public class BOPBlocks
|
|||
public static Block double_other_slab;
|
||||
|
||||
public static Block mud_brick_stairs;
|
||||
public static Block white_sandstone_stairs;
|
||||
|
||||
public static Block flower_vine;
|
||||
public static Block ivy;
|
||||
|
|
|
@ -199,6 +199,11 @@ public class BOPOverworldBiome extends BOPBiome
|
|||
dirtBlocksToFill = rand.nextInt(4) + Math.max(0, y - 63);
|
||||
fillerBlock = fillerBlock.getValue(BlockSand.VARIANT) == BlockSand.EnumType.RED_SAND ? Blocks.RED_SANDSTONE.getDefaultState() : Blocks.SANDSTONE.getDefaultState();
|
||||
}
|
||||
if (dirtBlocksToFill == 0 && fillerBlock.getBlock() == BOPBlocks.white_sand)
|
||||
{
|
||||
dirtBlocksToFill = rand.nextInt(4) + Math.max(0, y - 63);
|
||||
fillerBlock = BOPBlocks.white_sandstone.getDefaultState();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@ import biomesoplenty.api.enums.BOPPlants;
|
|||
import biomesoplenty.api.enums.BOPTrees;
|
||||
import biomesoplenty.api.enums.BOPWoods;
|
||||
import biomesoplenty.api.generation.GeneratorStage;
|
||||
import biomesoplenty.common.block.BlockBOPLeaves;
|
||||
import biomesoplenty.common.block.BlockBOPLilypad;
|
||||
import biomesoplenty.common.world.generator.GeneratorDoubleFlora;
|
||||
import biomesoplenty.common.world.generator.GeneratorFlora;
|
||||
|
@ -22,6 +23,7 @@ import biomesoplenty.common.world.generator.tree.GeneratorBigTree;
|
|||
import biomesoplenty.common.world.generator.tree.GeneratorBush;
|
||||
import net.minecraft.block.BlockDoublePlant;
|
||||
import net.minecraft.block.BlockFlower;
|
||||
import net.minecraft.block.BlockOldLeaf;
|
||||
import net.minecraft.block.BlockFlower.EnumFlowerType;
|
||||
import net.minecraft.block.BlockPlanks;
|
||||
import net.minecraft.block.BlockTallGrass;
|
||||
|
@ -53,7 +55,7 @@ public class BiomeGenSacredSprings extends BOPOverworldBiome
|
|||
this.addGenerator("hot_springs", GeneratorStage.SAND, (new GeneratorLakes.Builder()).amountPerChunk(0.5F).liquid(BOPBlocks.hot_spring_water).frozenLiquid((IBlockState)null).create());
|
||||
|
||||
// trees
|
||||
this.addGenerator("sacred_oak_trees", GeneratorStage.POST, (new GeneratorBigTree.Builder()).amountPerChunk(0.2F).log(BOPWoods.SACRED_OAK).leaves(BOPTrees.SACRED_OAK).minHeight(35).maxHeight(40).trunkWidth(2).foliageDensity(2.0D).create());
|
||||
this.addGenerator("sacred_oak_trees", GeneratorStage.POST, (new GeneratorBigTree.Builder()).amountPerChunk(0.2F).log(BOPWoods.SACRED_OAK).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.SACRED_OAK).withProperty(BlockOldLeaf.DECAYABLE, Boolean.valueOf(false))).minHeight(35).maxHeight(40).trunkWidth(2).foliageDensity(2.0D).create());
|
||||
this.addGenerator("leaves_clusters", GeneratorStage.TREE, (new GeneratorBush.Builder()).amountPerChunk(12.5F).maxHeight(2).create());
|
||||
this.addGenerator("large_oak", GeneratorStage.TREE, (new GeneratorBigTree.Builder()).amountPerChunk(3.0F).log(BlockPlanks.EnumType.OAK).leaves(BlockPlanks.EnumType.OAK).altLeaves(BOPTrees.FLOWERING).create());
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
package biomesoplenty.common.biome.overworld;
|
||||
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.block.BlockQueries;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings;
|
||||
|
@ -43,6 +44,11 @@ public class BiomeGenTropicalIsland extends BOPOverworldBiome
|
|||
// terrain
|
||||
this.terrainSettings.avgHeight(64).heightVariation(5, 40).octaves(0, 1, 2, 2, 1, 0).sidewaysNoise(0.2D);
|
||||
|
||||
if (BOPBiomes.white_beach.isPresent())
|
||||
{
|
||||
this.beachBiomeLocation = ((BOPOverworldBiome)BOPBiomes.white_beach.get()).getResourceLocation();
|
||||
}
|
||||
|
||||
this.canSpawnInBiome = true;
|
||||
this.canGenerateVillages = false;
|
||||
this.canGenerateRivers = false;
|
||||
|
@ -57,7 +63,7 @@ public class BiomeGenTropicalIsland extends BOPOverworldBiome
|
|||
clearWeights();
|
||||
|
||||
// sand
|
||||
this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(10).maxRadius(7).with(Blocks.SAND.getDefaultState()).create());
|
||||
this.addGenerator("sand", GeneratorStage.SAND_PASS2, (new GeneratorWaterside.Builder()).amountPerChunk(10).maxRadius(7).with(BOPBlocks.white_sand.getDefaultState()).create());
|
||||
|
||||
// trees
|
||||
GeneratorWeighted treeGenerator = new GeneratorWeighted(25.0F);
|
||||
|
|
|
@ -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 biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings;
|
||||
import biomesoplenty.api.config.IBOPWorldSettings.GeneratorType;
|
||||
import biomesoplenty.common.world.generator.GeneratorWeighted;
|
||||
import net.minecraft.init.Blocks;
|
||||
|
||||
public class BiomeGenWhiteBeach extends BOPOverworldBiome
|
||||
{
|
||||
public BiomeGenWhiteBeach()
|
||||
{
|
||||
super("white_beach", new PropsBuilder("White Beach").withTemperature(1.0F).withRainfall(1.0F).withGuiColour(0xF3F1E4));
|
||||
|
||||
// terrain
|
||||
this.terrainSettings.avgHeight(64).heightVariation(1, 1);
|
||||
|
||||
this.canSpawnInBiome = false;
|
||||
this.canGenerateVillages = false;
|
||||
|
||||
this.spawnableMonsterList.clear();
|
||||
this.spawnableCreatureList.clear();
|
||||
|
||||
this.theBiomeDecorator.treesPerChunk = -999;
|
||||
this.theBiomeDecorator.deadBushPerChunk = 0;
|
||||
this.theBiomeDecorator.reedsPerChunk = 0;
|
||||
this.theBiomeDecorator.cactiPerChunk = 0;
|
||||
|
||||
this.skyColor = 507391;
|
||||
this.fogColor = 0xB5F8FF;
|
||||
|
||||
clearWeights();
|
||||
|
||||
this.topBlock = BOPBlocks.white_sand.getDefaultState();
|
||||
this.fillerBlock = BOPBlocks.white_sand.getDefaultState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySettings(IBOPWorldSettings settings)
|
||||
{
|
||||
if (!settings.isEnabled(GeneratorType.MUSHROOMS)) {this.removeGenerator("glowshrooms");}
|
||||
|
||||
if (!settings.isEnabled(GeneratorType.FLOWERS)) {this.removeGenerator("miners_delight");}
|
||||
|
||||
if (!settings.isEnabled(GeneratorType.ROCK_FORMATIONS)) {this.removeGenerator("stone_formations");}
|
||||
|
||||
if (!settings.isEnabled(GeneratorType.MUSHROOMS)) {this.removeGenerator("toadstools"); this.removeGenerator("flat_mushroom"); this.removeGenerator("blue_milk_caps"); this.removeGenerator("portobellos");}
|
||||
|
||||
if (!settings.isEnabled(GeneratorType.PLANTS)) {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");}
|
||||
}
|
||||
}
|
|
@ -247,7 +247,7 @@ public class BlockBOPFlower extends BlockBOPDecoration implements IShearable, IH
|
|||
Block groundBlock = groundState.getBlock();
|
||||
|
||||
boolean onFertile = (groundBlock == Blocks.DIRT || groundBlock == Blocks.FARMLAND || groundBlock == BOPBlocks.farmland_0 || groundBlock == BOPBlocks.farmland_1 || groundBlock == BOPBlocks.dirt || groundBlock == Blocks.GRASS);
|
||||
boolean onDry = (groundBlock == Blocks.HARDENED_CLAY || groundBlock == BOPBlocks.sand || groundBlock == Blocks.SAND);
|
||||
boolean onDry = (groundBlock == Blocks.HARDENED_CLAY || groundBlock == BOPBlocks.sand || groundBlock == Blocks.SAND || groundBlock == BOPBlocks.white_sand);
|
||||
boolean onNetherrack = (groundBlock == Blocks.NETHERRACK);
|
||||
boolean onStone = (groundBlock == Blocks.STONE);
|
||||
boolean onDriedSand = (groundBlock == BOPBlocks.dried_sand);
|
||||
|
|
|
@ -13,6 +13,7 @@ import java.util.List;
|
|||
import com.google.common.collect.ImmutableSet;
|
||||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.common.block.BlockBOPWhiteSandstone.StoneType;
|
||||
import biomesoplenty.common.util.block.BlockStateUtils;
|
||||
import net.minecraft.block.BlockSlab;
|
||||
import net.minecraft.block.SoundType;
|
||||
|
@ -39,7 +40,7 @@ public class BlockBOPHalfOtherSlab extends BlockSlab implements IBOPBlock
|
|||
// add properties
|
||||
public static enum SlabType implements IStringSerializable
|
||||
{
|
||||
MUD_BRICK;
|
||||
MUD_BRICK, WHITE_SANDSTONE;
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
|
@ -60,6 +61,9 @@ public class BlockBOPHalfOtherSlab extends BlockSlab implements IBOPBlock
|
|||
case MUD_BRICK:
|
||||
state = BOPBlocks.mud_brick_block.getDefaultState();
|
||||
break;
|
||||
case WHITE_SANDSTONE:
|
||||
state = BOPBlocks.white_sandstone.getDefaultState().withProperty(BlockBOPWhiteSandstone.VARIANT, StoneType.SMOOTH);
|
||||
break;
|
||||
default:
|
||||
throw new RuntimeException("No full block state defined for SlabType " + this.name());
|
||||
}
|
||||
|
|
|
@ -212,7 +212,7 @@ public class BlockBOPSapling extends BlockBOPDecoration implements IGrowable, IP
|
|||
case JACARANDA:
|
||||
return new GeneratorBasicTree.Builder().minHeight(4).maxHeight(7).log(BOPWoods.JACARANDA).leaves(BOPTrees.JACARANDA).updateNeighbours(true).create();
|
||||
case SACRED_OAK:
|
||||
return new GeneratorBigTree.Builder().log(BOPWoods.SACRED_OAK).leaves(BOPTrees.SACRED_OAK).minHeight(35).maxHeight(45).trunkWidth(2).foliageDensity(1.25D).updateNeighbours(true).create();
|
||||
return new GeneratorBigTree.Builder().log(BOPWoods.SACRED_OAK).leaves(BlockBOPLeaves.paging.getVariantState(BOPTrees.SACRED_OAK).withProperty(BlockOldLeaf.DECAYABLE, Boolean.valueOf(false))).minHeight(35).maxHeight(45).trunkWidth(2).foliageDensity(1.25D).updateNeighbours(true).create();
|
||||
case MANGROVE:
|
||||
return new GeneratorMangroveTree.Builder().log(BOPWoods.MANGROVE).leaves(BOPTrees.MANGROVE).create();
|
||||
case PALM:
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
package biomesoplenty.common.block;
|
||||
|
||||
import biomesoplenty.common.item.ItemBOPBlock;
|
||||
import net.minecraft.block.BlockFalling;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.material.MapColor;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.color.IBlockColor;
|
||||
import net.minecraft.client.renderer.color.IItemColor;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockBOPWhiteSand extends BlockFalling implements IBOPBlock
|
||||
{
|
||||
// implement IBOPBlock
|
||||
@Override
|
||||
public Class<? extends ItemBlock> getItemClass() { return ItemBOPBlock.class; }
|
||||
@Override
|
||||
public IProperty[] getPresetProperties() { return new IProperty[] {}; }
|
||||
@Override
|
||||
public IProperty[] getNonRenderingProperties() { return null; }
|
||||
@Override
|
||||
public String getStateName(IBlockState state) {return "";}
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IBlockColor getBlockColor() { return null; }
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IItemColor getItemColor() { return null; }
|
||||
|
||||
public BlockBOPWhiteSand()
|
||||
{
|
||||
super(Material.SAND);
|
||||
this.setHardness(0.5F);
|
||||
this.setSoundType(SoundType.SAND);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MapColor getMapColor(IBlockState state)
|
||||
{
|
||||
return MapColor.SAND;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public int getDustColor(IBlockState p_189876_1_)
|
||||
{
|
||||
return -790043;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2014-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.block;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import biomesoplenty.api.item.BOPItems;
|
||||
import biomesoplenty.common.entities.EntityWasp;
|
||||
import biomesoplenty.common.item.ItemBOPBlock;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.material.MapColor;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.properties.IProperty;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.renderer.color.IBlockColor;
|
||||
import net.minecraft.client.renderer.color.IItemColor;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class BlockBOPWhiteSandstone extends Block implements IBOPBlock
|
||||
{
|
||||
|
||||
// add properties
|
||||
public static enum StoneType implements IStringSerializable
|
||||
{
|
||||
DEFAULT, CHISELED, SMOOTH;
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return this.name().toLowerCase();
|
||||
}
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return this.getName();
|
||||
}
|
||||
};
|
||||
public static final PropertyEnum VARIANT = PropertyEnum.create("variant", StoneType.class);
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {return new BlockStateContainer(this, new IProperty[] { VARIANT });}
|
||||
|
||||
|
||||
// implement IBOPBlock
|
||||
@Override
|
||||
public Class<? extends ItemBlock> getItemClass() { return ItemBOPBlock.class; }
|
||||
@Override
|
||||
public IProperty[] getPresetProperties() { return new IProperty[] {VARIANT}; }
|
||||
@Override
|
||||
public IProperty[] getNonRenderingProperties() { return null; }
|
||||
@Override
|
||||
public String getStateName(IBlockState state)
|
||||
{
|
||||
switch ((StoneType) state.getValue(VARIANT))
|
||||
{
|
||||
case CHISELED:
|
||||
return "chiseled_white_sandstone";
|
||||
case SMOOTH:
|
||||
return "smooth_white_sandstone";
|
||||
default:
|
||||
return "white_sandstone";
|
||||
}
|
||||
}
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IBlockColor getBlockColor() { return null; }
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IItemColor getItemColor() { return null; }
|
||||
|
||||
public BlockBOPWhiteSandstone()
|
||||
{
|
||||
super(Material.ROCK);
|
||||
|
||||
// set some defaults
|
||||
this.setHardness(0.8F);
|
||||
this.setSoundType(SoundType.STONE);
|
||||
this.setDefaultState( this.blockState.getBaseState().withProperty(VARIANT, StoneType.DEFAULT) );
|
||||
}
|
||||
|
||||
@Override
|
||||
public MapColor getMapColor(IBlockState state)
|
||||
{
|
||||
return MapColor.SAND;
|
||||
}
|
||||
|
||||
// map from state to meta and vice verca
|
||||
@Override
|
||||
public IBlockState getStateFromMeta(int meta)
|
||||
{
|
||||
return this.getDefaultState().withProperty(VARIANT, StoneType.values()[meta]);
|
||||
}
|
||||
@Override
|
||||
public int getMetaFromState(IBlockState state)
|
||||
{
|
||||
return ((StoneType) state.getValue(VARIANT)).ordinal();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player)
|
||||
{
|
||||
return new ItemStack(this, 1, this.getMetaFromState(state));
|
||||
}
|
||||
}
|
|
@ -1,6 +1,9 @@
|
|||
package biomesoplenty.common.handler;
|
||||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.item.BOPItems;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.storage.loot.LootEntryItem;
|
||||
import net.minecraft.world.storage.loot.LootPool;
|
||||
import net.minecraft.world.storage.loot.LootTableList;
|
||||
|
@ -30,6 +33,7 @@ public class LootTableEventHandler
|
|||
{
|
||||
main.addEntry(new LootEntryItem(BOPItems.pear, 4, 2, new LootFunction[0], new LootCondition[0], "biomesoplenty:pear"));
|
||||
main.addEntry(new LootEntryItem(BOPItems.peach, 4, 2, new LootFunction[0], new LootCondition[0], "biomesoplenty:peach"));
|
||||
main.addEntry(new LootEntryItem(BOPItems.persimmon, 4, 2, new LootFunction[0], new LootCondition[0], "biomesoplenty:persimmon"));
|
||||
}
|
||||
}
|
||||
if (event.getName().equals(LootTableList.CHESTS_VILLAGE_BLACKSMITH))
|
||||
|
@ -37,9 +41,17 @@ public class LootTableEventHandler
|
|||
LootPool main = event.getTable().getPool("main");
|
||||
if (main != null)
|
||||
{
|
||||
main.addEntry(new LootEntryItem(BOPItems.flippers, 2, 1, new LootFunction[0], new LootCondition[0], "biomesoplenty:flippers"));
|
||||
main.addEntry(new LootEntryItem(BOPItems.wading_boots, 2, 1, new LootFunction[0], new LootCondition[0], "biomesoplenty:wading_boots"));
|
||||
main.addEntry(new LootEntryItem(BOPItems.flippers, 3, 1, new LootFunction[0], new LootCondition[0], "biomesoplenty:flippers"));
|
||||
main.addEntry(new LootEntryItem(BOPItems.wading_boots, 3, 1, new LootFunction[0], new LootCondition[0], "biomesoplenty:wading_boots"));
|
||||
}
|
||||
}
|
||||
if (event.getName().equals(LootTableList.GAMEPLAY_FISHING_JUNK))
|
||||
{
|
||||
LootPool main = event.getTable().getPool("main");
|
||||
if (main != null)
|
||||
{
|
||||
main.addEntry(new LootEntryItem(new ItemStack(BOPBlocks.seaweed).getItem(), 7, 1, new LootFunction[0], new LootCondition[0], "biomesoplenty:seaweed"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -96,6 +96,7 @@ 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.BiomeGenWhiteBeach;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenWoodland;
|
||||
import biomesoplenty.common.biome.overworld.BiomeGenXericShrubland;
|
||||
import biomesoplenty.common.biome.vanilla.BiomeExtBirchForest;
|
||||
|
@ -246,6 +247,7 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry
|
|||
// beach biomes (normal biomes rely on these being registered first)
|
||||
|
||||
gravel_beach = registerOverworldBiome(new BiomeGenGravelBeach());
|
||||
white_beach = registerOverworldBiome(new BiomeGenWhiteBeach());
|
||||
|
||||
// normal biomes which have weights
|
||||
alps = registerOverworldBiome(new BiomeGenAlps());
|
||||
|
@ -442,6 +444,7 @@ public class ModBiomes implements BOPBiomes.IBiomeRegistry
|
|||
registerBiomeToDictionary(BOPBiomes.flower_island, Type.WATER, Type.OCEAN, Type.PLAINS, Type.LUSH, Type.DENSE, Type.MAGICAL);
|
||||
registerBiomeToDictionary(BOPBiomes.origin_island, Type.OCEAN, Type.FOREST, Type.RARE);
|
||||
registerBiomeToDictionary(BOPBiomes.gravel_beach, Type.BEACH);
|
||||
registerBiomeToDictionary(BOPBiomes.white_beach, Type.BEACH);
|
||||
|
||||
registerBiomeToDictionary(BOPBiomes.corrupted_sands, Type.NETHER, Type.HOT, Type.DRY, Type.SANDY, Type.SPOOKY);
|
||||
registerBiomeToDictionary(BOPBiomes.fungi_forest, Type.NETHER, Type.HOT, Type.MUSHROOM, Type.DENSE);
|
||||
|
|
|
@ -146,7 +146,7 @@ public class ModBlockQueries
|
|||
|
||||
fertile = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Plains).create();
|
||||
fertileOrNetherrack = BlockQuery.buildOr().sustainsPlant(EnumPlantType.Plains).blocks(Blocks.NETHERRACK).states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK), BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.MYCELIAL_NETHERRACK)).create();
|
||||
fertileOrSand = BlockQuery.buildOr().sustainsPlant(EnumPlantType.Plains).blocks(Blocks.SAND).create();
|
||||
fertileOrSand = BlockQuery.buildOr().sustainsPlant(EnumPlantType.Plains).blocks(Blocks.SAND, BOPBlocks.white_sand).create();
|
||||
sustainsCave = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Cave).create();
|
||||
sustainsNether = BlockQuery.buildAnd().sustainsPlant(EnumPlantType.Nether).create();
|
||||
endish = BlockQuery.buildOr().blocks(Blocks.END_STONE).states(BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SPECTRAL_MOSS)).create();
|
||||
|
|
|
@ -54,8 +54,11 @@ import biomesoplenty.common.block.BlockBOPStoneStairs;
|
|||
import biomesoplenty.common.block.BlockBOPTerrarium;
|
||||
import biomesoplenty.common.block.BlockBOPTurnip;
|
||||
import biomesoplenty.common.block.BlockBOPVine;
|
||||
import biomesoplenty.common.block.BlockBOPWhiteSand;
|
||||
import biomesoplenty.common.block.BlockBOPWhiteSandstone;
|
||||
import biomesoplenty.common.block.BlockBOPWoodStairs;
|
||||
import biomesoplenty.common.block.IBOPBlock;
|
||||
import biomesoplenty.common.block.BlockBOPWhiteSandstone.StoneType;
|
||||
import biomesoplenty.common.command.BOPCommand;
|
||||
import biomesoplenty.common.fluids.BloodFluid;
|
||||
import biomesoplenty.common.fluids.HoneyFluid;
|
||||
|
@ -107,6 +110,10 @@ public class ModBlocks
|
|||
farmland_0 = registerBlock( BlockBOPFarmland.paging.getBlock(0), "farmland_0", null);
|
||||
farmland_1 = registerBlock( BlockBOPFarmland.paging.getBlock(1), "farmland_1", null);
|
||||
|
||||
white_sand = registerBlock( new BlockBOPWhiteSand(), "white_sand" );
|
||||
white_sandstone = registerBlock( new BlockBOPWhiteSandstone(), "white_sandstone" );
|
||||
white_sandstone_stairs =registerBlock( new BlockBOPStoneStairs(white_sandstone.getDefaultState().withProperty(BlockBOPWhiteSandstone.VARIANT, StoneType.SMOOTH)), "white_sandstone_stairs");
|
||||
|
||||
dried_sand = registerBlock( (new BlockBOPGeneric()).addSupportedPlantType(EnumPlantType.Desert), "dried_sand"); dried_sand.setHarvestLevel("pickaxe",0);
|
||||
hard_ice = registerBlock( (new BlockBOPGeneric(Material.PACKED_ICE, SoundType.STONE)).setHardness(0.75F), "hard_ice" );
|
||||
ash_block = registerBlock( new BlockBOPAsh(), "ash_block" );
|
||||
|
@ -126,7 +133,7 @@ public class ModBlocks
|
|||
bamboo_thatching = registerBlock( (new BlockBOPGeneric(Material.WOOD, SoundType.WOOD)).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( new BlockBOPStoneStairs(mud_brick_block.getDefaultState()), "mud_brick_stairs");
|
||||
|
||||
|
||||
//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", CreativeTabBOP.instance, false);
|
||||
|
|
|
@ -12,6 +12,7 @@ import biomesoplenty.api.block.BOPBlocks;
|
|||
import biomesoplenty.api.enums.*;
|
||||
import biomesoplenty.api.item.BOPItems;
|
||||
import biomesoplenty.common.block.*;
|
||||
import biomesoplenty.common.block.BlockBOPWhiteSandstone.StoneType;
|
||||
import biomesoplenty.common.crafting.BiomeEssenceRecipe;
|
||||
import biomesoplenty.common.handler.FurnaceFuelHandler;
|
||||
import biomesoplenty.common.item.ItemJarFilled;
|
||||
|
@ -89,6 +90,15 @@ public class ModCrafting
|
|||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.mud_brick_stairs, 4), " R", " RR", "RRR", 'R', BOPBlocks.mud_brick_block);
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.mud_brick_stairs, 4), "R ", "RR ", "RRR", 'R', BOPBlocks.mud_brick_block);
|
||||
|
||||
GameRegistry.addShapedRecipe(new ItemStack(Blocks.TNT, 1), "GSG", "SGS", "GSG", 'S', BOPBlocks.white_sand, 'G', Items.GUNPOWDER);
|
||||
|
||||
// White Sandstone
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone_stairs, 4), " R", " RR", "RRR", 'R', BOPBlocks.white_sandstone);
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone_stairs, 4), "R ", "RR ", "RRR", 'R', BOPBlocks.white_sandstone);
|
||||
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone, 1), "RR", "RR", 'R', BOPBlocks.white_sand);
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone, 4, BlockBOPWhiteSandstone.StoneType.SMOOTH.ordinal()), "RR", "RR", 'R', BOPBlocks.white_sandstone);
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone, 1, BlockBOPWhiteSandstone.StoneType.CHISELED.ordinal()), "R", "R", 'R', new ItemStack(BOPBlocks.other_slab, 1, BlockBOPHalfOtherSlab.SlabType.WHITE_SANDSTONE.ordinal()));
|
||||
|
||||
/*** Wood stairs and slabs ***/
|
||||
|
||||
|
@ -260,9 +270,10 @@ public class ModCrafting
|
|||
{
|
||||
|
||||
// Register smelting recipes
|
||||
GameRegistry.addSmelting(new ItemStack(BOPBlocks.mud), new ItemStack(Blocks.DIRT), 0F);
|
||||
GameRegistry.addSmelting(new ItemStack(BOPBlocks.mud), new ItemStack(Blocks.DIRT), 0.1F);
|
||||
GameRegistry.addSmelting(new ItemStack(BOPBlocks.white_sand), new ItemStack(Blocks.GLASS), 0.1F);
|
||||
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);
|
||||
GameRegistry.addSmelting(BOPItems.mudball, new ItemStack(BOPItems.mud_brick), 0.1F);
|
||||
for (BOPWoods wood : BOPWoods.values())
|
||||
{
|
||||
if (wood.canMakeCharcoal())
|
||||
|
@ -311,6 +322,9 @@ public class ModCrafting
|
|||
|
||||
OreDictionary.registerOre("blockMud", new ItemStack(BOPBlocks.mud));
|
||||
|
||||
OreDictionary.registerOre("sand", new ItemStack(BOPBlocks.white_sand));
|
||||
OreDictionary.registerOre("sandstone", new ItemStack(BOPBlocks.white_sandstone, 1, OreDictionary.WILDCARD_VALUE));
|
||||
|
||||
OreDictionary.registerOre("foodMushroompowder", new ItemStack(BOPItems.shroompowder));
|
||||
OreDictionary.registerOre("foodFruitsalad", new ItemStack(BOPItems.saladfruit));
|
||||
OreDictionary.registerOre("foodVeggiesalad", new ItemStack(BOPItems.saladveggie));
|
||||
|
|
|
@ -219,11 +219,11 @@ public class ModItems
|
|||
// WOOD(0, 59, 2.0F, 0.0F, 15),
|
||||
// STONE(1, 131, 4.0F, 1.0F, 5),
|
||||
// IRON(2, 250, 6.0F, 2.0F, 14),
|
||||
// EMERALD(3, 1561, 8.0F, 3.0F, 10),
|
||||
// DIAMOND(3, 1561, 8.0F, 3.0F, 10),
|
||||
// GOLD(0, 32, 12.0F, 0.0F, 22);
|
||||
mud_tool_material = EnumHelper.addToolMaterial("MUD", 0, 32, 0.5F, 0.0F, 1);
|
||||
mud_tool_material = EnumHelper.addToolMaterial("MUD", 0, 3, 0.25F, 0.0F, 1);
|
||||
mud_tool_material.setRepairItem(new ItemStack(mudball));
|
||||
setAxeDamageAndSpeed(mud_tool_material, 3.0F, -3.3F);
|
||||
setAxeDamageAndSpeed(mud_tool_material, 1.0F, -3.3F);
|
||||
|
||||
// ItemAxe and ItemPickaxe have protected constructors - use reflection to construct
|
||||
mud_axe = registerItem(BOPReflectionHelper.construct(ItemAxe.class, mud_tool_material), "mud_axe");
|
||||
|
|
|
@ -291,14 +291,14 @@ public class BlockQuery
|
|||
// Otherwise fall back to the vanilla code
|
||||
switch (this.plantType)
|
||||
{
|
||||
case Desert: return block == Blocks.SAND || block == Blocks.HARDENED_CLAY || block == Blocks.STAINED_HARDENED_CLAY || block == Blocks.DIRT || block == BOPBlocks.dirt;
|
||||
case Desert: return block == Blocks.SAND || block == Blocks.HARDENED_CLAY || block == Blocks.STAINED_HARDENED_CLAY || block == Blocks.DIRT || block == BOPBlocks.dirt || block == BOPBlocks.white_sand;
|
||||
case Nether: return block == Blocks.SOUL_SAND || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK);
|
||||
case Crop: return block == Blocks.FARMLAND || block == BOPBlocks.farmland_0 || block == BOPBlocks.farmland_1;
|
||||
case Cave: return block.isSideSolid(state, world, pos, EnumFacing.UP);
|
||||
case Plains: return block == Blocks.GRASS || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SANDY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.DAISY) || block == Blocks.DIRT || block == BOPBlocks.dirt || block == Blocks.FARMLAND || block == BOPBlocks.farmland_0 || block == BOPBlocks.farmland_1 || block == Blocks.MYCELIUM;
|
||||
case Water: return state.getMaterial() == Material.WATER && ((Integer)state.getValue(BlockLiquid.LEVEL)) == 0;
|
||||
case Beach:
|
||||
boolean isBeach = block == Blocks.GRASS || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SANDY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.DAISY) || block == Blocks.DIRT || block == BOPBlocks.dirt || block == Blocks.SAND || block == Blocks.MYCELIUM;
|
||||
boolean isBeach = block == Blocks.GRASS || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.LOAMY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SILTY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.SANDY) || state == BOPBlocks.grass.getDefaultState().withProperty(BlockBOPGrass.VARIANT, BlockBOPGrass.BOPGrassType.DAISY) || block == Blocks.DIRT || block == BOPBlocks.dirt || block == BOPBlocks.white_sand || block == Blocks.SAND || block == Blocks.MYCELIUM;
|
||||
boolean hasWater = (world.getBlockState(pos.east()).getMaterial() == Material.WATER ||
|
||||
world.getBlockState(pos.west()).getMaterial() == Material.WATER ||
|
||||
world.getBlockState(pos.north()).getMaterial() == Material.WATER ||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"variants": {
|
||||
"variant=mud_brick": { "model": "biomesoplenty:mud_brick_block" }
|
||||
"variant=mud_brick": { "model": "biomesoplenty:mud_brick_block" },
|
||||
"variant=white_sandstone": { "model": "biomesoplenty:white_sandstone_normal" }
|
||||
}
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
{
|
||||
"variants": {
|
||||
"half=bottom,variant=mud_brick": { "model": "biomesoplenty:half_slab_mud_brick" },
|
||||
"half=top,variant=mud_brick": { "model": "biomesoplenty:upper_slab_mud_brick" }
|
||||
"half=top,variant=mud_brick": { "model": "biomesoplenty:upper_slab_mud_brick" },
|
||||
"half=bottom,variant=white_sandstone": { "model": "biomesoplenty:half_slab_white_sandstone" },
|
||||
"half=top,variant=white_sandstone": { "model": "biomesoplenty:upper_slab_white_sandstone" }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"variants": {
|
||||
"normal": [
|
||||
{ "model": "biomesoplenty:white_sand" },
|
||||
{ "model": "biomesoplenty:white_sand", "y": 90 },
|
||||
{ "model": "biomesoplenty:white_sand", "y": 180 },
|
||||
{ "model": "biomesoplenty:white_sand", "y": 270 }
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"variants": {
|
||||
"variant=default": { "model": "biomesoplenty:white_sandstone_normal" },
|
||||
"variant=chiseled": { "model": "biomesoplenty:white_sandstone_chiseled" },
|
||||
"variant=smooth": { "model": "biomesoplenty:white_sandstone_smooth" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"variants": {
|
||||
"normal": { "model": "biomesoplenty:white_sandstone_normal" },
|
||||
"all": { "model": "biomesoplenty:white_sandstone_all" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"variants": {
|
||||
"half=bottom": { "model": "biomesoplenty:half_slab_white_sandstone" },
|
||||
"half=top": { "model": "biomesoplenty:upper_slab_white_sandstone" }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east,half=bottom,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs" },
|
||||
"facing=west,half=bottom,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs" },
|
||||
"facing=west,half=bottom,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 270, "uvlock": true },
|
||||
"facing=west,half=bottom,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 90, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs" },
|
||||
"facing=north,half=bottom,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "y": 180, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs" },
|
||||
"facing=west,half=bottom,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 180, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 90, "uvlock": true },
|
||||
"facing=north,half=bottom,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 270, "uvlock": true },
|
||||
"facing=east,half=bottom,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 270, "uvlock": true },
|
||||
"facing=west,half=bottom,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 90, "uvlock": true },
|
||||
"facing=south,half=bottom,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs" },
|
||||
"facing=north,half=bottom,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "y": 180, "uvlock": true },
|
||||
"facing=east,half=top,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=straight": { "model": "biomesoplenty:white_sandstone_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=east,half=top,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=west,half=top,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=south,half=top,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=north,half=top,shape=outer_right": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "uvlock": true },
|
||||
"facing=east,half=top,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=outer_left": { "model": "biomesoplenty:white_sandstone_outer_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=east,half=top,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=west,half=top,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 270, "uvlock": true },
|
||||
"facing=south,half=top,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=north,half=top,shape=inner_right": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "uvlock": true },
|
||||
"facing=east,half=top,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "uvlock": true },
|
||||
"facing=west,half=top,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 180, "uvlock": true },
|
||||
"facing=south,half=top,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 90, "uvlock": true },
|
||||
"facing=north,half=top,shape=inner_left": { "model": "biomesoplenty:white_sandstone_inner_stairs", "x": 180, "y": 270, "uvlock": true }
|
||||
}
|
||||
}
|
|
@ -453,7 +453,13 @@ tile.umbran_stairs.name=Umbran Wood Stairs
|
|||
tile.waterlily.lily_medium.name=Medium Lily Pad
|
||||
tile.waterlily.lily_small.name=Small Lily Pad
|
||||
tile.waterlily.lily_tiny.name=Tiny Lily Pad
|
||||
tile.waterlily.lily_flower.name=Flowered Lily Pad
|
||||
tile.waterlily.lily_flower.name=Flowered Lily
|
||||
tile.white_sand.name=White Sand
|
||||
tile.white_sandstone.white_sandstone.name=White Sandstone
|
||||
tile.white_sandstone.chiseled_white_sandstone.name=Chiseled White Sandstone
|
||||
tile.white_sandstone.smooth_white_sandstone.name=Smooth White Sandstone
|
||||
tile.white_sandstone_slab.name=White Sandstone Slab
|
||||
tile.white_sandstone_stairs.name=White Sandstone Stairs
|
||||
tile.willow_fence.name=Willow Fence
|
||||
tile.willow_fence_gate.name=Willow Fence Gate
|
||||
tile.willow_wood_slab.name=Willow Wood Slab
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "block/half_slab",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:blocks/white_sandstone_bottom",
|
||||
"top": "biomesoplenty:blocks/white_sandstone_top",
|
||||
"side": "biomesoplenty:blocks/white_sandstone_normal"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "block/upper_slab",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:blocks/white_sandstone_bottom",
|
||||
"top": "biomesoplenty:blocks/white_sandstone_top",
|
||||
"side": "biomesoplenty:blocks/white_sandstone_normal"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "biomesoplenty:blocks/white_sand"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"parent": "block/cube_all",
|
||||
"textures": {
|
||||
"all": "biomesoplenty:blocks/white_sandstone_top"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "block/cube_column",
|
||||
"textures": {
|
||||
"end": "biomesoplenty:blocks/white_sandstone_top",
|
||||
"side": "biomesoplenty:blocks/white_sandstone_carved"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "block/inner_stairs",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:blocks/white_sandstone_bottom",
|
||||
"top": "biomesoplenty:blocks/white_sandstone_top",
|
||||
"side": "biomesoplenty:blocks/white_sandstone_normal"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "block/cube_bottom_top",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:blocks/white_sandstone_bottom",
|
||||
"top": "biomesoplenty:blocks/white_sandstone_top",
|
||||
"side": "biomesoplenty:blocks/white_sandstone_normal"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "block/outer_stairs",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:blocks/white_sandstone_bottom",
|
||||
"top": "biomesoplenty:blocks/white_sandstone_top",
|
||||
"side": "biomesoplenty:blocks/white_sandstone_normal"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"parent": "block/cube_column",
|
||||
"textures": {
|
||||
"end": "biomesoplenty:blocks/white_sandstone_top",
|
||||
"side": "biomesoplenty:blocks/white_sandstone_smooth"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "block/stairs",
|
||||
"textures": {
|
||||
"bottom": "biomesoplenty:blocks/white_sandstone_bottom",
|
||||
"top": "biomesoplenty:blocks/white_sandstone_top",
|
||||
"side": "biomesoplenty:blocks/white_sandstone_normal"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "biomesoplenty:block/white_sandstone_chiseled"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "biomesoplenty:block/white_sandstone_smooth"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "biomesoplenty:block/white_sand"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "biomesoplenty:block/white_sandstone_normal"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "biomesoplenty:block/half_slab_white_sandstone"
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "biomesoplenty:block/white_sandstone_stairs"
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 613 B |
Binary file not shown.
After Width: | Height: | Size: 579 B |
Binary file not shown.
After Width: | Height: | Size: 559 B |
Binary file not shown.
After Width: | Height: | Size: 662 B |
Binary file not shown.
After Width: | Height: | Size: 517 B |
Binary file not shown.
After Width: | Height: | Size: 614 B |
Loading…
Reference in New Issue