Concrete and whitewash

This commit is contained in:
Andrew-71 2023-08-02 16:00:59 +03:00
parent 01e043b87d
commit 6549d6060a
80 changed files with 1042 additions and 44 deletions

11
TODO
View file

@ -1,19 +1,14 @@
1. Add brown+white+yellow+red+green blocks, whitewash, concrete
2. Figure out what to do with "NII wall", nii floor, tilled block
6. Work on custom blocks and doors, etc.
9. Possibly make all NSE_<type> into a generic class with inheritance (for registration functions)
=== ADD BLOCKS/FEATURES ===
* Add brown+white+yellow+red+green blocks, whitewash, concrete
* Add brown+white+yellow+red+green blocks
* Add slab and stair variations
* Add doors and fences
* Add windows
* Add (with functionality) present appliance/furniture/electronics textures
* Fully make datagen for tags, recipes (with unlocks), drops, achievements
* Figure out what to do with "NII wall", nii floor, tilled block
=== FIX STUFF ===
* PO2 wall
* Replace a ton of stuff with FabricBlockSettings.copy and resistance+hardness -> strength
=== NON-GAME CHANGES ===
* Minotaur publishing to modrinth and something similar for curse

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_beige_concrete": {
"conditions": {
"items": [
{
"items": [
"new_soviet:beige_concrete"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "new_soviet:cracked_beige_concrete"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_beige_concrete",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"new_soviet:cracked_beige_concrete"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_blue_concrete": {
"conditions": {
"items": [
{
"items": [
"new_soviet:blue_concrete"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "new_soviet:cracked_blue_concrete"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_blue_concrete",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"new_soviet:cracked_blue_concrete"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_green_concrete": {
"conditions": {
"items": [
{
"items": [
"new_soviet:green_concrete"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "new_soviet:cracked_green_concrete"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_green_concrete",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"new_soviet:cracked_green_concrete"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_red_concrete": {
"conditions": {
"items": [
{
"items": [
"new_soviet:red_concrete"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "new_soviet:cracked_red_concrete"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_red_concrete",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"new_soviet:cracked_red_concrete"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_the_recipe": {
"conditions": {
"recipe": "new_soviet:cracked_white_concrete"
},
"trigger": "minecraft:recipe_unlocked"
},
"has_white_concrete": {
"conditions": {
"items": [
{
"items": [
"new_soviet:white_concrete"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"requirements": [
[
"has_white_concrete",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"new_soviet:cracked_white_concrete"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_the_recipe": {
"conditions": {
"recipe": "new_soviet:cracked_whitewash"
},
"trigger": "minecraft:recipe_unlocked"
},
"has_whitewash": {
"conditions": {
"items": [
{
"items": [
"new_soviet:whitewash"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"requirements": [
[
"has_whitewash",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"new_soviet:cracked_whitewash"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_the_recipe": {
"conditions": {
"recipe": "new_soviet:cracked_yellow_concrete"
},
"trigger": "minecraft:recipe_unlocked"
},
"has_yellow_concrete": {
"conditions": {
"items": [
{
"items": [
"new_soviet:yellow_concrete"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"requirements": [
[
"has_yellow_concrete",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"new_soviet:cracked_yellow_concrete"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_cracked_whitewash": {
"conditions": {
"items": [
{
"items": [
"new_soviet:cracked_whitewash"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "new_soviet:very_cracked_whitewash"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_cracked_whitewash",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"new_soviet:very_cracked_whitewash"
]
},
"sends_telemetry_event": false
}

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_concrete"
}
],
"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:blue_concrete"
}
],
"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_beige_concrete"
}
],
"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_blue_concrete"
}
],
"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_concrete"
}
],
"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_red_concrete"
}
],
"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_white_concrete"
}
],
"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_whitewash"
}
],
"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_yellow_concrete"
}
],
"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_concrete"
}
],
"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:red_concrete"
}
],
"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:very_cracked_whitewash"
}
],
"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:white_concrete"
}
],
"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:whitewash"
}
],
"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:yellow_concrete"
}
],
"rolls": 1.0
}
]
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -6,9 +6,12 @@ import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider;
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
import net.minecraft.block.Blocks;
import net.minecraft.data.client.BlockStateModelGenerator;
import net.minecraft.data.client.ItemModelGenerator;
import net.minecraft.data.server.recipe.RecipeJsonProvider;
import net.minecraft.data.server.recipe.RecipeProvider;
import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder;
@ -148,6 +151,21 @@ public class DataGeneration implements DataGeneratorEntrypoint {
addDrop(NSE_Blocks.CYAN_LINOLEUM);
addDrop(NSE_Blocks.CROSS_ORANGE_LINOLEUM);
addDrop(NSE_Blocks.CROSS_BROWN_LINOLEUM);
addDrop(NSE_Blocks.WHITE_CONCRETE);
addDrop(NSE_Blocks.CRACKED_WHITE_CONCRETE);
addDrop(NSE_Blocks.BEIGE_CONCRETE);
addDrop(NSE_Blocks.CRACKED_BEIGE_CONCRETE);
addDrop(NSE_Blocks.BLUE_CONCRETE);
addDrop(NSE_Blocks.CRACKED_BLUE_CONCRETE);
addDrop(NSE_Blocks.RED_CONCRETE);
addDrop(NSE_Blocks.CRACKED_RED_CONCRETE);
addDrop(NSE_Blocks.YELLOW_CONCRETE);
addDrop(NSE_Blocks.CRACKED_YELLOW_CONCRETE);
addDrop(NSE_Blocks.GREEN_CONCRETE);
addDrop(NSE_Blocks.CRACKED_GREEN_CONCRETE);
addDrop(NSE_Blocks.WHITEWASH);
addDrop(NSE_Blocks.CRACKED_WHITEWASH);
addDrop(NSE_Blocks.VERY_CRACKED_WHITEWASH);
// Drops for furniture/electronics/appliances
addDrop(NSE_Custom.TV);
@ -465,6 +483,14 @@ public class DataGeneration implements DataGeneratorEntrypoint {
offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GREEN_WHITE_TILES, NSE_Blocks.GREEN_WHITE_TILES);
offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_TUFF_TILES, NSE_Blocks.TUFF_TILES);
offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_TUFF_BRICKS, NSE_Blocks.TUFF_BRICKS);
offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_WHITEWASH, NSE_Blocks.WHITEWASH);
offerCrackingRecipe(exporter, NSE_Blocks.VERY_CRACKED_WHITEWASH, NSE_Blocks.CRACKED_WHITEWASH);
offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_WHITE_CONCRETE, NSE_Blocks.WHITE_CONCRETE);
offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_BEIGE_CONCRETE, NSE_Blocks.BEIGE_CONCRETE);
offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_BLUE_CONCRETE, NSE_Blocks.BLUE_CONCRETE);
offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_RED_CONCRETE, NSE_Blocks.RED_CONCRETE);
offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_YELLOW_CONCRETE, NSE_Blocks.YELLOW_CONCRETE);
offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GREEN_CONCRETE, NSE_Blocks.GREEN_CONCRETE);
mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_TILES, NSE_Blocks.SAND_TILES);
mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_BRICKS, NSE_Blocks.SAND_BRICKS);
@ -565,11 +591,27 @@ public class DataGeneration implements DataGeneratorEntrypoint {
}
}
// This is often used once to generate some model and then move it into "proper" assets folder
private static class ModelGenerator extends FabricModelProvider {
private ModelGenerator(FabricDataOutput generator) {
super(generator);
}
@Override
public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) {
}
@Override
public void generateItemModels(ItemModelGenerator itemModelGenerator) {
}
}
@Override
public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) {
FabricDataGenerator.Pack myPack = fabricDataGenerator.createPack();
myPack.addProvider(BlockLootTables::new);
myPack.addProvider(RecipeGenerator::new);
myPack.addProvider(BlockTagGenerator::new);
FabricDataGenerator.Pack NSEPack = fabricDataGenerator.createPack();
NSEPack.addProvider(BlockLootTables::new);
NSEPack.addProvider(RecipeGenerator::new);
NSEPack.addProvider(BlockTagGenerator::new);
NSEPack.addProvider(ModelGenerator::new);
}
}

View file

@ -7,6 +7,7 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.fabric.api.registry.FlammableBlockRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.MapColor;
import net.minecraft.block.StairsBlock;
import net.minecraft.block.WallBlock;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemGroup;
@ -106,23 +107,29 @@ public class NSE_Blocks {
public static final Block CRACKED_TUFF_BRICKS = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.TUFF).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.TERRACOTTA_GRAY));
public static final Block MOSSY_TUFF_BRICKS = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.TUFF).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.TERRACOTTA_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.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.RED));
public static final Block ORANGE_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.ORANGE));
public static final Block YELLOW_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.YELLOW));
public static final Block CYAN_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.CYAN));
public static final Block LIGHT_BLUE_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.LIGHT_BLUE));
public static final Block BLUE_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.BLUE));
public static final Block LIME_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.LIME));
public static final Block GREEN_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.GREEN));
public static final Block GRAY_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.GRAY));
public static final Block PURPLE_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.PURPLE));
public static final Block MAGENTA_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().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 WallBlock CONCRETE_WALL = new WallBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).mapColor(MapColor.STONE_GRAY));
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));
public static final Block VERY_CRACKED_WHITEWASH = new Block(FabricBlockSettings.copy(WHITEWASH));
public static final Block WHITE_CONCRETE = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).strength(1.5f, 6f).requiresTool().mapColor(MapColor.OFF_WHITE));
public static final Block CRACKED_WHITE_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE));
public static final Block WHITE_CONCRETE_WITH_BARS = new Block(FabricBlockSettings.copy(WHITE_CONCRETE));
public static final Block BEIGE_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.OAK_TAN));
public static final Block CRACKED_BEIGE_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.OAK_TAN));
public static final Block BEIGE_CONCRETE_WITH_BARS = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.OAK_TAN));
public static final Block BLUE_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_BLUE));
public static final Block CRACKED_BLUE_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_BLUE));
public static final Block BLUE_CONCRETE_WITH_BARS = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_BLUE));
public static final Block RED_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_RED));
public static final Block CRACKED_RED_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_RED));
public static final Block RED_CONCRETE_WITH_BARS = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_RED));
public static final Block YELLOW_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_YELLOW));
public static final Block CRACKED_YELLOW_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_YELLOW));
public static final Block YELLOW_CONCRETE_WITH_BARS = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_YELLOW));
public static final Block GREEN_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_GREEN));
public static final Block CRACKED_GREEN_CONCRETE = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_GREEN));
public static final Block GREEN_CONCRETE_WITH_BARS = new Block(FabricBlockSettings.copy(WHITE_CONCRETE).mapColor(MapColor.TERRACOTTA_GREEN));
// WOOD/FLOOR ======
public static final Block HERRINGBONE_ACACIA_PLANKS = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.WOOD).hardness(2f).resistance(3f).mapColor(MapColor.ORANGE));
@ -156,7 +163,23 @@ public class NSE_Blocks {
public static final Block CROSS_ORANGE_LINOLEUM = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.WOOD).hardness(2f).resistance(3f));
public static final Block CROSS_BROWN_LINOLEUM = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.WOOD).hardness(2f).resistance(3f));
// Concrete
// 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.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.RED));
public static final Block ORANGE_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.ORANGE));
public static final Block YELLOW_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.YELLOW));
public static final Block CYAN_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.CYAN));
public static final Block LIGHT_BLUE_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.LIGHT_BLUE));
public static final Block BLUE_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.BLUE));
public static final Block LIME_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.LIME));
public static final Block GREEN_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.GREEN));
public static final Block GRAY_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.GRAY));
public static final Block PURPLE_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().mapColor(MapColor.PURPLE));
public static final Block MAGENTA_WARNING = new Block(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).hardness(4f).resistance(6f).requiresTool().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 WallBlock CONCRETE_WALL = new WallBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.STONE).mapColor(MapColor.STONE_GRAY));
private static final ItemGroup NSE_BUILDING_TAB = FabricItemGroup.builder()
.icon(() -> new ItemStack(CALCITE_TILES))
@ -249,22 +272,28 @@ public class NSE_Blocks {
register("cracked_tuff_bricks", () -> CRACKED_TUFF_BRICKS, NSE_BUILDING_TAB);
register("mossy_tuff_bricks", () -> MOSSY_TUFF_BRICKS, NSE_BUILDING_TAB);
register("industrial_warning", () -> INDUSTRIAL_WARNING, NSE_BUILDING_TAB);
register("gray_warning", () -> GRAY_WARNING, NSE_BUILDING_TAB);
register("red_warning", () -> RED_WARNING, NSE_BUILDING_TAB);
register("orange_warning", () -> ORANGE_WARNING, NSE_BUILDING_TAB);
register("yellow_warning", () -> YELLOW_WARNING, NSE_BUILDING_TAB);
register("lime_warning", () -> LIME_WARNING, NSE_BUILDING_TAB);
register("green_warning", () -> GREEN_WARNING, NSE_BUILDING_TAB);
register("cyan_warning", () -> CYAN_WARNING, NSE_BUILDING_TAB);
register("light_blue_warning", () -> LIGHT_BLUE_WARNING, NSE_BUILDING_TAB);
register("blue_warning", () -> BLUE_WARNING, NSE_BUILDING_TAB);
register("purple_warning", () -> PURPLE_WARNING, NSE_BUILDING_TAB);
register("magenta_warning", () -> MAGENTA_WARNING, 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);
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("white_concrete", () -> WHITE_CONCRETE, NSE_BUILDING_TAB);
register("cracked_white_concrete", () -> CRACKED_WHITE_CONCRETE, NSE_BUILDING_TAB);
register("white_concrete_with_bars", () -> WHITE_CONCRETE_WITH_BARS, NSE_BUILDING_TAB);
register("beige_concrete", () -> BEIGE_CONCRETE, NSE_BUILDING_TAB);
register("cracked_beige_concrete", () -> CRACKED_BEIGE_CONCRETE, NSE_BUILDING_TAB);
register("beige_concrete_with_bars", () -> BEIGE_CONCRETE_WITH_BARS, NSE_BUILDING_TAB);
register("blue_concrete", () -> BLUE_CONCRETE, NSE_BUILDING_TAB);
register("cracked_blue_concrete", () -> CRACKED_BLUE_CONCRETE, NSE_BUILDING_TAB);
register("blue_concrete_with_bars", () -> BLUE_CONCRETE_WITH_BARS, NSE_BUILDING_TAB);
register("red_concrete", () -> RED_CONCRETE, NSE_BUILDING_TAB);
register("cracked_red_concrete", () -> CRACKED_RED_CONCRETE, NSE_BUILDING_TAB);
register("red_concrete_with_bars", () -> RED_CONCRETE_WITH_BARS, NSE_BUILDING_TAB);
register("yellow_concrete", () -> YELLOW_CONCRETE, NSE_BUILDING_TAB);
register("cracked_yellow_concrete", () -> CRACKED_YELLOW_CONCRETE, NSE_BUILDING_TAB);
register("yellow_concrete_with_bars", () -> YELLOW_CONCRETE_WITH_BARS, NSE_BUILDING_TAB);
register("green_concrete", () -> GREEN_CONCRETE, NSE_BUILDING_TAB);
register("cracked_green_concrete", () -> CRACKED_GREEN_CONCRETE, NSE_BUILDING_TAB);
register("green_concrete_with_bars", () -> GREEN_CONCRETE_WITH_BARS, NSE_BUILDING_TAB);
register("herringbone_acacia_planks", () -> HERRINGBONE_ACACIA_PLANKS, NSE_BUILDING_TAB);
register("cross_acacia_planks", () -> CROSS_ACACIA_PLANKS, NSE_BUILDING_TAB);
@ -296,6 +325,23 @@ public class NSE_Blocks {
register("cyan_linoleum", () -> CYAN_LINOLEUM, NSE_BUILDING_TAB);
register("cross_orange_linoleum", () -> CROSS_ORANGE_LINOLEUM, NSE_BUILDING_TAB);
register("cross_brown_linoleum", () -> CROSS_BROWN_LINOLEUM, NSE_BUILDING_TAB);
register("industrial_warning", () -> INDUSTRIAL_WARNING, NSE_BUILDING_TAB);
register("gray_warning", () -> GRAY_WARNING, NSE_BUILDING_TAB);
register("red_warning", () -> RED_WARNING, NSE_BUILDING_TAB);
register("orange_warning", () -> ORANGE_WARNING, NSE_BUILDING_TAB);
register("yellow_warning", () -> YELLOW_WARNING, NSE_BUILDING_TAB);
register("lime_warning", () -> LIME_WARNING, NSE_BUILDING_TAB);
register("green_warning", () -> GREEN_WARNING, NSE_BUILDING_TAB);
register("cyan_warning", () -> CYAN_WARNING, NSE_BUILDING_TAB);
register("light_blue_warning", () -> LIGHT_BLUE_WARNING, NSE_BUILDING_TAB);
register("blue_warning", () -> BLUE_WARNING, NSE_BUILDING_TAB);
register("purple_warning", () -> PURPLE_WARNING, NSE_BUILDING_TAB);
register("magenta_warning", () -> MAGENTA_WARNING, NSE_BUILDING_TAB);
register("metal_plating", () -> METAL_PLATING, NSE_BUILDING_TAB);
register("crate", () -> CRATE, NSE_BUILDING_TAB);
register("concrete_wall", () -> CONCRETE_WALL, NSE_BUILDING_TAB); // TODO: Broken
}
public static void initFlame() {

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/beige_concrete"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/blue_concrete"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/cracked_beige_concrete"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/cracked_blue_concrete"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/cracked_green_concrete"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/cracked_red_concrete"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/cracked_white_concrete"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/cracked_whitewash"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/cracked_yellow_concrete"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/green_concrete"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/red_concrete"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/very_cracked_whitewash"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/white_concrete"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/whitewash"
}
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "new_soviet:block/yellow_concrete"
}
}
}

View file

@ -73,6 +73,9 @@
"block.new_soviet.tuff_bricks": "Tuff Bricks",
"block.new_soviet.cracked_tuff_bricks": "Cracked Tuff Bricks",
"block.new_soviet.mossy_tuff_bricks": "Mossy Tuff Bricks",
"block.new_soviet.whitewash": "Whitewash",
"block.new_soviet.cracked_whitewash": "Cracked Whitewash",
"block.new_soviet.very_cracked_whitewash": "Very Cracked Whitewash",
"block.new_soviet.industrial_warning": "Industrial Warning Stripes",
"block.new_soviet.gray_warning": "Gray Warning Stripes",
"block.new_soviet.red_warning": "Red Warning Stripes",

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/beige_concrete"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/blue_concrete"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/cracked_beige_concrete"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/cracked_blue_concrete"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/cracked_green_concrete"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/cracked_red_concrete"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/cracked_white_concrete"
}
}

View file

@ -0,0 +1,9 @@
{
"parent": "block/cube_all",
"textures": {
"all": "new_soviet:block/whitewash/cracked_whitewash",
"particle": "new_soviet:block/whitewash/cracked_whitewash"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/cracked_yellow_concrete"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/green_concrete"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/red_concrete"
}
}

View file

@ -0,0 +1,9 @@
{
"parent": "block/cube_all",
"textures": {
"all": "new_soviet:block/whitewash/very_cracked_whitewash",
"particle": "new_soviet:block/whitewash/very_cracked_whitewash"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/white_concrete"
}
}

View file

@ -0,0 +1,9 @@
{
"parent": "block/cube_all",
"textures": {
"all": "new_soviet:block/whitewash/whitewash",
"particle": "new_soviet:block/whitewash/whitewash"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "minecraft:block/cube_all",
"textures": {
"all": "new_soviet:block/concrete/yellow_concrete"
}
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/beige_concrete"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/blue_concrete"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/cracked_beige_concrete"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/cracked_blue_concrete"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/cracked_green_concrete"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/cracked_red_concrete"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/cracked_white_concrete"
}

View file

@ -0,0 +1,4 @@
{
"parent": "new_soviet:block/cracked_whitewash"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/cracked_yellow_concrete"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/green_concrete"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/red_concrete"
}

View file

@ -0,0 +1,4 @@
{
"parent": "new_soviet:block/very_cracked_whitewash"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/white_concrete"
}

View file

@ -0,0 +1,4 @@
{
"parent": "new_soviet:block/whitewash"
}

View file

@ -0,0 +1,3 @@
{
"parent": "new_soviet:block/yellow_concrete"
}