Added a grass-like overlay to chitin blocks
|
@ -10,16 +10,23 @@ import com.minelittlepony.unicopia.player.PlayerSpeciesList;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.material.MapColor;
|
import net.minecraft.block.material.MapColor;
|
||||||
|
import net.minecraft.block.properties.PropertyEnum;
|
||||||
|
import net.minecraft.block.state.BlockStateContainer;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.util.EnumFacing;
|
||||||
|
import net.minecraft.util.IStringSerializable;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.IBlockAccess;
|
import net.minecraft.world.IBlockAccess;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class BlockChitin extends Block {
|
public class BlockChitin extends Block {
|
||||||
|
|
||||||
|
public static final PropertyEnum<Covering> COVERING = PropertyEnum.create("covering", Covering.class);
|
||||||
|
|
||||||
public BlockChitin(String domain, String name) {
|
public BlockChitin(String domain, String name) {
|
||||||
super(UMaterials.hive);
|
super(UMaterials.hive);
|
||||||
|
|
||||||
|
@ -28,6 +35,7 @@ public class BlockChitin extends Block {
|
||||||
setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
|
setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
|
||||||
setHardness(50);
|
setHardness(50);
|
||||||
setResistance(2000);
|
setResistance(2000);
|
||||||
|
setDefaultState(blockState.getBaseState().withProperty(COVERING, Covering.UNCOVERED));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -66,4 +74,42 @@ public class BlockChitin extends Block {
|
||||||
return hardness;
|
return hardness;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMetaFromState(IBlockState state) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||||
|
IBlockState s = world.getBlockState(pos.up());
|
||||||
|
Block block = s.getBlock();
|
||||||
|
|
||||||
|
boolean snowy = block == Blocks.SNOW || block == Blocks.SNOW_LAYER;
|
||||||
|
boolean solid = (s.isFullBlock() && s.isFullCube()) || s.isSideSolid(world, pos.up(), EnumFacing.DOWN);
|
||||||
|
|
||||||
|
return state.withProperty(COVERING, snowy ? Covering.SNOW_COVERED : solid ? Covering.COVERED : Covering.UNCOVERED);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected BlockStateContainer createBlockState() {
|
||||||
|
return new BlockStateContainer(this, COVERING);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static enum Covering implements IStringSerializable {
|
||||||
|
COVERED,
|
||||||
|
UNCOVERED,
|
||||||
|
SNOW_COVERED;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return name().toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{
|
{
|
||||||
"variants": {
|
"variants": {
|
||||||
"normal": { "model": "unicopia:chitin_block" }
|
"covering=uncovered": { "model": "unicopia:chitin_block_uncovered" },
|
||||||
|
"covering=covered": { "model": "unicopia:chitin_block_covered" },
|
||||||
|
"covering=snow_covered": { "model": "unicopia:chitin_block_snow_covered" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"parent": "block/cube_all",
|
|
||||||
"textures": {
|
|
||||||
"all": "unicopia:blocks/chitin_block"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"parent": "block/cube_bottom_top",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "unicopia:blocks/chitin_block_covered",
|
||||||
|
"top": "unicopia:blocks/chitin_block_top",
|
||||||
|
"side": "unicopia:blocks/chitin_block_covered"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"parent": "block/cube_bottom_top",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "unicopia:blocks/chitin_block_covered",
|
||||||
|
"top": "unicopia:blocks/chitin_block_top",
|
||||||
|
"side": "unicopia:blocks/chitin_block_snow_covered"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"parent": "block/cube_all",
|
||||||
|
"textures": {
|
||||||
|
"bottom": "unicopia:blocks/chitin_block_covered",
|
||||||
|
"particle": "unicopia:blocks/chitin_block_uncovered",
|
||||||
|
"top": "unicopia:blocks/chitin_block_top",
|
||||||
|
"side": "unicopia:blocks/chitin_block_uncovered"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{ "from": [ 0, 0, 0 ],
|
||||||
|
"to": [ 16, 16, 16 ],
|
||||||
|
"faces": {
|
||||||
|
"down": { "texture": "#bottom", "cullface": "down" },
|
||||||
|
"up": { "texture": "#top", "cullface": "up" },
|
||||||
|
"north": { "texture": "#side", "cullface": "north" },
|
||||||
|
"south": { "texture": "#side", "cullface": "south" },
|
||||||
|
"west": { "texture": "#side", "cullface": "west" },
|
||||||
|
"east": { "texture": "#side", "cullface": "east" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -1,3 +1,3 @@
|
||||||
{
|
{
|
||||||
"parent": "unicopia:block/chitin_block"
|
"parent": "unicopia:block/chitin_block_uncovered"
|
||||||
}
|
}
|
||||||
|
|
After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.3 KiB |