diff --git a/README.md b/README.md index 3eaaf44..5d49112 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,19 @@ # New Soviet Era Minecraft mod to relive the good old days +NSE is a mod that adds many features including building blocks, decorations, tools and items. +The general theme is USSR aesthetic, however it is not strict. + +It was inspired by the [Samosbor](https://samosbormc.ru/) minecraft server and [Soviet Era](https://www.curseforge.com/minecraft/mc-mods/soviet-era-mod) mod + #### Features * Countless vanilla-friendly building blocks * Furniture and appliances to decorate your house * Lots of other things! +NOTE: Right now the mod is in beta, and some of the blocks do not have crafting recipes. We will add those in the near future. +If you have a suggestion for a new or changed recipe, feel free to tell us. We also have many features planned, so stay tuned! + #### Frequently asked questions **Q**: Can I use this mod in my modpack?\ **A**: Of course! But please do not claim the mod as your own. A link to this mod would be appreciated too! @@ -14,4 +22,4 @@ Minecraft mod to relive the good old days **A**: The best place to do that would be the [project's Discord](https://discord.gg/D46vGJeCfj) **Q**: Will you port to Forge or older version?\ -**A**: Right now we have no plans for that. If the mod becomes popular we might consider going multi-loader, but we won't ever backport to old versions, and will target the latest one. \ No newline at end of file +**A**: Right now we have no plans for that. The mod began as project for our SMP, and therefore is only on Fabric, with aim - but not promise - to follow latest version \ No newline at end of file diff --git a/recipeTODO.txt b/recipeTODO.txt index 50a7823..824c42d 100644 --- a/recipeTODO.txt +++ b/recipeTODO.txt @@ -7,9 +7,7 @@ * crate recipe * po-2 recipe * no wallpaper recipes (intended?) -* no handrail recipe * no nutrient block recipe (intended? compressed bread?) -* light bulb recipe * cigarette recipe * siren recipe * switch recipe diff --git a/src/main/generated/data/minecraft/advancements/new_soviet/sickle_kill.json b/src/main/generated/data/minecraft/advancements/new_soviet/sickle_kill.json index 71c82cf..c38bfe6 100644 --- a/src/main/generated/data/minecraft/advancements/new_soviet/sickle_kill.json +++ b/src/main/generated/data/minecraft/advancements/new_soviet/sickle_kill.json @@ -1,6 +1,18 @@ { "parent": "minecraft:new_soviet/sickle", "criteria": { + "got_sickle": { + "conditions": { + "items": [ + { + "items": [ + "new_soviet:sickle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, "kill": { "conditions": { "entity": [ @@ -43,6 +55,9 @@ } }, "requirements": [ + [ + "got_sickle" + ], [ "kill" ] diff --git a/src/main/generated/data/new_soviet/advancements/recipes/decorations/big_post_lamp.json b/src/main/generated/data/new_soviet/advancements/recipes/decorations/big_post_lamp.json new file mode 100644 index 0000000..aba7edb --- /dev/null +++ b/src/main/generated/data/new_soviet/advancements/recipes/decorations/big_post_lamp.json @@ -0,0 +1,48 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_lamp_post_base": { + "conditions": { + "items": [ + { + "items": [ + "new_soviet:lamp_post_base" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_shroomlight": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:shroomlight" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "new_soviet:big_post_lamp" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_lamp_post_base", + "has_shroomlight", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "new_soviet:big_post_lamp" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/generated/data/new_soviet/advancements/recipes/decorations/handrail.json b/src/main/generated/data/new_soviet/advancements/recipes/decorations/handrail.json new file mode 100644 index 0000000..aa607d7 --- /dev/null +++ b/src/main/generated/data/new_soviet/advancements/recipes/decorations/handrail.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_bars": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_bars" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "new_soviet:handrail" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_iron_bars", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "new_soviet:handrail" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/generated/data/new_soviet/advancements/recipes/decorations/light_bulb_lamp.json b/src/main/generated/data/new_soviet/advancements/recipes/decorations/light_bulb_lamp.json index 6776827..b9297ac 100644 --- a/src/main/generated/data/new_soviet/advancements/recipes/decorations/light_bulb_lamp.json +++ b/src/main/generated/data/new_soviet/advancements/recipes/decorations/light_bulb_lamp.json @@ -1,6 +1,30 @@ { "parent": "minecraft:recipes/root", "criteria": { + "has_iron_ingot": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_ingot" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_nugget": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_nugget" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, "has_light_bulb_item": { "conditions": { "items": [ @@ -23,6 +47,8 @@ "requirements": [ [ "has_light_bulb_item", + "has_iron_ingot", + "has_iron_nugget", "has_the_recipe" ] ], diff --git a/src/main/generated/data/new_soviet/advancements/recipes/decorations/siren.json b/src/main/generated/data/new_soviet/advancements/recipes/decorations/siren.json new file mode 100644 index 0000000..2365117 --- /dev/null +++ b/src/main/generated/data/new_soviet/advancements/recipes/decorations/siren.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_nugget": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_nugget" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_note_block": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:note_block" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_redstone": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:redstone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "new_soviet:siren" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_redstone", + "has_iron_nugget", + "has_note_block", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "new_soviet:siren" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/generated/data/new_soviet/advancements/recipes/misc/light_bulb_item.json b/src/main/generated/data/new_soviet/advancements/recipes/misc/light_bulb_item.json new file mode 100644 index 0000000..f943e1a --- /dev/null +++ b/src/main/generated/data/new_soviet/advancements/recipes/misc/light_bulb_item.json @@ -0,0 +1,61 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_glass_bottle": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:glass_bottle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_glowstone_dust": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:glowstone_dust" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_nugget": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:iron_nugget" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "new_soviet:light_bulb_item" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_glass_bottle", + "has_iron_nugget", + "has_glowstone_dust", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "new_soviet:light_bulb_item" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/main/generated/data/new_soviet/recipes/big_post_lamp.json b/src/main/generated/data/new_soviet/recipes/big_post_lamp.json new file mode 100644 index 0000000..a727b11 --- /dev/null +++ b/src/main/generated/data/new_soviet/recipes/big_post_lamp.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "P": { + "item": "new_soviet:lamp_post_base" + }, + "S": { + "item": "minecraft:shroomlight" + } + }, + "pattern": [ + " S ", + " P ", + " " + ], + "result": { + "item": "new_soviet:big_post_lamp" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/generated/data/new_soviet/recipes/handrail.json b/src/main/generated/data/new_soviet/recipes/handrail.json new file mode 100644 index 0000000..8adaba9 --- /dev/null +++ b/src/main/generated/data/new_soviet/recipes/handrail.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:iron_bars" + }, + "S": { + "tag": "minecraft:wooden_slabs" + } + }, + "pattern": [ + " S ", + " B ", + " " + ], + "result": { + "count": 2, + "item": "new_soviet:handrail" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/generated/data/new_soviet/recipes/light_bulb_item.json b/src/main/generated/data/new_soviet/recipes/light_bulb_item.json new file mode 100644 index 0000000..4aa6e28 --- /dev/null +++ b/src/main/generated/data/new_soviet/recipes/light_bulb_item.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "minecraft:glass_bottle" + }, + "D": { + "item": "minecraft:glowstone_dust" + }, + "N": { + "item": "minecraft:iron_nugget" + } + }, + "pattern": [ + " D ", + " B ", + " N " + ], + "result": { + "item": "new_soviet:light_bulb_item" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/generated/data/new_soviet/recipes/siren.json b/src/main/generated/data/new_soviet/recipes/siren.json new file mode 100644 index 0000000..6a67dbc --- /dev/null +++ b/src/main/generated/data/new_soviet/recipes/siren.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "minecraft:iron_nugget" + }, + "N": { + "item": "minecraft:note_block" + }, + "R": { + "item": "minecraft:redstone" + } + }, + "pattern": [ + " ", + "IRI", + "NIN" + ], + "result": { + "item": "new_soviet:siren" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/main/java/su/a71/new_soviet/datagen/RecipeGenerator.java b/src/main/java/su/a71/new_soviet/datagen/RecipeGenerator.java index 36b26c1..3a85370 100644 --- a/src/main/java/su/a71/new_soviet/datagen/RecipeGenerator.java +++ b/src/main/java/su/a71/new_soviet/datagen/RecipeGenerator.java @@ -543,10 +543,42 @@ public class RecipeGenerator extends FabricRecipeProvider { offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_SPRUCE_DOOR, Blocks.SPRUCE_DOOR); offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_BIRCH_DOOR, Blocks.BIRCH_DOOR); + ShapedRecipeJsonBuilder.create(RecipeCategory.MISC, NSE_Items.LIGHT_BULB, 1) + .input('B', Items.GLASS_BOTTLE).input('N', Items.IRON_NUGGET).input('D', Items.GLOWSTONE_DUST) + .pattern(" D ").pattern(" B ").pattern(" N ") + .criterion(hasItem(Items.GLASS_BOTTLE), conditionsFromItem(Items.GLASS_BOTTLE)) + .criterion(hasItem(Items.IRON_NUGGET), conditionsFromItem(Items.IRON_NUGGET)) + .criterion(hasItem(Items.GLOWSTONE_DUST), conditionsFromItem(Items.GLOWSTONE_DUST)) + .offerTo(exporter); + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, NSE_Custom.LIGHT_BULB_LAMP, 1) .input('X', Items.IRON_INGOT).input('Y', Items.IRON_NUGGET).input('Z', NSE_Items.LIGHT_BULB) .pattern(" X ").pattern(" Y ").pattern(" Z ") - .criterion(hasItem(NSE_Items.LIGHT_BULB), conditionsFromItem(NSE_Items.LIGHT_BULB)).offerTo(exporter); + .criterion(hasItem(NSE_Items.LIGHT_BULB), conditionsFromItem(NSE_Items.LIGHT_BULB)) + .criterion(hasItem(Items.IRON_INGOT), conditionsFromItem(Items.IRON_INGOT)) + .criterion(hasItem(Items.IRON_NUGGET), conditionsFromItem(Items.IRON_NUGGET)) + .offerTo(exporter); + + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, NSE_Custom.BIG_POST_LAMP, 1) + .input('P', NSE_Custom.LAMP_POST_BASE).input('S', Blocks.SHROOMLIGHT) + .pattern(" S ").pattern(" P ").pattern(" ") + .criterion(hasItem(NSE_Custom.LAMP_POST_BASE), conditionsFromItem(NSE_Custom.LAMP_POST_BASE)) + .criterion(hasItem(Blocks.SHROOMLIGHT), conditionsFromItem(Blocks.SHROOMLIGHT)) + .offerTo(exporter); + + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, NSE_Custom.SIREN, 1) + .input('R', Items.REDSTONE).input('N', Blocks.NOTE_BLOCK).input('I', Items.IRON_NUGGET) + .pattern(" ").pattern("IRI").pattern("NIN") + .criterion(hasItem(Items.REDSTONE), conditionsFromItem(Items.REDSTONE)) + .criterion(hasItem(Items.IRON_NUGGET), conditionsFromItem(Items.IRON_NUGGET)) + .criterion(hasItem(Blocks.NOTE_BLOCK), conditionsFromItem(Blocks.NOTE_BLOCK)) + .offerTo(exporter); + + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, NSE_Blocks.HANDRAIL, 2) + .input('S', ItemTags.WOODEN_SLABS).input('B', Blocks.IRON_BARS) + .pattern(" S ").pattern(" B ").pattern(" ") + .criterion(hasItem(Blocks.IRON_BARS), conditionsFromItem(Blocks.IRON_BARS)) + .offerTo(exporter); ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.NII_FLOOR, 4) .input('#', Items.DIORITE).input('G', Items.GRANITE).input('C', Items.COBBLESTONE)