Initially add changes, god this will take a while

This commit is contained in:
Andrew-71 2023-08-13 22:25:32 +03:00
parent b43a0668aa
commit 0fad36a08c
272 changed files with 3438 additions and 197 deletions

View file

@ -1,7 +1,5 @@
The following directory, it's subdirectories, and any files inside said directories or subdirectories are subject to
the license below.
The only exceptions are files in /src/main/resources/assets/new_soviet/sounds, see relevant LICENSE file there
/src/main/resources/
All Rights Reserved

View file

@ -30,6 +30,13 @@
"new_soviet:brown_linoleum",
"new_soviet:cyan_linoleum",
"new_soviet:cross_orange_linoleum",
"new_soviet:cross_brown_linoleum"
"new_soviet:cross_brown_linoleum",
"new_soviet:chiseled_birch_door",
"new_soviet:chiseled_mangrove_door",
"new_soviet:chiseled_oak_door",
"new_soviet:chiseled_spruce_door",
"new_soviet:green_wallpaper",
"new_soviet:brown_wallpaper",
"new_soviet:beige_wallpaper"
]
}

View file

@ -2,6 +2,15 @@
"replace": false,
"values": [
"new_soviet:sand_tiles",
"new_soviet:nii_floor",
"new_soviet:big_green_tiles",
"new_soviet:big_green_tiles_cracked",
"new_soviet:green_bricks",
"new_soviet:cracked_green_bricks",
"new_soviet:mossy_green_bricks",
"new_soviet:green_bricks_2",
"new_soviet:cracked_green_bricks_2",
"new_soviet:mossy_green_bricks_2",
"new_soviet:cracked_sand_tiles",
"new_soviet:mossy_sand_tiles",
"new_soviet:small_sand_tiles",
@ -13,6 +22,19 @@
"new_soviet:cracked_sand_bricks",
"new_soviet:mossy_sand_bricks",
"new_soviet:big_sand_bricks",
"new_soviet:brick_tiles",
"new_soviet:cracked_brick_tiles",
"new_soviet:mossy_brick_tiles",
"new_soviet:dirty_brick_tiles",
"new_soviet:dark_brick_tiles",
"new_soviet:cracked_dark_brick_tiles",
"new_soviet:mossy_dark_brick_tiles",
"new_soviet:dirty_dark_brick_tiles",
"new_soviet:glazed_brick_tiles",
"new_soviet:cracked_glazed_brick_tiles",
"new_soviet:red_bricks",
"new_soviet:cracked_red_bricks",
"new_soviet:mossy_red_bricks",
"new_soviet:teal_tiles",
"new_soviet:cracked_teal_tiles",
"new_soviet:mossy_teal_tiles",
@ -39,6 +61,10 @@
"new_soviet:cracked_calcite_tiles",
"new_soviet:mossy_calcite_tiles",
"new_soviet:diagonal_calcite_tiles",
"new_soviet:nii_wall_1",
"new_soviet:cracked_nii_wall_1",
"new_soviet:nii_wall_2",
"new_soviet:nii_wall_3",
"new_soviet:dripstone_tiles",
"new_soviet:cracked_dripstone_tiles",
"new_soviet:mossy_dripstone_tiles",
@ -51,6 +77,7 @@
"new_soviet:diagonal_deepslate_tiles",
"new_soviet:light_blue_tiles",
"new_soviet:cracked_light_blue_tiles",
"new_soviet:variated_light_blue_tiles",
"new_soviet:mossy_light_blue_tiles",
"new_soviet:small_light_blue_tiles",
"new_soviet:small_cracked_light_blue_tiles",
@ -85,6 +112,8 @@
"new_soviet:purple_warning",
"new_soviet:magenta_warning",
"new_soviet:metal_plating",
"new_soviet:concrete_wall"
"new_soviet:concrete_wall",
"new_soviet:small_yellow_tiles",
"new_soviet:small_cracked_yellow_tiles"
]
}

View file

@ -1,6 +0,0 @@
{
"replace": false,
"values": [
"new_soviet:landmine"
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:beige_wallpaper"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:big_green_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:big_green_tiles_cracked"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:brick_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:brown_wallpaper"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:chiseled_birch_door"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:chiseled_mangrove_door"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:chiseled_oak_door"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:chiseled_spruce_door"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:cracked_brick_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:cracked_dark_brick_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:cracked_green_bricks"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:cracked_green_bricks_2"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:cracked_nii_wall_1"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:dark_brick_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:dirty_brick_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:dirty_dark_brick_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:green_bricks"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:green_bricks_2"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:green_wallpaper"
}
],
"rolls": 1.0
}
]
}

View file

@ -11,7 +11,7 @@
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:landmine"
"name": "new_soviet:meat"
}
],
"rolls": 1.0

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:meat_eye"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:meat_teeth"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:mossy_brick_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:mossy_dark_brick_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:mossy_green_bricks"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:mossy_green_bricks_2"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:nii_floor"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:nii_wall_1"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:nii_wall_2"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:nii_wall_3"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:small_cracked_yellow_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:small_yellow_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:switch"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "new_soviet:variated_light_blue_tiles"
}
],
"rolls": 1.0
}
]
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:nii_wall_1"
},
"result": "new_soviet:big_diorite_tiles"
}

View file

@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"category": "building",
"key": {
"#": {
"item": "new_soviet:big_diorite_tiles"
},
"G": {
"item": "minecraft:green_dye"
}
},
"pattern": [
"###",
"#G#",
"###"
],
"result": {
"count": 8,
"item": "new_soviet:big_green_tiles"
},
"show_notification": true
}

View file

@ -0,0 +1,10 @@
{
"type": "minecraft:smelting",
"category": "blocks",
"cookingtime": 200,
"experience": 0.1,
"ingredient": {
"item": "new_soviet:big_green_tiles"
},
"result": "new_soviet:big_green_tiles_cracked"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "minecraft:bricks"
},
"result": "new_soviet:brick_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:glazed_brick_tiles"
},
"result": "new_soviet:brick_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:brick_tiles"
},
"result": "minecraft:bricks"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:glazed_brick_tiles"
},
"result": "minecraft:bricks"
}

View file

@ -0,0 +1,10 @@
{
"type": "minecraft:smelting",
"category": "blocks",
"cookingtime": 200,
"experience": 0.1,
"ingredient": {
"item": "new_soviet:brick_tiles"
},
"result": "new_soviet:cracked_brick_tiles"
}

View file

@ -0,0 +1,10 @@
{
"type": "minecraft:smelting",
"category": "blocks",
"cookingtime": 200,
"experience": 0.1,
"ingredient": {
"item": "new_soviet:dark_brick_tiles"
},
"result": "new_soviet:cracked_dark_brick_tiles"
}

View file

@ -0,0 +1,10 @@
{
"type": "minecraft:smelting",
"category": "blocks",
"cookingtime": 200,
"experience": 0.1,
"ingredient": {
"item": "new_soviet:glazed_brick_tiles"
},
"result": "new_soviet:cracked_glazed_brick_tiles"
}

View file

@ -0,0 +1,10 @@
{
"type": "minecraft:smelting",
"category": "blocks",
"cookingtime": 200,
"experience": 0.1,
"ingredient": {
"item": "new_soviet:green_bricks"
},
"result": "new_soviet:cracked_green_bricks"
}

View file

@ -0,0 +1,10 @@
{
"type": "minecraft:smelting",
"category": "blocks",
"cookingtime": 200,
"experience": 0.1,
"ingredient": {
"item": "new_soviet:green_bricks_2"
},
"result": "new_soviet:cracked_green_bricks_2"
}

View file

@ -0,0 +1,10 @@
{
"type": "minecraft:smelting",
"category": "blocks",
"cookingtime": 200,
"experience": 0.1,
"ingredient": {
"item": "new_soviet:nii_wall_1"
},
"result": "new_soviet:cracked_nii_wall_1"
}

View file

@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"category": "building",
"key": {
"#": {
"item": "new_soviet:brick_tiles"
},
"D": {
"item": "minecraft:brown_dye"
}
},
"pattern": [
"###",
"#D#",
"###"
],
"result": {
"count": 8,
"item": "new_soviet:dark_brick_tiles"
},
"show_notification": true
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:nii_wall_1"
},
"result": "new_soviet:diorite_bricks"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:brick_tiles"
},
"result": "new_soviet:glazed_brick_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "minecraft:bricks"
},
"result": "new_soviet:glazed_brick_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:variated_light_blue_tiles"
},
"result": "new_soviet:glazed_light_blue_tiles"
}

View file

@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"category": "building",
"key": {
"#": {
"item": "minecraft:bricks"
},
"G": {
"item": "minecraft:green_dye"
}
},
"pattern": [
"###",
"#G#",
"###"
],
"result": {
"count": 8,
"item": "new_soviet:green_bricks"
},
"show_notification": true
}

View file

@ -0,0 +1,16 @@
{
"type": "minecraft:crafting_shapeless",
"category": "building",
"ingredients": [
{
"item": "minecraft:bricks"
},
{
"item": "new_soviet:green_bricks"
}
],
"result": {
"count": 2,
"item": "new_soviet:green_bricks_2"
}
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:variated_light_blue_tiles"
},
"result": "new_soviet:light_blue_bricks"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:variated_light_blue_tiles"
},
"result": "new_soviet:light_blue_tiles"
}

View file

@ -0,0 +1,15 @@
{
"type": "minecraft:crafting_shapeless",
"category": "building",
"ingredients": [
{
"item": "new_soviet:brick_tiles"
},
{
"item": "minecraft:vine"
}
],
"result": {
"item": "new_soviet:mossy_brick_tiles"
}
}

View file

@ -0,0 +1,15 @@
{
"type": "minecraft:crafting_shapeless",
"category": "building",
"ingredients": [
{
"item": "new_soviet:dark_brick_tiles"
},
{
"item": "minecraft:vine"
}
],
"result": {
"item": "new_soviet:mossy_dark_brick_tiles"
}
}

View file

@ -0,0 +1,15 @@
{
"type": "minecraft:crafting_shapeless",
"category": "building",
"ingredients": [
{
"item": "new_soviet:green_bricks"
},
{
"item": "minecraft:vine"
}
],
"result": {
"item": "new_soviet:mossy_green_bricks"
}
}

View file

@ -0,0 +1,15 @@
{
"type": "minecraft:crafting_shapeless",
"category": "building",
"ingredients": [
{
"item": "new_soviet:green_bricks_2"
},
{
"item": "minecraft:vine"
}
],
"result": {
"item": "new_soviet:mossy_green_bricks_2"
}
}

View file

@ -0,0 +1,15 @@
{
"type": "minecraft:crafting_shapeless",
"category": "building",
"ingredients": [
{
"item": "new_soviet:red_bricks"
},
{
"item": "minecraft:vine"
}
],
"result": {
"item": "new_soviet:mossy_red_bricks"
}
}

View file

@ -0,0 +1,24 @@
{
"type": "minecraft:crafting_shaped",
"category": "building",
"key": {
"#": {
"item": "minecraft:diorite"
},
"C": {
"item": "minecraft:cobblestone"
},
"G": {
"item": "minecraft:granite"
}
},
"pattern": [
"#G",
"GC"
],
"result": {
"count": 4,
"item": "new_soviet:nii_floor"
},
"show_notification": true
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:big_diorite_tiles"
},
"result": "new_soviet:nii_wall_1"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:diorite_bricks"
},
"result": "new_soviet:nii_wall_1"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "minecraft:polished_diorite"
},
"result": "new_soviet:nii_wall_1"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:small_diorite_tiles"
},
"result": "new_soviet:nii_wall_1"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "minecraft:smooth_stone"
},
"result": "new_soviet:nii_wall_2"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "minecraft:stone_bricks"
},
"result": "new_soviet:nii_wall_3"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "minecraft:stone"
},
"result": "new_soviet:nii_wall_3"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:nii_wall_1"
},
"result": "minecraft:polished_diorite"
}

View file

@ -0,0 +1,24 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"I": {
"item": "minecraft:iron_ingot"
},
"N": {
"item": "minecraft:iron_nugget"
},
"S": {
"item": "minecraft:stick"
}
},
"pattern": [
"III",
" N ",
" S "
],
"result": {
"item": "new_soviet:rake"
},
"show_notification": true
}

View file

@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"category": "building",
"key": {
"#": {
"item": "minecraft:bricks"
},
"R": {
"item": "minecraft:red_dye"
}
},
"pattern": [
"###",
"#R#",
"###"
],
"result": {
"count": 8,
"item": "new_soviet:red_bricks"
},
"show_notification": true
}

View file

@ -0,0 +1,10 @@
{
"type": "minecraft:smelting",
"category": "blocks",
"cookingtime": 200,
"experience": 0.1,
"ingredient": {
"item": "new_soviet:small_yellow_tiles"
},
"result": "new_soviet:small_cracked_yellow_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:nii_wall_1"
},
"result": "new_soviet:small_diorite_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:variated_light_blue_tiles"
},
"result": "new_soviet:small_light_blue_tiles"
}

View file

@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"category": "building",
"key": {
"#": {
"item": "new_soviet:small_white_tiles"
},
"Y": {
"item": "minecraft:yellow_dye"
}
},
"pattern": [
"###",
"#Y#",
"###"
],
"result": {
"count": 8,
"item": "new_soviet:small_yellow_tiles"
},
"show_notification": true
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:nii_wall_2"
},
"result": "minecraft:smooth_stone"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:nii_wall_3"
},
"result": "minecraft:stone_bricks"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "minecraft:stone"
},
"result": "minecraft:stone_bricks"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:nii_wall_3"
},
"result": "minecraft:stone"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "minecraft:stone_bricks"
},
"result": "minecraft:stone"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:glazed_light_blue_tiles"
},
"result": "new_soviet:variated_light_blue_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:light_blue_bricks"
},
"result": "new_soviet:variated_light_blue_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:light_blue_tiles"
},
"result": "new_soviet:variated_light_blue_tiles"
}

View file

@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 1,
"ingredient": {
"item": "new_soviet:small_light_blue_tiles"
},
"result": "new_soviet:variated_light_blue_tiles"
}

View file

@ -0,0 +1,9 @@
{
"replace": false,
"values": [
"new_soviet:meat",
"new_soviet:meat_eye",
"new_soviet:meat_teeth",
"new_soviet:purple_goo"
]
}

View file

@ -0,0 +1,62 @@
package su.a71.new_soviet.Materials;
import net.fabricmc.yarn.constants.MiningLevels;
import net.minecraft.item.Items;
import net.minecraft.item.ToolMaterial;
import net.minecraft.recipe.Ingredient;
import net.minecraft.registry.tag.ItemTags;
import net.minecraft.util.Lazy;
import java.util.function.Supplier;
public enum NSE_ToolMaterials implements ToolMaterial
{
IRON_FOR_RAKE(MiningLevels.IRON, 800, 15.0f, 2.0f, 14, () -> Ingredient.ofItems(Items.IRON_INGOT));
private final int miningLevel;
private final int itemDurability;
private final float miningSpeed;
private final float attackDamage;
private final int enchantability;
private final Lazy<Ingredient> repairIngredient;
private NSE_ToolMaterials(int miningLevel, int itemDurability, float miningSpeed, float attackDamage, int enchantability, Supplier<Ingredient> repairIngredient) {
this.miningLevel = miningLevel;
this.itemDurability = itemDurability;
this.miningSpeed = miningSpeed;
this.attackDamage = attackDamage;
this.enchantability = enchantability;
this.repairIngredient = new Lazy<Ingredient>(repairIngredient);
}
@Override
public int getDurability() {
return this.itemDurability;
}
@Override
public float getMiningSpeedMultiplier() {
return this.miningSpeed;
}
@Override
public float getAttackDamage() {
return this.attackDamage;
}
@Override
public int getMiningLevel() {
return this.miningLevel;
}
@Override
public int getEnchantability() {
return this.enchantability;
}
@Override
public Ingredient getRepairIngredient() {
return this.repairIngredient.get();
}
}

View file

@ -1,6 +1,8 @@
package su.a71.new_soviet.blocks;
import net.minecraft.block.*;
import net.minecraft.particle.DustParticleEffect;
import net.minecraft.text.Text;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.projectile.ProjectileEntity;
import net.minecraft.fluid.FluidState;
@ -25,6 +27,7 @@ import net.minecraft.world.World;
import net.minecraft.world.WorldAccess;
import net.minecraft.world.WorldView;
import org.jetbrains.annotations.Nullable;
import su.a71.new_soviet.NewSoviet;
import su.a71.new_soviet.registration.NSE_Custom;
import su.a71.new_soviet.registration.NSE_Items;
@ -70,15 +73,28 @@ public class LightBulbBlock extends Block implements Waterloggable {
@Override
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) {
if (!world.isClient && state.get(BROKEN) && player.getInventory().getMainHandStack().getItem() == NSE_Items.LIGHT_BULB) {
if (!world.isClient && state.get(BROKEN) && player.getInventory().getMainHandStack().getItem() == NSE_Items.LIGHT_BULB && !world.isReceivingRedstonePower(pos)) {
if (!player.isCreative())
player.getInventory().getMainHandStack().decrement(1);
world.setBlockState(pos, (BlockState)state.with(BROKEN, false)
.with(ON, world.isReceivingRedstonePower(pos)), 2);
world.setBlockState(pos, (BlockState)state.with(BROKEN, false));
//.with(ON, world.isReceivingRedstonePower(pos)), 2);
} else if (!world.isClient && state.get(BROKEN) && player.getInventory().getMainHandStack().getItem() == NSE_Items.LIGHT_BULB) {
player.sendMessage(Text.translatable("block.new_soviet.light_bulb_block.energized"));
world.playSound((PlayerEntity)null, pos.getX(), pos.getY(), pos.getZ(), NSE_Custom.ELECTRIC_HIT, SoundCategory.AMBIENT, 0.8f, 1f);
if (!player.isCreative()) {
player.heal(-1 * NewSoviet.RANDOM.nextBetween(1, 4));
}
if (NewSoviet.RANDOM.nextBetween(1, 32) == 1){
if (!player.isCreative())
player.getInventory().getMainHandStack().decrement(1);
world.setBlockState(pos, (BlockState)state.with(BROKEN, false)
.with(ON, world.isReceivingRedstonePower(pos)), 2);
}
}
return super.onUse(state, world, pos, player, hand, hit);
}
@Override
public void onProjectileHit(World world, BlockState state, BlockHitResult hit, ProjectileEntity projectile) {
if (!state.get(BROKEN)) {

View file

@ -0,0 +1,115 @@
package su.a71.new_soviet.blocks;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.*;
import net.minecraft.block.enums.WallMountLocation;
import net.minecraft.block.piston.PistonBehavior;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.particle.DustParticleEffect;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvents;
import net.minecraft.state.StateManager;
import net.minecraft.state.property.BooleanProperty;
import net.minecraft.state.property.Properties;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.random.Random;
import net.minecraft.util.shape.VoxelShape;
import net.minecraft.world.BlockView;
import net.minecraft.world.World;
import net.minecraft.world.WorldAccess;
import net.minecraft.world.WorldView;
import net.minecraft.world.event.GameEvent;
import su.a71.new_soviet.NewSoviet;
import su.a71.new_soviet.sounds.Sounds;
public class SwitchBlock extends LeverBlock {
public static final BooleanProperty POWERED = Properties.POWERED;
protected static final VoxelShape NORTH_WALL_SHAPE = Block.createCuboidShape(5.5, 5.5, 15, 10.5, 10.5, 16);
protected static final VoxelShape SOUTH_WALL_SHAPE = Block.createCuboidShape(5.5, 5.5, 0, 10.5, 10.5, 1);
protected static final VoxelShape WEST_WALL_SHAPE = Block.createCuboidShape(15, 5.5, 5.5, 16, 10.5, 10.5);
protected static final VoxelShape EAST_WALL_SHAPE = Block.createCuboidShape(0.0, 5.5, 5.5, 1, 10.5, 10.5);
protected static final VoxelShape FLOOR_Z_AXIS_SHAPE = Block.createCuboidShape(5.5, 0.0, 5.5, 10.5, 1, 10.5);
protected static final VoxelShape FLOOR_X_AXIS_SHAPE = Block.createCuboidShape(5.5, 0.0, 5.5, 10.5, 1, 10.5);
protected static final VoxelShape CEILING_Z_AXIS_SHAPE = Block.createCuboidShape(5.5, 15.0, 5.5, 10.5, 16.0, 10.5);
protected static final VoxelShape CEILING_X_AXIS_SHAPE = Block.createCuboidShape(5.5, 15.0, 5.5, 10.5, 16.0, 10.5);
public SwitchBlock(FabricBlockSettings fabricBlockSettings) {
super(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).notSolid().pistonBehavior(PistonBehavior.DESTROY).strength(1f, 2f).mapColor(MapColor.TERRACOTTA_WHITE).noCollision());
this.setDefaultState((BlockState)((BlockState)((BlockState)((BlockState)this.stateManager.getDefaultState()).with(FACING, Direction.NORTH)).with(POWERED, false)).with(FACE, WallMountLocation.WALL));
}
@Override
public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) {
switch ((WallMountLocation)state.get(FACE)) {
case FLOOR: {
switch (state.get(FACING).getAxis()) {
case X: {
return FLOOR_X_AXIS_SHAPE;
}
}
return FLOOR_Z_AXIS_SHAPE;
}
case WALL: {
switch (state.get(FACING)) {
case EAST: {
return EAST_WALL_SHAPE;
}
case WEST: {
return WEST_WALL_SHAPE;
}
case SOUTH: {
return SOUTH_WALL_SHAPE;
}
}
return NORTH_WALL_SHAPE;
}
}
switch (state.get(FACING).getAxis()) {
case X: {
return CEILING_X_AXIS_SHAPE;
}
}
return CEILING_Z_AXIS_SHAPE;
}
@Override
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) {
if (world.isClient) {
BlockState blockState = (BlockState)state.cycle(POWERED);
return ActionResult.SUCCESS;
}
BlockState blockState = this.togglePower(state, world, pos);
float f = blockState.get(POWERED) != false ? 1f : 0.9f;
world.playSound(null, pos, Sounds.SWITCH_PRESS, SoundCategory.BLOCKS, 0.6f, f);
world.emitGameEvent((Entity)player, blockState.get(POWERED) != false ? GameEvent.BLOCK_ACTIVATE : GameEvent.BLOCK_DEACTIVATE, pos);
return ActionResult.CONSUME;
}
private static void spawnParticles(BlockState state, WorldAccess world, BlockPos pos, float alpha) {
Direction direction = state.get(FACING).getOpposite();
Direction direction2 = SwitchBlock.getDirection(state).getOpposite();
double d = (double)pos.getX() + 0.5 + 0.1 * (double)direction.getOffsetX() + 0.2 * (double)direction2.getOffsetX();
double e = (double)pos.getY() + 0.5 + 0.1 * (double)direction.getOffsetY() + 0.2 * (double)direction2.getOffsetY();
double f = (double)pos.getZ() + 0.5 + 0.1 * (double)direction.getOffsetZ() + 0.2 * (double)direction2.getOffsetZ();
world.addParticle(new DustParticleEffect(DustParticleEffect.RED, alpha), d, e, f, 0.0, 0.0, 0.0);
}
@Override
public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random) {
if (state.get(POWERED).booleanValue() && random.nextFloat() < 0.25f) {
//SwitchBlock.spawnParticles(state, world, pos, 0.5f);
}
}
@Override
protected void appendProperties(StateManager.Builder<Block, BlockState> builder) {
builder.add(FACE, FACING, POWERED);
}
}

View file

@ -1,49 +0,0 @@
package su.a71.new_soviet.items;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.sound.SoundCategory;
import net.minecraft.stat.Stats;
import net.minecraft.text.Text;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
import org.jetbrains.annotations.Nullable;
import su.a71.new_soviet.NewSoviet;
import su.a71.new_soviet.registration.NSE_Items;
import java.util.List;
public class DiceD20Item extends Item {
public DiceD20Item(Settings settings) {
super(settings);
}
public TypedActionResult<ItemStack> use(World world, PlayerEntity user, Hand hand) {
ItemStack itemStack = user.getStackInHand(hand);
user.getItemCooldownManager().set(this, 20 * itemStack.getCount());
if (!world.isClient) {
StringBuilder output = new StringBuilder();
for (var i = 0; i < itemStack.getCount(); i++) {
world.playSound((PlayerEntity)null, user.getX(), user.getY(), user.getZ(), NSE_Items.DICE_SOUND, SoundCategory.NEUTRAL, 0.5F, 0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F));
output.append(NewSoviet.RANDOM.nextBetween(1, this.getSides())).append(", ");
}
user.sendMessage(Text.translatable(itemStack.getCount() == 1 ? "item.new_soviet.dice.thrown" : "item.new_soviet.dice.thrown_multiple").append(" " + output.subSequence(0, output.length() - 2)));
}
user.increaseStat(Stats.USED.getOrCreateStat(this), itemStack.getCount());
return TypedActionResult.success(itemStack, world.isClient());
}
public int getSides() {
return 20;
}
@Override
public void appendTooltip(ItemStack stack, @Nullable World world, List<Text> tooltip, TooltipContext context) {
tooltip.add(Text.translatable("item.new_soviet.dice_d20.tooltip"));
super.appendTooltip(stack, world, tooltip, context);
}
}

View file

@ -1,49 +0,0 @@
package su.a71.new_soviet.items;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.sound.SoundCategory;
import net.minecraft.stat.Stats;
import net.minecraft.text.Text;
import net.minecraft.util.Hand;
import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
import org.jetbrains.annotations.Nullable;
import su.a71.new_soviet.NewSoviet;
import su.a71.new_soviet.registration.NSE_Items;
import java.util.List;
public class DiceD4Item extends Item {
public DiceD4Item(Settings settings) {
super(settings);
}
public TypedActionResult<ItemStack> use(World world, PlayerEntity user, Hand hand) {
ItemStack itemStack = user.getStackInHand(hand);
user.getItemCooldownManager().set(this, 20 * itemStack.getCount());
if (!world.isClient) {
StringBuilder output = new StringBuilder();
for (var i = 0; i < itemStack.getCount(); i++) {
world.playSound((PlayerEntity)null, user.getX(), user.getY(), user.getZ(), NSE_Items.DICE_SOUND, SoundCategory.NEUTRAL, 0.5F, 0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F));
output.append(NewSoviet.RANDOM.nextBetween(1, this.getSides())).append(", ");
}
user.sendMessage(Text.translatable(itemStack.getCount() == 1 ? "item.new_soviet.dice.thrown" : "item.new_soviet.dice.thrown_multiple").append(" " + output.subSequence(0, output.length() - 2)));
}
user.increaseStat(Stats.USED.getOrCreateStat(this), itemStack.getCount());
return TypedActionResult.success(itemStack, world.isClient());
}
public int getSides() {
return 4;
}
@Override
public void appendTooltip(ItemStack stack, @Nullable World world, List<Text> tooltip, TooltipContext context) {
tooltip.add(Text.translatable("item.new_soviet.dice_d4.tooltip"));
super.appendTooltip(stack, world, tooltip, context);
}
}

View file

@ -12,13 +12,18 @@ import net.minecraft.util.TypedActionResult;
import net.minecraft.world.World;
import org.jetbrains.annotations.Nullable;
import su.a71.new_soviet.NewSoviet;
import su.a71.new_soviet.registration.NSE_Items;
import su.a71.new_soviet.sounds.Sounds;
import java.util.List;
public class DiceItem extends Item {
public DiceItem(Settings settings) {
private final int sides;
private final String loacl_tooltip;
public DiceItem(int sides, String localTooltip, Settings settings) {
super(settings);
this.sides = sides;
this.loacl_tooltip = localTooltip;
}
public TypedActionResult<ItemStack> use(World world, PlayerEntity user, Hand hand) {
@ -27,7 +32,7 @@ public class DiceItem extends Item {
if (!world.isClient) {
StringBuilder output = new StringBuilder();
for (var i = 0; i < itemStack.getCount(); i++) {
world.playSound((PlayerEntity)null, user.getX(), user.getY(), user.getZ(), NSE_Items.DICE_SOUND, SoundCategory.NEUTRAL, 0.5F, 0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F));
world.playSound((PlayerEntity)null, user.getX(), user.getY(), user.getZ(), Sounds.DICE_SOUND, SoundCategory.NEUTRAL, 0.5F, 0.4F / (world.getRandom().nextFloat() * 0.4F + 0.8F));
output.append(NewSoviet.RANDOM.nextBetween(1, this.getSides())).append(", ");
}
user.sendMessage(Text.translatable(itemStack.getCount() == 1 ? "item.new_soviet.dice.thrown" : "item.new_soviet.dice.thrown_multiple").append(" " + output.subSequence(0, output.length() - 2)));
@ -38,12 +43,12 @@ public class DiceItem extends Item {
}
public int getSides() {
return 6;
return sides;
}
@Override
public void appendTooltip(ItemStack stack, @Nullable World world, List<Text> tooltip, TooltipContext context) {
tooltip.add(Text.translatable("item.new_soviet.dice_d6.tooltip"));
tooltip.add(Text.translatable(loacl_tooltip));
super.appendTooltip(stack, world, tooltip, context);
}
}

View file

@ -0,0 +1,75 @@
package su.a71.new_soviet.items;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import com.mojang.datafixers.util.Pair;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.*;
import net.minecraft.sound.SoundCategory;
import net.minecraft.util.ActionResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.world.World;
import net.minecraft.world.event.GameEvent;
import su.a71.new_soviet.sounds.Sounds;
import su.a71.new_soviet.util.NSE_Tags;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Predicate;
public class RakeItem extends MiningToolItem {
protected static final Map<Block, Pair<Predicate<ItemUsageContext>, Consumer<ItemUsageContext>>> TILLING_ACTIONS = Maps.newHashMap(ImmutableMap.of(Blocks.GRASS_BLOCK, Pair.of(HoeItem::canTillFarmland, RakeItem.createTillAction(Blocks.FARMLAND.getDefaultState())), Blocks.DIRT_PATH, Pair.of(HoeItem::canTillFarmland, RakeItem.createTillAction(Blocks.FARMLAND.getDefaultState())), Blocks.DIRT, Pair.of(HoeItem::canTillFarmland, RakeItem.createTillAction(Blocks.FARMLAND.getDefaultState())), Blocks.COARSE_DIRT, Pair.of(RakeItem::canTillFarmland, RakeItem.createTillAction(Blocks.DIRT.getDefaultState())), Blocks.ROOTED_DIRT, Pair.of(itemUsageContext -> true, RakeItem.createTillAndDropAction(Blocks.DIRT.getDefaultState(), Items.HANGING_ROOTS))));
public RakeItem(ToolMaterial material, int attackDamage, float attackSpeed, Settings settings) {
super(attackDamage, attackSpeed, material, NSE_Tags.Blocks.RAKE_MINEABLE, settings);
}
public ActionResult useOnBlock(ItemUsageContext context) {
BlockPos blockPos;
World world = context.getWorld();
Pair<Predicate<ItemUsageContext>, Consumer<ItemUsageContext>> pair = TILLING_ACTIONS.get(world.getBlockState(blockPos = context.getBlockPos()).getBlock());
if (pair == null) {
return ActionResult.PASS;
}
Predicate<ItemUsageContext> predicate = pair.getFirst();
Consumer<ItemUsageContext> consumer = pair.getSecond();
if (predicate.test(context)) {
PlayerEntity playerEntity = context.getPlayer();
world.playSound(playerEntity, blockPos, Sounds.ITEM_RAKE_TILL, SoundCategory.BLOCKS, 1.0f, 1.0f);
if (!world.isClient) {
consumer.accept(context);
if (playerEntity != null) {
context.getStack().damage(1, playerEntity, p -> p.sendToolBreakStatus(context.getHand()));
}
}
return ActionResult.success(world.isClient);
}
return ActionResult.PASS;
}
public static Consumer<ItemUsageContext> createTillAction(BlockState result) {
return context -> {
context.getWorld().setBlockState(context.getBlockPos(), result, Block.NOTIFY_ALL | Block.REDRAW_ON_MAIN_THREAD);
context.getWorld().emitGameEvent(GameEvent.BLOCK_CHANGE, context.getBlockPos(), GameEvent.Emitter.of(context.getPlayer(), result));
};
}
public static Consumer<ItemUsageContext> createTillAndDropAction(BlockState result, ItemConvertible droppedItem) {
return context -> {
context.getWorld().setBlockState(context.getBlockPos(), result, Block.NOTIFY_ALL | Block.REDRAW_ON_MAIN_THREAD);
context.getWorld().emitGameEvent(GameEvent.BLOCK_CHANGE, context.getBlockPos(), GameEvent.Emitter.of(context.getPlayer(), result));
Block.dropStack(context.getWorld(), context.getBlockPos(), context.getSide(), new ItemStack(droppedItem));
};
}
public static boolean canTillFarmland(ItemUsageContext context) {
return context.getSide() != Direction.DOWN && context.getWorld().getBlockState(context.getBlockPos().up()).isAir();
}
}

View file

@ -12,11 +12,14 @@ import net.minecraft.item.ItemStack;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.resource.featuretoggle.FeatureFlag;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.text.Text;
import net.minecraft.util.DyeColor;
import net.minecraft.util.Identifier;
import su.a71.new_soviet.NewSoviet;
import su.a71.new_soviet.blocks.ConcreteWithBarsBlock;
import su.a71.new_soviet.sounds.Sounds;
import java.util.Optional;
import java.util.function.Supplier;
@ -24,7 +27,7 @@ import java.util.function.Supplier;
public class NSE_Blocks {
// BUILDING BRICKS/TILES ====================
public static final Block SAND_TILES = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.MUD_BRICKS).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.TERRACOTTA_BROWN));
public static final Block SAND_TILES = new Block(FabricBlockSettings.create().sounds(Sounds.SAND_TILES_SOUNDS).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.TERRACOTTA_BROWN));
public static final StairsBlock SAND_TILES_STAIRS = new StairsBlock(SAND_TILES.getDefaultState(), FabricBlockSettings.copy(SAND_TILES));
public static final Block CRACKED_SAND_TILES = new Block(FabricBlockSettings.copy(SAND_TILES));
public static final Block MOSSY_SAND_TILES = new Block(FabricBlockSettings.copy(SAND_TILES));
@ -32,12 +35,28 @@ public class NSE_Blocks {
public static final Block SMALL_CRACKED_SAND_TILES = new Block(FabricBlockSettings.copy(SAND_TILES));
public static final Block HERRINGBONE_SAND_TILES = new Block(FabricBlockSettings.copy(SAND_TILES));
public static final Block CROSS_SAND_TILES = new Block(FabricBlockSettings.copy(SAND_TILES));
public static final Block BIG_SAND_TILES = new Block(FabricBlockSettings.copy(SAND_TILES));
public static final Block BIG_SAND_TILES = new Block(FabricBlockSettings.copy(SAND_TILES).sounds(BlockSoundGroup.DECORATED_POT));
public static final Block SAND_BRICKS = new Block(FabricBlockSettings.copy(SAND_TILES));
public static final Block CRACKED_SAND_BRICKS = new Block(FabricBlockSettings.copy(SAND_TILES));
public static final Block MOSSY_SAND_BRICKS = new Block(FabricBlockSettings.copy(SAND_TILES));
public static final Block BIG_SAND_BRICKS = new Block(FabricBlockSettings.copy(SAND_TILES));
//bricks
public static final Block BRICK_TILES = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.TERRACOTTA_BROWN));
public static final Block CRACKED_BRICK_TILES = new Block(FabricBlockSettings.copy(BRICK_TILES));
public static final Block MOSSY_BRICK_TILES = new Block(FabricBlockSettings.copy(BRICK_TILES));
public static final Block DIRTY_BRICK_TILES = new Block(FabricBlockSettings.copy(BRICK_TILES));
public static final Block DARK_BRICK_TILES = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.DARK_RED));
public static final Block CRACKED_DARK_BRICK_TILES = new Block(FabricBlockSettings.copy(DARK_BRICK_TILES));
public static final Block MOSSY_DARK_BRICK_TILES = new Block(FabricBlockSettings.copy(DARK_BRICK_TILES));
public static final Block DIRTY_DARK_BRICK_TILES = new Block(FabricBlockSettings.copy(DARK_BRICK_TILES));
public static final Block GLAZED_BRICK_TILES = new Block(FabricBlockSettings.copy(BRICK_TILES));
public static final Block CRACKED_GLAZED_BRICK_TILES = new Block(FabricBlockSettings.copy(BRICK_TILES));
//red bricks
public static final Block RED_BRICKS = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.DEEPSLATE_BRICKS).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.RED));
public static final Block CRACKED_RED_BRICKS = new Block(FabricBlockSettings.copy(RED_BRICKS));
public static final Block MOSSY_RED_BRICKS = new Block(FabricBlockSettings.copy(RED_BRICKS));
//teal
public static final Block TEAL_TILES = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.TEAL));
public static final Block CRACKED_TEAL_TILES = new Block(FabricBlockSettings.copy(TEAL_TILES));
public static final Block MOSSY_TEAL_TILES = new Block(FabricBlockSettings.copy(TEAL_TILES));
@ -47,6 +66,16 @@ public class NSE_Blocks {
public static final Block CRACKED_GLAZED_TEAL_TILES = new Block(FabricBlockSettings.copy(TEAL_TILES));
public static final Block VARIATED_TEAL_TILES = new Block(FabricBlockSettings.copy(TEAL_TILES));
public static final Block BIG_GREEN_TILES = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.DECORATED_POT).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.TEAL));
public static final Block BIG_GREEN_TILES_CRACKED = new Block(FabricBlockSettings.copy(BIG_GREEN_TILES));
public static final Block GREEN_BRICKS = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.NETHER_BRICKS).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.DARK_GREEN));
public static final Block CRACKED_GREEN_BRICKS = new Block(FabricBlockSettings.copy(GREEN_BRICKS));
public static final Block MOSSY_GREEN_BRICKS = new Block(FabricBlockSettings.copy(GREEN_BRICKS));
public static final Block GREEN_BRICKS_2 = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.NETHER_BRICKS).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.DARK_GREEN));
public static final Block CRACKED_GREEN_BRICKS_2 = new Block(FabricBlockSettings.copy(GREEN_BRICKS_2));
public static final Block MOSSY_GREEN_BRICKS_2 = new Block(FabricBlockSettings.copy(GREEN_BRICKS_2));
public static final Block AQUAMARINE_TILES = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.DARK_AQUA));
public static final Block CRACKED_AQUAMARINE_TILES = new Block(FabricBlockSettings.copy(AQUAMARINE_TILES));
public static final Block MOSSY_AQUAMARINE_TILES = new Block(FabricBlockSettings.copy(AQUAMARINE_TILES));
@ -68,6 +97,12 @@ public class NSE_Blocks {
public static final Block MOSSY_CALCITE_TILES = new Block(FabricBlockSettings.copy(Blocks.CALCITE));
public static final Block DIAGONAL_CALCITE_TILES = new Block(FabricBlockSettings.copy(Blocks.CALCITE));
//NII WALLS
public static final Block NII_WALL_1 = new Block(FabricBlockSettings.copy(Blocks.DIORITE));
public static final Block CRACKED_NII_WALL_1 = new Block(FabricBlockSettings.copy(NSE_Blocks.NII_WALL_1));
public static final Block NII_WALL_2 = new Block(FabricBlockSettings.copy(NSE_Blocks.NII_WALL_1).mapColor(DyeColor.LIGHT_GRAY));
public static final Block NII_WALL_3 = new Block(FabricBlockSettings.copy(NSE_Blocks.NII_WALL_1).mapColor(DyeColor.GRAY));
//DRIPSTONE
public static final Block DRIPSTONE_TILES = new Block(FabricBlockSettings.copy(Blocks.DRIPSTONE_BLOCK));
public static final Block CRACKED_DRIPSTONE_TILES = new Block(FabricBlockSettings.copy(Blocks.DRIPSTONE_BLOCK));
public static final Block MOSSY_DRIPSTONE_TILES = new Block(FabricBlockSettings.copy(Blocks.DRIPSTONE_BLOCK));
@ -83,6 +118,7 @@ public class NSE_Blocks {
public static final Block LIGHT_BLUE_TILES = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).strength(1.5f, 6f).requiresTool().mapColor(MapColor.LIGHT_BLUE));
public static final Block CRACKED_LIGHT_BLUE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES));
public static final Block MOSSY_LIGHT_BLUE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES));
public static final Block VARIATED_LIGHT_BLUE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES).strength(1.5f, 6f).requiresTool().mapColor(MapColor.LIGHT_BLUE));
public static final Block SMALL_LIGHT_BLUE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES));
public static final Block SMALL_CRACKED_LIGHT_BLUE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES));
public static final Block GLAZED_LIGHT_BLUE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES));
@ -108,9 +144,12 @@ public class NSE_Blocks {
public static final Block MOSSY_TUFF_BRICKS = new Block(FabricBlockSettings.copy(Blocks.TUFF));
public static final Block SMALL_WHITE_TILES = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).strength(1.5f, 6f).requiresTool().mapColor(MapColor.WHITE));
public static final Block SMALL_CRACKED_WHITE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES));
public static final Block GLAZED_WHITE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES));
public static final Block CRACKED_GLAZED_WHITE_TILES = new Block(FabricBlockSettings.copy(LIGHT_BLUE_TILES));
public static final Block SMALL_CRACKED_WHITE_TILES = new Block(FabricBlockSettings.copy(SMALL_WHITE_TILES));
public static final Block GLAZED_WHITE_TILES = new Block(FabricBlockSettings.copy(SMALL_WHITE_TILES));
public static final Block CRACKED_GLAZED_WHITE_TILES = new Block(FabricBlockSettings.copy(SMALL_WHITE_TILES));
public static final Block SMALL_YELLOW_TILES = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).strength(1.5f, 6f).requiresTool().mapColor(MapColor.YELLOW));
public static final Block SMALL_CRACKED_YELLOW_TILES = new Block(FabricBlockSettings.copy(SMALL_YELLOW_TILES));
public static final Block WHITEWASH = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).strength(1.5f, 6f).requiresTool().mapColor(MapColor.OFF_WHITE));
public static final Block CRACKED_WHITEWASH = new Block(FabricBlockSettings.copy(WHITEWASH));
@ -135,29 +174,29 @@ public class NSE_Blocks {
public static final Block CRACKED_GREEN_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_GREEN));
public static final ConcreteWithBarsBlock GREEN_CONCRETE_WITH_BARS = new ConcreteWithBarsBlock(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_GREEN));
// WOOD/FLOOR ======
public static final Block HERRINGBONE_ACACIA_PLANKS = new Block(FabricBlockSettings.copy(Blocks.ACACIA_PLANKS));
public static final Block CROSS_ACACIA_PLANKS = new Block(FabricBlockSettings.copy(Blocks.ACACIA_PLANKS));
public static final Block HERRINGBONE_OAK_PLANKS = new Block(FabricBlockSettings.copy(Blocks.OAK_PLANKS));
public static final Block CROSS_OAK_PLANKS = new Block(FabricBlockSettings.copy(Blocks.OAK_PLANKS));
public static final Block HERRINGBONE_BIRCH_PLANKS = new Block(FabricBlockSettings.copy(Blocks.BIRCH_PLANKS));
public static final Block CROSS_BIRCH_PLANKS = new Block(FabricBlockSettings.copy(Blocks.BIRCH_PLANKS));
public static final Block HERRINGBONE_CRIMSON_PLANKS = new Block(FabricBlockSettings.copy(Blocks.CRIMSON_PLANKS));
public static final Block CROSS_CRIMSON_PLANKS = new Block(FabricBlockSettings.copy(Blocks.CRIMSON_PLANKS));
public static final Block HERRINGBONE_DARK_OAK_PLANKS = new Block(FabricBlockSettings.copy(Blocks.DARK_OAK_PLANKS));
public static final Block CROSS_DARK_OAK_PLANKS = new Block(FabricBlockSettings.copy(Blocks.DARK_OAK_PLANKS));
public static final Block HERRINGBONE_JUNGLE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.JUNGLE_PLANKS));
public static final Block CROSS_JUNGLE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.JUNGLE_PLANKS));
public static final Block HERRINGBONE_MANGROVE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.MANGROVE_PLANKS));
public static final Block CROSS_MANGROVE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.MANGROVE_PLANKS));
public static final Block HERRINGBONE_SPRUCE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.SPRUCE_PLANKS));
public static final Block CROSS_SPRUCE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.SPRUCE_PLANKS));
// WOOD/FLOOR ==========
public static final Block HERRINGBONE_ACACIA_PLANKS = new Block(FabricBlockSettings.copy(Blocks.ACACIA_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block CROSS_ACACIA_PLANKS = new Block(FabricBlockSettings.copy(Blocks.ACACIA_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block HERRINGBONE_OAK_PLANKS = new Block(FabricBlockSettings.copy(Blocks.OAK_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block CROSS_OAK_PLANKS = new Block(FabricBlockSettings.copy(Blocks.OAK_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block HERRINGBONE_BIRCH_PLANKS = new Block(FabricBlockSettings.copy(Blocks.BIRCH_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block CROSS_BIRCH_PLANKS = new Block(FabricBlockSettings.copy(Blocks.BIRCH_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block HERRINGBONE_CRIMSON_PLANKS = new Block(FabricBlockSettings.copy(Blocks.CRIMSON_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block CROSS_CRIMSON_PLANKS = new Block(FabricBlockSettings.copy(Blocks.CRIMSON_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block HERRINGBONE_DARK_OAK_PLANKS = new Block(FabricBlockSettings.copy(Blocks.DARK_OAK_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block CROSS_DARK_OAK_PLANKS = new Block(FabricBlockSettings.copy(Blocks.DARK_OAK_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block HERRINGBONE_JUNGLE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.JUNGLE_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block CROSS_JUNGLE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.JUNGLE_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block HERRINGBONE_MANGROVE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.MANGROVE_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block CROSS_MANGROVE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.MANGROVE_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block HERRINGBONE_SPRUCE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.SPRUCE_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block CROSS_SPRUCE_PLANKS = new Block(FabricBlockSettings.copy(Blocks.SPRUCE_PLANKS).sounds(Sounds.PARQUET_SOUNDS));
public static final Block HERRINGBONE_PARQUET = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.WOOD).strength(2f, 3f).mapColor(MapColor.OAK_TAN));
public static final Block HERRINGBONE_PARQUET = new Block(FabricBlockSettings.create().sounds(Sounds.PARQUET_SOUNDS).strength(2f, 3f).mapColor(MapColor.OAK_TAN));
public static final Block STRAIGHT_PARQUET = new Block(FabricBlockSettings.copy(HERRINGBONE_PARQUET));
public static final Block SEPARATED_PARQUET = new Block(FabricBlockSettings.copy(HERRINGBONE_PARQUET));
public static final Block GREEN_LINOLEUM = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.WOOD).strength(2, 3f).mapColor(MapColor.TERRACOTTA_GREEN));
public static final Block GREEN_LINOLEUM = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.CHERRY_WOOD).strength(2, 3f).mapColor(MapColor.TERRACOTTA_GREEN));
public static final Block BLUE_LINOLEUM = new Block(FabricBlockSettings.copy(GREEN_LINOLEUM).mapColor(MapColor.TERRACOTTA_BLUE));
public static final Block RED_LINOLEUM = new Block(FabricBlockSettings.copy(GREEN_LINOLEUM).mapColor(MapColor.TERRACOTTA_RED));
public static final Block GRAY_LINOLEUM = new Block(FabricBlockSettings.copy(GREEN_LINOLEUM).mapColor(MapColor.TERRACOTTA_GRAY));
@ -172,7 +211,10 @@ public class NSE_Blocks {
public static final DoorBlock CHISELED_SPRUCE_DOOR = new DoorBlock(FabricBlockSettings.copy(Blocks.SPRUCE_DOOR), BlockSetType.SPRUCE);
public static final DoorBlock CHISELED_BIRCH_DOOR = new DoorBlock(FabricBlockSettings.copy(Blocks.BIRCH_DOOR), BlockSetType.BIRCH);
// Industrial =====================================
public static final Block NII_FLOOR = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.POLISHED_DEEPSLATE).strength(1.5f, 6f).requiresTool().mapColor(MapColor.GRAY));
// Industrial ==========
public static final Block INDUSTRIAL_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.BLACK));
public static final Block RED_WARNING = new Block(FabricBlockSettings.copy(INDUSTRIAL_WARNING).mapColor(MapColor.RED));
public static final Block ORANGE_WARNING = new Block(FabricBlockSettings.copy(INDUSTRIAL_WARNING).mapColor(MapColor.ORANGE));
@ -186,10 +228,21 @@ public class NSE_Blocks {
public static final Block PURPLE_WARNING = new Block(FabricBlockSettings.copy(INDUSTRIAL_WARNING).mapColor(MapColor.PURPLE));
public static final Block MAGENTA_WARNING = new Block(FabricBlockSettings.copy(INDUSTRIAL_WARNING).mapColor(MapColor.MAGENTA));
public static final Block METAL_PLATING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(5f).requiresTool().mapColor(MapColor.IRON_GRAY));
public static final Block CRATE = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.WOOD).nonOpaque().mapColor(MapColor.OAK_TAN));
public static final Block METAL_PLATING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.NETHERITE).hardness(5f).requiresTool().mapColor(MapColor.IRON_GRAY));
public static final BarrelBlock CRATE = new BarrelBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.CHISELED_BOOKSHELF).nonOpaque().mapColor(MapColor.OAK_TAN).hardness(1.8f));
public static final WallBlock CONCRETE_WALL = new WallBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).mapColor(MapColor.STONE_GRAY));
// MEAT ==========
public static final Block MEAT = new Block(FabricBlockSettings.create().velocityMultiplier(0.8f).sounds(Sounds.MEAT_SOUNDS).nonOpaque().mapColor(MapColor.DARK_RED).hardness(8f));
public static final Block MEAT_EYE = new Block(FabricBlockSettings.copy(MEAT));
public static final Block MEAT_TEETH = new Block(FabricBlockSettings.copy(MEAT));
// WALLPAPER BLOCKS ==========
public static final Block GREEN_WALLPAPER = new Block(FabricBlockSettings.create().sounds(Sounds.WALLPAPER_BLOCK_SOUNDS).nonOpaque().mapColor(MapColor.DARK_GREEN).hardness(10f));
public static final Block BROWN_WALLPAPER = new Block(FabricBlockSettings.copy(GREEN_WALLPAPER).mapColor(MapColor.BROWN));
public static final Block BEIGE_WALLPAPER = new Block(FabricBlockSettings.copy(GREEN_WALLPAPER).mapColor(MapColor.DIRT_BROWN));
public static final SnowBlock PURPLE_GOO = new SnowBlock(FabricBlockSettings.copy(MEAT).hardness(1.2f).nonOpaque());
private static final ItemGroup NSE_BUILDING_TAB = FabricItemGroup.builder()
.icon(() -> new ItemStack(CALCITE_TILES))
.displayName(Text.translatable("itemGroup.new_soviet.building_blocks"))
@ -222,6 +275,22 @@ public class NSE_Blocks {
register("cracked_sand_bricks", () -> CRACKED_SAND_BRICKS, NSE_BUILDING_TAB);
register("mossy_sand_bricks", () -> MOSSY_SAND_BRICKS, NSE_BUILDING_TAB);
register("big_sand_bricks", () -> BIG_SAND_BRICKS, NSE_BUILDING_TAB);
//brick
register("brick_tiles", () -> BRICK_TILES, NSE_BUILDING_TAB);
register("cracked_brick_tiles", () -> CRACKED_BRICK_TILES, NSE_BUILDING_TAB);
register("mossy_brick_tiles", () -> MOSSY_BRICK_TILES, NSE_BUILDING_TAB);
register("dirty_brick_tiles", () -> DIRTY_BRICK_TILES, NSE_BUILDING_TAB);
register("dark_brick_tiles", () -> DARK_BRICK_TILES, NSE_BUILDING_TAB);
register("cracked_dark_brick_tiles", () -> CRACKED_DARK_BRICK_TILES, NSE_BUILDING_TAB);
register("mossy_dark_brick_tiles", () -> MOSSY_DARK_BRICK_TILES, NSE_BUILDING_TAB);
register("dirty_dark_brick_tiles", () -> DIRTY_DARK_BRICK_TILES, NSE_BUILDING_TAB);
register("glazed_brick_tiles", () -> GLAZED_BRICK_TILES, NSE_BUILDING_TAB);
register("cracked_glazed_brick_tiles", () -> CRACKED_GLAZED_BRICK_TILES, NSE_BUILDING_TAB);
//red bricks
register("red_bricks", () -> RED_BRICKS, NSE_BUILDING_TAB);
register("cracked_red_bricks", () -> CRACKED_RED_BRICKS, NSE_BUILDING_TAB);
register("mossy_red_bricks", () -> MOSSY_RED_BRICKS, NSE_BUILDING_TAB);
//teal
register("teal_tiles", () -> TEAL_TILES, NSE_BUILDING_TAB);
register("cracked_teal_tiles", () -> CRACKED_TEAL_TILES, NSE_BUILDING_TAB);
register("mossy_teal_tiles", () -> MOSSY_TEAL_TILES, NSE_BUILDING_TAB);
@ -230,6 +299,16 @@ public class NSE_Blocks {
register("glazed_teal_tiles", () -> GLAZED_TEAL_TILES, NSE_BUILDING_TAB);
register("cracked_glazed_teal_tiles", () -> CRACKED_GLAZED_TEAL_TILES, NSE_BUILDING_TAB);
register("variated_teal_tiles", () -> VARIATED_TEAL_TILES, NSE_BUILDING_TAB);
register("big_green_tiles", () -> BIG_GREEN_TILES, NSE_BUILDING_TAB);
register("big_green_tiles_cracked", () -> BIG_GREEN_TILES_CRACKED, NSE_BUILDING_TAB);
register("green_bricks", () -> GREEN_BRICKS, NSE_BUILDING_TAB);
register("cracked_green_bricks", () -> CRACKED_GREEN_BRICKS, NSE_BUILDING_TAB);
register("mossy_green_bricks", () -> MOSSY_GREEN_BRICKS, NSE_BUILDING_TAB);
register("green_bricks_2", () -> GREEN_BRICKS_2, NSE_BUILDING_TAB);
register("cracked_green_bricks_2", () -> CRACKED_GREEN_BRICKS_2, NSE_BUILDING_TAB);
register("mossy_green_bricks_2", () -> MOSSY_GREEN_BRICKS_2, NSE_BUILDING_TAB);
register("aquamarine_tiles", () -> AQUAMARINE_TILES, NSE_BUILDING_TAB);
register("cracked_aquamarine_tiles", () -> CRACKED_AQUAMARINE_TILES, NSE_BUILDING_TAB);
register("mossy_aquamarine_tiles", () -> MOSSY_AQUAMARINE_TILES, NSE_BUILDING_TAB);
@ -248,6 +327,12 @@ public class NSE_Blocks {
register("cracked_calcite_tiles", () -> CRACKED_CALCITE_TILES, NSE_BUILDING_TAB);
register("mossy_calcite_tiles", () -> MOSSY_CALCITE_TILES, NSE_BUILDING_TAB);
register("diagonal_calcite_tiles", () -> DIAGONAL_CALCITE_TILES, NSE_BUILDING_TAB);
//nii walls
register("nii_wall_1", () -> NII_WALL_1, NSE_BUILDING_TAB);
register("cracked_nii_wall_1", () -> CRACKED_NII_WALL_1, NSE_BUILDING_TAB);
register("nii_wall_2", () -> NII_WALL_2, NSE_BUILDING_TAB);
register("nii_wall_3", () -> NII_WALL_3, NSE_BUILDING_TAB);
//dripstone
register("dripstone_tiles", () -> DRIPSTONE_TILES, NSE_BUILDING_TAB);
register("cracked_dripstone_tiles", () -> CRACKED_DRIPSTONE_TILES, NSE_BUILDING_TAB);
register("mossy_dripstone_tiles", () -> MOSSY_DRIPSTONE_TILES, NSE_BUILDING_TAB);
@ -261,6 +346,7 @@ public class NSE_Blocks {
register("light_blue_tiles", () -> LIGHT_BLUE_TILES, NSE_BUILDING_TAB);
register("cracked_light_blue_tiles", () -> CRACKED_LIGHT_BLUE_TILES, NSE_BUILDING_TAB);
register("mossy_light_blue_tiles", () -> MOSSY_LIGHT_BLUE_TILES, NSE_BUILDING_TAB);
register("variated_light_blue_tiles", () -> VARIATED_LIGHT_BLUE_TILES, NSE_BUILDING_TAB);
register("small_light_blue_tiles", () -> SMALL_LIGHT_BLUE_TILES, NSE_BUILDING_TAB);
register("small_cracked_light_blue_tiles", () -> SMALL_CRACKED_LIGHT_BLUE_TILES, NSE_BUILDING_TAB);
register("glazed_light_blue_tiles", () -> GLAZED_LIGHT_BLUE_TILES, NSE_BUILDING_TAB);
@ -286,6 +372,9 @@ public class NSE_Blocks {
register("glazed_white_tiles", () -> GLAZED_WHITE_TILES, NSE_BUILDING_TAB);
register("cracked_glazed_white_tiles", () -> CRACKED_GLAZED_WHITE_TILES, NSE_BUILDING_TAB);
register("small_yellow_tiles", () -> SMALL_YELLOW_TILES, NSE_BUILDING_TAB);
register("small_cracked_yellow_tiles", () -> SMALL_CRACKED_YELLOW_TILES, NSE_BUILDING_TAB);
register("whitewash", () -> WHITEWASH, NSE_BUILDING_TAB);
register("cracked_whitewash", () -> CRACKED_WHITEWASH, NSE_BUILDING_TAB);
register("very_cracked_whitewash", () -> VERY_CRACKED_WHITEWASH, NSE_BUILDING_TAB);
@ -309,6 +398,8 @@ public class NSE_Blocks {
register("cracked_green_concrete", () -> CRACKED_GREEN_CONCRETE, NSE_BUILDING_TAB);
register("green_concrete_with_bars", () -> GREEN_CONCRETE_WITH_BARS, NSE_BUILDING_TAB);
register("nii_floor", () -> NII_FLOOR, NSE_BUILDING_TAB);
register("herringbone_acacia_planks", () -> HERRINGBONE_ACACIA_PLANKS, NSE_BUILDING_TAB);
register("cross_acacia_planks", () -> CROSS_ACACIA_PLANKS, NSE_BUILDING_TAB);
register("herringbone_oak_planks", () -> HERRINGBONE_OAK_PLANKS, NSE_BUILDING_TAB);
@ -361,6 +452,15 @@ public class NSE_Blocks {
register("metal_plating", () -> METAL_PLATING, NSE_BUILDING_TAB);
register("crate", () -> CRATE, NSE_BUILDING_TAB);
register("concrete_wall", () -> CONCRETE_WALL, NSE_BUILDING_TAB); // TODO: Broken
register("meat", () -> MEAT, NSE_BUILDING_TAB);
register("meat_eye", () -> MEAT_EYE, NSE_BUILDING_TAB);
register("meat_teeth", () -> MEAT_TEETH, NSE_BUILDING_TAB);
register("purple_goo", () -> PURPLE_GOO, NSE_BUILDING_TAB);
register("green_wallpaper", () -> GREEN_WALLPAPER, NSE_BUILDING_TAB);
register("brown_wallpaper", () -> BROWN_WALLPAPER, NSE_BUILDING_TAB);
register("beige_wallpaper", () -> BEIGE_WALLPAPER, NSE_BUILDING_TAB);
}
public static void initFlame() {

View file

@ -9,6 +9,7 @@ import net.minecraft.block.AbstractBlock;
import net.minecraft.block.Block;
import net.minecraft.block.MapColor;
import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.block.piston.PistonBehavior;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
@ -36,6 +37,8 @@ public class NSE_Custom {
FabricBlockEntityTypeBuilder.create(TVBlockEntity::new, TV, RED_TV, BROWN_TV).build()
);
public static final RadioBlock RADIO = new RadioBlock();
public static final SwitchBlock SWITCH = new SwitchBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).notSolid().pistonBehavior(PistonBehavior.DESTROY).strength(1f, 2f).mapColor(MapColor.TERRACOTTA_WHITE));
public static final LampBlock LAMP = new LampBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.LANTERN).strength(1f, 1.5f).mapColor(MapColor.WHITE));
public static final LightBulbBlock LIGHT_BULB = new LightBulbBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.GLASS).strength(1f, 1.5f).mapColor(MapColor.WHITE));
public static final SoundEvent LIGHT_BULB_BROKEN_SOUND = SoundEvent.of(new Identifier(NewSoviet.MOD_ID, "light_bulb_broken_sound"));
@ -45,7 +48,9 @@ public class NSE_Custom {
public static final SirenBlock SIREN = new SirenBlock();
public static final SoundEvent SIREN_SOUND = SoundEvent.of(new Identifier(NewSoviet.MOD_ID, "siren_sound"));
public static final LandMineBlock LANDMINE = new LandMineBlock(FabricBlockSettings.create().mapColor(MapColor.LIGHT_GRAY).offset(AbstractBlock.OffsetType.XZ).dynamicBounds().strength(3f, 2f));
public static final SoundEvent ELECTRIC_HIT = SoundEvent.of(new Identifier(NewSoviet.MOD_ID, "electric_hit"));
public static final LandMineBlock LANDMINE = new LandMineBlock(FabricBlockSettings.create().mapColor(MapColor.LIGHT_GRAY).offset(AbstractBlock.OffsetType.XZ).dynamicBounds());
private static final ItemGroup NSE_CUSTOM_TAB = FabricItemGroup.builder()
.icon(() -> new ItemStack(TV))
@ -75,6 +80,7 @@ public class NSE_Custom {
register("ceiling_fan", () -> CEILING_FAN, NSE_CUSTOM_TAB);
register("siren", () -> SIREN, NSE_CUSTOM_TAB);
register("landmine", () -> LANDMINE, NSE_CUSTOM_TAB);
register("switch", () -> SWITCH, NSE_CUSTOM_TAB);
Registry.register(Registries.SOUND_EVENT, new Identifier(NewSoviet.MOD_ID, "siren_sound"), SIREN_SOUND);
Registry.register(Registries.SOUND_EVENT, new Identifier(NewSoviet.MOD_ID, "light_bulb_broken_sound"), LIGHT_BULB_BROKEN_SOUND);

Some files were not shown because too many files have changed in this diff Show more