diff --git a/Common/src/generated/resources/assets/hexcasting/blockstates/edified_fence_gate.json b/Common/src/generated/resources/assets/hexcasting/blockstates/edified_fence_gate.json new file mode 100644 index 0000000000..f925ddfddd --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/blockstates/edified_fence_gate.json @@ -0,0 +1,80 @@ +{ + "variants": { + "facing=east,in_wall=false,open=false": { + "model": "hexcasting:block/edified_fence_gate", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=false,open=true": { + "model": "hexcasting:block/edified_fence_gate_open", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=false": { + "model": "hexcasting:block/edified_fence_gate_wall", + "uvlock": true, + "y": 270 + }, + "facing=east,in_wall=true,open=true": { + "model": "hexcasting:block/edified_fence_gate_wall_open", + "uvlock": true, + "y": 270 + }, + "facing=north,in_wall=false,open=false": { + "model": "hexcasting:block/edified_fence_gate", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=false,open=true": { + "model": "hexcasting:block/edified_fence_gate_open", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=false": { + "model": "hexcasting:block/edified_fence_gate_wall", + "uvlock": true, + "y": 180 + }, + "facing=north,in_wall=true,open=true": { + "model": "hexcasting:block/edified_fence_gate_wall_open", + "uvlock": true, + "y": 180 + }, + "facing=south,in_wall=false,open=false": { + "model": "hexcasting:block/edified_fence_gate", + "uvlock": true + }, + "facing=south,in_wall=false,open=true": { + "model": "hexcasting:block/edified_fence_gate_open", + "uvlock": true + }, + "facing=south,in_wall=true,open=false": { + "model": "hexcasting:block/edified_fence_gate_wall", + "uvlock": true + }, + "facing=south,in_wall=true,open=true": { + "model": "hexcasting:block/edified_fence_gate_wall_open", + "uvlock": true + }, + "facing=west,in_wall=false,open=false": { + "model": "hexcasting:block/edified_fence_gate", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=false,open=true": { + "model": "hexcasting:block/edified_fence_gate_open", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=false": { + "model": "hexcasting:block/edified_fence_gate_wall", + "uvlock": true, + "y": 90 + }, + "facing=west,in_wall=true,open=true": { + "model": "hexcasting:block/edified_fence_gate_wall_open", + "uvlock": true, + "y": 90 + } + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate.json b/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate.json new file mode 100644 index 0000000000..c3015ca6d3 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate", + "textures": { + "texture": "hexcasting:block/edified_planks" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate_open.json b/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate_open.json new file mode 100644 index 0000000000..ac141eb406 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_open", + "textures": { + "texture": "hexcasting:block/edified_planks" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate_wall.json b/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate_wall.json new file mode 100644 index 0000000000..ea98b16740 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate_wall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_wall", + "textures": { + "texture": "hexcasting:block/edified_planks" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate_wall_open.json b/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate_wall_open.json new file mode 100644 index 0000000000..86d82ca2fc --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/block/edified_fence_gate_wall_open.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_fence_gate_wall_open", + "textures": { + "texture": "hexcasting:block/edified_planks" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/edified_fence_gate.json b/Common/src/generated/resources/assets/hexcasting/models/item/edified_fence_gate.json new file mode 100644 index 0000000000..3dfe521195 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/edified_fence_gate.json @@ -0,0 +1,3 @@ +{ + "parent": "hexcasting:block/edified_fence_gate" +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/staff/bamboo.json b/Common/src/generated/resources/assets/hexcasting/models/item/staff/bamboo.json new file mode 100644 index 0000000000..cb00188989 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/staff/bamboo.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld_rod", + "textures": { + "layer0": "hexcasting:item/staff/bamboo" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/item/staff/cherry.json b/Common/src/generated/resources/assets/hexcasting/models/item/staff/cherry.json new file mode 100644 index 0000000000..1fb6398518 --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/item/staff/cherry.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld_rod", + "textures": { + "layer0": "hexcasting:item/staff/cherry" + } +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/staff/bamboo.json b/Common/src/generated/resources/assets/hexcasting/models/staff/bamboo.json new file mode 100644 index 0000000000..c0f063051f --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/staff/bamboo.json @@ -0,0 +1,16 @@ +{ + "overrides": [ + { + "model": "hexcasting:item/bamboo_staff", + "predicate": { + "hexcasting:funny_level": 0.0 + } + }, + { + "model": "hexcasting:item/cherry_staff", + "predicate": { + "hexcasting:funny_level": 2.0 + } + } + ] +} \ No newline at end of file diff --git a/Common/src/generated/resources/assets/hexcasting/models/staff/cherry.json b/Common/src/generated/resources/assets/hexcasting/models/staff/cherry.json new file mode 100644 index 0000000000..9a663a248b --- /dev/null +++ b/Common/src/generated/resources/assets/hexcasting/models/staff/cherry.json @@ -0,0 +1,16 @@ +{ + "overrides": [ + { + "model": "hexcasting:item/cherry_staff", + "predicate": { + "hexcasting:funny_level": 0.0 + } + }, + { + "model": "hexcasting:item/cherry_staff", + "predicate": { + "hexcasting:funny_level": 2.0 + } + } + ] +} \ No newline at end of file diff --git a/Common/src/main/java/at/petrak/hexcasting/common/blocks/decoration/BlockHexFence.java b/Common/src/main/java/at/petrak/hexcasting/common/blocks/decoration/BlockHexFence.java new file mode 100644 index 0000000000..ec7ac95181 --- /dev/null +++ b/Common/src/main/java/at/petrak/hexcasting/common/blocks/decoration/BlockHexFence.java @@ -0,0 +1,30 @@ +package at.petrak.hexcasting.common.blocks.decoration; + +import at.petrak.hexcasting.annotations.SoftImplement; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.FenceBlock; +import net.minecraft.world.level.block.state.BlockState; + +public class BlockHexFence extends FenceBlock { + + public BlockHexFence(Properties $$0) { + super($$0); + } + + @SoftImplement("forge") + public boolean isFlammable(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return true; + } + + @SoftImplement("forge") + public int getFlammability(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return 20; + } + + @SoftImplement("forge") + public int getFireSpreadSpeed(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return 5; + } +} diff --git a/Common/src/main/java/at/petrak/hexcasting/common/blocks/decoration/BlockHexFenceGate.java b/Common/src/main/java/at/petrak/hexcasting/common/blocks/decoration/BlockHexFenceGate.java new file mode 100644 index 0000000000..10fc89230e --- /dev/null +++ b/Common/src/main/java/at/petrak/hexcasting/common/blocks/decoration/BlockHexFenceGate.java @@ -0,0 +1,32 @@ +package at.petrak.hexcasting.common.blocks.decoration; + +import at.petrak.hexcasting.annotations.SoftImplement; +import at.petrak.hexcasting.common.lib.HexBlockSetTypes; +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.block.FenceGateBlock; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.WoodType; + +public class BlockHexFenceGate extends FenceGateBlock { + + public BlockHexFenceGate(Properties $$0) { + super($$0, WoodType.DARK_OAK); + } + + @SoftImplement("forge") + public boolean isFlammable(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return true; + } + + @SoftImplement("forge") + public int getFlammability(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return 20; + } + + @SoftImplement("forge") + public int getFireSpreadSpeed(BlockState state, BlockGetter level, BlockPos pos, Direction direction) { + return 5; + } +} diff --git a/Common/src/main/java/at/petrak/hexcasting/common/lib/HexBlocks.java b/Common/src/main/java/at/petrak/hexcasting/common/lib/HexBlocks.java index 908e3f139a..97e58a75e4 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/lib/HexBlocks.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/lib/HexBlocks.java @@ -264,6 +264,12 @@ private static BlockBehaviour.Properties quenched() { new BlockHexTrapdoor(edifiedWoody().noOcclusion())); public static final StairBlock EDIFIED_STAIRS = blockItem("edified_stairs", new BlockHexStairs(EDIFIED_PLANKS.defaultBlockState(), edifiedWoody().noOcclusion())); + + public static final FenceBlock EDIFIED_FENCE = blockItem("edified_fence", + new BlockHexFence(edifiedWoody().noOcclusion())); + public static final FenceGateBlock EDIFIED_FENCE_GATE = blockItem("edified_fence_gate", + new BlockHexFenceGate(edifiedWoody().noOcclusion())); + public static final SlabBlock EDIFIED_SLAB = blockItem("edified_slab", new BlockHexSlab(edifiedWoody().noOcclusion())); public static final ButtonBlock EDIFIED_BUTTON = blockItem("edified_button", diff --git a/Common/src/main/java/at/petrak/hexcasting/common/lib/HexItems.java b/Common/src/main/java/at/petrak/hexcasting/common/lib/HexItems.java index d6b90adf3c..a85889e104 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/lib/HexItems.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/lib/HexItems.java @@ -58,6 +58,8 @@ public static void registerItemCreativeTab(CreativeModeTab.Output r, CreativeMod public static final ItemStaff STAFF_CRIMSON = make("staff/crimson", new ItemStaff(unstackable())); public static final ItemStaff STAFF_WARPED = make("staff/warped", new ItemStaff(unstackable())); public static final ItemStaff STAFF_MANGROVE = make("staff/mangrove", new ItemStaff(unstackable())); + public static final ItemStaff STAFF_CHERRY = make("staff/cherry", new ItemStaff(unstackable())); + public static final ItemStaff STAFF_BAMBOO = make("staff/bamboo", new ItemStaff(unstackable())); public static final ItemStaff STAFF_EDIFIED = make("staff/edified", new ItemStaff(unstackable())); public static final ItemStaff STAFF_QUENCHED = make("staff/quenched", new ItemStaff(unstackable())); // mindsplice staffaratus diff --git a/Common/src/main/java/at/petrak/hexcasting/datagen/HexLootTables.java b/Common/src/main/java/at/petrak/hexcasting/datagen/HexLootTables.java index b52a65d2fc..386320703c 100644 --- a/Common/src/main/java/at/petrak/hexcasting/datagen/HexLootTables.java +++ b/Common/src/main/java/at/petrak/hexcasting/datagen/HexLootTables.java @@ -58,7 +58,7 @@ protected void makeLootTables(Map blockTables, HexBlocks.EDIFIED_LOG_CITRINE, HexBlocks.EDIFIED_LOG_PURPLE, HexBlocks.STRIPPED_EDIFIED_LOG, HexBlocks.EDIFIED_WOOD, HexBlocks.STRIPPED_EDIFIED_WOOD, HexBlocks.EDIFIED_PLANKS, HexBlocks.EDIFIED_TILE, HexBlocks.EDIFIED_PANEL, - HexBlocks.EDIFIED_TRAPDOOR, HexBlocks.EDIFIED_STAIRS, HexBlocks.EDIFIED_PRESSURE_PLATE, + HexBlocks.EDIFIED_TRAPDOOR, HexBlocks.EDIFIED_STAIRS, HexBlocks.EDIFIED_FENCE, HexBlocks.EDIFIED_FENCE_GATE, HexBlocks.EDIFIED_PRESSURE_PLATE, HexBlocks.EDIFIED_BUTTON); makeSlabTable(blockTables, HexBlocks.EDIFIED_SLAB); diff --git a/Common/src/main/java/at/petrak/hexcasting/datagen/recipe/HexplatRecipes.java b/Common/src/main/java/at/petrak/hexcasting/datagen/recipe/HexplatRecipes.java index 1a326ef0e9..0ce18147f8 100644 --- a/Common/src/main/java/at/petrak/hexcasting/datagen/recipe/HexplatRecipes.java +++ b/Common/src/main/java/at/petrak/hexcasting/datagen/recipe/HexplatRecipes.java @@ -71,6 +71,8 @@ public void buildRecipes(Consumer recipes) { staffRecipe(recipes, HexItems.STAFF_CRIMSON, Items.CRIMSON_PLANKS); staffRecipe(recipes, HexItems.STAFF_WARPED, Items.WARPED_PLANKS); staffRecipe(recipes, HexItems.STAFF_MANGROVE, Items.MANGROVE_PLANKS); + staffRecipe(recipes, HexItems.STAFF_CHERRY, Items.CHERRY_PLANKS); + staffRecipe(recipes, HexItems.STAFF_BAMBOO, Items.BAMBOO_PLANKS); staffRecipe(recipes, HexItems.STAFF_EDIFIED, HexBlocks.EDIFIED_PLANKS.asItem()); staffRecipe(recipes, HexItems.STAFF_QUENCHED, HexItems.QUENCHED_SHARD); staffRecipe(recipes, HexItems.STAFF_MINDSPLICE, Ingredient.of(HexTags.Items.MINDFLAYED_CIRCLE_COMPONENTS)); @@ -348,6 +350,21 @@ public void buildRecipes(Consumer recipes) { .pattern("WWW") .unlockedBy("has_item", hasItem(HexTags.Items.EDIFIED_PLANKS)).save(recipes); + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, HexBlocks.EDIFIED_FENCE, 3) + .define('W', HexTags.Items.EDIFIED_PLANKS) + .define('S', Items.STICK) + .pattern("WSW") + .pattern("WSW") + .unlockedBy("has_item", hasItem(HexTags.Items.EDIFIED_PLANKS)).save(recipes); + + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, HexBlocks.EDIFIED_FENCE_GATE, 1) + .define('W', HexTags.Items.EDIFIED_PLANKS) + .define('S', Items.STICK) + .pattern("SWS") + .pattern("SWS") + .unlockedBy("has_item", hasItem(HexTags.Items.EDIFIED_PLANKS)).save(recipes); + + ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, HexBlocks.EDIFIED_SLAB, 6) .define('W', HexTags.Items.EDIFIED_PLANKS) .pattern("WWW") diff --git a/Common/src/main/java/at/petrak/hexcasting/datagen/tag/HexBlockTagProvider.java b/Common/src/main/java/at/petrak/hexcasting/datagen/tag/HexBlockTagProvider.java index 6818632f6d..75b0435235 100644 --- a/Common/src/main/java/at/petrak/hexcasting/datagen/tag/HexBlockTagProvider.java +++ b/Common/src/main/java/at/petrak/hexcasting/datagen/tag/HexBlockTagProvider.java @@ -54,7 +54,7 @@ protected void addTags(HolderLookup.Provider provider) { HexBlocks.EDIFIED_WOOD, HexBlocks.STRIPPED_EDIFIED_WOOD, HexBlocks.EDIFIED_PLANKS, HexBlocks.EDIFIED_PANEL, HexBlocks.EDIFIED_TILE, HexBlocks.EDIFIED_DOOR, HexBlocks.EDIFIED_TRAPDOOR, HexBlocks.EDIFIED_SLAB, - HexBlocks.EDIFIED_BUTTON, HexBlocks.EDIFIED_STAIRS); + HexBlocks.EDIFIED_BUTTON, HexBlocks.EDIFIED_STAIRS, HexBlocks.EDIFIED_FENCE, HexBlocks.EDIFIED_FENCE_GATE); add(tag(BlockTags.MINEABLE_WITH_HOE), HexBlocks.AMETHYST_EDIFIED_LEAVES, HexBlocks.AVENTURINE_EDIFIED_LEAVES, @@ -93,6 +93,19 @@ protected void addTags(HolderLookup.Provider provider) { HexBlocks.EDIFIED_SLAB); add(tag(BlockTags.STAIRS), HexBlocks.EDIFIED_STAIRS); + add(tag(BlockTags.FENCES), + HexBlocks.EDIFIED_FENCE); + add(tag(BlockTags.WOODEN_FENCES), + HexBlocks.EDIFIED_FENCE); + add(tag(BlockTags.FENCE_GATES), + HexBlocks.EDIFIED_FENCE_GATE); + add(tag(BlockTags.UNSTABLE_BOTTOM_CENTER), + HexBlocks.EDIFIED_FENCE_GATE); + + + + add(tag(BlockTags.WOODEN_FENCES), + HexBlocks.EDIFIED_FENCE); add(tag(BlockTags.WOODEN_STAIRS), HexBlocks.EDIFIED_STAIRS); add(tag(BlockTags.DOORS), diff --git a/Common/src/main/java/at/petrak/hexcasting/datagen/tag/HexItemTagProvider.java b/Common/src/main/java/at/petrak/hexcasting/datagen/tag/HexItemTagProvider.java index cf2877a44d..e6ecbf58db 100644 --- a/Common/src/main/java/at/petrak/hexcasting/datagen/tag/HexItemTagProvider.java +++ b/Common/src/main/java/at/petrak/hexcasting/datagen/tag/HexItemTagProvider.java @@ -40,6 +40,7 @@ protected void addTags(HolderLookup.Provider provider) { HexItems.STAFF_OAK, HexItems.STAFF_SPRUCE, HexItems.STAFF_BIRCH, HexItems.STAFF_JUNGLE, HexItems.STAFF_ACACIA, HexItems.STAFF_DARK_OAK, HexItems.STAFF_CRIMSON, HexItems.STAFF_WARPED, HexItems.STAFF_MANGROVE, + HexItems.STAFF_CHERRY,HexItems.STAFF_BAMBOO, HexItems.STAFF_QUENCHED, HexItems.STAFF_MINDSPLICE); add(tag(HexTags.Items.PHIAL_BASE), diff --git a/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 b/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 index 28e3e73335..7c3b965478 100644 --- a/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 +++ b/Common/src/main/resources/assets/hexcasting/lang/en_us.flatten.json5 @@ -13,6 +13,8 @@ "crimson": "Crimson Staff", "warped": "Warped Staff", "mangrove": "Mangrove Staff", + "cherry": "Cherry Staff", + "bamboo": "Bamboo Staff", "edified": "Edified Staff", "quenched": "Quenched Shard Staff", "mindsplice": "Mindsplice Staff" @@ -149,6 +151,8 @@ "edified_door": "Edified Door", "edified_trapdoor": "Edified Trapdoor", "edified_stairs": "Edified Stairs", + "edified_fence": "Edified Fence", + "edified_fence_gate": "Edified Fence Gate", "edified_slab": "Edified Slab", "edified_button": "Edified Button", "edified_pressure_plate": "Edified Pressure Plate", diff --git a/Common/src/main/resources/assets/hexcasting/models/block/edified_fence_inventory.json b/Common/src/main/resources/assets/hexcasting/models/block/edified_fence_inventory.json new file mode 100644 index 0000000000..d622472996 --- /dev/null +++ b/Common/src/main/resources/assets/hexcasting/models/block/edified_fence_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/fence_inventory", + "textures": { + "texture": "hexcasting:block/edified_planks" + } +} diff --git a/Common/src/main/resources/assets/hexcasting/textures/entity/signs/edified.png b/Common/src/main/resources/assets/hexcasting/textures/entity/signs/edified.png new file mode 100644 index 0000000000..9da2cde145 Binary files /dev/null and b/Common/src/main/resources/assets/hexcasting/textures/entity/signs/edified.png differ diff --git a/Common/src/main/resources/assets/hexcasting/textures/entity/signs/hanging/edified.png b/Common/src/main/resources/assets/hexcasting/textures/entity/signs/hanging/edified.png new file mode 100644 index 0000000000..c8af29fdec Binary files /dev/null and b/Common/src/main/resources/assets/hexcasting/textures/entity/signs/hanging/edified.png differ diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/edified_sign.png b/Common/src/main/resources/assets/hexcasting/textures/item/edified_sign.png new file mode 100644 index 0000000000..9973e36ed7 Binary files /dev/null and b/Common/src/main/resources/assets/hexcasting/textures/item/edified_sign.png differ diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/hanging_edified_sign.png b/Common/src/main/resources/assets/hexcasting/textures/item/hanging_edified_sign.png new file mode 100644 index 0000000000..2de0b7173f Binary files /dev/null and b/Common/src/main/resources/assets/hexcasting/textures/item/hanging_edified_sign.png differ diff --git a/Common/src/main/resources/assets/hexcasting/textures/item/staff/bamboo.png b/Common/src/main/resources/assets/hexcasting/textures/item/staff/bamboo.png new file mode 100644 index 0000000000..ce48904942 Binary files /dev/null and b/Common/src/main/resources/assets/hexcasting/textures/item/staff/bamboo.png differ diff --git a/Fabric/src/generated/resources/data/hexcasting/advancements/recipes/building_blocks/edified_fence_gate.json b/Fabric/src/generated/resources/data/hexcasting/advancements/recipes/building_blocks/edified_fence_gate.json new file mode 100644 index 0000000000..aa49266e09 --- /dev/null +++ b/Fabric/src/generated/resources/data/hexcasting/advancements/recipes/building_blocks/edified_fence_gate.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "tag": "hexcasting:edified_planks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "hexcasting:edified_fence_gate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "hexcasting:edified_fence_gate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/Fabric/src/generated/resources/data/hexcasting/loot_tables/blocks/edified_fence_gate.json b/Fabric/src/generated/resources/data/hexcasting/loot_tables/blocks/edified_fence_gate.json new file mode 100644 index 0000000000..01cbf2a5e1 --- /dev/null +++ b/Fabric/src/generated/resources/data/hexcasting/loot_tables/blocks/edified_fence_gate.json @@ -0,0 +1,15 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "hexcasting:edified_fence_gate" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "hexcasting:blocks/edified_fence_gate" +} \ No newline at end of file diff --git a/Fabric/src/generated/resources/data/hexcasting/recipes/edified_fence_gate.json b/Fabric/src/generated/resources/data/hexcasting/recipes/edified_fence_gate.json new file mode 100644 index 0000000000..799b582fb9 --- /dev/null +++ b/Fabric/src/generated/resources/data/hexcasting/recipes/edified_fence_gate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "S": { + "item": "minecraft:stick" + }, + "W": { + "tag": "hexcasting:edified_planks" + } + }, + "pattern": [ + "SWS", + "SWS" + ], + "result": { + "item": "hexcasting:edified_fence_gate" + }, + "show_notification": true +} \ No newline at end of file diff --git a/Fabric/src/generated/resources/data/minecraft/tags/blocks/fence_gates.json b/Fabric/src/generated/resources/data/minecraft/tags/blocks/fence_gates.json new file mode 100644 index 0000000000..4dff358b03 --- /dev/null +++ b/Fabric/src/generated/resources/data/minecraft/tags/blocks/fence_gates.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "hexcasting:edified_fence_gate" + ] +} \ No newline at end of file diff --git a/Fabric/src/generated/resources/data/minecraft/tags/blocks/unstable_bottom_center.json b/Fabric/src/generated/resources/data/minecraft/tags/blocks/unstable_bottom_center.json new file mode 100644 index 0000000000..4dff358b03 --- /dev/null +++ b/Fabric/src/generated/resources/data/minecraft/tags/blocks/unstable_bottom_center.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "hexcasting:edified_fence_gate" + ] +} \ No newline at end of file diff --git a/Fabric/src/main/java/at/petrak/hexcasting/fabric/FabricHexInitializer.kt b/Fabric/src/main/java/at/petrak/hexcasting/fabric/FabricHexInitializer.kt index 8cc7a00ff1..e7d3163458 100644 --- a/Fabric/src/main/java/at/petrak/hexcasting/fabric/FabricHexInitializer.kt +++ b/Fabric/src/main/java/at/petrak/hexcasting/fabric/FabricHexInitializer.kt @@ -191,7 +191,8 @@ object FabricHexInitializer : ModInitializer { HexBlocks.EDIFIED_TRAPDOOR, HexBlocks.EDIFIED_STAIRS, HexBlocks.EDIFIED_SLAB, - HexBlocks.EDIFIED_STAIRS, + HexBlocks.EDIFIED_FENCE, + HexBlocks.EDIFIED_FENCE_GATE, HexBlocks.EDIFIED_SLAB, HexBlocks.EDIFIED_BUTTON, HexBlocks.EDIFIED_PRESSURE_PLATE, diff --git a/Fabric/src/main/resources/fabric.mod.json b/Fabric/src/main/resources/fabric.mod.json index 051105004e..5bb5abee10 100644 --- a/Fabric/src/main/resources/fabric.mod.json +++ b/Fabric/src/main/resources/fabric.mod.json @@ -55,7 +55,7 @@ "cardinal-components-entity": "~5.2.1", "cardinal-components-item": "~5.2.1", "cardinal-components-block": "~5.2.1", - "paucal": "0.6.*", + "paucal": "0.6.x", "cloth-config": "11.1.*", "patchouli": ">=1.20.1-80" }, diff --git a/Forge/src/generated/resources/data/hexcasting/advancements/recipes/building_blocks/edified_fence_gate.json b/Forge/src/generated/resources/data/hexcasting/advancements/recipes/building_blocks/edified_fence_gate.json new file mode 100644 index 0000000000..aa49266e09 --- /dev/null +++ b/Forge/src/generated/resources/data/hexcasting/advancements/recipes/building_blocks/edified_fence_gate.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "tag": "hexcasting:edified_planks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "hexcasting:edified_fence_gate" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "hexcasting:edified_fence_gate" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/Forge/src/generated/resources/data/hexcasting/advancements/recipes/tools/staff/bamboo.json b/Forge/src/generated/resources/data/hexcasting/advancements/recipes/tools/staff/bamboo.json new file mode 100644 index 0000000000..a6fa449db3 --- /dev/null +++ b/Forge/src/generated/resources/data/hexcasting/advancements/recipes/tools/staff/bamboo.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "hexcasting:charged_amethyst" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "hexcasting:staff/bamboo" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "hexcasting:staff/bamboo" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/Forge/src/generated/resources/data/hexcasting/advancements/recipes/tools/staff/cherry.json b/Forge/src/generated/resources/data/hexcasting/advancements/recipes/tools/staff/cherry.json new file mode 100644 index 0000000000..a28e8cbc57 --- /dev/null +++ b/Forge/src/generated/resources/data/hexcasting/advancements/recipes/tools/staff/cherry.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "hexcasting:charged_amethyst" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "hexcasting:staff/cherry" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "hexcasting:staff/cherry" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/Forge/src/generated/resources/data/hexcasting/loot_tables/blocks/edified_fence_gate.json b/Forge/src/generated/resources/data/hexcasting/loot_tables/blocks/edified_fence_gate.json new file mode 100644 index 0000000000..01cbf2a5e1 --- /dev/null +++ b/Forge/src/generated/resources/data/hexcasting/loot_tables/blocks/edified_fence_gate.json @@ -0,0 +1,15 @@ +{ + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "hexcasting:edified_fence_gate" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "hexcasting:blocks/edified_fence_gate" +} \ No newline at end of file diff --git a/Forge/src/generated/resources/data/hexcasting/recipes/edified_fence_gate.json b/Forge/src/generated/resources/data/hexcasting/recipes/edified_fence_gate.json new file mode 100644 index 0000000000..799b582fb9 --- /dev/null +++ b/Forge/src/generated/resources/data/hexcasting/recipes/edified_fence_gate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "building", + "key": { + "S": { + "item": "minecraft:stick" + }, + "W": { + "tag": "hexcasting:edified_planks" + } + }, + "pattern": [ + "SWS", + "SWS" + ], + "result": { + "item": "hexcasting:edified_fence_gate" + }, + "show_notification": true +} \ No newline at end of file diff --git a/Forge/src/generated/resources/data/hexcasting/recipes/staff/bamboo.json b/Forge/src/generated/resources/data/hexcasting/recipes/staff/bamboo.json new file mode 100644 index 0000000000..2796a8b049 --- /dev/null +++ b/Forge/src/generated/resources/data/hexcasting/recipes/staff/bamboo.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "hexcasting:charged_amethyst" + }, + "S": { + "item": "minecraft:stick" + }, + "W": { + "item": "minecraft:bamboo_planks" + } + }, + "pattern": [ + " SA", + " WS", + "S " + ], + "result": { + "item": "hexcasting:staff/bamboo" + }, + "show_notification": true +} \ No newline at end of file diff --git a/Forge/src/generated/resources/data/hexcasting/recipes/staff/cherry.json b/Forge/src/generated/resources/data/hexcasting/recipes/staff/cherry.json new file mode 100644 index 0000000000..36a96851b0 --- /dev/null +++ b/Forge/src/generated/resources/data/hexcasting/recipes/staff/cherry.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "A": { + "item": "hexcasting:charged_amethyst" + }, + "S": { + "item": "minecraft:stick" + }, + "W": { + "item": "minecraft:cherry_planks" + } + }, + "pattern": [ + " SA", + " WS", + "S " + ], + "result": { + "item": "hexcasting:staff/cherry" + }, + "show_notification": true +} \ No newline at end of file diff --git a/Forge/src/generated/resources/data/hexcasting/tags/items/staves.json b/Forge/src/generated/resources/data/hexcasting/tags/items/staves.json new file mode 100644 index 0000000000..29f4595c62 --- /dev/null +++ b/Forge/src/generated/resources/data/hexcasting/tags/items/staves.json @@ -0,0 +1,18 @@ +{ + "values": [ + "hexcasting:staff/edified", + "hexcasting:staff/oak", + "hexcasting:staff/spruce", + "hexcasting:staff/birch", + "hexcasting:staff/jungle", + "hexcasting:staff/acacia", + "hexcasting:staff/dark_oak", + "hexcasting:staff/crimson", + "hexcasting:staff/warped", + "hexcasting:staff/mangrove", + "hexcasting:staff/cherry", + "hexcasting:staff/bamboo", + "hexcasting:staff/quenched", + "hexcasting:staff/mindsplice" + ] +} \ No newline at end of file diff --git a/Forge/src/generated/resources/data/minecraft/tags/blocks/fence_gates.json b/Forge/src/generated/resources/data/minecraft/tags/blocks/fence_gates.json new file mode 100644 index 0000000000..f27c95c784 --- /dev/null +++ b/Forge/src/generated/resources/data/minecraft/tags/blocks/fence_gates.json @@ -0,0 +1,5 @@ +{ + "values": [ + "hexcasting:edified_fence_gate" + ] +} \ No newline at end of file diff --git a/Forge/src/generated/resources/data/minecraft/tags/blocks/unstable_bottom_center.json b/Forge/src/generated/resources/data/minecraft/tags/blocks/unstable_bottom_center.json new file mode 100644 index 0000000000..f27c95c784 --- /dev/null +++ b/Forge/src/generated/resources/data/minecraft/tags/blocks/unstable_bottom_center.json @@ -0,0 +1,5 @@ +{ + "values": [ + "hexcasting:edified_fence_gate" + ] +} \ No newline at end of file diff --git a/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexBlockStatesAndModels.java b/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexBlockStatesAndModels.java index 0a1fa55b0b..f4e30e8a42 100644 --- a/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexBlockStatesAndModels.java +++ b/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexBlockStatesAndModels.java @@ -219,6 +219,8 @@ protected void registerStatesAndModels() { simpleBlockItem(HexBlocks.EDIFIED_PLANKS, planksModel); stairsBlock(HexBlocks.EDIFIED_STAIRS, planks1); + fenceBlock(HexBlocks.EDIFIED_FENCE, planks1); + fenceGateBlock(HexBlocks.EDIFIED_FENCE_GATE, planks1); slabBlock(HexBlocks.EDIFIED_SLAB, planks1, planks1); buttonBlock(HexBlocks.EDIFIED_BUTTON, planks1); pressurePlateBlock(HexBlocks.EDIFIED_PRESSURE_PLATE, planks1); diff --git a/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexItemModels.java b/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexItemModels.java index 8ca595eaed..7def15a4e4 100644 --- a/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexItemModels.java +++ b/Forge/src/main/java/at/petrak/hexcasting/forge/datagen/xplat/HexItemModels.java @@ -92,6 +92,8 @@ protected void registerModels() { buildStaff(HexItems.STAFF_CRIMSON, "crimson"); buildStaff(HexItems.STAFF_WARPED, "warped"); buildStaff(HexItems.STAFF_MANGROVE, "mangrove"); + buildStaff(HexItems.STAFF_CHERRY, "cherry"); + buildStaff(HexItems.STAFF_BAMBOO, "bamboo"); buildStaff(HexItems.STAFF_EDIFIED, "edified"); buildStaff(HexItems.STAFF_MINDSPLICE, "mindsplice"); @@ -195,6 +197,10 @@ protected void registerModels() { new ModelFile.UncheckedModelFile(modLoc("block/stripped_edified_wood"))); getBuilder(getPath(HexBlocks.EDIFIED_STAIRS)).parent( new ModelFile.UncheckedModelFile(modLoc("block/edified_stairs"))); + getBuilder(getPath(HexBlocks.EDIFIED_FENCE)).parent( + new ModelFile.UncheckedModelFile(modLoc("block/edified_fence_inventory"))); + getBuilder(getPath(HexBlocks.EDIFIED_FENCE_GATE)).parent( + new ModelFile.UncheckedModelFile(modLoc("block/edified_fence_gate"))); getBuilder(getPath(HexBlocks.EDIFIED_SLAB)).parent( new ModelFile.UncheckedModelFile(modLoc("block/edified_slab"))); getBuilder(getPath(HexBlocks.EDIFIED_BUTTON)).parent( diff --git a/Forge/src/main/java/at/petrak/hexcasting/forge/interop/jei/HexJEIPlugin.java b/Forge/src/main/java/at/petrak/hexcasting/forge/interop/jei/HexJEIPlugin.java index aa2f11cc5d..32572ba10c 100644 --- a/Forge/src/main/java/at/petrak/hexcasting/forge/interop/jei/HexJEIPlugin.java +++ b/Forge/src/main/java/at/petrak/hexcasting/forge/interop/jei/HexJEIPlugin.java @@ -79,6 +79,8 @@ public void registerRecipeCatalysts(IRecipeCatalystRegistration registration) { HexItems.STAFF_CRIMSON, HexItems.STAFF_WARPED, HexItems.STAFF_MANGROVE, + HexItems.STAFF_CHERRY, + HexItems.STAFF_BAMBOO, HexItems.STAFF_EDIFIED, }) { registration.addRecipeCatalyst(new ItemStack(staff), BRAINSWEEPING, PHIAL, EDIFY);