diff --git a/src/main/java/net/parsell/cherry/core/CherryBlocks.java b/src/main/java/net/parsell/cherry/core/CherryBlocks.java index 8734904..7a78029 100644 --- a/src/main/java/net/parsell/cherry/core/CherryBlocks.java +++ b/src/main/java/net/parsell/cherry/core/CherryBlocks.java @@ -7,6 +7,7 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; 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.LeavesBlock; import net.minecraft.block.PillarBlock; import net.minecraft.util.Identifier; @@ -20,14 +21,22 @@ public class CherryBlocks { public static final Block CHERRYWOODSTRIPPED = registerPillar("stripped_cherry_wood", FabricBlockSettings.copyOf(Blocks.STRIPPED_OAK_WOOD), 5, 5); 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); - private static Block registerBlock(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread){ + private static Block registerBlock(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) { Block block = new Block(settings); Registry.register(Registry.BLOCK, new Identifier("cherry", blockID), block); FlammableBlockRegistry.getDefaultInstance().add(block, burnChance, burnSpread); return block; } + private static Block registerFence(String blockID, FabricBlockSettings settings, int burnChance, int burnSpread) { + Block block = new FenceBlock(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 832a3e2..f0e2aae 100644 --- a/src/main/java/net/parsell/cherry/core/CherryItems.java +++ b/src/main/java/net/parsell/cherry/core/CherryItems.java @@ -16,6 +16,7 @@ public class CherryItems { registerBlockItem("stripped_cherry_wood", CherryBlocks.CHERRYWOODSTRIPPED, ItemGroup.BUILDING_BLOCKS); 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); } // Register a standard blockItem diff --git a/src/main/resources/assets/cherry/blockstates/cherry_fence.json b/src/main/resources/assets/cherry/blockstates/cherry_fence.json new file mode 100644 index 0000000..3f9b3b7 --- /dev/null +++ b/src/main/resources/assets/cherry/blockstates/cherry_fence.json @@ -0,0 +1,48 @@ +{ + "multipart": [ + { + "apply": { + "model": "minecraft:block/acacia_fence_post" + } + }, + { + "when": { + "north": "true" + }, + "apply": { + "model": "minecraft:block/acacia_fence_side", + "uvlock": true + } + }, + { + "when": { + "east": "true" + }, + "apply": { + "model": "minecraft:block/acacia_fence_side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "true" + }, + "apply": { + "model": "minecraft:block/acacia_fence_side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "true" + }, + "apply": { + "model": "minecraft:block/acacia_fence_side", + "y": 270, + "uvlock": true + } + } + ] + } \ No newline at end of file diff --git a/src/main/resources/assets/cherry/lang/en_us.json b/src/main/resources/assets/cherry/lang/en_us.json index 4470ec3..848fdb6 100644 --- a/src/main/resources/assets/cherry/lang/en_us.json +++ b/src/main/resources/assets/cherry/lang/en_us.json @@ -4,5 +4,6 @@ "block.cherry.stripped_cherry_log": "Stripped Cherry Log", "block.cherry.stripped_cherry_wood": "Stripped Cherry Wood", "block.cherry.cherry_leaves": "Cherry Leaves", - "block.cherry.cherry_planks": "Cherry Planks" + "block.cherry.cherry_planks": "Cherry Planks", + "block.cherry.cherry_fence": "Cherry Fence" } \ No newline at end of file diff --git a/src/main/resources/data/cherry/loot_tables/blocks/cherry_fence.json b/src/main/resources/data/cherry/loot_tables/blocks/cherry_fence.json new file mode 100644 index 0000000..fc2d900 --- /dev/null +++ b/src/main/resources/data/cherry/loot_tables/blocks/cherry_fence.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "cherry:cherry_fence" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] + } + diff --git a/src/main/resources/data/cherry/recipes/cherry_fence.json b/src/main/resources/data/cherry/recipes/cherry_fence.json new file mode 100644 index 0000000..f7d8179 --- /dev/null +++ b/src/main/resources/data/cherry/recipes/cherry_fence.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "wooden_fence", + "pattern": [ + "W#W", + "W#W" + ], + "key": { + "#": { + "item": "minecraft:stick" + }, + "W": { + "item": "cherry:cherry_planks" + } + }, + "result": { + "item": "cherry:cherry_fence", + "count": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/wooden_fences.json b/src/main/resources/data/minecraft/tags/blocks/wooden_fences.json new file mode 100644 index 0000000..60d1924 --- /dev/null +++ b/src/main/resources/data/minecraft/tags/blocks/wooden_fences.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "cherry:cherry_fence" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/items/wooden_fences.json b/src/main/resources/data/minecraft/tags/items/wooden_fences.json new file mode 100644 index 0000000..60d1924 --- /dev/null +++ b/src/main/resources/data/minecraft/tags/items/wooden_fences.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "cherry:cherry_fence" + ] +} \ No newline at end of file