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.material.MapColor;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class BlockChitin extends Block {
|
||||
|
||||
public static final PropertyEnum<Covering> COVERING = PropertyEnum.create("covering", Covering.class);
|
||||
|
||||
public BlockChitin(String domain, String name) {
|
||||
super(UMaterials.hive);
|
||||
|
||||
|
@ -28,6 +35,7 @@ public class BlockChitin extends Block {
|
|||
setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
|
||||
setHardness(50);
|
||||
setResistance(2000);
|
||||
setDefaultState(blockState.getBaseState().withProperty(COVERING, Covering.UNCOVERED));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -66,4 +74,42 @@ public class BlockChitin extends Block {
|
|||
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": {
|
||||
"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 |