From 8d8bb88942b7d14b6f6a46d4deffbadcb3eae5c5 Mon Sep 17 00:00:00 2001 From: drcrazy Date: Wed, 21 Aug 2019 14:06:03 +0300 Subject: [PATCH] Rubber Wood door for #1739 --- .../blocks/misc/RubberButtonBlock.java | 24 +++++++++++ .../blocks/misc/RubberDoorBlock.java | 42 +++++++++++++++++++ .../blocks/misc/RubberPressurePlateBlock.java | 24 +++++++++++ .../blocks/misc/RubberTrapdoorBlock.java | 24 +++++++++++ .../java/techreborn/events/ModRegistry.java | 2 + src/main/java/techreborn/init/TRContent.java | 1 + .../techreborn/blockstates/rubber_door.json | 36 ++++++++++++++++ .../assets/techreborn/lang/en_us.json | 1 + .../block/rubber/rubber_door_bottom.json | 7 ++++ .../rubber/rubber_door_bottom_hinge.json | 7 ++++ .../models/block/rubber/rubber_door_top.json | 7 ++++ .../block/rubber/rubber_door_top_hinge.json | 7 ++++ .../techreborn/models/item/rubber_door.json | 6 +++ .../minecraft/tags/blocks/wooden_doors.json | 6 +++ .../minecraft/tags/items/wooden_doors.json | 6 +++ .../misc_block/rubber_door.json | 18 ++++++++ 16 files changed, 218 insertions(+) create mode 100644 src/main/java/techreborn/blocks/misc/RubberDoorBlock.java create mode 100644 src/main/resources/assets/techreborn/blockstates/rubber_door.json create mode 100644 src/main/resources/assets/techreborn/models/block/rubber/rubber_door_bottom.json create mode 100644 src/main/resources/assets/techreborn/models/block/rubber/rubber_door_bottom_hinge.json create mode 100644 src/main/resources/assets/techreborn/models/block/rubber/rubber_door_top.json create mode 100644 src/main/resources/assets/techreborn/models/block/rubber/rubber_door_top_hinge.json create mode 100644 src/main/resources/assets/techreborn/models/item/rubber_door.json create mode 100644 src/main/resources/data/minecraft/tags/blocks/wooden_doors.json create mode 100644 src/main/resources/data/minecraft/tags/items/wooden_doors.json create mode 100644 src/main/resources/data/techreborn/recipes/crafting_table/misc_block/rubber_door.json diff --git a/src/main/java/techreborn/blocks/misc/RubberButtonBlock.java b/src/main/java/techreborn/blocks/misc/RubberButtonBlock.java index 7d09d5465..b03b2509d 100644 --- a/src/main/java/techreborn/blocks/misc/RubberButtonBlock.java +++ b/src/main/java/techreborn/blocks/misc/RubberButtonBlock.java @@ -1,3 +1,27 @@ +/* + * This file is part of TechReborn, licensed under the MIT License (MIT). + * + * Copyright (c) 2018 TechReborn + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + package techreborn.blocks.misc; import net.fabricmc.fabric.api.block.FabricBlockSettings; diff --git a/src/main/java/techreborn/blocks/misc/RubberDoorBlock.java b/src/main/java/techreborn/blocks/misc/RubberDoorBlock.java new file mode 100644 index 000000000..b737dcb49 --- /dev/null +++ b/src/main/java/techreborn/blocks/misc/RubberDoorBlock.java @@ -0,0 +1,42 @@ +/* + * This file is part of TechReborn, licensed under the MIT License (MIT). + * + * Copyright (c) 2018 TechReborn + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package techreborn.blocks.misc; + +import net.fabricmc.fabric.api.block.FabricBlockSettings; +import net.minecraft.block.DoorBlock; +import net.minecraft.block.Material; +import net.minecraft.block.MaterialColor; +import net.minecraft.sound.BlockSoundGroup; + +/** + * @author drcrazy + * + */ +public class RubberDoorBlock extends DoorBlock { + + public RubberDoorBlock() { + super(FabricBlockSettings.of(Material.WOOD, MaterialColor.SPRUCE).strength(3.0f, 3.0f).sounds(BlockSoundGroup.WOOD).build()); + } +} diff --git a/src/main/java/techreborn/blocks/misc/RubberPressurePlateBlock.java b/src/main/java/techreborn/blocks/misc/RubberPressurePlateBlock.java index 47bda639e..390d52b4e 100644 --- a/src/main/java/techreborn/blocks/misc/RubberPressurePlateBlock.java +++ b/src/main/java/techreborn/blocks/misc/RubberPressurePlateBlock.java @@ -1,3 +1,27 @@ +/* + * This file is part of TechReborn, licensed under the MIT License (MIT). + * + * Copyright (c) 2018 TechReborn + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + package techreborn.blocks.misc; import net.fabricmc.fabric.api.block.FabricBlockSettings; diff --git a/src/main/java/techreborn/blocks/misc/RubberTrapdoorBlock.java b/src/main/java/techreborn/blocks/misc/RubberTrapdoorBlock.java index ac9bb55ab..c6eb2878e 100644 --- a/src/main/java/techreborn/blocks/misc/RubberTrapdoorBlock.java +++ b/src/main/java/techreborn/blocks/misc/RubberTrapdoorBlock.java @@ -1,3 +1,27 @@ +/* + * This file is part of TechReborn, licensed under the MIT License (MIT). + * + * Copyright (c) 2018 TechReborn + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + package techreborn.blocks.misc; import net.fabricmc.fabric.api.block.FabricBlockSettings; diff --git a/src/main/java/techreborn/events/ModRegistry.java b/src/main/java/techreborn/events/ModRegistry.java index 9212cc557..be1f9c8f5 100644 --- a/src/main/java/techreborn/events/ModRegistry.java +++ b/src/main/java/techreborn/events/ModRegistry.java @@ -46,6 +46,7 @@ import techreborn.blocks.misc.BlockRubberPlank; import techreborn.blocks.misc.BlockRubberPlankStair; import techreborn.blocks.misc.BlockRubberSapling; import techreborn.blocks.misc.RubberButtonBlock; +import techreborn.blocks.misc.RubberDoorBlock; import techreborn.blocks.misc.RubberPressurePlateBlock; import techreborn.blocks.misc.RubberTrapdoorBlock; import techreborn.config.TechRebornConfig; @@ -132,6 +133,7 @@ public class ModRegistry { RebornRegistry.registerBlock(TRContent.RUBBER_TRAPDOOR = InitUtils.setup(new RubberTrapdoorBlock(), "rubber_trapdoor"), itemGroup); RebornRegistry.registerBlock(TRContent.RUBBER_BUTTON = InitUtils.setup(new RubberButtonBlock(), "rubber_button"), itemGroup); RebornRegistry.registerBlock(TRContent.RUBBER_PRESSURE_PLATE = InitUtils.setup(new RubberPressurePlateBlock(), "rubber_pressure_plate"), itemGroup); + RebornRegistry.registerBlock(TRContent.RUBBER_DOOR = InitUtils.setup(new RubberDoorBlock(), "rubber_door"), itemGroup); TechReborn.LOGGER.debug("TechReborns Blocks Loaded"); } diff --git a/src/main/java/techreborn/init/TRContent.java b/src/main/java/techreborn/init/TRContent.java index dac548a46..ecdce5730 100644 --- a/src/main/java/techreborn/init/TRContent.java +++ b/src/main/java/techreborn/init/TRContent.java @@ -91,6 +91,7 @@ public class TRContent { public static Block RUBBER_TRAPDOOR; public static Block RUBBER_BUTTON; public static Block RUBBER_PRESSURE_PLATE; + public static Block RUBBER_DOOR; // Armor public static Item CLOAKING_DEVICE; diff --git a/src/main/resources/assets/techreborn/blockstates/rubber_door.json b/src/main/resources/assets/techreborn/blockstates/rubber_door.json new file mode 100644 index 000000000..0d0ec254f --- /dev/null +++ b/src/main/resources/assets/techreborn/blockstates/rubber_door.json @@ -0,0 +1,36 @@ +{ + "variants": { + "facing=east,half=lower,hinge=left,open=false": { "model": "techreborn:block/rubber/rubber_door_bottom" }, + "facing=south,half=lower,hinge=left,open=false": { "model": "techreborn:block/rubber/rubber_door_bottom", "y": 90 }, + "facing=west,half=lower,hinge=left,open=false": { "model": "techreborn:block/rubber/rubber_door_bottom", "y": 180 }, + "facing=north,half=lower,hinge=left,open=false": { "model": "techreborn:block/rubber/rubber_door_bottom", "y": 270 }, + "facing=east,half=lower,hinge=right,open=false": { "model": "techreborn:block/rubber/rubber_door_bottom_hinge" }, + "facing=south,half=lower,hinge=right,open=false": { "model": "techreborn:block/rubber/rubber_door_bottom_hinge", "y": 90 }, + "facing=west,half=lower,hinge=right,open=false": { "model": "techreborn:block/rubber/rubber_door_bottom_hinge", "y": 180 }, + "facing=north,half=lower,hinge=right,open=false": { "model": "techreborn:block/rubber/rubber_door_bottom_hinge", "y": 270 }, + "facing=east,half=lower,hinge=left,open=true": { "model": "techreborn:block/rubber/rubber_door_bottom_hinge", "y": 90 }, + "facing=south,half=lower,hinge=left,open=true": { "model": "techreborn:block/rubber/rubber_door_bottom_hinge", "y": 180 }, + "facing=west,half=lower,hinge=left,open=true": { "model": "techreborn:block/rubber/rubber_door_bottom_hinge", "y": 270 }, + "facing=north,half=lower,hinge=left,open=true": { "model": "techreborn:block/rubber/rubber_door_bottom_hinge" }, + "facing=east,half=lower,hinge=right,open=true": { "model": "techreborn:block/rubber/rubber_door_bottom", "y": 270 }, + "facing=south,half=lower,hinge=right,open=true": { "model": "techreborn:block/rubber/rubber_door_bottom" }, + "facing=west,half=lower,hinge=right,open=true": { "model": "techreborn:block/rubber/rubber_door_bottom", "y": 90 }, + "facing=north,half=lower,hinge=right,open=true": { "model": "techreborn:block/rubber/rubber_door_bottom", "y": 180 }, + "facing=east,half=upper,hinge=left,open=false": { "model": "techreborn:block/rubber/rubber_door_top" }, + "facing=south,half=upper,hinge=left,open=false": { "model": "techreborn:block/rubber/rubber_door_top", "y": 90 }, + "facing=west,half=upper,hinge=left,open=false": { "model": "techreborn:block/rubber/rubber_door_top", "y": 180 }, + "facing=north,half=upper,hinge=left,open=false": { "model": "techreborn:block/rubber/rubber_door_top", "y": 270 }, + "facing=east,half=upper,hinge=right,open=false": { "model": "techreborn:block/rubber/rubber_door_top_hinge" }, + "facing=south,half=upper,hinge=right,open=false": { "model": "techreborn:block/rubber/rubber_door_top_hinge", "y": 90 }, + "facing=west,half=upper,hinge=right,open=false": { "model": "techreborn:block/rubber/rubber_door_top_hinge", "y": 180 }, + "facing=north,half=upper,hinge=right,open=false": { "model": "techreborn:block/rubber/rubber_door_top_hinge", "y": 270 }, + "facing=east,half=upper,hinge=left,open=true": { "model": "techreborn:block/rubber/rubber_door_top_hinge", "y": 90 }, + "facing=south,half=upper,hinge=left,open=true": { "model": "techreborn:block/rubber/rubber_door_top_hinge", "y": 180 }, + "facing=west,half=upper,hinge=left,open=true": { "model": "techreborn:block/rubber/rubber_door_top_hinge", "y": 270 }, + "facing=north,half=upper,hinge=left,open=true": { "model": "techreborn:block/rubber/rubber_door_top_hinge" }, + "facing=east,half=upper,hinge=right,open=true": { "model": "techreborn:block/rubber/rubber_door_top", "y": 270 }, + "facing=south,half=upper,hinge=right,open=true": { "model": "techreborn:block/rubber/rubber_door_top" }, + "facing=west,half=upper,hinge=right,open=true": { "model": "techreborn:block/rubber/rubber_door_top", "y": 90 }, + "facing=north,half=upper,hinge=right,open=true": { "model": "techreborn:block/rubber/rubber_door_top", "y": 180 } + } +} diff --git a/src/main/resources/assets/techreborn/lang/en_us.json b/src/main/resources/assets/techreborn/lang/en_us.json index 20879cecd..10b4ecd43 100644 --- a/src/main/resources/assets/techreborn/lang/en_us.json +++ b/src/main/resources/assets/techreborn/lang/en_us.json @@ -93,6 +93,7 @@ "block.techreborn.rubber_trapdoor": "Rubber Wood Trapdoor", "block.techreborn.rubber_button": "Rubber Wood Button", "block.techreborn.rubber_pressure_plate": "Rubber Wood Pressure Plate", + "block.techreborn.rubber_door": "Rubber Wood Door", "block.techreborn.refined_iron_fence": "Iron Fence", "block.techreborn.reinforced_glass": "Reinforced Glass", diff --git a/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_bottom.json b/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_bottom.json new file mode 100644 index 000000000..fd1870dac --- /dev/null +++ b/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_bottom.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom", + "textures": { + "bottom": "techreborn:block/rubber_planks", + "top": "techreborn:block/rubber_planks" + } +} diff --git a/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_bottom_hinge.json b/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_bottom_hinge.json new file mode 100644 index 000000000..addff102a --- /dev/null +++ b/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_bottom_hinge.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_bottom_rh", + "textures": { + "bottom": "techreborn:block/rubber_planks", + "top": "techreborn:block/rubber_planks" + } +} diff --git a/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_top.json b/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_top.json new file mode 100644 index 000000000..ab93213fa --- /dev/null +++ b/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_top.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top", + "textures": { + "bottom": "techreborn:block/rubber_planks", + "top": "techreborn:block/rubber_planks" + } +} diff --git a/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_top_hinge.json b/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_top_hinge.json new file mode 100644 index 000000000..fd4930deb --- /dev/null +++ b/src/main/resources/assets/techreborn/models/block/rubber/rubber_door_top_hinge.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/door_top_rh", + "textures": { + "bottom": "techreborn:block/rubber_planks", + "top": "techreborn:block/rubber_planks" + } +} diff --git a/src/main/resources/assets/techreborn/models/item/rubber_door.json b/src/main/resources/assets/techreborn/models/item/rubber_door.json new file mode 100644 index 000000000..e46411c12 --- /dev/null +++ b/src/main/resources/assets/techreborn/models/item/rubber_door.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "minecraft:item/spruce_door" + } +} diff --git a/src/main/resources/data/minecraft/tags/blocks/wooden_doors.json b/src/main/resources/data/minecraft/tags/blocks/wooden_doors.json new file mode 100644 index 000000000..072ab8fe7 --- /dev/null +++ b/src/main/resources/data/minecraft/tags/blocks/wooden_doors.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "techreborn:rubber_door" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/items/wooden_doors.json b/src/main/resources/data/minecraft/tags/items/wooden_doors.json new file mode 100644 index 000000000..072ab8fe7 --- /dev/null +++ b/src/main/resources/data/minecraft/tags/items/wooden_doors.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "techreborn:rubber_door" + ] +} \ No newline at end of file diff --git a/src/main/resources/data/techreborn/recipes/crafting_table/misc_block/rubber_door.json b/src/main/resources/data/techreborn/recipes/crafting_table/misc_block/rubber_door.json new file mode 100644 index 000000000..95c8258e9 --- /dev/null +++ b/src/main/resources/data/techreborn/recipes/crafting_table/misc_block/rubber_door.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "wooden_door", + "pattern": [ + "##", + "##", + "##" + ], + "key": { + "#": { + "item": "techreborn:rubber_planks" + } + }, + "result": { + "item": "techreborn:rubber_door", + "count": 3 + } +} \ No newline at end of file