diff --git a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java index c87ac8def..3752e43ae 100644 --- a/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java +++ b/src/main/java/net/id/paradiselost/blocks/ParadiseLostBlocks.java @@ -261,6 +261,8 @@ private static Settings flower() { public static final Block OLVITE_BLOCK = add("olvite_block", new Block(of(Material.METAL).requiresTool().strength(3f, -1f).sounds(BlockSoundGroup.METAL))); public static final Block REFINED_SURTRUM_BLOCK = add("refined_surtrum_block", new Block(of(Material.METAL).requiresTool().strength(4f, -1f).sounds(BlockSoundGroup.METAL))); // Misc + public static final StoneButtonBlock FLOESTONE_BUTTON = add("floestone_button", new StoneButtonBlock(copy(Blocks.STONE_BUTTON))); + public static final PressurePlateBlock FLOESTONE_PRESSURE_PLATE = add("floestone_pressure_plate", new PressurePlateBlock(PressurePlateBlock.ActivationRule.MOBS, copy(STONE_PRESSURE_PLATE))); public static final FloatingBlock LEVITATOR = add("levitator", new FloatingBlock(true, of(Material.WOOD).strength(3f, 3f).sounds(BlockSoundGroup.WOOD))); public static final ChainBlock OLVITE_CHAIN = add("olvite_chain", new ChainBlock(copy(CHAIN)), cutoutMippedRenderLayer); public static final CherineLanternBlock CHERINE_LANTERN = add("cherine_lantern", new CherineLanternBlock(copy(LANTERN).resistance(1f)), cutoutMippedRenderLayer); diff --git a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java index b4244a502..e1a3df50c 100644 --- a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java +++ b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java @@ -372,6 +372,10 @@ private static FabricItemSettings decoration() { public static final WallStandingBlockItem CHERINE_TORCH = add("cherine_torch", new WallStandingBlockItem(ParadiseLostBlocks.CHERINE_TORCH, ParadiseLostBlocks.CHERINE_TORCH_WALL, decoration)); // util blocks (enchanter, freezer, etc.) + // redstone + public static final BlockItem FLOESTONE_BUTTON = add("floestone_button", ParadiseLostBlocks.FLOESTONE_BUTTON, decoration); + public static final BlockItem FLOESTONE_PRESSURE_PLATE = add("floestone_pressure_plate", ParadiseLostBlocks.FLOESTONE_PRESSURE_PLATE, decoration); + public static final BlockItem CHERINE_CAMPFIRE = add("cherine_campfire", ParadiseLostBlocks.CHERINE_CAMPFIRE, decoration); // door-like things diff --git a/src/main/resources/assets/paradise_lost/blockstates/floestone_button.json b/src/main/resources/assets/paradise_lost/blockstates/floestone_button.json new file mode 100644 index 000000000..593cd08bf --- /dev/null +++ b/src/main/resources/assets/paradise_lost/blockstates/floestone_button.json @@ -0,0 +1,118 @@ +{ + "variants": { + "face=ceiling,facing=east,powered=false": { + "model": "paradise_lost:block/floestone_button", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=east,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed", + "x": 180, + "y": 270 + }, + "face=ceiling,facing=north,powered=false": { + "model": "paradise_lost:block/floestone_button", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=north,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed", + "x": 180, + "y": 180 + }, + "face=ceiling,facing=south,powered=false": { + "model": "paradise_lost:block/floestone_button", + "x": 180 + }, + "face=ceiling,facing=south,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed", + "x": 180 + }, + "face=ceiling,facing=west,powered=false": { + "model": "paradise_lost:block/floestone_button", + "x": 180, + "y": 90 + }, + "face=ceiling,facing=west,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed", + "x": 180, + "y": 90 + }, + "face=floor,facing=east,powered=false": { + "model": "paradise_lost:block/floestone_button", + "y": 90 + }, + "face=floor,facing=east,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed", + "y": 90 + }, + "face=floor,facing=north,powered=false": { + "model": "paradise_lost:block/floestone_button" + }, + "face=floor,facing=north,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed" + }, + "face=floor,facing=south,powered=false": { + "model": "paradise_lost:block/floestone_button", + "y": 180 + }, + "face=floor,facing=south,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed", + "y": 180 + }, + "face=floor,facing=west,powered=false": { + "model": "paradise_lost:block/floestone_button", + "y": 270 + }, + "face=floor,facing=west,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed", + "y": 270 + }, + "face=wall,facing=east,powered=false": { + "model": "paradise_lost:block/floestone_button", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=east,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed", + "uvlock": true, + "x": 90, + "y": 90 + }, + "face=wall,facing=north,powered=false": { + "model": "paradise_lost:block/floestone_button", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=north,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed", + "uvlock": true, + "x": 90 + }, + "face=wall,facing=south,powered=false": { + "model": "paradise_lost:block/floestone_button", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=south,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed", + "uvlock": true, + "x": 90, + "y": 180 + }, + "face=wall,facing=west,powered=false": { + "model": "paradise_lost:block/floestone_button", + "uvlock": true, + "x": 90, + "y": 270 + }, + "face=wall,facing=west,powered=true": { + "model": "paradise_lost:block/floestone_button_pressed", + "uvlock": true, + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/blockstates/floestone_pressure_plate.json b/src/main/resources/assets/paradise_lost/blockstates/floestone_pressure_plate.json new file mode 100644 index 000000000..02c34ce38 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/blockstates/floestone_pressure_plate.json @@ -0,0 +1,10 @@ +{ + "variants": { + "powered=false": { + "model": "paradise_lost:block/floestone_pressure_plate" + }, + "powered=true": { + "model": "paradise_lost:block/floestone_pressure_plate_down" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/lang/en_us.json b/src/main/resources/assets/paradise_lost/lang/en_us.json index 080b1d8e3..a080218c5 100644 --- a/src/main/resources/assets/paradise_lost/lang/en_us.json +++ b/src/main/resources/assets/paradise_lost/lang/en_us.json @@ -84,6 +84,9 @@ "block.paradise_lost.golden_amber_tile_slab": "Golden Amber Tile Slab", "block.paradise_lost.golden_amber_tile_stairs": "Golden Amber Tile Stairs", + "block.paradise_lost.floestone_button": "Floestone Button", + "block.paradise_lost.floestone_pressure_plate": "Floestone Pressure Plate", + "block.paradise_lost.cherine_campfire": "Cherine Campfire", "block.paradise_lost.aurel_sapling": "Aurel Sapling", diff --git a/src/main/resources/assets/paradise_lost/models/block/floestone_button.json b/src/main/resources/assets/paradise_lost/models/block/floestone_button.json new file mode 100644 index 000000000..afe122d10 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/floestone_button.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/button", + "textures": { + "texture": "paradise_lost:block/floestone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/block/floestone_button_inventory.json b/src/main/resources/assets/paradise_lost/models/block/floestone_button_inventory.json new file mode 100644 index 000000000..71e736cb0 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/floestone_button_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/button_inventory", + "textures": { + "texture": "paradise_lost:block/floestone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/block/floestone_button_pressed.json b/src/main/resources/assets/paradise_lost/models/block/floestone_button_pressed.json new file mode 100644 index 000000000..4766551cf --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/floestone_button_pressed.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/button_pressed", + "textures": { + "texture": "paradise_lost:block/floestone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/block/floestone_pressure_plate.json b/src/main/resources/assets/paradise_lost/models/block/floestone_pressure_plate.json new file mode 100644 index 000000000..0ded6df9b --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/floestone_pressure_plate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/pressure_plate_up", + "textures": { + "texture": "paradise_lost:block/floestone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/block/floestone_pressure_plate_down.json b/src/main/resources/assets/paradise_lost/models/block/floestone_pressure_plate_down.json new file mode 100644 index 000000000..ce1ed5655 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/block/floestone_pressure_plate_down.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/pressure_plate_down", + "textures": { + "texture": "paradise_lost:block/floestone" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/item/floestone_button.json b/src/main/resources/assets/paradise_lost/models/item/floestone_button.json new file mode 100644 index 000000000..a58c061c8 --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/floestone_button.json @@ -0,0 +1,3 @@ +{ + "parent": "paradise_lost:block/floestone_button_inventory" +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/item/floestone_pressure_plate.json b/src/main/resources/assets/paradise_lost/models/item/floestone_pressure_plate.json new file mode 100644 index 000000000..d1e745fdb --- /dev/null +++ b/src/main/resources/assets/paradise_lost/models/item/floestone_pressure_plate.json @@ -0,0 +1,3 @@ +{ + "parent": "paradise_lost:block/floestone_pressure_plate" +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/floestone_button.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/floestone_button.json new file mode 100644 index 000000000..0a2fae9f5 --- /dev/null +++ b/src/main/resources/data/paradise_lost/loot_tables/blocks/floestone_button.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "paradise_lost:floestone_button" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/paradise_lost/loot_tables/blocks/floestone_pressure_plate.json b/src/main/resources/data/paradise_lost/loot_tables/blocks/floestone_pressure_plate.json new file mode 100644 index 000000000..0dddfa75c --- /dev/null +++ b/src/main/resources/data/paradise_lost/loot_tables/blocks/floestone_pressure_plate.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1.0, + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "paradise_lost:floestone_pressure_plate" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/paradise_lost/recipes/activator_rail_olvite.json b/src/main/resources/data/paradise_lost/recipes/activator_rail_olvite.json new file mode 100644 index 000000000..6c56a91d3 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/activator_rail_olvite.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "#": { + "item": "minecraft:redstone_torch" + }, + "S": { + "item": "minecraft:stick" + }, + "X": { + "item": "paradise_lost:olvite" + } + }, + "pattern": [ + "XSX", + "X#X", + "XSX" + ], + "result": { + "count": 6, + "item": "minecraft:activator_rail" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/comparator_floestone.json b/src/main/resources/data/paradise_lost/recipes/comparator_floestone.json new file mode 100644 index 000000000..c0e731555 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/comparator_floestone.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "#": { + "item": "minecraft:redstone_torch" + }, + "I": { + "item": "paradise_lost:floestone" + }, + "X": { + "item": "minecraft:quartz" + } + }, + "pattern": [ + " # ", + "#X#", + "III" + ], + "result": { + "item": "minecraft:comparator" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/detector_rail_olvite.json b/src/main/resources/data/paradise_lost/recipes/detector_rail_olvite.json new file mode 100644 index 000000000..2e0908d34 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/detector_rail_olvite.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "#": { + "item": "paradise_lost:floestone_pressure_plate" + }, + "R": { + "item": "minecraft:redstone" + }, + "X": { + "item": "paradise_lost:olvite" + } + }, + "pattern": [ + "X X", + "X#X", + "XRX" + ], + "result": { + "count": 6, + "item": "minecraft:detector_rail" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/floestone_button.json b/src/main/resources/data/paradise_lost/recipes/floestone_button.json new file mode 100644 index 000000000..e02373ef3 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/floestone_button.json @@ -0,0 +1,11 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "paradise_lost:floestone" + } + ], + "result": { + "item": "paradise_lost:floestone_button" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/floestone_pressure_plate.json b/src/main/resources/data/paradise_lost/recipes/floestone_pressure_plate.json new file mode 100644 index 000000000..ee6ebdbe4 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/floestone_pressure_plate.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "##" + ], + "key": { + "#": { + "item": "paradise_lost:floestone" + } + }, + "result": { + "item": "paradise_lost:floestone_pressure_plate" + } +} diff --git a/src/main/resources/data/paradise_lost/recipes/grindstone_floestone.json b/src/main/resources/data/paradise_lost/recipes/grindstone_floestone.json new file mode 100644 index 000000000..5843b77ad --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/grindstone_floestone.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "#": { + "tag": "minecraft:planks" + }, + "-": { + "item": "paradise_lost:floestone_slab" + }, + "I": { + "item": "minecraft:stick" + } + }, + "pattern": [ + "I-I", + "# #" + ], + "result": { + "item": "minecraft:grindstone" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/hopper_olvite.json b/src/main/resources/data/paradise_lost/recipes/hopper_olvite.json new file mode 100644 index 000000000..2416eb938 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/hopper_olvite.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "C": { + "item": "minecraft:chest" + }, + "I": { + "item": "paradise_lost:olvite" + } + }, + "pattern": [ + "I I", + "ICI", + " I " + ], + "result": { + "item": "minecraft:hopper" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/minecart_olvite.json b/src/main/resources/data/paradise_lost/recipes/minecart_olvite.json new file mode 100644 index 000000000..fc99e60e1 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/minecart_olvite.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "#": { + "item": "paradise_lost:olvite" + } + }, + "pattern": [ + "# #", + "###" + ], + "result": { + "item": "minecraft:minecart" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/rail_olvite.json b/src/main/resources/data/paradise_lost/recipes/rail_olvite.json new file mode 100644 index 000000000..fb387c509 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/rail_olvite.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "#": { + "item": "minecraft:stick" + }, + "X": { + "item": "paradise_lost:olvite" + } + }, + "pattern": [ + "X X", + "X#X", + "X X" + ], + "result": { + "count": 16, + "item": "minecraft:rail" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/repeater_floestone.json b/src/main/resources/data/paradise_lost/recipes/repeater_floestone.json new file mode 100644 index 000000000..ccdfa140f --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/repeater_floestone.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "#": { + "item": "minecraft:redstone_torch" + }, + "I": { + "item": "paradise_lost:floestone" + }, + "X": { + "item": "minecraft:redstone" + } + }, + "pattern": [ + "#X#", + "III" + ], + "result": { + "item": "minecraft:repeater" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/shears_olvite.json b/src/main/resources/data/paradise_lost/recipes/shears_olvite.json new file mode 100644 index 000000000..edecd7952 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/shears_olvite.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "#": { + "item": "paradise_lost:olvite" + } + }, + "pattern": [ + " #", + "# " + ], + "result": { + "item": "minecraft:shears" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/shield_olvite.json b/src/main/resources/data/paradise_lost/recipes/shield_olvite.json new file mode 100644 index 000000000..51911e165 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/shield_olvite.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "W": { + "tag": "minecraft:planks" + }, + "o": { + "item": "paradise_lost:olvite" + } + }, + "pattern": [ + "WoW", + "WWW", + " W " + ], + "result": { + "item": "minecraft:shield" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/smithing_table_olvite.json b/src/main/resources/data/paradise_lost/recipes/smithing_table_olvite.json new file mode 100644 index 000000000..04c5a8389 --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/smithing_table_olvite.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "#": { + "tag": "minecraft:planks" + }, + "@": { + "item": "paradise_lost:olvite" + } + }, + "pattern": [ + "@@", + "##", + "##" + ], + "result": { + "item": "minecraft:smithing_table" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/recipes/stonecutter_olvite.json b/src/main/resources/data/paradise_lost/recipes/stonecutter_olvite.json new file mode 100644 index 000000000..7dd9166bb --- /dev/null +++ b/src/main/resources/data/paradise_lost/recipes/stonecutter_olvite.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "key": { + "#": { + "item": "paradise_lost:floestone" + }, + "I": { + "item": "paradise_lost:olvite" + } + }, + "pattern": [ + " I ", + "###" + ], + "result": { + "item": "minecraft:stonecutter" + } +} \ No newline at end of file diff --git a/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_pickaxe.json b/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_pickaxe.json index 52cd35d91..d83da3b2b 100644 --- a/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_pickaxe.json +++ b/src/main/resources/data/paradise_lost/tags/blocks/mineable_by_pickaxe.json @@ -11,6 +11,8 @@ "paradise_lost:golden_amber_tile", "paradise_lost:golden_amber_tile_slab", "paradise_lost:golden_amber_tile_stairs", - "paradise_lost:metamorphic_shell" + "paradise_lost:metamorphic_shell", + "paradise_lost:floestone_button", + "paradise_lost:floestone_pressure_plate" ] } \ No newline at end of file