From 7ec3f39a298add6cdca5ea6de8015ce7f130618d Mon Sep 17 00:00:00 2001 From: Sollace Date: Mon, 4 Mar 2019 14:51:04 +0200 Subject: [PATCH] Added a grass-like overlay to chitin blocks --- .../unicopia/block/BlockChitin.java | 46 ++++++++++++++++++ .../unicopia/blockstates/chitin_block.json | 4 +- .../unicopia/models/block/chitin_block.json | 6 --- .../models/block/chitin_block_covered.json | 8 +++ .../block/chitin_block_snow_covered.json | 8 +++ .../models/block/chitin_block_uncovered.json | 22 +++++++++ .../unicopia/models/item/chitin_block.json | 2 +- .../textures/blocks/chitin_block_bottom.png | Bin 0 -> 3488 bytes ...tin_block.png => chitin_block_covered.png} | Bin .../blocks/chitin_block_snow_covered.png | Bin 0 -> 3406 bytes .../textures/blocks/chitin_block_spike.png | Bin 0 -> 3391 bytes .../textures/blocks/chitin_block_top.png | Bin 0 -> 3383 bytes .../blocks/chitin_block_uncovered.png | Bin 0 -> 3378 bytes 13 files changed, 88 insertions(+), 8 deletions(-) delete mode 100644 src/main/resources/assets/unicopia/models/block/chitin_block.json create mode 100644 src/main/resources/assets/unicopia/models/block/chitin_block_covered.json create mode 100644 src/main/resources/assets/unicopia/models/block/chitin_block_snow_covered.json create mode 100644 src/main/resources/assets/unicopia/models/block/chitin_block_uncovered.json create mode 100644 src/main/resources/assets/unicopia/textures/blocks/chitin_block_bottom.png rename src/main/resources/assets/unicopia/textures/blocks/{chitin_block.png => chitin_block_covered.png} (100%) create mode 100644 src/main/resources/assets/unicopia/textures/blocks/chitin_block_snow_covered.png create mode 100644 src/main/resources/assets/unicopia/textures/blocks/chitin_block_spike.png create mode 100644 src/main/resources/assets/unicopia/textures/blocks/chitin_block_top.png create mode 100644 src/main/resources/assets/unicopia/textures/blocks/chitin_block_uncovered.png diff --git a/src/main/java/com/minelittlepony/unicopia/block/BlockChitin.java b/src/main/java/com/minelittlepony/unicopia/block/BlockChitin.java index 64922218..03575956 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/BlockChitin.java +++ b/src/main/java/com/minelittlepony/unicopia/block/BlockChitin.java @@ -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 = 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(); + } + + } } diff --git a/src/main/resources/assets/unicopia/blockstates/chitin_block.json b/src/main/resources/assets/unicopia/blockstates/chitin_block.json index 4640da25..a2663eda 100644 --- a/src/main/resources/assets/unicopia/blockstates/chitin_block.json +++ b/src/main/resources/assets/unicopia/blockstates/chitin_block.json @@ -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" } } } diff --git a/src/main/resources/assets/unicopia/models/block/chitin_block.json b/src/main/resources/assets/unicopia/models/block/chitin_block.json deleted file mode 100644 index 9c8be6d6..00000000 --- a/src/main/resources/assets/unicopia/models/block/chitin_block.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "block/cube_all", - "textures": { - "all": "unicopia:blocks/chitin_block" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/chitin_block_covered.json b/src/main/resources/assets/unicopia/models/block/chitin_block_covered.json new file mode 100644 index 00000000..4f6cc99c --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/chitin_block_covered.json @@ -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" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/chitin_block_snow_covered.json b/src/main/resources/assets/unicopia/models/block/chitin_block_snow_covered.json new file mode 100644 index 00000000..fca60bf2 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/chitin_block_snow_covered.json @@ -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" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/block/chitin_block_uncovered.json b/src/main/resources/assets/unicopia/models/block/chitin_block_uncovered.json new file mode 100644 index 00000000..67c57089 --- /dev/null +++ b/src/main/resources/assets/unicopia/models/block/chitin_block_uncovered.json @@ -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" } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/unicopia/models/item/chitin_block.json b/src/main/resources/assets/unicopia/models/item/chitin_block.json index 740d2631..63860a70 100644 --- a/src/main/resources/assets/unicopia/models/item/chitin_block.json +++ b/src/main/resources/assets/unicopia/models/item/chitin_block.json @@ -1,3 +1,3 @@ { - "parent": "unicopia:block/chitin_block" + "parent": "unicopia:block/chitin_block_uncovered" } diff --git a/src/main/resources/assets/unicopia/textures/blocks/chitin_block_bottom.png b/src/main/resources/assets/unicopia/textures/blocks/chitin_block_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..6f1e1a72e213ad6a2a432aa45560ddc911ddb521 GIT binary patch literal 3488 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/blocks/chitin_block_spike.png b/src/main/resources/assets/unicopia/textures/blocks/chitin_block_spike.png new file mode 100644 index 0000000000000000000000000000000000000000..4ce1b60a15d93395f110cfbef53a1b1bdd3ce09e GIT binary patch literal 3391 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 VaFB`P(WU?Z002ovPDHLkV1kPIf1v;X literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/blocks/chitin_block_top.png b/src/main/resources/assets/unicopia/textures/blocks/chitin_block_top.png new file mode 100644 index 0000000000000000000000000000000000000000..ef56786b9bbe999759f05b2a17e5c309655a7f44 GIT binary patch literal 3383 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 N002ovPDHLkV1n1cf&u^l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/unicopia/textures/blocks/chitin_block_uncovered.png b/src/main/resources/assets/unicopia/textures/blocks/chitin_block_uncovered.png new file mode 100644 index 0000000000000000000000000000000000000000..48cffc057e1914eb1f05a39709007b555b829aab GIT binary patch literal 3378 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