From 4d37a62a3446a1ab97a167274cc33f40814c49b2 Mon Sep 17 00:00:00 2001 From: Justin Parsell Date: Thu, 18 Mar 2021 00:08:48 -0400 Subject: [PATCH] introduction of cherry fence gates --- .../net/parsell/cherry/core/CherryBlocks.java | 9 +++ .../net/parsell/cherry/core/CherryItems.java | 1 + .../cherry/blockstates/cherry_fence_gate.json | 80 +++++++++++++++++++ .../models/block/cherry_fence_gate.json | 6 ++ .../models/block/cherry_fence_gate_open.json | 6 ++ .../models/block/cherry_fence_gate_wall.json | 6 ++ .../block/cherry_fence_gate_wall_open.json | 6 ++ 7 files changed, 114 insertions(+) create mode 100644 src/main/resources/assets/cherry/blockstates/cherry_fence_gate.json create mode 100644 src/main/resources/assets/cherry/models/block/cherry_fence_gate.json create mode 100644 src/main/resources/assets/cherry/models/block/cherry_fence_gate_open.json create mode 100644 src/main/resources/assets/cherry/models/block/cherry_fence_gate_wall.json create mode 100644 src/main/resources/assets/cherry/models/block/cherry_fence_gate_wall_open.json diff --git a/src/main/java/net/parsell/cherry/core/CherryBlocks.java b/src/main/java/net/parsell/cherry/core/CherryBlocks.java index 7ce64ac..c59cc69 100644 --- a/src/main/java/net/parsell/cherry/core/CherryBlocks.java +++ b/src/main/java/net/parsell/cherry/core/CherryBlocks.java @@ -9,6 +9,7 @@ import net.fabricmc.fabric.api.registry.FlammableBlockRegistry; import net.minecraft.block.Block; import net.minecraft.block.Blocks; import net.minecraft.block.FenceBlock; +import net.minecraft.block.FenceGateBlock; import net.minecraft.block.LeavesBlock; import net.minecraft.block.PillarBlock; import net.minecraft.client.render.RenderLayer; @@ -27,6 +28,7 @@ public class CherryBlocks { public static final Block CHERRYLEAVES = registerLeaves("cherry_leaves", FabricBlockSettings.copyOf(Blocks.OAK_LEAVES), 30, 60, 6649929); public static final Block CHERRYPLANKS = registerBlock("cherry_planks", FabricBlockSettings.copyOf(Blocks.OAK_PLANKS), 5, 20); public static final Block CHERRYFENCE = registerFence("cherry_fence", FabricBlockSettings.copyOf(Blocks.OAK_FENCE), 5, 20); // TODO: Textures, tags (as required) + public static final Block CHERRYFENCEGATE = registerFenceGate("cherry_fence_gate", FabricBlockSettings.copyOf(Blocks.OAK_FENCE_GATE), 5, 20); // Textures, recipe, loot_tables, tags (as required) public static final Block CHERRYDOOR = registerDoor("cherry_door", FabricBlockSettings.copyOf(Blocks.OAK_DOOR), 5, 20); // TODO: Textures, recipe, loot_tables, tags (as required) private static Block registerBlock(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) { @@ -43,6 +45,13 @@ public class CherryBlocks { return block; } + private static Block registerFenceGate(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) { + Block block = new FenceGateBlock(settings); + Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block); + FlammableBlockRegistry.getDefaultInstance().add(block, burnChance, burnSpread); + return block; + } + private static Block registerPillar(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread){ Block block = new PillarBlock(settings); Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block); diff --git a/src/main/java/net/parsell/cherry/core/CherryItems.java b/src/main/java/net/parsell/cherry/core/CherryItems.java index a622ccc..5f3c16c 100644 --- a/src/main/java/net/parsell/cherry/core/CherryItems.java +++ b/src/main/java/net/parsell/cherry/core/CherryItems.java @@ -17,6 +17,7 @@ public class CherryItems { registerBlockItem("cherry_leaves", CherryBlocks.CHERRYLEAVES, ItemGroup.BUILDING_BLOCKS, 6649929); registerBlockItem("cherry_planks", CherryBlocks.CHERRYPLANKS, ItemGroup.BUILDING_BLOCKS); registerBlockItem("cherry_fence", CherryBlocks.CHERRYFENCE, ItemGroup.BUILDING_BLOCKS); + registerBlockItem("cherry_fence_gate", CherryBlocks.CHERRYFENCEGATE, ItemGroup.BUILDING_BLOCKS); registerBlockItem("cherry_door", CherryBlocks.CHERRYDOOR, ItemGroup.BUILDING_BLOCKS); } diff --git a/src/main/resources/assets/cherry/blockstates/cherry_fence_gate.json b/src/main/resources/assets/cherry/blockstates/cherry_fence_gate.json new file mode 100644 index 0000000..a6d3676 --- /dev/null +++ b/src/main/resources/assets/cherry/blockstates/cherry_fence_gate.json @@ -0,0 +1,80 @@ +{ + "variants": { + "facing=east,in_wall=false,open=false": { + "uvlock": true, + "y": 270, + "model": "minecraft:block/acacia_fence_gate" + }, + "facing=east,in_wall=false,open=true": { + "uvlock": true, + "y": 270, + "model": "minecraft:block/acacia_fence_gate_open" + }, + "facing=east,in_wall=true,open=false": { + "uvlock": true, + "y": 270, + "model": "minecraft:block/acacia_fence_gate_wall" + }, + "facing=east,in_wall=true,open=true": { + "uvlock": true, + "y": 270, + "model": "minecraft:block/acacia_fence_gate_wall_open" + }, + "facing=north,in_wall=false,open=false": { + "uvlock": true, + "y": 180, + "model": "minecraft:block/acacia_fence_gate" + }, + "facing=north,in_wall=false,open=true": { + "uvlock": true, + "y": 180, + "model": "minecraft:block/acacia_fence_gate_open" + }, + "facing=north,in_wall=true,open=false": { + "uvlock": true, + "y": 180, + "model": "minecraft:block/acacia_fence_gate_wall" + }, + "facing=north,in_wall=true,open=true": { + "uvlock": true, + "y": 180, + "model": "minecraft:block/acacia_fence_gate_wall_open" + }, + "facing=south,in_wall=false,open=false": { + "uvlock": true, + "model": "minecraft:block/acacia_fence_gate" + }, + "facing=south,in_wall=false,open=true": { + "uvlock": true, + "model": "minecraft:block/acacia_fence_gate_open" + }, + "facing=south,in_wall=true,open=false": { + "uvlock": true, + "model": "minecraft:block/acacia_fence_gate_wall" + }, + "facing=south,in_wall=true,open=true": { + "uvlock": true, + "model": "minecraft:block/acacia_fence_gate_wall_open" + }, + "facing=west,in_wall=false,open=false": { + "uvlock": true, + "y": 90, + "model": "minecraft:block/acacia_fence_gate" + }, + "facing=west,in_wall=false,open=true": { + "uvlock": true, + "y": 90, + "model": "minecraft:block/acacia_fence_gate_open" + }, + "facing=west,in_wall=true,open=false": { + "uvlock": true, + "y": 90, + "model": "minecraft:block/acacia_fence_gate_wall" + }, + "facing=west,in_wall=true,open=true": { + "uvlock": true, + "y": 90, + "model": "minecraft:block/acacia_fence_gate_wall_open" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/cherry/models/block/cherry_fence_gate.json b/src/main/resources/assets/cherry/models/block/cherry_fence_gate.json new file mode 100644 index 0000000..bbfe50f --- /dev/null +++ b/src/main/resources/assets/cherry/models/block/cherry_fence_gate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate", + "textures": { + "texture": "minecraft:block/oak_planks" + } + } \ No newline at end of file diff --git a/src/main/resources/assets/cherry/models/block/cherry_fence_gate_open.json b/src/main/resources/assets/cherry/models/block/cherry_fence_gate_open.json new file mode 100644 index 0000000..5ff9451 --- /dev/null +++ b/src/main/resources/assets/cherry/models/block/cherry_fence_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_open", + "textures": { + "texture": "minecraft:block/oak_planks" + } + } \ No newline at end of file diff --git a/src/main/resources/assets/cherry/models/block/cherry_fence_gate_wall.json b/src/main/resources/assets/cherry/models/block/cherry_fence_gate_wall.json new file mode 100644 index 0000000..ff8b987 --- /dev/null +++ b/src/main/resources/assets/cherry/models/block/cherry_fence_gate_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_wall", + "textures": { + "texture": "minecraft:block/oak_planks" + } + } \ No newline at end of file diff --git a/src/main/resources/assets/cherry/models/block/cherry_fence_gate_wall_open.json b/src/main/resources/assets/cherry/models/block/cherry_fence_gate_wall_open.json new file mode 100644 index 0000000..e6ebd71 --- /dev/null +++ b/src/main/resources/assets/cherry/models/block/cherry_fence_gate_wall_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_wall_open", + "textures": { + "texture": "minecraft:block/oak_planks" + } + } \ No newline at end of file