Added a grass-like overlay to chitin blocks

This commit is contained in:
Sollace 2019-03-04 14:51:04 +02:00
parent c627614d22
commit 7ec3f39a29
13 changed files with 88 additions and 8 deletions

View file

@ -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();
}
}
}

View file

@ -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" }
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "block/cube_all",
"textures": {
"all": "unicopia:blocks/chitin_block"
}
}

View file

@ -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"
}
}

View file

@ -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"
}
}

View file

@ -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" }
}
}
]
}

View file

@ -1,3 +1,3 @@
{
"parent": "unicopia:block/chitin_block"
"parent": "unicopia:block/chitin_block_uncovered"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB