diff --git a/src/client/java/su/a71/new_soviet/NewSovietClient.java b/src/client/java/su/a71/new_soviet/NewSovietClient.java index 925c627..7e70a06 100644 --- a/src/client/java/su/a71/new_soviet/NewSovietClient.java +++ b/src/client/java/su/a71/new_soviet/NewSovietClient.java @@ -6,7 +6,6 @@ import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; import net.fabricmc.fabric.api.client.rendering.v1.BlockEntityRendererRegistry; import net.minecraft.client.render.RenderLayer; -import su.a71.new_soviet.entity.TVBlockEntity; import su.a71.new_soviet.registration.NSE_Blocks; import su.a71.new_soviet.registration.NSE_Custom; diff --git a/src/client/java/su/a71/new_soviet/TVBlockEntityRenderer.java b/src/client/java/su/a71/new_soviet/TVBlockEntityRenderer.java index 4d9c5e9..7fde30f 100644 --- a/src/client/java/su/a71/new_soviet/TVBlockEntityRenderer.java +++ b/src/client/java/su/a71/new_soviet/TVBlockEntityRenderer.java @@ -4,22 +4,14 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.block.BlockState; import net.minecraft.block.SignBlock; -import net.minecraft.block.entity.SignText; -import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.block.entity.BlockEntityRenderer; import net.minecraft.client.render.block.entity.BlockEntityRendererFactory; -import net.minecraft.client.render.block.entity.SignBlockEntityRenderer; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.text.OrderedText; -import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RotationAxis; import net.minecraft.util.math.Vec3d; -import org.joml.Matrix4f; -import su.a71.new_soviet.entity.TVBlockEntity; - -import java.util.List; +import su.a71.new_soviet.entities.TVBlockEntity; @Environment(EnvType.CLIENT) public class TVBlockEntityRenderer implements BlockEntityRenderer { diff --git a/src/main/java/su/a71/new_soviet/DataGeneration.java b/src/main/java/su/a71/new_soviet/DataGeneration.java index 2c2f8c7..afadf2a 100644 --- a/src/main/java/su/a71/new_soviet/DataGeneration.java +++ b/src/main/java/su/a71/new_soviet/DataGeneration.java @@ -1,1832 +1,14 @@ package su.a71.new_soviet; -// === ABANDON HOPE, YE WHO ENTER HERE === -import com.google.common.collect.Lists; 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.Block; -import net.minecraft.block.Blocks; -import net.minecraft.data.client.*; -import net.minecraft.data.server.recipe.RecipeJsonProvider; -import net.minecraft.data.server.recipe.RecipeProvider; -import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder; -import net.minecraft.data.server.recipe.ShapelessRecipeJsonBuilder; -import net.minecraft.item.ItemConvertible; -import net.minecraft.item.Items; -import net.minecraft.recipe.Ingredient; -import net.minecraft.recipe.book.RecipeCategory; -import net.minecraft.registry.Registries; -import net.minecraft.registry.RegistryWrapper; -import net.minecraft.registry.tag.BlockTags; -import net.minecraft.registry.tag.ItemTags; -import net.minecraft.util.Identifier; -import net.minecraft.util.Util; -import su.a71.new_soviet.registration.NSE_Blocks; -import su.a71.new_soviet.registration.NSE_Custom; -import su.a71.new_soviet.registration.NSE_Items; -import su.a71.new_soviet.registration.NSE_Tags; -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.function.Consumer; +import su.a71.new_soviet.datagen.BlockLootTables; +import su.a71.new_soviet.datagen.BlockTagGenerator; +import su.a71.new_soviet.datagen.RecipeGenerator; +import su.a71.new_soviet.datagen.ModelGenerator; public class DataGeneration implements DataGeneratorEntrypoint { - private class BlockLootTables extends FabricBlockLootTableProvider { - public BlockLootTables(FabricDataOutput dataOutput) { - super(dataOutput); - } - - @Override - public void generate() { - // Drops for building blocks - addDrop(NSE_Blocks.SAND_TILES); - addDrop(NSE_Blocks.NII_FLOOR); - addDrop(NSE_Blocks.BIG_GREEN_TILES); - addDrop(NSE_Blocks.BIG_GREEN_TILES_CRACKED); - addDrop(NSE_Blocks.GREEN_BRICKS); - addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS); - addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS); - addDrop(NSE_Blocks.GREEN_BRICKS_2); - addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS_2); - addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS_2); - addDrop(NSE_Blocks.CRACKED_SAND_TILES); - addDrop(NSE_Blocks.MOSSY_SAND_TILES); - addDrop(NSE_Blocks.SMALL_SAND_TILES); - addDrop(NSE_Blocks.SMALL_CRACKED_SAND_TILES); - addDrop(NSE_Blocks.HERRINGBONE_SAND_TILES); - addDrop(NSE_Blocks.CROSS_SAND_TILES); - addDrop(NSE_Blocks.BIG_SAND_TILES); - addDrop(NSE_Blocks.SAND_BRICKS); - addDrop(NSE_Blocks.CRACKED_SAND_BRICKS); - addDrop(NSE_Blocks.MOSSY_SAND_BRICKS); - addDrop(NSE_Blocks.BIG_SAND_BRICKS); - addDrop(NSE_Blocks.BRICK_TILES); - addDrop(NSE_Blocks.CRACKED_BRICK_TILES); - addDrop(NSE_Blocks.MOSSY_BRICK_TILES); - addDrop(NSE_Blocks.DIRTY_BRICK_TILES); - addDrop(NSE_Blocks.DARK_BRICK_TILES); - addDrop(NSE_Blocks.CRACKED_DARK_BRICK_TILES); - addDrop(NSE_Blocks.MOSSY_DARK_BRICK_TILES); - addDrop(NSE_Blocks.DIRTY_DARK_BRICK_TILES); - addDrop(NSE_Blocks.TEAL_TILES); - addDrop(NSE_Blocks.CRACKED_TEAL_TILES); - addDrop(NSE_Blocks.MOSSY_TEAL_TILES); - addDrop(NSE_Blocks.SMALL_TEAL_TILES); - addDrop(NSE_Blocks.SMALL_CRACKED_TEAL_TILES); - addDrop(NSE_Blocks.GLAZED_TEAL_TILES); - addDrop(NSE_Blocks.CRACKED_GLAZED_TEAL_TILES); - addDrop(NSE_Blocks.VARIATED_TEAL_TILES); - addDrop(NSE_Blocks.AQUAMARINE_TILES); - addDrop(NSE_Blocks.CRACKED_AQUAMARINE_TILES); - addDrop(NSE_Blocks.MOSSY_AQUAMARINE_TILES); - addDrop(NSE_Blocks.DIRTY_AQUAMARINE_TILES); - addDrop(NSE_Blocks.SMALL_AQUAMARINE_TILES); - addDrop(NSE_Blocks.SMALL_CRACKED_AQUAMARINE_TILES); - addDrop(NSE_Blocks.GLAZED_AQUAMARINE_TILES); - addDrop(NSE_Blocks.CRACKED_GLAZED_AQUAMARINE_TILES); - addDrop(NSE_Blocks.SMALL_DIORITE_TILES); - addDrop(NSE_Blocks.SMALL_CRACKED_DIORITE_TILES); - addDrop(NSE_Blocks.BIG_DIORITE_TILES); - addDrop(NSE_Blocks.DIORITE_BRICKS); - addDrop(NSE_Blocks.CRACKED_DIORITE_BRICKS); - addDrop(NSE_Blocks.MOSSY_DIORITE_BRICKS); - addDrop(NSE_Blocks.CALCITE_TILES); - addDrop(NSE_Blocks.CRACKED_CALCITE_TILES); - addDrop(NSE_Blocks.MOSSY_CALCITE_TILES); - addDrop(NSE_Blocks.DIAGONAL_CALCITE_TILES); - addDrop(NSE_Blocks.NII_WALL_1); - addDrop(NSE_Blocks.CRACKED_NII_WALL_1); - addDrop(NSE_Blocks.NII_WALL_2); - addDrop(NSE_Blocks.NII_WALL_3); - addDrop(NSE_Blocks.DRIPSTONE_TILES); - addDrop(NSE_Blocks.CRACKED_DRIPSTONE_TILES); - addDrop(NSE_Blocks.MOSSY_DRIPSTONE_TILES); - addDrop(NSE_Blocks.DRIPSTONE_BRICKS); - addDrop(NSE_Blocks.DEEPSLATE_TILES); - addDrop(NSE_Blocks.CRACKED_DEEPSLATE_TILES); - addDrop(NSE_Blocks.MOSSY_DEEPSLATE_TILES); - addDrop(NSE_Blocks.SMALL_DEEPSLATE_TILES); - addDrop(NSE_Blocks.SMALL_CRACKED_DEEPSLATE_TILES); - addDrop(NSE_Blocks.DIAGONAL_DEEPSLATE_TILES); - addDrop(NSE_Blocks.LIGHT_BLUE_TILES); - addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES); - addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES); - addDrop(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES); - addDrop(NSE_Blocks.SMALL_LIGHT_BLUE_TILES); - addDrop(NSE_Blocks.SMALL_CRACKED_LIGHT_BLUE_TILES); - addDrop(NSE_Blocks.GLAZED_LIGHT_BLUE_TILES); - addDrop(NSE_Blocks.CRACKED_GLAZED_LIGHT_BLUE_TILES); - addDrop(NSE_Blocks.LIGHT_BLUE_BRICKS); - addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS); - addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS); - addDrop(NSE_Blocks.BIG_GRANITE_TILES); - addDrop(NSE_Blocks.SMALL_GRANITE_TILES); - addDrop(NSE_Blocks.SMALL_CRACKED_GRANITE_TILES); - addDrop(NSE_Blocks.GREEN_WHITE_TILES); - addDrop(NSE_Blocks.CRACKED_GREEN_WHITE_TILES); - addDrop(NSE_Blocks.MOSSY_GREEN_WHITE_TILES); - addDrop(NSE_Blocks.TUFF_TILES); - addDrop(NSE_Blocks.CRACKED_TUFF_TILES); - addDrop(NSE_Blocks.MOSSY_TUFF_TILES); - addDrop(NSE_Blocks.BIG_TUFF_TILES); - addDrop(NSE_Blocks.TUFF_BRICKS); - addDrop(NSE_Blocks.CRACKED_TUFF_BRICKS); - addDrop(NSE_Blocks.MOSSY_TUFF_BRICKS); - addDrop(NSE_Blocks.INDUSTRIAL_WARNING); - addDrop(NSE_Blocks.GRAY_WARNING); - addDrop(NSE_Blocks.RED_WARNING); - addDrop(NSE_Blocks.ORANGE_WARNING); - addDrop(NSE_Blocks.YELLOW_WARNING); - addDrop(NSE_Blocks.LIME_WARNING); - addDrop(NSE_Blocks.GREEN_WARNING); - addDrop(NSE_Blocks.CYAN_WARNING); - addDrop(NSE_Blocks.LIGHT_BLUE_WARNING); - addDrop(NSE_Blocks.BLUE_WARNING); - addDrop(NSE_Blocks.PURPLE_WARNING); - addDrop(NSE_Blocks.MAGENTA_WARNING); - addDrop(NSE_Blocks.METAL_PLATING); - addDrop(NSE_Blocks.CRATE); - addDrop(NSE_Blocks.CONCRETE_WALL); - addDrop(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS); - addDrop(NSE_Blocks.CROSS_ACACIA_PLANKS); - addDrop(NSE_Blocks.HERRINGBONE_OAK_PLANKS); - addDrop(NSE_Blocks.CROSS_OAK_PLANKS); - addDrop(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS); - addDrop(NSE_Blocks.CROSS_BIRCH_PLANKS); - addDrop(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS); - addDrop(NSE_Blocks.CROSS_CRIMSON_PLANKS); - addDrop(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS); - addDrop(NSE_Blocks.CROSS_DARK_OAK_PLANKS); - addDrop(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS); - addDrop(NSE_Blocks.CROSS_JUNGLE_PLANKS); - addDrop(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS); - addDrop(NSE_Blocks.CROSS_MANGROVE_PLANKS); - addDrop(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS); - addDrop(NSE_Blocks.CROSS_SPRUCE_PLANKS); - addDrop(NSE_Blocks.HERRINGBONE_PARQUET); - addDrop(NSE_Blocks.STRAIGHT_PARQUET); - addDrop(NSE_Blocks.SEPARATED_PARQUET); - addDrop(NSE_Blocks.GREEN_LINOLEUM); - addDrop(NSE_Blocks.BLUE_LINOLEUM); - addDrop(NSE_Blocks.RED_LINOLEUM); - addDrop(NSE_Blocks.GRAY_LINOLEUM); - addDrop(NSE_Blocks.ORANGE_LINOLEUM); - addDrop(NSE_Blocks.BROWN_LINOLEUM); - 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); - addDrop(NSE_Blocks.SMALL_YELLOW_TILES); - addDrop(NSE_Blocks.SMALL_CRACKED_YELLOW_TILES); - addDrop(NSE_Blocks.MEAT); - addDrop(NSE_Blocks.MEAT_EYE); - addDrop(NSE_Blocks.MEAT_TEETH); - addDrop(NSE_Blocks.CHISELED_BIRCH_DOOR, doorDrops(NSE_Blocks.CHISELED_BIRCH_DOOR)); - addDrop(NSE_Blocks.CHISELED_MANGROVE_DOOR, doorDrops(NSE_Blocks.CHISELED_MANGROVE_DOOR));; - addDrop(NSE_Blocks.CHISELED_OAK_DOOR, doorDrops(NSE_Blocks.CHISELED_OAK_DOOR)); - addDrop(NSE_Blocks.CHISELED_SPRUCE_DOOR, doorDrops(NSE_Blocks.CHISELED_SPRUCE_DOOR));; - addDrop(NSE_Blocks.BEIGE_WALLPAPER); - addDrop(NSE_Blocks.BROWN_WALLPAPER); - addDrop(NSE_Blocks.GREEN_WALLPAPER); - addDrop(NSE_Blocks.HANDRAIL); - - // Drops for furniture/electronics/appliances - addDrop(NSE_Custom.WHITE_PAWN); - addDrop(NSE_Custom.WHITE_BISHOP); - addDrop(NSE_Custom.WHITE_KING); - addDrop(NSE_Custom.WHITE_KNIGHT); - addDrop(NSE_Custom.WHITE_QUEEN); - addDrop(NSE_Custom.WHITE_ROOK); - addDrop(NSE_Custom.BLACK_KNIGHT); - addDrop(NSE_Custom.BLACK_PAWN); - addDrop(NSE_Custom.BLACK_KING); - addDrop(NSE_Custom.BLACK_QUEEN); - addDrop(NSE_Custom.BLACK_BISHOP); - addDrop(NSE_Custom.BLACK_ROOK); - - addDrop(NSE_Custom.TV); - addDrop(NSE_Custom.RED_TV); - addDrop(NSE_Custom.BROWN_TV); - addDrop(NSE_Custom.RADIO_RECEIVER); - addDrop(NSE_Custom.SIREN); - addDrop(NSE_Custom.TABLE_LAMP); - addDrop(NSE_Custom.VINTAGE_LAMP); - addDrop(NSE_Custom.CEILING_FAN); - addDrop(NSE_Custom.SWITCH); - - // Generated stairs and slabs drops - addDrop(NSE_Blocks.SAND_TILES_SLAB); - addDrop(NSE_Blocks.SAND_TILES_STAIRS); - addDrop(NSE_Blocks.CRACKED_SAND_TILES_SLAB); - addDrop(NSE_Blocks.CRACKED_SAND_TILES_STAIRS); - addDrop(NSE_Blocks.MOSSY_SAND_TILES_SLAB); - addDrop(NSE_Blocks.MOSSY_SAND_TILES_STAIRS); - addDrop(NSE_Blocks.HERRINGBONE_SAND_TILES_SLAB); - addDrop(NSE_Blocks.HERRINGBONE_SAND_TILES_STAIRS); - addDrop(NSE_Blocks.CROSS_SAND_TILES_SLAB); - addDrop(NSE_Blocks.CROSS_SAND_TILES_STAIRS); - addDrop(NSE_Blocks.SAND_BRICKS_SLAB); - addDrop(NSE_Blocks.SAND_BRICKS_STAIRS); - addDrop(NSE_Blocks.CRACKED_SAND_BRICKS_SLAB); - addDrop(NSE_Blocks.CRACKED_SAND_BRICKS_STAIRS); - addDrop(NSE_Blocks.MOSSY_SAND_BRICKS_SLAB); - addDrop(NSE_Blocks.MOSSY_SAND_BRICKS_STAIRS); - addDrop(NSE_Blocks.BIG_SAND_BRICKS_SLAB); - addDrop(NSE_Blocks.BIG_SAND_BRICKS_STAIRS); - addDrop(NSE_Blocks.BRICK_TILES_SLAB); - addDrop(NSE_Blocks.BRICK_TILES_STAIRS); - addDrop(NSE_Blocks.CRACKED_BRICK_TILES_SLAB); - addDrop(NSE_Blocks.CRACKED_BRICK_TILES_STAIRS); - addDrop(NSE_Blocks.MOSSY_BRICK_TILES_SLAB); - addDrop(NSE_Blocks.MOSSY_BRICK_TILES_STAIRS); - addDrop(NSE_Blocks.DIRTY_BRICK_TILES_SLAB); - addDrop(NSE_Blocks.DIRTY_BRICK_TILES_STAIRS); - addDrop(NSE_Blocks.DARK_BRICK_TILES_SLAB); - addDrop(NSE_Blocks.DARK_BRICK_TILES_STAIRS); - addDrop(NSE_Blocks.CRACKED_DARK_BRICK_TILES_SLAB); - addDrop(NSE_Blocks.CRACKED_DARK_BRICK_TILES_STAIRS); - addDrop(NSE_Blocks.MOSSY_DARK_BRICK_TILES_SLAB); - addDrop(NSE_Blocks.MOSSY_DARK_BRICK_TILES_STAIRS); - addDrop(NSE_Blocks.DIRTY_DARK_BRICK_TILES_SLAB); - addDrop(NSE_Blocks.DIRTY_DARK_BRICK_TILES_STAIRS); - addDrop(NSE_Blocks.RED_BRICKS_SLAB); - addDrop(NSE_Blocks.RED_BRICKS_STAIRS); - addDrop(NSE_Blocks.CRACKED_RED_BRICKS_SLAB); - addDrop(NSE_Blocks.CRACKED_RED_BRICKS_STAIRS); - addDrop(NSE_Blocks.MOSSY_RED_BRICKS_SLAB); - addDrop(NSE_Blocks.MOSSY_RED_BRICKS_STAIRS); - addDrop(NSE_Blocks.TEAL_TILES_SLAB); - addDrop(NSE_Blocks.TEAL_TILES_STAIRS); - addDrop(NSE_Blocks.CRACKED_TEAL_TILES_SLAB); - addDrop(NSE_Blocks.CRACKED_TEAL_TILES_STAIRS); - addDrop(NSE_Blocks.MOSSY_TEAL_TILES_SLAB); - addDrop(NSE_Blocks.MOSSY_TEAL_TILES_STAIRS); - addDrop(NSE_Blocks.VARIATED_TEAL_TILES_SLAB); - addDrop(NSE_Blocks.VARIATED_TEAL_TILES_STAIRS); - addDrop(NSE_Blocks.GREEN_BRICKS_SLAB); - addDrop(NSE_Blocks.GREEN_BRICKS_STAIRS); - addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS_SLAB); - addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS_STAIRS); - addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS_SLAB); - addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS_STAIRS); - addDrop(NSE_Blocks.GREEN_BRICKS_2_SLAB); - addDrop(NSE_Blocks.GREEN_BRICKS_2_STAIRS); - addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS_2_SLAB); - addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS_2_STAIRS); - addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS_2_SLAB); - addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS_2_STAIRS); - addDrop(NSE_Blocks.AQUAMARINE_TILES_SLAB); - addDrop(NSE_Blocks.AQUAMARINE_TILES_STAIRS); - addDrop(NSE_Blocks.CRACKED_AQUAMARINE_TILES_SLAB); - addDrop(NSE_Blocks.CRACKED_AQUAMARINE_TILES_STAIRS); - addDrop(NSE_Blocks.MOSSY_AQUAMARINE_TILES_SLAB); - addDrop(NSE_Blocks.MOSSY_AQUAMARINE_TILES_STAIRS); - addDrop(NSE_Blocks.DIRTY_AQUAMARINE_TILES_SLAB); - addDrop(NSE_Blocks.DIRTY_AQUAMARINE_TILES_STAIRS); - addDrop(NSE_Blocks.DIORITE_BRICKS_SLAB); - addDrop(NSE_Blocks.DIORITE_BRICKS_STAIRS); - addDrop(NSE_Blocks.CRACKED_DIORITE_BRICKS_SLAB); - addDrop(NSE_Blocks.CRACKED_DIORITE_BRICKS_STAIRS); - addDrop(NSE_Blocks.MOSSY_DIORITE_BRICKS_SLAB); - addDrop(NSE_Blocks.MOSSY_DIORITE_BRICKS_STAIRS); - addDrop(NSE_Blocks.CALCITE_TILES_SLAB); - addDrop(NSE_Blocks.CALCITE_TILES_STAIRS); - addDrop(NSE_Blocks.CRACKED_CALCITE_TILES_SLAB); - addDrop(NSE_Blocks.CRACKED_CALCITE_TILES_STAIRS); - addDrop(NSE_Blocks.MOSSY_CALCITE_TILES_SLAB); - addDrop(NSE_Blocks.MOSSY_CALCITE_TILES_STAIRS); - addDrop(NSE_Blocks.DRIPSTONE_TILES_SLAB); - addDrop(NSE_Blocks.DRIPSTONE_TILES_STAIRS); - addDrop(NSE_Blocks.CRACKED_DRIPSTONE_TILES_SLAB); - addDrop(NSE_Blocks.CRACKED_DRIPSTONE_TILES_STAIRS); - addDrop(NSE_Blocks.MOSSY_DRIPSTONE_TILES_SLAB); - addDrop(NSE_Blocks.MOSSY_DRIPSTONE_TILES_STAIRS); - addDrop(NSE_Blocks.DEEPSLATE_TILES_SLAB); - addDrop(NSE_Blocks.DEEPSLATE_TILES_STAIRS); - addDrop(NSE_Blocks.CRACKED_DEEPSLATE_TILES_SLAB); - addDrop(NSE_Blocks.CRACKED_DEEPSLATE_TILES_STAIRS); - addDrop(NSE_Blocks.MOSSY_DEEPSLATE_TILES_SLAB); - addDrop(NSE_Blocks.MOSSY_DEEPSLATE_TILES_STAIRS); - addDrop(NSE_Blocks.LIGHT_BLUE_TILES_SLAB); - addDrop(NSE_Blocks.LIGHT_BLUE_TILES_STAIRS); - addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_SLAB); - addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_STAIRS); - addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_SLAB); - addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_STAIRS); - addDrop(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_SLAB); - addDrop(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_STAIRS); - addDrop(NSE_Blocks.LIGHT_BLUE_BRICKS_SLAB); - addDrop(NSE_Blocks.LIGHT_BLUE_BRICKS_STAIRS); - addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_SLAB); - addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_STAIRS); - addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_SLAB); - addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_STAIRS); - addDrop(NSE_Blocks.GREEN_WHITE_TILES_SLAB); - addDrop(NSE_Blocks.GREEN_WHITE_TILES_STAIRS); - addDrop(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_SLAB); - addDrop(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_STAIRS); - addDrop(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_SLAB); - addDrop(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_STAIRS); - addDrop(NSE_Blocks.TUFF_TILES_SLAB); - addDrop(NSE_Blocks.TUFF_TILES_STAIRS); - addDrop(NSE_Blocks.CRACKED_TUFF_TILES_SLAB); - addDrop(NSE_Blocks.CRACKED_TUFF_TILES_STAIRS); - addDrop(NSE_Blocks.MOSSY_TUFF_TILES_SLAB); - addDrop(NSE_Blocks.MOSSY_TUFF_TILES_STAIRS); - addDrop(NSE_Blocks.TUFF_BRICKS_SLAB); - addDrop(NSE_Blocks.TUFF_BRICKS_STAIRS); - addDrop(NSE_Blocks.CRACKED_TUFF_BRICKS_SLAB); - addDrop(NSE_Blocks.CRACKED_TUFF_BRICKS_STAIRS); - addDrop(NSE_Blocks.MOSSY_TUFF_BRICKS_SLAB); - addDrop(NSE_Blocks.MOSSY_TUFF_BRICKS_STAIRS); - addDrop(NSE_Blocks.WHITE_CONCRETE_SLAB); - addDrop(NSE_Blocks.WHITE_CONCRETE_STAIRS); - addDrop(NSE_Blocks.CRACKED_WHITE_CONCRETE_SLAB); - addDrop(NSE_Blocks.CRACKED_WHITE_CONCRETE_STAIRS); - addDrop(NSE_Blocks.BEIGE_CONCRETE_SLAB); - addDrop(NSE_Blocks.BEIGE_CONCRETE_STAIRS); - addDrop(NSE_Blocks.CRACKED_BEIGE_CONCRETE_SLAB); - addDrop(NSE_Blocks.CRACKED_BEIGE_CONCRETE_STAIRS); - addDrop(NSE_Blocks.BLUE_CONCRETE_SLAB); - addDrop(NSE_Blocks.BLUE_CONCRETE_STAIRS); - addDrop(NSE_Blocks.CRACKED_BLUE_CONCRETE_SLAB); - addDrop(NSE_Blocks.CRACKED_BLUE_CONCRETE_STAIRS); - addDrop(NSE_Blocks.RED_CONCRETE_SLAB); - addDrop(NSE_Blocks.RED_CONCRETE_STAIRS); - addDrop(NSE_Blocks.CRACKED_RED_CONCRETE_SLAB); - addDrop(NSE_Blocks.CRACKED_RED_CONCRETE_STAIRS); - addDrop(NSE_Blocks.YELLOW_CONCRETE_SLAB); - addDrop(NSE_Blocks.YELLOW_CONCRETE_STAIRS); - addDrop(NSE_Blocks.CRACKED_YELLOW_CONCRETE_SLAB); - addDrop(NSE_Blocks.CRACKED_YELLOW_CONCRETE_STAIRS); - addDrop(NSE_Blocks.GREEN_CONCRETE_SLAB); - addDrop(NSE_Blocks.GREEN_CONCRETE_STAIRS); - addDrop(NSE_Blocks.CRACKED_GREEN_CONCRETE_SLAB); - addDrop(NSE_Blocks.CRACKED_GREEN_CONCRETE_STAIRS); - addDrop(NSE_Blocks.NII_FLOOR_SLAB); - addDrop(NSE_Blocks.NII_FLOOR_STAIRS); - addDrop(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_SLAB); - addDrop(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_STAIRS); - addDrop(NSE_Blocks.CROSS_ACACIA_PLANKS_SLAB); - addDrop(NSE_Blocks.CROSS_ACACIA_PLANKS_STAIRS); - addDrop(NSE_Blocks.HERRINGBONE_OAK_PLANKS_SLAB); - addDrop(NSE_Blocks.HERRINGBONE_OAK_PLANKS_STAIRS); - addDrop(NSE_Blocks.CROSS_OAK_PLANKS_SLAB); - addDrop(NSE_Blocks.CROSS_OAK_PLANKS_STAIRS); - addDrop(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_SLAB); - addDrop(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_STAIRS); - addDrop(NSE_Blocks.CROSS_BIRCH_PLANKS_SLAB); - addDrop(NSE_Blocks.CROSS_BIRCH_PLANKS_STAIRS); - addDrop(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_SLAB); - addDrop(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_STAIRS); - addDrop(NSE_Blocks.CROSS_CRIMSON_PLANKS_SLAB); - addDrop(NSE_Blocks.CROSS_CRIMSON_PLANKS_STAIRS); - addDrop(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_SLAB); - addDrop(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_STAIRS); - addDrop(NSE_Blocks.CROSS_DARK_OAK_PLANKS_SLAB); - addDrop(NSE_Blocks.CROSS_DARK_OAK_PLANKS_STAIRS); - addDrop(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_SLAB); - addDrop(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_STAIRS); - addDrop(NSE_Blocks.CROSS_JUNGLE_PLANKS_SLAB); - addDrop(NSE_Blocks.CROSS_JUNGLE_PLANKS_STAIRS); - addDrop(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_SLAB); - addDrop(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_STAIRS); - addDrop(NSE_Blocks.CROSS_MANGROVE_PLANKS_SLAB); - addDrop(NSE_Blocks.CROSS_MANGROVE_PLANKS_STAIRS); - addDrop(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_SLAB); - addDrop(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_STAIRS); - addDrop(NSE_Blocks.CROSS_SPRUCE_PLANKS_SLAB); - addDrop(NSE_Blocks.CROSS_SPRUCE_PLANKS_STAIRS); - addDrop(NSE_Blocks.HERRINGBONE_PARQUET_SLAB); - addDrop(NSE_Blocks.HERRINGBONE_PARQUET_STAIRS); - addDrop(NSE_Blocks.STRAIGHT_PARQUET_SLAB); - addDrop(NSE_Blocks.STRAIGHT_PARQUET_STAIRS); - addDrop(NSE_Blocks.SEPARATED_PARQUET_SLAB); - addDrop(NSE_Blocks.SEPARATED_PARQUET_STAIRS); - addDrop(NSE_Blocks.GREEN_LINOLEUM_SLAB); - addDrop(NSE_Blocks.GREEN_LINOLEUM_STAIRS); - addDrop(NSE_Blocks.BLUE_LINOLEUM_SLAB); - addDrop(NSE_Blocks.BLUE_LINOLEUM_STAIRS); - addDrop(NSE_Blocks.RED_LINOLEUM_SLAB); - addDrop(NSE_Blocks.RED_LINOLEUM_STAIRS); - addDrop(NSE_Blocks.GRAY_LINOLEUM_SLAB); - addDrop(NSE_Blocks.GRAY_LINOLEUM_STAIRS); - addDrop(NSE_Blocks.ORANGE_LINOLEUM_SLAB); - addDrop(NSE_Blocks.ORANGE_LINOLEUM_STAIRS); - addDrop(NSE_Blocks.BROWN_LINOLEUM_SLAB); - addDrop(NSE_Blocks.BROWN_LINOLEUM_STAIRS); - addDrop(NSE_Blocks.CYAN_LINOLEUM_SLAB); - addDrop(NSE_Blocks.CYAN_LINOLEUM_STAIRS); - addDrop(NSE_Blocks.METAL_PLATING_SLAB); - addDrop(NSE_Blocks.METAL_PLATING_STAIRS); - - addDropWithSilkTouch(NSE_Custom.LIGHT_BULB_LAMP); - } - } - - private static class BlockTagGenerator extends FabricTagProvider.BlockTagProvider { - - public BlockTagGenerator(FabricDataOutput output, CompletableFuture completableFuture) { - super(output, completableFuture); - } - - @Override - protected void configure(RegistryWrapper.WrapperLookup arg) { - // Blocks mined with a pickaxe - getOrCreateTagBuilder(BlockTags.PICKAXE_MINEABLE) - .add(NSE_Blocks.SAND_TILES) - .add(NSE_Blocks.HANDRAIL) - .add(NSE_Blocks.NII_FLOOR) - .add(NSE_Blocks.BIG_GREEN_TILES) - .add(NSE_Blocks.BIG_GREEN_TILES_CRACKED) - .add(NSE_Blocks.GREEN_BRICKS) - .add(NSE_Blocks.CRACKED_GREEN_BRICKS) - .add(NSE_Blocks.MOSSY_GREEN_BRICKS) - .add(NSE_Blocks.GREEN_BRICKS_2) - .add(NSE_Blocks.CRACKED_GREEN_BRICKS_2) - .add(NSE_Blocks.MOSSY_GREEN_BRICKS_2) - .add(NSE_Blocks.CRACKED_SAND_TILES) - .add(NSE_Blocks.MOSSY_SAND_TILES) - .add(NSE_Blocks.SMALL_SAND_TILES) - .add(NSE_Blocks.SMALL_CRACKED_SAND_TILES) - .add(NSE_Blocks.HERRINGBONE_SAND_TILES) - .add(NSE_Blocks.CROSS_SAND_TILES) - .add(NSE_Blocks.BIG_SAND_TILES) - .add(NSE_Blocks.SAND_BRICKS) - .add(NSE_Blocks.CRACKED_SAND_BRICKS) - .add(NSE_Blocks.MOSSY_SAND_BRICKS) - .add(NSE_Blocks.BIG_SAND_BRICKS) - .add(NSE_Blocks.BRICK_TILES) - .add(NSE_Blocks.CRACKED_BRICK_TILES) - .add(NSE_Blocks.MOSSY_BRICK_TILES) - .add(NSE_Blocks.DIRTY_BRICK_TILES) - .add(NSE_Blocks.DARK_BRICK_TILES) - .add(NSE_Blocks.CRACKED_DARK_BRICK_TILES) - .add(NSE_Blocks.MOSSY_DARK_BRICK_TILES) - .add(NSE_Blocks.DIRTY_DARK_BRICK_TILES) - .add(NSE_Blocks.GLAZED_BRICK_TILES) - .add(NSE_Blocks.CRACKED_GLAZED_BRICK_TILES) - .add(NSE_Blocks.RED_BRICKS) - .add(NSE_Blocks.CRACKED_RED_BRICKS) - .add(NSE_Blocks.MOSSY_RED_BRICKS) - .add(NSE_Blocks.TEAL_TILES) - .add(NSE_Blocks.CRACKED_TEAL_TILES) - .add(NSE_Blocks.MOSSY_TEAL_TILES) - .add(NSE_Blocks.SMALL_TEAL_TILES) - .add(NSE_Blocks.SMALL_CRACKED_TEAL_TILES) - .add(NSE_Blocks.GLAZED_TEAL_TILES) - .add(NSE_Blocks.CRACKED_GLAZED_TEAL_TILES) - .add(NSE_Blocks.VARIATED_TEAL_TILES) - .add(NSE_Blocks.AQUAMARINE_TILES) - .add(NSE_Blocks.CRACKED_AQUAMARINE_TILES) - .add(NSE_Blocks.MOSSY_AQUAMARINE_TILES) - .add(NSE_Blocks.DIRTY_AQUAMARINE_TILES) - .add(NSE_Blocks.SMALL_AQUAMARINE_TILES) - .add(NSE_Blocks.SMALL_CRACKED_AQUAMARINE_TILES) - .add(NSE_Blocks.GLAZED_AQUAMARINE_TILES) - .add(NSE_Blocks.CRACKED_GLAZED_AQUAMARINE_TILES) - .add(NSE_Blocks.SMALL_DIORITE_TILES) - .add(NSE_Blocks.SMALL_CRACKED_DIORITE_TILES) - .add(NSE_Blocks.BIG_DIORITE_TILES) - .add(NSE_Blocks.DIORITE_BRICKS) - .add(NSE_Blocks.CRACKED_DIORITE_BRICKS) - .add(NSE_Blocks.MOSSY_DIORITE_BRICKS) - .add(NSE_Blocks.CALCITE_TILES) - .add(NSE_Blocks.CRACKED_CALCITE_TILES) - .add(NSE_Blocks.MOSSY_CALCITE_TILES) - .add(NSE_Blocks.DIAGONAL_CALCITE_TILES) - .add(NSE_Blocks.NII_WALL_1) - .add(NSE_Blocks.CRACKED_NII_WALL_1) - .add(NSE_Blocks.NII_WALL_2) - .add(NSE_Blocks.NII_WALL_3) - .add(NSE_Blocks.DRIPSTONE_TILES) - .add(NSE_Blocks.CRACKED_DRIPSTONE_TILES) - .add(NSE_Blocks.MOSSY_DRIPSTONE_TILES) - .add(NSE_Blocks.DRIPSTONE_BRICKS) - .add(NSE_Blocks.DEEPSLATE_TILES) - .add(NSE_Blocks.CRACKED_DEEPSLATE_TILES) - .add(NSE_Blocks.MOSSY_DEEPSLATE_TILES) - .add(NSE_Blocks.SMALL_DEEPSLATE_TILES) - .add(NSE_Blocks.SMALL_CRACKED_DEEPSLATE_TILES) - .add(NSE_Blocks.DIAGONAL_DEEPSLATE_TILES) - .add(NSE_Blocks.LIGHT_BLUE_TILES) - .add(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES) - .add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES) - .add(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES) - .add(NSE_Blocks.SMALL_LIGHT_BLUE_TILES) - .add(NSE_Blocks.SMALL_CRACKED_LIGHT_BLUE_TILES) - .add(NSE_Blocks.GLAZED_LIGHT_BLUE_TILES) - .add(NSE_Blocks.CRACKED_GLAZED_LIGHT_BLUE_TILES) - .add(NSE_Blocks.LIGHT_BLUE_BRICKS) - .add(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS) - .add(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS) - .add(NSE_Blocks.BIG_GRANITE_TILES) - .add(NSE_Blocks.SMALL_GRANITE_TILES) - .add(NSE_Blocks.SMALL_CRACKED_GRANITE_TILES) - .add(NSE_Blocks.GREEN_WHITE_TILES) - .add(NSE_Blocks.CRACKED_GREEN_WHITE_TILES) - .add(NSE_Blocks.MOSSY_GREEN_WHITE_TILES) - .add(NSE_Blocks.TUFF_TILES) - .add(NSE_Blocks.CRACKED_TUFF_TILES) - .add(NSE_Blocks.MOSSY_TUFF_TILES) - .add(NSE_Blocks.BIG_TUFF_TILES) - .add(NSE_Blocks.TUFF_BRICKS) - .add(NSE_Blocks.CRACKED_TUFF_BRICKS) - .add(NSE_Blocks.MOSSY_TUFF_BRICKS) - .add(NSE_Blocks.INDUSTRIAL_WARNING) - .add(NSE_Blocks.GRAY_WARNING) - .add(NSE_Blocks.RED_WARNING) - .add(NSE_Blocks.ORANGE_WARNING) - .add(NSE_Blocks.YELLOW_WARNING) - .add(NSE_Blocks.LIME_WARNING) - .add(NSE_Blocks.GREEN_WARNING) - .add(NSE_Blocks.CYAN_WARNING) - .add(NSE_Blocks.LIGHT_BLUE_WARNING) - .add(NSE_Blocks.BLUE_WARNING) - .add(NSE_Blocks.PURPLE_WARNING) - .add(NSE_Blocks.MAGENTA_WARNING) - .add(NSE_Blocks.METAL_PLATING) - .add(NSE_Blocks.CONCRETE_WALL) - .add(NSE_Blocks.SMALL_YELLOW_TILES) - .add(NSE_Blocks.SMALL_CRACKED_YELLOW_TILES) - .add(NSE_Blocks.SAND_TILES_STAIRS) - .add(NSE_Blocks.SAND_TILES_SLAB) - .add(NSE_Blocks.CRACKED_SAND_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_SAND_TILES_SLAB) - .add(NSE_Blocks.MOSSY_SAND_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_SAND_TILES_SLAB) - .add(NSE_Blocks.HERRINGBONE_SAND_TILES_STAIRS) - .add(NSE_Blocks.HERRINGBONE_SAND_TILES_SLAB) - .add(NSE_Blocks.CROSS_SAND_TILES_STAIRS) - .add(NSE_Blocks.CROSS_SAND_TILES_SLAB) - .add(NSE_Blocks.SAND_BRICKS_STAIRS) - .add(NSE_Blocks.SAND_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_SAND_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_SAND_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_SAND_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_SAND_BRICKS_SLAB) - .add(NSE_Blocks.BIG_SAND_BRICKS_STAIRS) - .add(NSE_Blocks.BIG_SAND_BRICKS_SLAB) - .add(NSE_Blocks.BRICK_TILES_STAIRS) - .add(NSE_Blocks.BRICK_TILES_SLAB) - .add(NSE_Blocks.CRACKED_BRICK_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_BRICK_TILES_SLAB) - .add(NSE_Blocks.MOSSY_BRICK_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_BRICK_TILES_SLAB) - .add(NSE_Blocks.DIRTY_BRICK_TILES_STAIRS) - .add(NSE_Blocks.DIRTY_BRICK_TILES_SLAB) - .add(NSE_Blocks.DARK_BRICK_TILES_STAIRS) - .add(NSE_Blocks.DARK_BRICK_TILES_SLAB) - .add(NSE_Blocks.CRACKED_DARK_BRICK_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_DARK_BRICK_TILES_SLAB) - .add(NSE_Blocks.MOSSY_DARK_BRICK_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_DARK_BRICK_TILES_SLAB) - .add(NSE_Blocks.DIRTY_DARK_BRICK_TILES_STAIRS) - .add(NSE_Blocks.DIRTY_DARK_BRICK_TILES_SLAB) - .add(NSE_Blocks.RED_BRICKS_STAIRS) - .add(NSE_Blocks.RED_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_RED_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_RED_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_RED_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_RED_BRICKS_SLAB) - .add(NSE_Blocks.TEAL_TILES_STAIRS) - .add(NSE_Blocks.TEAL_TILES_SLAB) - .add(NSE_Blocks.CRACKED_TEAL_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_TEAL_TILES_SLAB) - .add(NSE_Blocks.MOSSY_TEAL_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_TEAL_TILES_SLAB) - .add(NSE_Blocks.VARIATED_TEAL_TILES_STAIRS) - .add(NSE_Blocks.VARIATED_TEAL_TILES_SLAB) - .add(NSE_Blocks.GREEN_BRICKS_STAIRS) - .add(NSE_Blocks.GREEN_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_GREEN_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_GREEN_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_GREEN_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_GREEN_BRICKS_SLAB) - .add(NSE_Blocks.GREEN_BRICKS_2_STAIRS) - .add(NSE_Blocks.GREEN_BRICKS_2_SLAB) - .add(NSE_Blocks.CRACKED_GREEN_BRICKS_2_STAIRS) - .add(NSE_Blocks.CRACKED_GREEN_BRICKS_2_SLAB) - .add(NSE_Blocks.MOSSY_GREEN_BRICKS_2_STAIRS) - .add(NSE_Blocks.MOSSY_GREEN_BRICKS_2_SLAB) - .add(NSE_Blocks.AQUAMARINE_TILES_STAIRS) - .add(NSE_Blocks.AQUAMARINE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_AQUAMARINE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_AQUAMARINE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_AQUAMARINE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_AQUAMARINE_TILES_SLAB) - .add(NSE_Blocks.DIRTY_AQUAMARINE_TILES_STAIRS) - .add(NSE_Blocks.DIRTY_AQUAMARINE_TILES_SLAB) - .add(NSE_Blocks.DIORITE_BRICKS_STAIRS) - .add(NSE_Blocks.DIORITE_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_DIORITE_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_DIORITE_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_DIORITE_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_DIORITE_BRICKS_SLAB) - .add(NSE_Blocks.CALCITE_TILES_STAIRS) - .add(NSE_Blocks.CALCITE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_CALCITE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_CALCITE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_CALCITE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_CALCITE_TILES_SLAB) - .add(NSE_Blocks.DRIPSTONE_TILES_STAIRS) - .add(NSE_Blocks.DRIPSTONE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_DRIPSTONE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_DRIPSTONE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_DRIPSTONE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_DRIPSTONE_TILES_SLAB) - .add(NSE_Blocks.DEEPSLATE_TILES_STAIRS) - .add(NSE_Blocks.DEEPSLATE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_DEEPSLATE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_DEEPSLATE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_DEEPSLATE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_DEEPSLATE_TILES_SLAB) - .add(NSE_Blocks.LIGHT_BLUE_TILES_STAIRS) - .add(NSE_Blocks.LIGHT_BLUE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_SLAB) - .add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_STAIRS) - .add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_SLAB) - .add(NSE_Blocks.LIGHT_BLUE_BRICKS_STAIRS) - .add(NSE_Blocks.LIGHT_BLUE_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_SLAB) - .add(NSE_Blocks.GREEN_WHITE_TILES_STAIRS) - .add(NSE_Blocks.GREEN_WHITE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_SLAB) - .add(NSE_Blocks.TUFF_TILES_STAIRS) - .add(NSE_Blocks.TUFF_TILES_SLAB) - .add(NSE_Blocks.CRACKED_TUFF_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_TUFF_TILES_SLAB) - .add(NSE_Blocks.MOSSY_TUFF_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_TUFF_TILES_SLAB) - .add(NSE_Blocks.TUFF_BRICKS_STAIRS) - .add(NSE_Blocks.TUFF_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_TUFF_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_TUFF_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_TUFF_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_TUFF_BRICKS_SLAB) - .add(NSE_Blocks.WHITE_CONCRETE_STAIRS) - .add(NSE_Blocks.WHITE_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_WHITE_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_WHITE_CONCRETE_SLAB) - .add(NSE_Blocks.BEIGE_CONCRETE_STAIRS) - .add(NSE_Blocks.BEIGE_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_BEIGE_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_BEIGE_CONCRETE_SLAB) - .add(NSE_Blocks.BLUE_CONCRETE_STAIRS) - .add(NSE_Blocks.BLUE_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_BLUE_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_BLUE_CONCRETE_SLAB) - .add(NSE_Blocks.RED_CONCRETE_STAIRS) - .add(NSE_Blocks.RED_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_RED_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_RED_CONCRETE_SLAB) - .add(NSE_Blocks.YELLOW_CONCRETE_STAIRS) - .add(NSE_Blocks.YELLOW_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_YELLOW_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_YELLOW_CONCRETE_SLAB) - .add(NSE_Blocks.GREEN_CONCRETE_STAIRS) - .add(NSE_Blocks.GREEN_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_GREEN_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_GREEN_CONCRETE_SLAB) - .add(NSE_Blocks.NII_FLOOR_STAIRS) - .add(NSE_Blocks.NII_FLOOR_SLAB) - .add(NSE_Blocks.METAL_PLATING_STAIRS) - .add(NSE_Blocks.METAL_PLATING_SLAB) - .add(NSE_Custom.VINTAGE_LAMP) - .add(NSE_Custom.LIGHT_BULB_LAMP); - - // Blocks mined with an axe - getOrCreateTagBuilder(BlockTags.AXE_MINEABLE) - .add(NSE_Blocks.CRATE) - .add(NSE_Blocks.CONCRETE_WALL) - .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS) - .add(NSE_Blocks.CROSS_ACACIA_PLANKS) - .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS) - .add(NSE_Blocks.CROSS_OAK_PLANKS) - .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS) - .add(NSE_Blocks.CROSS_BIRCH_PLANKS) - .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS) - .add(NSE_Blocks.CROSS_CRIMSON_PLANKS) - .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS) - .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS) - .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS) - .add(NSE_Blocks.CROSS_JUNGLE_PLANKS) - .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS) - .add(NSE_Blocks.CROSS_MANGROVE_PLANKS) - .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS) - .add(NSE_Blocks.CROSS_SPRUCE_PLANKS) - .add(NSE_Blocks.HERRINGBONE_PARQUET) - .add(NSE_Blocks.STRAIGHT_PARQUET) - .add(NSE_Blocks.SEPARATED_PARQUET) - .add(NSE_Blocks.GREEN_LINOLEUM) - .add(NSE_Blocks.BLUE_LINOLEUM) - .add(NSE_Blocks.RED_LINOLEUM) - .add(NSE_Blocks.GRAY_LINOLEUM) - .add(NSE_Blocks.ORANGE_LINOLEUM) - .add(NSE_Blocks.BROWN_LINOLEUM) - .add(NSE_Blocks.CYAN_LINOLEUM) - .add(NSE_Blocks.CROSS_ORANGE_LINOLEUM) - .add(NSE_Blocks.CROSS_BROWN_LINOLEUM) - .add(NSE_Blocks.CHISELED_BIRCH_DOOR) - .add(NSE_Blocks.CHISELED_MANGROVE_DOOR) - .add(NSE_Blocks.CHISELED_OAK_DOOR) - .add(NSE_Blocks.CHISELED_SPRUCE_DOOR) - .add(NSE_Blocks.GREEN_WALLPAPER) - .add(NSE_Blocks.BROWN_WALLPAPER) - .add(NSE_Blocks.BEIGE_WALLPAPER) - .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_ACACIA_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_ACACIA_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_OAK_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_BIRCH_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_BIRCH_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_PARQUET_STAIRS) - .add(NSE_Blocks.HERRINGBONE_PARQUET_SLAB) - .add(NSE_Blocks.STRAIGHT_PARQUET_STAIRS) - .add(NSE_Blocks.STRAIGHT_PARQUET_SLAB) - .add(NSE_Blocks.SEPARATED_PARQUET_STAIRS) - .add(NSE_Blocks.SEPARATED_PARQUET_SLAB) - .add(NSE_Blocks.GREEN_LINOLEUM_STAIRS) - .add(NSE_Blocks.GREEN_LINOLEUM_SLAB) - .add(NSE_Blocks.BLUE_LINOLEUM_STAIRS) - .add(NSE_Blocks.BLUE_LINOLEUM_SLAB) - .add(NSE_Blocks.RED_LINOLEUM_STAIRS) - .add(NSE_Blocks.RED_LINOLEUM_SLAB) - .add(NSE_Blocks.GRAY_LINOLEUM_STAIRS) - .add(NSE_Blocks.GRAY_LINOLEUM_SLAB) - .add(NSE_Blocks.ORANGE_LINOLEUM_STAIRS) - .add(NSE_Blocks.ORANGE_LINOLEUM_SLAB) - .add(NSE_Blocks.BROWN_LINOLEUM_STAIRS) - .add(NSE_Blocks.BROWN_LINOLEUM_SLAB) - .add(NSE_Blocks.CYAN_LINOLEUM_STAIRS) - .add(NSE_Blocks.CYAN_LINOLEUM_SLAB) - .add(NSE_Custom.TABLE_LAMP); - - getOrCreateTagBuilder(NSE_Tags.Blocks.RAKE_MINEABLE) - .add(NSE_Blocks.MEAT) - .add(NSE_Blocks.MEAT_EYE) - .add(NSE_Blocks.MEAT_TEETH) - .add(NSE_Blocks.PURPLE_GOO); - - getOrCreateTagBuilder(NSE_Tags.Blocks.TV) - .add(NSE_Custom.TV) - .add(NSE_Custom.RED_TV) - .add(NSE_Custom.BROWN_TV); - - getOrCreateTagBuilder(NSE_Tags.Blocks.POST_LAMPS) - .add(NSE_Custom.CAGED_POST_LAMP) - .add(NSE_Custom.VINTAGE_POST_LAMP) - .add(NSE_Custom.MODERN_POST_LAMP) - .add(NSE_Custom.BIG_POST_LAMP); - - getOrCreateTagBuilder(BlockTags.DOORS) - .add(NSE_Blocks.CHISELED_BIRCH_DOOR) - .add(NSE_Blocks.CHISELED_OAK_DOOR) - .add(NSE_Blocks.CHISELED_MANGROVE_DOOR) - .add(NSE_Blocks.CHISELED_SPRUCE_DOOR); - - getOrCreateTagBuilder(BlockTags.WOODEN_DOORS) - .add(NSE_Blocks.CHISELED_BIRCH_DOOR) - .add(NSE_Blocks.CHISELED_OAK_DOOR) - .add(NSE_Blocks.CHISELED_MANGROVE_DOOR) - .add(NSE_Blocks.CHISELED_SPRUCE_DOOR); - - getOrCreateTagBuilder(BlockTags.WALLS).add(NSE_Blocks.CONCRETE_WALL); - - getOrCreateTagBuilder(BlockTags.PLANKS) - .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS) - .add(NSE_Blocks.CROSS_ACACIA_PLANKS) - .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS) - .add(NSE_Blocks.CROSS_OAK_PLANKS) - .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS) - .add(NSE_Blocks.CROSS_BIRCH_PLANKS) - .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS) - .add(NSE_Blocks.CROSS_CRIMSON_PLANKS) - .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS) - .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS) - .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS) - .add(NSE_Blocks.CROSS_JUNGLE_PLANKS) - .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS) - .add(NSE_Blocks.CROSS_MANGROVE_PLANKS) - .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS) - .add(NSE_Blocks.CROSS_SPRUCE_PLANKS); - - getOrCreateTagBuilder(BlockTags.STAIRS) - .add(NSE_Blocks.SAND_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_SAND_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_SAND_TILES_STAIRS) - .add(NSE_Blocks.HERRINGBONE_SAND_TILES_STAIRS) - .add(NSE_Blocks.CROSS_SAND_TILES_STAIRS) - .add(NSE_Blocks.SAND_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_SAND_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_SAND_BRICKS_STAIRS) - .add(NSE_Blocks.BIG_SAND_BRICKS_STAIRS) - .add(NSE_Blocks.BRICK_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_BRICK_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_BRICK_TILES_STAIRS) - .add(NSE_Blocks.DIRTY_BRICK_TILES_STAIRS) - .add(NSE_Blocks.DARK_BRICK_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_DARK_BRICK_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_DARK_BRICK_TILES_STAIRS) - .add(NSE_Blocks.DIRTY_DARK_BRICK_TILES_STAIRS) - .add(NSE_Blocks.RED_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_RED_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_RED_BRICKS_STAIRS) - .add(NSE_Blocks.TEAL_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_TEAL_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_TEAL_TILES_STAIRS) - .add(NSE_Blocks.VARIATED_TEAL_TILES_STAIRS) - .add(NSE_Blocks.GREEN_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_GREEN_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_GREEN_BRICKS_STAIRS) - .add(NSE_Blocks.GREEN_BRICKS_2_STAIRS) - .add(NSE_Blocks.CRACKED_GREEN_BRICKS_2_STAIRS) - .add(NSE_Blocks.MOSSY_GREEN_BRICKS_2_STAIRS) - .add(NSE_Blocks.AQUAMARINE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_AQUAMARINE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_AQUAMARINE_TILES_STAIRS) - .add(NSE_Blocks.DIRTY_AQUAMARINE_TILES_STAIRS) - .add(NSE_Blocks.DIORITE_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_DIORITE_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_DIORITE_BRICKS_STAIRS) - .add(NSE_Blocks.CALCITE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_CALCITE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_CALCITE_TILES_STAIRS) - .add(NSE_Blocks.DRIPSTONE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_DRIPSTONE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_DRIPSTONE_TILES_STAIRS) - .add(NSE_Blocks.DEEPSLATE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_DEEPSLATE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_DEEPSLATE_TILES_STAIRS) - .add(NSE_Blocks.LIGHT_BLUE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_STAIRS) - .add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_STAIRS) - .add(NSE_Blocks.LIGHT_BLUE_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_STAIRS) - .add(NSE_Blocks.GREEN_WHITE_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_STAIRS) - .add(NSE_Blocks.TUFF_TILES_STAIRS) - .add(NSE_Blocks.CRACKED_TUFF_TILES_STAIRS) - .add(NSE_Blocks.MOSSY_TUFF_TILES_STAIRS) - .add(NSE_Blocks.TUFF_BRICKS_STAIRS) - .add(NSE_Blocks.CRACKED_TUFF_BRICKS_STAIRS) - .add(NSE_Blocks.MOSSY_TUFF_BRICKS_STAIRS) - .add(NSE_Blocks.WHITE_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_WHITE_CONCRETE_STAIRS) - .add(NSE_Blocks.BEIGE_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_BEIGE_CONCRETE_STAIRS) - .add(NSE_Blocks.BLUE_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_BLUE_CONCRETE_STAIRS) - .add(NSE_Blocks.RED_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_RED_CONCRETE_STAIRS) - .add(NSE_Blocks.YELLOW_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_YELLOW_CONCRETE_STAIRS) - .add(NSE_Blocks.GREEN_CONCRETE_STAIRS) - .add(NSE_Blocks.CRACKED_GREEN_CONCRETE_STAIRS) - .add(NSE_Blocks.NII_FLOOR_STAIRS) - .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_ACACIA_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_BIRCH_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_PARQUET_STAIRS) - .add(NSE_Blocks.STRAIGHT_PARQUET_STAIRS) - .add(NSE_Blocks.SEPARATED_PARQUET_STAIRS) - .add(NSE_Blocks.GREEN_LINOLEUM_STAIRS) - .add(NSE_Blocks.BLUE_LINOLEUM_STAIRS) - .add(NSE_Blocks.RED_LINOLEUM_STAIRS) - .add(NSE_Blocks.GRAY_LINOLEUM_STAIRS) - .add(NSE_Blocks.ORANGE_LINOLEUM_STAIRS) - .add(NSE_Blocks.BROWN_LINOLEUM_STAIRS) - .add(NSE_Blocks.CYAN_LINOLEUM_STAIRS) - .add(NSE_Blocks.METAL_PLATING_STAIRS); - - getOrCreateTagBuilder(BlockTags.SLABS) - .add(NSE_Blocks.SAND_TILES_SLAB) - .add(NSE_Blocks.CRACKED_SAND_TILES_SLAB) - .add(NSE_Blocks.MOSSY_SAND_TILES_SLAB) - .add(NSE_Blocks.HERRINGBONE_SAND_TILES_SLAB) - .add(NSE_Blocks.CROSS_SAND_TILES_SLAB) - .add(NSE_Blocks.SAND_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_SAND_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_SAND_BRICKS_SLAB) - .add(NSE_Blocks.BIG_SAND_BRICKS_SLAB) - .add(NSE_Blocks.BRICK_TILES_SLAB) - .add(NSE_Blocks.CRACKED_BRICK_TILES_SLAB) - .add(NSE_Blocks.MOSSY_BRICK_TILES_SLAB) - .add(NSE_Blocks.DIRTY_BRICK_TILES_SLAB) - .add(NSE_Blocks.DARK_BRICK_TILES_SLAB) - .add(NSE_Blocks.CRACKED_DARK_BRICK_TILES_SLAB) - .add(NSE_Blocks.MOSSY_DARK_BRICK_TILES_SLAB) - .add(NSE_Blocks.DIRTY_DARK_BRICK_TILES_SLAB) - .add(NSE_Blocks.RED_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_RED_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_RED_BRICKS_SLAB) - .add(NSE_Blocks.TEAL_TILES_SLAB) - .add(NSE_Blocks.CRACKED_TEAL_TILES_SLAB) - .add(NSE_Blocks.MOSSY_TEAL_TILES_SLAB) - .add(NSE_Blocks.VARIATED_TEAL_TILES_SLAB) - .add(NSE_Blocks.GREEN_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_GREEN_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_GREEN_BRICKS_SLAB) - .add(NSE_Blocks.GREEN_BRICKS_2_SLAB) - .add(NSE_Blocks.CRACKED_GREEN_BRICKS_2_SLAB) - .add(NSE_Blocks.MOSSY_GREEN_BRICKS_2_SLAB) - .add(NSE_Blocks.AQUAMARINE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_AQUAMARINE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_AQUAMARINE_TILES_SLAB) - .add(NSE_Blocks.DIRTY_AQUAMARINE_TILES_SLAB) - .add(NSE_Blocks.DIORITE_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_DIORITE_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_DIORITE_BRICKS_SLAB) - .add(NSE_Blocks.CALCITE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_CALCITE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_CALCITE_TILES_SLAB) - .add(NSE_Blocks.DRIPSTONE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_DRIPSTONE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_DRIPSTONE_TILES_SLAB) - .add(NSE_Blocks.DEEPSLATE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_DEEPSLATE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_DEEPSLATE_TILES_SLAB) - .add(NSE_Blocks.LIGHT_BLUE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_SLAB) - .add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_SLAB) - .add(NSE_Blocks.LIGHT_BLUE_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_SLAB) - .add(NSE_Blocks.GREEN_WHITE_TILES_SLAB) - .add(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_SLAB) - .add(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_SLAB) - .add(NSE_Blocks.TUFF_TILES_SLAB) - .add(NSE_Blocks.CRACKED_TUFF_TILES_SLAB) - .add(NSE_Blocks.MOSSY_TUFF_TILES_SLAB) - .add(NSE_Blocks.TUFF_BRICKS_SLAB) - .add(NSE_Blocks.CRACKED_TUFF_BRICKS_SLAB) - .add(NSE_Blocks.MOSSY_TUFF_BRICKS_SLAB) - .add(NSE_Blocks.WHITE_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_WHITE_CONCRETE_SLAB) - .add(NSE_Blocks.BEIGE_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_BEIGE_CONCRETE_SLAB) - .add(NSE_Blocks.BLUE_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_BLUE_CONCRETE_SLAB) - .add(NSE_Blocks.RED_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_RED_CONCRETE_SLAB) - .add(NSE_Blocks.YELLOW_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_YELLOW_CONCRETE_SLAB) - .add(NSE_Blocks.GREEN_CONCRETE_SLAB) - .add(NSE_Blocks.CRACKED_GREEN_CONCRETE_SLAB) - .add(NSE_Blocks.NII_FLOOR_SLAB) - .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_ACACIA_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_OAK_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_BIRCH_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_PARQUET_SLAB) - .add(NSE_Blocks.STRAIGHT_PARQUET_SLAB) - .add(NSE_Blocks.SEPARATED_PARQUET_SLAB) - .add(NSE_Blocks.GREEN_LINOLEUM_SLAB) - .add(NSE_Blocks.BLUE_LINOLEUM_SLAB) - .add(NSE_Blocks.RED_LINOLEUM_SLAB) - .add(NSE_Blocks.GRAY_LINOLEUM_SLAB) - .add(NSE_Blocks.ORANGE_LINOLEUM_SLAB) - .add(NSE_Blocks.BROWN_LINOLEUM_SLAB) - .add(NSE_Blocks.CYAN_LINOLEUM_SLAB) - .add(NSE_Blocks.METAL_PLATING_SLAB); - - getOrCreateTagBuilder(BlockTags.WOODEN_STAIRS) - .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_ACACIA_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_BIRCH_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_STAIRS) - .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_STAIRS) - .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_STAIRS); - - getOrCreateTagBuilder(BlockTags.WOODEN_SLABS) - .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_ACACIA_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_OAK_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_BIRCH_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_SLAB) - .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_SLAB) - .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_SLAB); - } - } - - - private static class RecipeGenerator extends FabricRecipeProvider { - private RecipeGenerator(FabricDataOutput generator) { - super(generator); - } - - private void mossRecipe(Consumer exporter, ItemConvertible output, ItemConvertible input) { - var path = convertBetween(output, input); - ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output).input(input).input(Items.VINE).criterion(FabricRecipeProvider.hasItem(output), - FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(input), - FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(Items.VINE), - FabricRecipeProvider.conditionsFromItem(output)).offerTo(exporter, path + "_vine"); - - ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output).input(input).input(Items.MOSS_BLOCK).criterion(FabricRecipeProvider.hasItem(output), - FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(input), - FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(Items.MOSS_BLOCK), - FabricRecipeProvider.conditionsFromItem(output)).offerTo(exporter, path + "_moss"); - } - - private void dirtyRecipe(Consumer exporter, ItemConvertible output, ItemConvertible input) { - var path = convertBetween(output, input); - ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output).input(input).input(Items.DIRT).criterion(FabricRecipeProvider.hasItem(output), - FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(input), - FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(Items.DIRT), - FabricRecipeProvider.conditionsFromItem(output)).offerTo(exporter, path + "_dirt"); - - ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output).input(input).input(Items.GLOW_LICHEN).criterion(FabricRecipeProvider.hasItem(output), - FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(input), - FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(Items.GLOW_LICHEN), - FabricRecipeProvider.conditionsFromItem(output)).offerTo(exporter, path + "_lichen"); - } - - private void stoneCuttingCategory(Consumer exporter, List category, RecipeCategory recipe_category) { - for (int i = 0; i < category.size(); i++) { - for (int j = 0; j < category.size(); j++) { - if (i != j) { - offerStonecuttingRecipe(exporter, recipe_category, - category.get(i), category.get(j)); - } - } - } - } - - private void diceRecipe(Consumer exporter, ItemConvertible dice) { - // why can't we use BlockTags.WOODEN_BUTTONS - var buttons = Util.make(Lists.newArrayList(), list -> { - list.add(Blocks.OAK_BUTTON); - list.add(Blocks.BAMBOO_BUTTON); - list.add(Blocks.BIRCH_BUTTON); - list.add(Blocks.CHERRY_BUTTON); - list.add(Blocks.ACACIA_BUTTON); - list.add(Blocks.CRIMSON_BUTTON); - list.add(Blocks.DARK_OAK_BUTTON); - list.add(Blocks.JUNGLE_BUTTON); - list.add(Blocks.MANGROVE_BUTTON); - list.add(Blocks.SPRUCE_BUTTON); - list.add(Blocks.WARPED_BUTTON); - }); - for (Object button : buttons) { - offerStonecuttingRecipe(exporter, RecipeCategory.MISC, dice, (ItemConvertible) button); - } - } - - private void warningStripeRecipe(Consumer exporter, ItemConvertible output, ItemConvertible dye) { - ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output, 4) - .pattern("D#D") - .pattern("#D#") - .pattern("D#D") - .input('D', dye) - .input('#', Items.IRON_INGOT) - .criterion(RecipeProvider.hasItem(Items.IRON_INGOT), - RecipeProvider.conditionsFromItem(Items.IRON_INGOT)) - .criterion(RecipeProvider.hasItem(dye), - RecipeProvider.conditionsFromItem(dye)) - .offerTo(exporter); - } - - private void crissCrossRecipe(Consumer exporter, ItemConvertible output, ItemConvertible input1, ItemConvertible input2) { - ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output, 4) - .pattern("XY") - .pattern("YX") - .input('X', input1) - .input('Y', input2) - .criterion(RecipeProvider.hasItem(input1), - RecipeProvider.conditionsFromItem(input1)) - .criterion(RecipeProvider.hasItem(input2), - RecipeProvider.conditionsFromItem(input2)) - .offerTo(exporter); - } - - private void tvRecipe(Consumer exporter, ItemConvertible output, ItemConvertible dye) { - ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1) - .pattern("N N") - .pattern("DGD") - .pattern("DRD") - .input('D', dye) - .input('N', Items.IRON_NUGGET) - .input('R', Items.REDSTONE) - .input('G', Items.GLASS_PANE) - .criterion(RecipeProvider.hasItem(Items.IRON_NUGGET), - RecipeProvider.conditionsFromItem(Items.IRON_NUGGET)) - .criterion(RecipeProvider.hasItem(Items.GLASS_PANE), - RecipeProvider.conditionsFromItem(Items.GLASS_PANE)) - .criterion(RecipeProvider.hasItem(Items.REDSTONE), - RecipeProvider.conditionsFromItem(Items.REDSTONE)) - .criterion(RecipeProvider.hasItem(dye), - RecipeProvider.conditionsFromItem(dye)) - .offerTo(exporter); - } - - private void radioRecipe(Consumer exporter, ItemConvertible output) { - ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1) - .pattern(" N") - .pattern("MMM") - .pattern("III") - .input('M', Blocks.NOTE_BLOCK) - .input('N', Items.IRON_NUGGET) - .input('I', Items.IRON_INGOT) - .criterion(RecipeProvider.hasItem(Items.IRON_NUGGET), - RecipeProvider.conditionsFromItem(Items.IRON_NUGGET)) - .criterion(RecipeProvider.hasItem(Items.NOTE_BLOCK), - RecipeProvider.conditionsFromItem(Items.NOTE_BLOCK)) - .criterion(RecipeProvider.hasItem(Items.IRON_INGOT), - RecipeProvider.conditionsFromItem(Items.IRON_INGOT)) - .offerTo(exporter); - } - - private void ceilingFanRecipe(Consumer exporter, ItemConvertible output) { - ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1) - .pattern(" S ") - .pattern("WNW") - .input('S', Items.STICK) - .input('N', Items.IRON_NUGGET) - .input('W', Items.WHITE_WOOL) - .criterion(RecipeProvider.hasItem(Items.IRON_NUGGET), - RecipeProvider.conditionsFromItem(Items.IRON_NUGGET)) - .criterion(RecipeProvider.hasItem(Items.STICK), - RecipeProvider.conditionsFromItem(Items.STICK)) - .criterion(RecipeProvider.hasItem(Items.WHITE_WOOL), - RecipeProvider.conditionsFromItem(Items.WHITE_WOOL)) - .offerTo(exporter); - } - - private void tableLampRecipe(Consumer exporter, ItemConvertible output) { - ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 3) - .pattern("WWW") - .pattern("WTW") - .pattern(" S ") - - .input('S', Items.STICK) - .input('T', Items.TORCH) - .input('W', ItemTags.WOOL) - .criterion(RecipeProvider.hasItem(Items.TORCH), - RecipeProvider.conditionsFromItem(Items.TORCH)) - .criterion(RecipeProvider.hasItem(Items.STICK), - RecipeProvider.conditionsFromItem(Items.STICK)) - .criterion("has_wool", RecipeProvider.conditionsFromTag(ItemTags.WOOL)) - .offerTo(exporter); - } - - private void vintageLampRecipe(Consumer exporter, ItemConvertible output) { - ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 3) - .pattern("NNN") - .pattern("GTG") - .pattern(" N ") - - .input('N', Items.IRON_NUGGET) - .input('T', Items.TORCH) - .input('G', Items.GREEN_STAINED_GLASS) - .criterion(RecipeProvider.hasItem(Items.TORCH), - RecipeProvider.conditionsFromItem(Items.TORCH)) - .criterion(RecipeProvider.hasItem(Items.IRON_NUGGET), - RecipeProvider.conditionsFromItem(Items.IRON_NUGGET)) - .criterion(RecipeProvider.hasItem(Items.GREEN_STAINED_GLASS), - RecipeProvider.conditionsFromItem(Items.GREEN_STAINED_GLASS)) - .offerTo(exporter); - } - - private void sickleRecipe(Consumer exporter, ItemConvertible output) { - ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1) - .pattern(" I ") - .pattern(" I") - .pattern(" S ") - .input('S', Items.STICK) - .input('I', Items.IRON_INGOT) - .criterion(RecipeProvider.hasItem(Items.STICK), - RecipeProvider.conditionsFromItem(Items.STICK)) - .criterion(RecipeProvider.hasItem(Items.IRON_INGOT), - RecipeProvider.conditionsFromItem(Items.IRON_INGOT)) - .offerTo(exporter); - } - - private void rakeRecipe(Consumer exporter, ItemConvertible output) { - ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1) - .pattern("III") - .pattern(" N ") - .pattern(" S ") - .input('S', Items.STICK) - .input('I', Items.IRON_INGOT) - .input('N', Items.IRON_NUGGET) - .criterion(RecipeProvider.hasItem(Items.STICK), - RecipeProvider.conditionsFromItem(Items.STICK)) - .criterion(RecipeProvider.hasItem(Items.IRON_INGOT), - RecipeProvider.conditionsFromItem(Items.IRON_INGOT)) - .criterion(RecipeProvider.hasItem(Items.IRON_NUGGET), - RecipeProvider.conditionsFromItem(Items.IRON_NUGGET)) - .offerTo(exporter); - } - - private void offerStairsAndSlab(Consumer exporter, ItemConvertible output_stairs, ItemConvertible output_slab, ItemConvertible input) { - createStairsRecipe(output_stairs, Ingredient.ofItems(input)) - .criterion(hasItem(input), conditionsFromItem(input)).offerTo(exporter); - createSlabRecipe(RecipeCategory.BUILDING_BLOCKS, output_slab, Ingredient.ofItems(input)) - .criterion(hasItem(input), conditionsFromItem(input)).offerTo(exporter); - - offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, output_stairs, input); - offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, output_slab, input); - } - - @Override - public void generate(Consumer exporter) { - crissCrossRecipe(exporter, NSE_Blocks.SAND_TILES, Blocks.SMOOTH_SANDSTONE, Blocks.SMOOTH_RED_SANDSTONE); - crissCrossRecipe(exporter, NSE_Blocks.LIGHT_BLUE_TILES, Blocks.STONE, Items.LIGHT_BLUE_DYE); - crissCrossRecipe(exporter, NSE_Blocks.SMALL_WHITE_TILES, Blocks.STONE, Items.WHITE_DYE); - crissCrossRecipe(exporter, NSE_Blocks.GREEN_WHITE_TILES, Blocks.POLISHED_DIORITE, Items.GREEN_DYE); - - tvRecipe(exporter, NSE_Custom.TV, Items.ORANGE_DYE); - tvRecipe(exporter, NSE_Custom.BROWN_TV, Items.BROWN_DYE); - tvRecipe(exporter, NSE_Custom.RED_TV, Items.RED_DYE); - radioRecipe(exporter, NSE_Custom.RADIO_RECEIVER); - ceilingFanRecipe(exporter, NSE_Custom.CEILING_FAN); - tableLampRecipe(exporter, NSE_Custom.TABLE_LAMP); - vintageLampRecipe(exporter, NSE_Custom.VINTAGE_LAMP); - sickleRecipe(exporter, NSE_Items.SICKLE); - rakeRecipe(exporter, NSE_Items.RAKE); - - // Cracked blocks - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_BRICK_TILES, NSE_Blocks.BRICK_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GLAZED_BRICK_TILES, NSE_Blocks.GLAZED_BRICK_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_DARK_BRICK_TILES, NSE_Blocks.DARK_BRICK_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_NII_WALL_1, NSE_Blocks.NII_WALL_1); - offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_YELLOW_TILES, NSE_Blocks.SMALL_YELLOW_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_SAND_TILES, NSE_Blocks.SAND_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_SAND_TILES, NSE_Blocks.SMALL_SAND_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_SAND_BRICKS, NSE_Blocks.SAND_BRICKS); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_TEAL_TILES, NSE_Blocks.TEAL_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_TEAL_TILES, NSE_Blocks.SMALL_TEAL_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GLAZED_TEAL_TILES, NSE_Blocks.GLAZED_TEAL_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_AQUAMARINE_TILES, NSE_Blocks.AQUAMARINE_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_AQUAMARINE_TILES, NSE_Blocks.SMALL_AQUAMARINE_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GLAZED_AQUAMARINE_TILES, NSE_Blocks.GLAZED_AQUAMARINE_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_DIORITE_TILES, NSE_Blocks.SMALL_DIORITE_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_DIORITE_BRICKS, NSE_Blocks.DIORITE_BRICKS); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_CALCITE_TILES, NSE_Blocks.CALCITE_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_DRIPSTONE_TILES, NSE_Blocks.DRIPSTONE_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_DEEPSLATE_TILES, NSE_Blocks.DEEPSLATE_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_DEEPSLATE_TILES, NSE_Blocks.SMALL_DEEPSLATE_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_LIGHT_BLUE_TILES, NSE_Blocks.LIGHT_BLUE_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_LIGHT_BLUE_TILES, NSE_Blocks.SMALL_LIGHT_BLUE_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GLAZED_LIGHT_BLUE_TILES, NSE_Blocks.GLAZED_LIGHT_BLUE_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS, NSE_Blocks.LIGHT_BLUE_BRICKS); - offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_GRANITE_TILES, NSE_Blocks.SMALL_GRANITE_TILES); - 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); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GREEN_BRICKS, NSE_Blocks.GREEN_BRICKS); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GREEN_BRICKS_2, NSE_Blocks.GREEN_BRICKS_2); - offerCrackingRecipe(exporter, NSE_Blocks.BIG_GREEN_TILES_CRACKED, NSE_Blocks.BIG_GREEN_TILES); - offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_RED_BRICKS, NSE_Blocks.RED_BRICKS); - - // Mossy variants - mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_TILES, NSE_Blocks.SAND_TILES); - mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_BRICKS, NSE_Blocks.SAND_BRICKS); - mossRecipe(exporter, NSE_Blocks.MOSSY_TEAL_TILES, NSE_Blocks.TEAL_TILES); - mossRecipe(exporter, NSE_Blocks.MOSSY_AQUAMARINE_TILES, NSE_Blocks.AQUAMARINE_TILES); - mossRecipe(exporter, NSE_Blocks.MOSSY_DIORITE_BRICKS, NSE_Blocks.DIORITE_BRICKS); - mossRecipe(exporter, NSE_Blocks.MOSSY_CALCITE_TILES, NSE_Blocks.CALCITE_TILES); - mossRecipe(exporter, NSE_Blocks.MOSSY_DRIPSTONE_TILES, NSE_Blocks.DRIPSTONE_TILES); - mossRecipe(exporter, NSE_Blocks.MOSSY_DEEPSLATE_TILES, NSE_Blocks.DEEPSLATE_TILES); - mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES, NSE_Blocks.LIGHT_BLUE_TILES); - mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS, NSE_Blocks.LIGHT_BLUE_BRICKS); - mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_WHITE_TILES, NSE_Blocks.GREEN_WHITE_TILES); - mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_TILES, NSE_Blocks.TUFF_TILES); - mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_BRICKS, NSE_Blocks.TUFF_BRICKS); - mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS, NSE_Blocks.GREEN_BRICKS); - mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_2, NSE_Blocks.GREEN_BRICKS_2); - mossRecipe(exporter, NSE_Blocks.MOSSY_RED_BRICKS, NSE_Blocks.RED_BRICKS); - mossRecipe(exporter, NSE_Blocks.MOSSY_BRICK_TILES, NSE_Blocks.BRICK_TILES); - mossRecipe(exporter, NSE_Blocks.MOSSY_DARK_BRICK_TILES, NSE_Blocks.DARK_BRICK_TILES); - mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_TILES_STAIRS, NSE_Blocks.SAND_TILES_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_TILES_SLAB, NSE_Blocks.SAND_TILES_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_BRICKS_STAIRS, NSE_Blocks.SAND_BRICKS_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_BRICKS_SLAB, NSE_Blocks.SAND_BRICKS_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_BRICK_TILES_STAIRS, NSE_Blocks.BRICK_TILES_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_BRICK_TILES_SLAB, NSE_Blocks.BRICK_TILES_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_DARK_BRICK_TILES_STAIRS, NSE_Blocks.DARK_BRICK_TILES_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_DARK_BRICK_TILES_SLAB, NSE_Blocks.DARK_BRICK_TILES_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_RED_BRICKS_STAIRS, NSE_Blocks.RED_BRICKS_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_RED_BRICKS_SLAB, NSE_Blocks.RED_BRICKS_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_TEAL_TILES_STAIRS, NSE_Blocks.TEAL_TILES_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_TEAL_TILES_SLAB, NSE_Blocks.TEAL_TILES_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_STAIRS, NSE_Blocks.GREEN_BRICKS_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_SLAB, NSE_Blocks.GREEN_BRICKS_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_2_STAIRS, NSE_Blocks.GREEN_BRICKS_2_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_2_SLAB, NSE_Blocks.GREEN_BRICKS_2_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_AQUAMARINE_TILES_STAIRS, NSE_Blocks.AQUAMARINE_TILES_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_AQUAMARINE_TILES_SLAB, NSE_Blocks.AQUAMARINE_TILES_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_DIORITE_BRICKS_STAIRS, NSE_Blocks.DIORITE_BRICKS_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_DIORITE_BRICKS_SLAB, NSE_Blocks.DIORITE_BRICKS_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_CALCITE_TILES_STAIRS, NSE_Blocks.CALCITE_TILES_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_CALCITE_TILES_SLAB, NSE_Blocks.CALCITE_TILES_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_DRIPSTONE_TILES_STAIRS, NSE_Blocks.DRIPSTONE_TILES_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_DRIPSTONE_TILES_SLAB, NSE_Blocks.DRIPSTONE_TILES_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_DEEPSLATE_TILES_STAIRS, NSE_Blocks.DEEPSLATE_TILES_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_DEEPSLATE_TILES_SLAB, NSE_Blocks.DEEPSLATE_TILES_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_STAIRS, NSE_Blocks.LIGHT_BLUE_TILES_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_SLAB, NSE_Blocks.LIGHT_BLUE_TILES_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_STAIRS, NSE_Blocks.LIGHT_BLUE_BRICKS_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_SLAB, NSE_Blocks.LIGHT_BLUE_BRICKS_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_WHITE_TILES_STAIRS, NSE_Blocks.GREEN_WHITE_TILES_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_WHITE_TILES_SLAB, NSE_Blocks.GREEN_WHITE_TILES_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_TILES_STAIRS, NSE_Blocks.TUFF_TILES_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_TILES_SLAB, NSE_Blocks.TUFF_TILES_SLAB); - mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_BRICKS_STAIRS, NSE_Blocks.TUFF_BRICKS_STAIRS); - mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_BRICKS_SLAB, NSE_Blocks.TUFF_BRICKS_SLAB); - - // Dirty blocks recipe - dirtyRecipe(exporter, NSE_Blocks.DIRTY_AQUAMARINE_TILES, NSE_Blocks.AQUAMARINE_TILES); - dirtyRecipe(exporter, NSE_Blocks.DIRTY_AQUAMARINE_TILES_SLAB, NSE_Blocks.AQUAMARINE_TILES_SLAB); - dirtyRecipe(exporter, NSE_Blocks.DIRTY_AQUAMARINE_TILES_STAIRS, NSE_Blocks.AQUAMARINE_TILES_STAIRS); - dirtyRecipe(exporter, NSE_Blocks.DIRTY_BRICK_TILES, NSE_Blocks.BRICK_TILES); - dirtyRecipe(exporter, NSE_Blocks.DIRTY_BRICK_TILES_SLAB, NSE_Blocks.BRICK_TILES_SLAB); - dirtyRecipe(exporter, NSE_Blocks.DIRTY_BRICK_TILES_STAIRS, NSE_Blocks.BRICK_TILES_STAIRS); - dirtyRecipe(exporter, NSE_Blocks.DIRTY_DARK_BRICK_TILES, NSE_Blocks.DARK_BRICK_TILES); - dirtyRecipe(exporter, NSE_Blocks.DIRTY_DARK_BRICK_TILES_SLAB, NSE_Blocks.DARK_BRICK_TILES_SLAB); - dirtyRecipe(exporter, NSE_Blocks.DIRTY_DARK_BRICK_TILES_STAIRS, NSE_Blocks.DARK_BRICK_TILES_STAIRS); - - // Warning stripes - warningStripeRecipe(exporter, NSE_Blocks.INDUSTRIAL_WARNING, Items.BLACK_DYE); - warningStripeRecipe(exporter, NSE_Blocks.RED_WARNING, Items.RED_DYE); - warningStripeRecipe(exporter, NSE_Blocks.BLUE_WARNING, Items.BLUE_DYE); - warningStripeRecipe(exporter, NSE_Blocks.LIGHT_BLUE_WARNING, Items.LIGHT_BLUE_DYE); - warningStripeRecipe(exporter, NSE_Blocks.CYAN_WARNING, Items.CYAN_DYE); - warningStripeRecipe(exporter, NSE_Blocks.YELLOW_WARNING, Items.YELLOW_DYE); - warningStripeRecipe(exporter, NSE_Blocks.ORANGE_WARNING, Items.ORANGE_DYE); - warningStripeRecipe(exporter, NSE_Blocks.GREEN_WARNING, Items.GREEN_DYE); - warningStripeRecipe(exporter, NSE_Blocks.LIME_WARNING, Items.LIME_DYE); - warningStripeRecipe(exporter, NSE_Blocks.PURPLE_WARNING, Items.PURPLE_DYE); - warningStripeRecipe(exporter, NSE_Blocks.MAGENTA_WARNING, Items.MAGENTA_DYE); - warningStripeRecipe(exporter, NSE_Blocks.GRAY_WARNING, Items.GRAY_DYE); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.SAND_TILES); - list.add(NSE_Blocks.SAND_BRICKS); - list.add(NSE_Blocks.SMALL_SAND_TILES); - list.add(NSE_Blocks.BIG_SAND_TILES); - list.add(NSE_Blocks.BIG_SAND_BRICKS); - list.add(NSE_Blocks.CROSS_SAND_TILES); - list.add(NSE_Blocks.HERRINGBONE_SAND_TILES); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.TEAL_TILES); - list.add(NSE_Blocks.SMALL_TEAL_TILES); - list.add(NSE_Blocks.GLAZED_TEAL_TILES); - list.add(NSE_Blocks.VARIATED_TEAL_TILES); - list.add(Blocks.PRISMARINE_BRICKS); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.AQUAMARINE_TILES); - list.add(NSE_Blocks.GLAZED_AQUAMARINE_TILES); - list.add(NSE_Blocks.SMALL_AQUAMARINE_TILES); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.DIORITE_BRICKS); - list.add(NSE_Blocks.BIG_DIORITE_TILES); - list.add(NSE_Blocks.SMALL_DIORITE_TILES); - list.add(NSE_Blocks.NII_WALL_1); - list.add(Blocks.POLISHED_DIORITE); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.CALCITE_TILES); - list.add(NSE_Blocks.DIAGONAL_CALCITE_TILES); - list.add(Blocks.CALCITE); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.DRIPSTONE_TILES); - list.add(NSE_Blocks.DRIPSTONE_BRICKS); - list.add(Blocks.DRIPSTONE_BLOCK); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.DEEPSLATE_TILES); - list.add(NSE_Blocks.DIAGONAL_DEEPSLATE_TILES); - list.add(NSE_Blocks.SMALL_DEEPSLATE_TILES); - list.add(Blocks.POLISHED_DEEPSLATE); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.LIGHT_BLUE_TILES); - list.add(NSE_Blocks.LIGHT_BLUE_BRICKS); - list.add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES); - list.add(NSE_Blocks.GLAZED_LIGHT_BLUE_TILES); - list.add(NSE_Blocks.SMALL_LIGHT_BLUE_TILES); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.BIG_GRANITE_TILES); - list.add(NSE_Blocks.SMALL_GRANITE_TILES); - list.add(Blocks.POLISHED_GRANITE); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.TUFF_TILES); - list.add(NSE_Blocks.TUFF_BRICKS); - list.add(NSE_Blocks.BIG_TUFF_TILES); - list.add(Blocks.TUFF); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.SMALL_WHITE_TILES); - list.add(NSE_Blocks.SMALL_CRACKED_WHITE_TILES); - list.add(NSE_Blocks.GLAZED_WHITE_TILES); - list.add(NSE_Blocks.CRACKED_GLAZED_WHITE_TILES); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.CROSS_ACACIA_PLANKS); - list.add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS); - list.add(Blocks.ACACIA_PLANKS); - }), RecipeCategory.BUILDING_BLOCKS); - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.CROSS_OAK_PLANKS); - list.add(NSE_Blocks.HERRINGBONE_OAK_PLANKS); - list.add(Blocks.OAK_PLANKS); - }), RecipeCategory.BUILDING_BLOCKS); - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.CROSS_BIRCH_PLANKS); - list.add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS); - list.add(Blocks.BIRCH_PLANKS); - }), RecipeCategory.BUILDING_BLOCKS); - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.CROSS_CRIMSON_PLANKS); - list.add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS); - list.add(Blocks.CRIMSON_PLANKS); - }), RecipeCategory.BUILDING_BLOCKS); - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.CROSS_DARK_OAK_PLANKS); - list.add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS); - list.add(Blocks.DARK_OAK_PLANKS); - }), RecipeCategory.BUILDING_BLOCKS); - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.CROSS_JUNGLE_PLANKS); - list.add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS); - list.add(Blocks.JUNGLE_PLANKS); - }), RecipeCategory.BUILDING_BLOCKS); - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.CROSS_MANGROVE_PLANKS); - list.add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS); - list.add(Blocks.MANGROVE_PLANKS); - }), RecipeCategory.BUILDING_BLOCKS); - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.CROSS_SPRUCE_PLANKS); - list.add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS); - list.add(Blocks.SPRUCE_PLANKS); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.BRICK_TILES); - list.add(NSE_Blocks.GLAZED_BRICK_TILES); - list.add(Blocks.BRICKS); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.NII_WALL_3); - list.add(Blocks.STONE); - list.add(Blocks.STONE_BRICKS); - }), RecipeCategory.BUILDING_BLOCKS); - - stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { - list.add(NSE_Blocks.NII_WALL_2); - list.add(Blocks.SMOOTH_STONE); - }), RecipeCategory.BUILDING_BLOCKS); - - diceRecipe(exporter, NSE_Items.DICE_D4); - diceRecipe(exporter, NSE_Items.DICE_D6); - diceRecipe(exporter, NSE_Items.DICE_D20); - - offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_MANGROVE_DOOR, Blocks.MANGROVE_DOOR); - offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_OAK_DOOR, Blocks.OAK_DOOR); - offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_SPRUCE_DOOR, Blocks.SPRUCE_DOOR); - offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_BIRCH_DOOR, Blocks.BIRCH_DOOR); - - ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, NSE_Custom.LIGHT_BULB_LAMP, 1) - .input('X', Items.IRON_INGOT).input('Y', Items.IRON_NUGGET).input('Z', NSE_Items.LIGHT_BULB) - .pattern(" X ").pattern(" Y ").pattern(" Z ") - .criterion(hasItem(NSE_Items.LIGHT_BULB), conditionsFromItem(NSE_Items.LIGHT_BULB)).offerTo(exporter); - - ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.NII_FLOOR, 4) - .input('#', Items.DIORITE).input('G', Items.GRANITE).input('C', Items.COBBLESTONE) - .pattern("#G").pattern("GC") - .criterion(hasItem(Items.GRANITE), conditionsFromItem(Items.GRANITE)) - .criterion(hasItem(Items.DIORITE), conditionsFromItem(Items.DIORITE)) - .criterion(hasItem(Items.COBBLESTONE), conditionsFromItem(Items.COBBLESTONE)) - .offerTo(exporter); - - ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.BIG_GREEN_TILES, 8) - .input('#', NSE_Blocks.BIG_DIORITE_TILES).input('G', Items.GREEN_DYE) - .pattern("###") - .pattern("#G#") - .pattern("###") - .criterion(hasItem(Items.GREEN_DYE), conditionsFromItem(Items.GREEN_DYE)) - .criterion(hasItem(NSE_Blocks.BIG_DIORITE_TILES), conditionsFromItem(NSE_Blocks.BIG_DIORITE_TILES)) - .offerTo(exporter); - - ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.GREEN_BRICKS, 8) - .input('#', Items.BRICKS).input('G', Items.GREEN_DYE) - .pattern("###") - .pattern("#G#") - .pattern("###") - .criterion(hasItem(Items.GREEN_DYE), conditionsFromItem(Items.GREEN_DYE)) - .criterion(hasItem(Items.BRICKS), conditionsFromItem(Items.BRICKS)) - .offerTo(exporter); - - ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.GREEN_BRICKS_2, 2) - .input(Items.BRICKS).input(NSE_Blocks.GREEN_BRICKS) - .criterion(hasItem(NSE_Blocks.GREEN_BRICKS), conditionsFromItem(NSE_Blocks.GREEN_BRICKS)) - .criterion(hasItem(Items.BRICKS), conditionsFromItem(Items.BRICKS)) - .offerTo(exporter); - - ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.SMALL_YELLOW_TILES, 8) - .pattern("###") - .pattern("#Y#") - .pattern("###") - .input('#', NSE_Blocks.SMALL_WHITE_TILES).input('Y', Items.YELLOW_DYE) - .criterion(hasItem(NSE_Blocks.SMALL_WHITE_TILES), conditionsFromItem(NSE_Blocks.SMALL_WHITE_TILES)) - .criterion(hasItem(Items.YELLOW_DYE), conditionsFromItem(Items.YELLOW_DYE)) - .offerTo(exporter); - - ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.RED_BRICKS, 8) - .pattern("###") - .pattern("#R#") - .pattern("###") - .input('#', Items.BRICKS).input('R', Items.RED_DYE) - .criterion(hasItem(Items.BRICKS), conditionsFromItem(Items.BRICKS)) - .criterion(hasItem(Items.RED_DYE), conditionsFromItem(Items.RED_DYE)) - .offerTo(exporter); - - ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.DARK_BRICK_TILES, 8) - .pattern("###") - .pattern("#D#") - .pattern("###") - .input('#', NSE_Blocks.BRICK_TILES).input('D', Items.BROWN_DYE) - .criterion(hasItem(NSE_Blocks.BRICK_TILES), conditionsFromItem(NSE_Blocks.BRICK_TILES)) - .criterion(hasItem(Items.BROWN_DYE), conditionsFromItem(Items.BROWN_DYE)) - .offerTo(exporter); - - // Generated stairs and slabs recipes - offerStairsAndSlab(exporter, NSE_Blocks.SAND_TILES_STAIRS, NSE_Blocks.SAND_TILES_SLAB, NSE_Blocks.SAND_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_SAND_TILES_STAIRS, NSE_Blocks.CRACKED_SAND_TILES_SLAB, NSE_Blocks.CRACKED_SAND_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_SAND_TILES_STAIRS, NSE_Blocks.MOSSY_SAND_TILES_SLAB, NSE_Blocks.MOSSY_SAND_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_SAND_TILES_STAIRS, NSE_Blocks.HERRINGBONE_SAND_TILES_SLAB, NSE_Blocks.HERRINGBONE_SAND_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CROSS_SAND_TILES_STAIRS, NSE_Blocks.CROSS_SAND_TILES_SLAB, NSE_Blocks.CROSS_SAND_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.SAND_BRICKS_STAIRS, NSE_Blocks.SAND_BRICKS_SLAB, NSE_Blocks.SAND_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_SAND_BRICKS_STAIRS, NSE_Blocks.CRACKED_SAND_BRICKS_SLAB, NSE_Blocks.CRACKED_SAND_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_SAND_BRICKS_STAIRS, NSE_Blocks.MOSSY_SAND_BRICKS_SLAB, NSE_Blocks.MOSSY_SAND_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.BIG_SAND_BRICKS_STAIRS, NSE_Blocks.BIG_SAND_BRICKS_SLAB, NSE_Blocks.BIG_SAND_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.BRICK_TILES_STAIRS, NSE_Blocks.BRICK_TILES_SLAB, NSE_Blocks.BRICK_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_BRICK_TILES_STAIRS, NSE_Blocks.CRACKED_BRICK_TILES_SLAB, NSE_Blocks.CRACKED_BRICK_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_BRICK_TILES_STAIRS, NSE_Blocks.MOSSY_BRICK_TILES_SLAB, NSE_Blocks.MOSSY_BRICK_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.DIRTY_BRICK_TILES_STAIRS, NSE_Blocks.DIRTY_BRICK_TILES_SLAB, NSE_Blocks.DIRTY_BRICK_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.DARK_BRICK_TILES_STAIRS, NSE_Blocks.DARK_BRICK_TILES_SLAB, NSE_Blocks.DARK_BRICK_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_DARK_BRICK_TILES_STAIRS, NSE_Blocks.CRACKED_DARK_BRICK_TILES_SLAB, NSE_Blocks.CRACKED_DARK_BRICK_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_DARK_BRICK_TILES_STAIRS, NSE_Blocks.MOSSY_DARK_BRICK_TILES_SLAB, NSE_Blocks.MOSSY_DARK_BRICK_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.DIRTY_DARK_BRICK_TILES_STAIRS, NSE_Blocks.DIRTY_DARK_BRICK_TILES_SLAB, NSE_Blocks.DIRTY_DARK_BRICK_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.RED_BRICKS_STAIRS, NSE_Blocks.RED_BRICKS_SLAB, NSE_Blocks.RED_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_RED_BRICKS_STAIRS, NSE_Blocks.CRACKED_RED_BRICKS_SLAB, NSE_Blocks.CRACKED_RED_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_RED_BRICKS_STAIRS, NSE_Blocks.MOSSY_RED_BRICKS_SLAB, NSE_Blocks.MOSSY_RED_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.TEAL_TILES_STAIRS, NSE_Blocks.TEAL_TILES_SLAB, NSE_Blocks.TEAL_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_TEAL_TILES_STAIRS, NSE_Blocks.CRACKED_TEAL_TILES_SLAB, NSE_Blocks.CRACKED_TEAL_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_TEAL_TILES_STAIRS, NSE_Blocks.MOSSY_TEAL_TILES_SLAB, NSE_Blocks.MOSSY_TEAL_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.VARIATED_TEAL_TILES_STAIRS, NSE_Blocks.VARIATED_TEAL_TILES_SLAB, NSE_Blocks.VARIATED_TEAL_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.GREEN_BRICKS_STAIRS, NSE_Blocks.GREEN_BRICKS_SLAB, NSE_Blocks.GREEN_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_GREEN_BRICKS_STAIRS, NSE_Blocks.CRACKED_GREEN_BRICKS_SLAB, NSE_Blocks.CRACKED_GREEN_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_STAIRS, NSE_Blocks.MOSSY_GREEN_BRICKS_SLAB, NSE_Blocks.MOSSY_GREEN_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.GREEN_BRICKS_2_STAIRS, NSE_Blocks.GREEN_BRICKS_2_SLAB, NSE_Blocks.GREEN_BRICKS_2); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_GREEN_BRICKS_2_STAIRS, NSE_Blocks.CRACKED_GREEN_BRICKS_2_SLAB, NSE_Blocks.CRACKED_GREEN_BRICKS_2); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_2_STAIRS, NSE_Blocks.MOSSY_GREEN_BRICKS_2_SLAB, NSE_Blocks.MOSSY_GREEN_BRICKS_2); - offerStairsAndSlab(exporter, NSE_Blocks.AQUAMARINE_TILES_STAIRS, NSE_Blocks.AQUAMARINE_TILES_SLAB, NSE_Blocks.AQUAMARINE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_AQUAMARINE_TILES_STAIRS, NSE_Blocks.CRACKED_AQUAMARINE_TILES_SLAB, NSE_Blocks.CRACKED_AQUAMARINE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_AQUAMARINE_TILES_STAIRS, NSE_Blocks.MOSSY_AQUAMARINE_TILES_SLAB, NSE_Blocks.MOSSY_AQUAMARINE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.DIRTY_AQUAMARINE_TILES_STAIRS, NSE_Blocks.DIRTY_AQUAMARINE_TILES_SLAB, NSE_Blocks.DIRTY_AQUAMARINE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.DIORITE_BRICKS_STAIRS, NSE_Blocks.DIORITE_BRICKS_SLAB, NSE_Blocks.DIORITE_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_DIORITE_BRICKS_STAIRS, NSE_Blocks.CRACKED_DIORITE_BRICKS_SLAB, NSE_Blocks.CRACKED_DIORITE_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_DIORITE_BRICKS_STAIRS, NSE_Blocks.MOSSY_DIORITE_BRICKS_SLAB, NSE_Blocks.MOSSY_DIORITE_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.CALCITE_TILES_STAIRS, NSE_Blocks.CALCITE_TILES_SLAB, NSE_Blocks.CALCITE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_CALCITE_TILES_STAIRS, NSE_Blocks.CRACKED_CALCITE_TILES_SLAB, NSE_Blocks.CRACKED_CALCITE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_CALCITE_TILES_STAIRS, NSE_Blocks.MOSSY_CALCITE_TILES_SLAB, NSE_Blocks.MOSSY_CALCITE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.DRIPSTONE_TILES_STAIRS, NSE_Blocks.DRIPSTONE_TILES_SLAB, NSE_Blocks.DRIPSTONE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_DRIPSTONE_TILES_STAIRS, NSE_Blocks.CRACKED_DRIPSTONE_TILES_SLAB, NSE_Blocks.CRACKED_DRIPSTONE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_DRIPSTONE_TILES_STAIRS, NSE_Blocks.MOSSY_DRIPSTONE_TILES_SLAB, NSE_Blocks.MOSSY_DRIPSTONE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.DEEPSLATE_TILES_STAIRS, NSE_Blocks.DEEPSLATE_TILES_SLAB, NSE_Blocks.DEEPSLATE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_DEEPSLATE_TILES_STAIRS, NSE_Blocks.CRACKED_DEEPSLATE_TILES_SLAB, NSE_Blocks.CRACKED_DEEPSLATE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_DEEPSLATE_TILES_STAIRS, NSE_Blocks.MOSSY_DEEPSLATE_TILES_SLAB, NSE_Blocks.MOSSY_DEEPSLATE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.LIGHT_BLUE_TILES_STAIRS, NSE_Blocks.LIGHT_BLUE_TILES_SLAB, NSE_Blocks.LIGHT_BLUE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_STAIRS, NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_SLAB, NSE_Blocks.CRACKED_LIGHT_BLUE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_STAIRS, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_SLAB, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_STAIRS, NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_SLAB, NSE_Blocks.VARIATED_LIGHT_BLUE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.LIGHT_BLUE_BRICKS_STAIRS, NSE_Blocks.LIGHT_BLUE_BRICKS_SLAB, NSE_Blocks.LIGHT_BLUE_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_STAIRS, NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_SLAB, NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_STAIRS, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_SLAB, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.GREEN_WHITE_TILES_STAIRS, NSE_Blocks.GREEN_WHITE_TILES_SLAB, NSE_Blocks.GREEN_WHITE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_GREEN_WHITE_TILES_STAIRS, NSE_Blocks.CRACKED_GREEN_WHITE_TILES_SLAB, NSE_Blocks.CRACKED_GREEN_WHITE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_GREEN_WHITE_TILES_STAIRS, NSE_Blocks.MOSSY_GREEN_WHITE_TILES_SLAB, NSE_Blocks.MOSSY_GREEN_WHITE_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.TUFF_TILES_STAIRS, NSE_Blocks.TUFF_TILES_SLAB, NSE_Blocks.TUFF_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_TUFF_TILES_STAIRS, NSE_Blocks.CRACKED_TUFF_TILES_SLAB, NSE_Blocks.CRACKED_TUFF_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_TUFF_TILES_STAIRS, NSE_Blocks.MOSSY_TUFF_TILES_SLAB, NSE_Blocks.MOSSY_TUFF_TILES); - offerStairsAndSlab(exporter, NSE_Blocks.TUFF_BRICKS_STAIRS, NSE_Blocks.TUFF_BRICKS_SLAB, NSE_Blocks.TUFF_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_TUFF_BRICKS_STAIRS, NSE_Blocks.CRACKED_TUFF_BRICKS_SLAB, NSE_Blocks.CRACKED_TUFF_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_TUFF_BRICKS_STAIRS, NSE_Blocks.MOSSY_TUFF_BRICKS_SLAB, NSE_Blocks.MOSSY_TUFF_BRICKS); - offerStairsAndSlab(exporter, NSE_Blocks.WHITE_CONCRETE_STAIRS, NSE_Blocks.WHITE_CONCRETE_SLAB, NSE_Blocks.WHITE_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_WHITE_CONCRETE_STAIRS, NSE_Blocks.CRACKED_WHITE_CONCRETE_SLAB, NSE_Blocks.CRACKED_WHITE_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.BEIGE_CONCRETE_STAIRS, NSE_Blocks.BEIGE_CONCRETE_SLAB, NSE_Blocks.BEIGE_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_BEIGE_CONCRETE_STAIRS, NSE_Blocks.CRACKED_BEIGE_CONCRETE_SLAB, NSE_Blocks.CRACKED_BEIGE_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.BLUE_CONCRETE_STAIRS, NSE_Blocks.BLUE_CONCRETE_SLAB, NSE_Blocks.BLUE_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_BLUE_CONCRETE_STAIRS, NSE_Blocks.CRACKED_BLUE_CONCRETE_SLAB, NSE_Blocks.CRACKED_BLUE_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.RED_CONCRETE_STAIRS, NSE_Blocks.RED_CONCRETE_SLAB, NSE_Blocks.RED_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_RED_CONCRETE_STAIRS, NSE_Blocks.CRACKED_RED_CONCRETE_SLAB, NSE_Blocks.CRACKED_RED_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.YELLOW_CONCRETE_STAIRS, NSE_Blocks.YELLOW_CONCRETE_SLAB, NSE_Blocks.YELLOW_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_YELLOW_CONCRETE_STAIRS, NSE_Blocks.CRACKED_YELLOW_CONCRETE_SLAB, NSE_Blocks.CRACKED_YELLOW_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.GREEN_CONCRETE_STAIRS, NSE_Blocks.GREEN_CONCRETE_SLAB, NSE_Blocks.GREEN_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_GREEN_CONCRETE_STAIRS, NSE_Blocks.CRACKED_GREEN_CONCRETE_SLAB, NSE_Blocks.CRACKED_GREEN_CONCRETE); - offerStairsAndSlab(exporter, NSE_Blocks.NII_FLOOR_STAIRS, NSE_Blocks.NII_FLOOR_SLAB, NSE_Blocks.NII_FLOOR); - offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_ACACIA_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.CROSS_ACACIA_PLANKS_STAIRS, NSE_Blocks.CROSS_ACACIA_PLANKS_SLAB, NSE_Blocks.CROSS_ACACIA_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_OAK_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_OAK_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_OAK_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.CROSS_OAK_PLANKS_STAIRS, NSE_Blocks.CROSS_OAK_PLANKS_SLAB, NSE_Blocks.CROSS_OAK_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_BIRCH_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.CROSS_BIRCH_PLANKS_STAIRS, NSE_Blocks.CROSS_BIRCH_PLANKS_SLAB, NSE_Blocks.CROSS_BIRCH_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.CROSS_CRIMSON_PLANKS_STAIRS, NSE_Blocks.CROSS_CRIMSON_PLANKS_SLAB, NSE_Blocks.CROSS_CRIMSON_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.CROSS_DARK_OAK_PLANKS_STAIRS, NSE_Blocks.CROSS_DARK_OAK_PLANKS_SLAB, NSE_Blocks.CROSS_DARK_OAK_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.CROSS_JUNGLE_PLANKS_STAIRS, NSE_Blocks.CROSS_JUNGLE_PLANKS_SLAB, NSE_Blocks.CROSS_JUNGLE_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.CROSS_MANGROVE_PLANKS_STAIRS, NSE_Blocks.CROSS_MANGROVE_PLANKS_SLAB, NSE_Blocks.CROSS_MANGROVE_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.CROSS_SPRUCE_PLANKS_STAIRS, NSE_Blocks.CROSS_SPRUCE_PLANKS_SLAB, NSE_Blocks.CROSS_SPRUCE_PLANKS); - offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_PARQUET_STAIRS, NSE_Blocks.HERRINGBONE_PARQUET_SLAB, NSE_Blocks.HERRINGBONE_PARQUET); - offerStairsAndSlab(exporter, NSE_Blocks.STRAIGHT_PARQUET_STAIRS, NSE_Blocks.STRAIGHT_PARQUET_SLAB, NSE_Blocks.STRAIGHT_PARQUET); - offerStairsAndSlab(exporter, NSE_Blocks.SEPARATED_PARQUET_STAIRS, NSE_Blocks.SEPARATED_PARQUET_SLAB, NSE_Blocks.SEPARATED_PARQUET); - offerStairsAndSlab(exporter, NSE_Blocks.GREEN_LINOLEUM_STAIRS, NSE_Blocks.GREEN_LINOLEUM_SLAB, NSE_Blocks.GREEN_LINOLEUM); - offerStairsAndSlab(exporter, NSE_Blocks.BLUE_LINOLEUM_STAIRS, NSE_Blocks.BLUE_LINOLEUM_SLAB, NSE_Blocks.BLUE_LINOLEUM); - offerStairsAndSlab(exporter, NSE_Blocks.RED_LINOLEUM_STAIRS, NSE_Blocks.RED_LINOLEUM_SLAB, NSE_Blocks.RED_LINOLEUM); - offerStairsAndSlab(exporter, NSE_Blocks.GRAY_LINOLEUM_STAIRS, NSE_Blocks.GRAY_LINOLEUM_SLAB, NSE_Blocks.GRAY_LINOLEUM); - offerStairsAndSlab(exporter, NSE_Blocks.ORANGE_LINOLEUM_STAIRS, NSE_Blocks.ORANGE_LINOLEUM_SLAB, NSE_Blocks.ORANGE_LINOLEUM); - offerStairsAndSlab(exporter, NSE_Blocks.BROWN_LINOLEUM_STAIRS, NSE_Blocks.BROWN_LINOLEUM_SLAB, NSE_Blocks.BROWN_LINOLEUM); - offerStairsAndSlab(exporter, NSE_Blocks.CYAN_LINOLEUM_STAIRS, NSE_Blocks.CYAN_LINOLEUM_SLAB, NSE_Blocks.CYAN_LINOLEUM); - offerStairsAndSlab(exporter, NSE_Blocks.METAL_PLATING_STAIRS, NSE_Blocks.METAL_PLATING_SLAB, NSE_Blocks.METAL_PLATING); - } - } - - private static class ModelGenerator extends FabricModelProvider { - private ModelGenerator(FabricDataOutput generator) { - super(generator); - } - - // Helper method since "normal" registerDoor doesn't account for non-flat texture dir - public void registerDoor(BlockStateModelGenerator blockStateModelGenerator, Block doorBlock) { - TextureMap textureMap = TextureMap.topBottom( - Registries.BLOCK.getId(doorBlock).withPath((path) -> "block/doors/" + path + "_top"), - Registries.BLOCK.getId(doorBlock).withPath((path) -> "block/doors/" + path + "_bottom")); - Identifier identifier = Models.DOOR_BOTTOM_LEFT.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); - Identifier identifier2 = Models.DOOR_BOTTOM_LEFT_OPEN.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); - Identifier identifier3 = Models.DOOR_BOTTOM_RIGHT.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); - Identifier identifier4 = Models.DOOR_BOTTOM_RIGHT_OPEN.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); - Identifier identifier5 = Models.DOOR_TOP_LEFT.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); - Identifier identifier6 = Models.DOOR_TOP_LEFT_OPEN.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); - Identifier identifier7 = Models.DOOR_TOP_RIGHT.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); - Identifier identifier8 = Models.DOOR_TOP_RIGHT_OPEN.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); - blockStateModelGenerator.registerItemModel(doorBlock.asItem()); - blockStateModelGenerator.blockStateCollector.accept(BlockStateModelGenerator.createDoorBlockState(doorBlock, identifier, identifier2, identifier3, identifier4, identifier5, identifier6, identifier7, identifier8)); - } - - @Override - public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) { -// BlockStateModelGenerator.createSingletonBlockState(NSE_Blocks.SAND_TILES, new Identifier("new_soviet", "block/sand_tiles")); -// BlockStateModelGenerator.createSlabBlockState() -// BlockStateModelGenerator.createWallBlockState() -// BlockStateModelGenerator.createStairsBlockState(NSE_Blocks.SAND_TILES_STAIRS, new Identifier(NewSoviet.MOD_ID, "sand_tiles_stairs")); - registerDoor(blockStateModelGenerator, NSE_Blocks.CHISELED_BIRCH_DOOR); - registerDoor(blockStateModelGenerator, NSE_Blocks.CHISELED_SPRUCE_DOOR); - registerDoor(blockStateModelGenerator, NSE_Blocks.CHISELED_OAK_DOOR); - registerDoor(blockStateModelGenerator, NSE_Blocks.CHISELED_MANGROVE_DOOR); - -// blockStateModelGenerator.register(); - } - - @Override - public void generateItemModels(ItemModelGenerator itemModelGenerator) { - } - } - @Override public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { FabricDataGenerator.Pack NSEPack = fabricDataGenerator.createPack(); diff --git a/src/main/java/su/a71/new_soviet/blocks/HandrailBlock.java b/src/main/java/su/a71/new_soviet/blocks/HandrailBlock.java index 48bac06..cab1a87 100644 --- a/src/main/java/su/a71/new_soviet/blocks/HandrailBlock.java +++ b/src/main/java/su/a71/new_soviet/blocks/HandrailBlock.java @@ -21,7 +21,7 @@ import net.minecraft.util.shape.VoxelShapes; import net.minecraft.world.BlockView; import net.minecraft.world.WorldAccess; -import su.a71.new_soviet.entity.TVBlockEntity; +import su.a71.new_soviet.entities.TVBlockEntity; import su.a71.new_soviet.util.Shapes; import java.util.List; diff --git a/src/main/java/su/a71/new_soviet/blocks/TVBlock.java b/src/main/java/su/a71/new_soviet/blocks/TVBlock.java index 9afd9f0..5afc350 100644 --- a/src/main/java/su/a71/new_soviet/blocks/TVBlock.java +++ b/src/main/java/su/a71/new_soviet/blocks/TVBlock.java @@ -13,7 +13,7 @@ import net.minecraft.util.shape.VoxelShape; import net.minecraft.util.shape.VoxelShapes; import net.minecraft.world.BlockView; -import su.a71.new_soviet.entity.TVBlockEntity; +import su.a71.new_soviet.entities.TVBlockEntity; import su.a71.new_soviet.util.Shapes; import java.util.List; diff --git a/src/main/java/su/a71/new_soviet/datagen/BlockLootTables.java b/src/main/java/su/a71/new_soviet/datagen/BlockLootTables.java new file mode 100644 index 0000000..5ffd26d --- /dev/null +++ b/src/main/java/su/a71/new_soviet/datagen/BlockLootTables.java @@ -0,0 +1,414 @@ +package su.a71.new_soviet.datagen; +// === ABANDON HOPE, YE WHO ENTER HERE === + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; +import su.a71.new_soviet.registration.NSE_Blocks; +import su.a71.new_soviet.registration.NSE_Custom; + +public class BlockLootTables extends FabricBlockLootTableProvider { + public BlockLootTables(FabricDataOutput dataOutput) { + super(dataOutput); + } + + @Override + public void generate() { + // Drops for building blocks + addDrop(NSE_Blocks.SAND_TILES); + addDrop(NSE_Blocks.NII_FLOOR); + addDrop(NSE_Blocks.BIG_GREEN_TILES); + addDrop(NSE_Blocks.BIG_GREEN_TILES_CRACKED); + addDrop(NSE_Blocks.GREEN_BRICKS); + addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS); + addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS); + addDrop(NSE_Blocks.GREEN_BRICKS_2); + addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS_2); + addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS_2); + addDrop(NSE_Blocks.CRACKED_SAND_TILES); + addDrop(NSE_Blocks.MOSSY_SAND_TILES); + addDrop(NSE_Blocks.SMALL_SAND_TILES); + addDrop(NSE_Blocks.SMALL_CRACKED_SAND_TILES); + addDrop(NSE_Blocks.HERRINGBONE_SAND_TILES); + addDrop(NSE_Blocks.CROSS_SAND_TILES); + addDrop(NSE_Blocks.BIG_SAND_TILES); + addDrop(NSE_Blocks.SAND_BRICKS); + addDrop(NSE_Blocks.CRACKED_SAND_BRICKS); + addDrop(NSE_Blocks.MOSSY_SAND_BRICKS); + addDrop(NSE_Blocks.BIG_SAND_BRICKS); + addDrop(NSE_Blocks.BRICK_TILES); + addDrop(NSE_Blocks.CRACKED_BRICK_TILES); + addDrop(NSE_Blocks.MOSSY_BRICK_TILES); + addDrop(NSE_Blocks.DIRTY_BRICK_TILES); + addDrop(NSE_Blocks.DARK_BRICK_TILES); + addDrop(NSE_Blocks.CRACKED_DARK_BRICK_TILES); + addDrop(NSE_Blocks.MOSSY_DARK_BRICK_TILES); + addDrop(NSE_Blocks.DIRTY_DARK_BRICK_TILES); + addDrop(NSE_Blocks.TEAL_TILES); + addDrop(NSE_Blocks.CRACKED_TEAL_TILES); + addDrop(NSE_Blocks.MOSSY_TEAL_TILES); + addDrop(NSE_Blocks.SMALL_TEAL_TILES); + addDrop(NSE_Blocks.SMALL_CRACKED_TEAL_TILES); + addDrop(NSE_Blocks.GLAZED_TEAL_TILES); + addDrop(NSE_Blocks.CRACKED_GLAZED_TEAL_TILES); + addDrop(NSE_Blocks.VARIATED_TEAL_TILES); + addDrop(NSE_Blocks.AQUAMARINE_TILES); + addDrop(NSE_Blocks.CRACKED_AQUAMARINE_TILES); + addDrop(NSE_Blocks.MOSSY_AQUAMARINE_TILES); + addDrop(NSE_Blocks.DIRTY_AQUAMARINE_TILES); + addDrop(NSE_Blocks.SMALL_AQUAMARINE_TILES); + addDrop(NSE_Blocks.SMALL_CRACKED_AQUAMARINE_TILES); + addDrop(NSE_Blocks.GLAZED_AQUAMARINE_TILES); + addDrop(NSE_Blocks.CRACKED_GLAZED_AQUAMARINE_TILES); + addDrop(NSE_Blocks.SMALL_DIORITE_TILES); + addDrop(NSE_Blocks.SMALL_CRACKED_DIORITE_TILES); + addDrop(NSE_Blocks.BIG_DIORITE_TILES); + addDrop(NSE_Blocks.DIORITE_BRICKS); + addDrop(NSE_Blocks.CRACKED_DIORITE_BRICKS); + addDrop(NSE_Blocks.MOSSY_DIORITE_BRICKS); + addDrop(NSE_Blocks.CALCITE_TILES); + addDrop(NSE_Blocks.CRACKED_CALCITE_TILES); + addDrop(NSE_Blocks.MOSSY_CALCITE_TILES); + addDrop(NSE_Blocks.DIAGONAL_CALCITE_TILES); + addDrop(NSE_Blocks.NII_WALL_1); + addDrop(NSE_Blocks.CRACKED_NII_WALL_1); + addDrop(NSE_Blocks.NII_WALL_2); + addDrop(NSE_Blocks.NII_WALL_3); + addDrop(NSE_Blocks.DRIPSTONE_TILES); + addDrop(NSE_Blocks.CRACKED_DRIPSTONE_TILES); + addDrop(NSE_Blocks.MOSSY_DRIPSTONE_TILES); + addDrop(NSE_Blocks.DRIPSTONE_BRICKS); + addDrop(NSE_Blocks.DEEPSLATE_TILES); + addDrop(NSE_Blocks.CRACKED_DEEPSLATE_TILES); + addDrop(NSE_Blocks.MOSSY_DEEPSLATE_TILES); + addDrop(NSE_Blocks.SMALL_DEEPSLATE_TILES); + addDrop(NSE_Blocks.SMALL_CRACKED_DEEPSLATE_TILES); + addDrop(NSE_Blocks.DIAGONAL_DEEPSLATE_TILES); + addDrop(NSE_Blocks.LIGHT_BLUE_TILES); + addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES); + addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES); + addDrop(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES); + addDrop(NSE_Blocks.SMALL_LIGHT_BLUE_TILES); + addDrop(NSE_Blocks.SMALL_CRACKED_LIGHT_BLUE_TILES); + addDrop(NSE_Blocks.GLAZED_LIGHT_BLUE_TILES); + addDrop(NSE_Blocks.CRACKED_GLAZED_LIGHT_BLUE_TILES); + addDrop(NSE_Blocks.LIGHT_BLUE_BRICKS); + addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS); + addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS); + addDrop(NSE_Blocks.BIG_GRANITE_TILES); + addDrop(NSE_Blocks.SMALL_GRANITE_TILES); + addDrop(NSE_Blocks.SMALL_CRACKED_GRANITE_TILES); + addDrop(NSE_Blocks.GREEN_WHITE_TILES); + addDrop(NSE_Blocks.CRACKED_GREEN_WHITE_TILES); + addDrop(NSE_Blocks.MOSSY_GREEN_WHITE_TILES); + addDrop(NSE_Blocks.TUFF_TILES); + addDrop(NSE_Blocks.CRACKED_TUFF_TILES); + addDrop(NSE_Blocks.MOSSY_TUFF_TILES); + addDrop(NSE_Blocks.BIG_TUFF_TILES); + addDrop(NSE_Blocks.TUFF_BRICKS); + addDrop(NSE_Blocks.CRACKED_TUFF_BRICKS); + addDrop(NSE_Blocks.MOSSY_TUFF_BRICKS); + addDrop(NSE_Blocks.INDUSTRIAL_WARNING); + addDrop(NSE_Blocks.GRAY_WARNING); + addDrop(NSE_Blocks.RED_WARNING); + addDrop(NSE_Blocks.ORANGE_WARNING); + addDrop(NSE_Blocks.YELLOW_WARNING); + addDrop(NSE_Blocks.LIME_WARNING); + addDrop(NSE_Blocks.GREEN_WARNING); + addDrop(NSE_Blocks.CYAN_WARNING); + addDrop(NSE_Blocks.LIGHT_BLUE_WARNING); + addDrop(NSE_Blocks.BLUE_WARNING); + addDrop(NSE_Blocks.PURPLE_WARNING); + addDrop(NSE_Blocks.MAGENTA_WARNING); + addDrop(NSE_Blocks.METAL_PLATING); + addDrop(NSE_Blocks.CRATE); + addDrop(NSE_Blocks.CONCRETE_WALL); + addDrop(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS); + addDrop(NSE_Blocks.CROSS_ACACIA_PLANKS); + addDrop(NSE_Blocks.HERRINGBONE_OAK_PLANKS); + addDrop(NSE_Blocks.CROSS_OAK_PLANKS); + addDrop(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS); + addDrop(NSE_Blocks.CROSS_BIRCH_PLANKS); + addDrop(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS); + addDrop(NSE_Blocks.CROSS_CRIMSON_PLANKS); + addDrop(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS); + addDrop(NSE_Blocks.CROSS_DARK_OAK_PLANKS); + addDrop(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS); + addDrop(NSE_Blocks.CROSS_JUNGLE_PLANKS); + addDrop(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS); + addDrop(NSE_Blocks.CROSS_MANGROVE_PLANKS); + addDrop(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS); + addDrop(NSE_Blocks.CROSS_SPRUCE_PLANKS); + addDrop(NSE_Blocks.HERRINGBONE_PARQUET); + addDrop(NSE_Blocks.STRAIGHT_PARQUET); + addDrop(NSE_Blocks.SEPARATED_PARQUET); + addDrop(NSE_Blocks.GREEN_LINOLEUM); + addDrop(NSE_Blocks.BLUE_LINOLEUM); + addDrop(NSE_Blocks.RED_LINOLEUM); + addDrop(NSE_Blocks.GRAY_LINOLEUM); + addDrop(NSE_Blocks.ORANGE_LINOLEUM); + addDrop(NSE_Blocks.BROWN_LINOLEUM); + 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); + addDrop(NSE_Blocks.SMALL_YELLOW_TILES); + addDrop(NSE_Blocks.SMALL_CRACKED_YELLOW_TILES); + addDrop(NSE_Blocks.MEAT); + addDrop(NSE_Blocks.MEAT_EYE); + addDrop(NSE_Blocks.MEAT_TEETH); + addDrop(NSE_Blocks.CHISELED_BIRCH_DOOR, doorDrops(NSE_Blocks.CHISELED_BIRCH_DOOR)); + addDrop(NSE_Blocks.CHISELED_MANGROVE_DOOR, doorDrops(NSE_Blocks.CHISELED_MANGROVE_DOOR));; + addDrop(NSE_Blocks.CHISELED_OAK_DOOR, doorDrops(NSE_Blocks.CHISELED_OAK_DOOR)); + addDrop(NSE_Blocks.CHISELED_SPRUCE_DOOR, doorDrops(NSE_Blocks.CHISELED_SPRUCE_DOOR));; + addDrop(NSE_Blocks.BEIGE_WALLPAPER); + addDrop(NSE_Blocks.BROWN_WALLPAPER); + addDrop(NSE_Blocks.GREEN_WALLPAPER); + addDrop(NSE_Blocks.HANDRAIL); + + // Drops for furniture/electronics/appliances + addDrop(NSE_Custom.WHITE_PAWN); + addDrop(NSE_Custom.WHITE_BISHOP); + addDrop(NSE_Custom.WHITE_KING); + addDrop(NSE_Custom.WHITE_KNIGHT); + addDrop(NSE_Custom.WHITE_QUEEN); + addDrop(NSE_Custom.WHITE_ROOK); + addDrop(NSE_Custom.BLACK_KNIGHT); + addDrop(NSE_Custom.BLACK_PAWN); + addDrop(NSE_Custom.BLACK_KING); + addDrop(NSE_Custom.BLACK_QUEEN); + addDrop(NSE_Custom.BLACK_BISHOP); + addDrop(NSE_Custom.BLACK_ROOK); + + addDrop(NSE_Custom.TV); + addDrop(NSE_Custom.RED_TV); + addDrop(NSE_Custom.BROWN_TV); + addDrop(NSE_Custom.RADIO_RECEIVER); + addDrop(NSE_Custom.SIREN); + addDrop(NSE_Custom.TABLE_LAMP); + addDrop(NSE_Custom.VINTAGE_LAMP); + addDrop(NSE_Custom.CEILING_FAN); + addDrop(NSE_Custom.SWITCH); + + // Generated stairs and slabs drops + addDrop(NSE_Blocks.SAND_TILES_SLAB); + addDrop(NSE_Blocks.SAND_TILES_STAIRS); + addDrop(NSE_Blocks.CRACKED_SAND_TILES_SLAB); + addDrop(NSE_Blocks.CRACKED_SAND_TILES_STAIRS); + addDrop(NSE_Blocks.MOSSY_SAND_TILES_SLAB); + addDrop(NSE_Blocks.MOSSY_SAND_TILES_STAIRS); + addDrop(NSE_Blocks.HERRINGBONE_SAND_TILES_SLAB); + addDrop(NSE_Blocks.HERRINGBONE_SAND_TILES_STAIRS); + addDrop(NSE_Blocks.CROSS_SAND_TILES_SLAB); + addDrop(NSE_Blocks.CROSS_SAND_TILES_STAIRS); + addDrop(NSE_Blocks.SAND_BRICKS_SLAB); + addDrop(NSE_Blocks.SAND_BRICKS_STAIRS); + addDrop(NSE_Blocks.CRACKED_SAND_BRICKS_SLAB); + addDrop(NSE_Blocks.CRACKED_SAND_BRICKS_STAIRS); + addDrop(NSE_Blocks.MOSSY_SAND_BRICKS_SLAB); + addDrop(NSE_Blocks.MOSSY_SAND_BRICKS_STAIRS); + addDrop(NSE_Blocks.BIG_SAND_BRICKS_SLAB); + addDrop(NSE_Blocks.BIG_SAND_BRICKS_STAIRS); + addDrop(NSE_Blocks.BRICK_TILES_SLAB); + addDrop(NSE_Blocks.BRICK_TILES_STAIRS); + addDrop(NSE_Blocks.CRACKED_BRICK_TILES_SLAB); + addDrop(NSE_Blocks.CRACKED_BRICK_TILES_STAIRS); + addDrop(NSE_Blocks.MOSSY_BRICK_TILES_SLAB); + addDrop(NSE_Blocks.MOSSY_BRICK_TILES_STAIRS); + addDrop(NSE_Blocks.DIRTY_BRICK_TILES_SLAB); + addDrop(NSE_Blocks.DIRTY_BRICK_TILES_STAIRS); + addDrop(NSE_Blocks.DARK_BRICK_TILES_SLAB); + addDrop(NSE_Blocks.DARK_BRICK_TILES_STAIRS); + addDrop(NSE_Blocks.CRACKED_DARK_BRICK_TILES_SLAB); + addDrop(NSE_Blocks.CRACKED_DARK_BRICK_TILES_STAIRS); + addDrop(NSE_Blocks.MOSSY_DARK_BRICK_TILES_SLAB); + addDrop(NSE_Blocks.MOSSY_DARK_BRICK_TILES_STAIRS); + addDrop(NSE_Blocks.DIRTY_DARK_BRICK_TILES_SLAB); + addDrop(NSE_Blocks.DIRTY_DARK_BRICK_TILES_STAIRS); + addDrop(NSE_Blocks.RED_BRICKS_SLAB); + addDrop(NSE_Blocks.RED_BRICKS_STAIRS); + addDrop(NSE_Blocks.CRACKED_RED_BRICKS_SLAB); + addDrop(NSE_Blocks.CRACKED_RED_BRICKS_STAIRS); + addDrop(NSE_Blocks.MOSSY_RED_BRICKS_SLAB); + addDrop(NSE_Blocks.MOSSY_RED_BRICKS_STAIRS); + addDrop(NSE_Blocks.TEAL_TILES_SLAB); + addDrop(NSE_Blocks.TEAL_TILES_STAIRS); + addDrop(NSE_Blocks.CRACKED_TEAL_TILES_SLAB); + addDrop(NSE_Blocks.CRACKED_TEAL_TILES_STAIRS); + addDrop(NSE_Blocks.MOSSY_TEAL_TILES_SLAB); + addDrop(NSE_Blocks.MOSSY_TEAL_TILES_STAIRS); + addDrop(NSE_Blocks.VARIATED_TEAL_TILES_SLAB); + addDrop(NSE_Blocks.VARIATED_TEAL_TILES_STAIRS); + addDrop(NSE_Blocks.GREEN_BRICKS_SLAB); + addDrop(NSE_Blocks.GREEN_BRICKS_STAIRS); + addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS_SLAB); + addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS_STAIRS); + addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS_SLAB); + addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS_STAIRS); + addDrop(NSE_Blocks.GREEN_BRICKS_2_SLAB); + addDrop(NSE_Blocks.GREEN_BRICKS_2_STAIRS); + addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS_2_SLAB); + addDrop(NSE_Blocks.CRACKED_GREEN_BRICKS_2_STAIRS); + addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS_2_SLAB); + addDrop(NSE_Blocks.MOSSY_GREEN_BRICKS_2_STAIRS); + addDrop(NSE_Blocks.AQUAMARINE_TILES_SLAB); + addDrop(NSE_Blocks.AQUAMARINE_TILES_STAIRS); + addDrop(NSE_Blocks.CRACKED_AQUAMARINE_TILES_SLAB); + addDrop(NSE_Blocks.CRACKED_AQUAMARINE_TILES_STAIRS); + addDrop(NSE_Blocks.MOSSY_AQUAMARINE_TILES_SLAB); + addDrop(NSE_Blocks.MOSSY_AQUAMARINE_TILES_STAIRS); + addDrop(NSE_Blocks.DIRTY_AQUAMARINE_TILES_SLAB); + addDrop(NSE_Blocks.DIRTY_AQUAMARINE_TILES_STAIRS); + addDrop(NSE_Blocks.DIORITE_BRICKS_SLAB); + addDrop(NSE_Blocks.DIORITE_BRICKS_STAIRS); + addDrop(NSE_Blocks.CRACKED_DIORITE_BRICKS_SLAB); + addDrop(NSE_Blocks.CRACKED_DIORITE_BRICKS_STAIRS); + addDrop(NSE_Blocks.MOSSY_DIORITE_BRICKS_SLAB); + addDrop(NSE_Blocks.MOSSY_DIORITE_BRICKS_STAIRS); + addDrop(NSE_Blocks.CALCITE_TILES_SLAB); + addDrop(NSE_Blocks.CALCITE_TILES_STAIRS); + addDrop(NSE_Blocks.CRACKED_CALCITE_TILES_SLAB); + addDrop(NSE_Blocks.CRACKED_CALCITE_TILES_STAIRS); + addDrop(NSE_Blocks.MOSSY_CALCITE_TILES_SLAB); + addDrop(NSE_Blocks.MOSSY_CALCITE_TILES_STAIRS); + addDrop(NSE_Blocks.DRIPSTONE_TILES_SLAB); + addDrop(NSE_Blocks.DRIPSTONE_TILES_STAIRS); + addDrop(NSE_Blocks.CRACKED_DRIPSTONE_TILES_SLAB); + addDrop(NSE_Blocks.CRACKED_DRIPSTONE_TILES_STAIRS); + addDrop(NSE_Blocks.MOSSY_DRIPSTONE_TILES_SLAB); + addDrop(NSE_Blocks.MOSSY_DRIPSTONE_TILES_STAIRS); + addDrop(NSE_Blocks.DEEPSLATE_TILES_SLAB); + addDrop(NSE_Blocks.DEEPSLATE_TILES_STAIRS); + addDrop(NSE_Blocks.CRACKED_DEEPSLATE_TILES_SLAB); + addDrop(NSE_Blocks.CRACKED_DEEPSLATE_TILES_STAIRS); + addDrop(NSE_Blocks.MOSSY_DEEPSLATE_TILES_SLAB); + addDrop(NSE_Blocks.MOSSY_DEEPSLATE_TILES_STAIRS); + addDrop(NSE_Blocks.LIGHT_BLUE_TILES_SLAB); + addDrop(NSE_Blocks.LIGHT_BLUE_TILES_STAIRS); + addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_SLAB); + addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_STAIRS); + addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_SLAB); + addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_STAIRS); + addDrop(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_SLAB); + addDrop(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_STAIRS); + addDrop(NSE_Blocks.LIGHT_BLUE_BRICKS_SLAB); + addDrop(NSE_Blocks.LIGHT_BLUE_BRICKS_STAIRS); + addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_SLAB); + addDrop(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_STAIRS); + addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_SLAB); + addDrop(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_STAIRS); + addDrop(NSE_Blocks.GREEN_WHITE_TILES_SLAB); + addDrop(NSE_Blocks.GREEN_WHITE_TILES_STAIRS); + addDrop(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_SLAB); + addDrop(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_STAIRS); + addDrop(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_SLAB); + addDrop(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_STAIRS); + addDrop(NSE_Blocks.TUFF_TILES_SLAB); + addDrop(NSE_Blocks.TUFF_TILES_STAIRS); + addDrop(NSE_Blocks.CRACKED_TUFF_TILES_SLAB); + addDrop(NSE_Blocks.CRACKED_TUFF_TILES_STAIRS); + addDrop(NSE_Blocks.MOSSY_TUFF_TILES_SLAB); + addDrop(NSE_Blocks.MOSSY_TUFF_TILES_STAIRS); + addDrop(NSE_Blocks.TUFF_BRICKS_SLAB); + addDrop(NSE_Blocks.TUFF_BRICKS_STAIRS); + addDrop(NSE_Blocks.CRACKED_TUFF_BRICKS_SLAB); + addDrop(NSE_Blocks.CRACKED_TUFF_BRICKS_STAIRS); + addDrop(NSE_Blocks.MOSSY_TUFF_BRICKS_SLAB); + addDrop(NSE_Blocks.MOSSY_TUFF_BRICKS_STAIRS); + addDrop(NSE_Blocks.WHITE_CONCRETE_SLAB); + addDrop(NSE_Blocks.WHITE_CONCRETE_STAIRS); + addDrop(NSE_Blocks.CRACKED_WHITE_CONCRETE_SLAB); + addDrop(NSE_Blocks.CRACKED_WHITE_CONCRETE_STAIRS); + addDrop(NSE_Blocks.BEIGE_CONCRETE_SLAB); + addDrop(NSE_Blocks.BEIGE_CONCRETE_STAIRS); + addDrop(NSE_Blocks.CRACKED_BEIGE_CONCRETE_SLAB); + addDrop(NSE_Blocks.CRACKED_BEIGE_CONCRETE_STAIRS); + addDrop(NSE_Blocks.BLUE_CONCRETE_SLAB); + addDrop(NSE_Blocks.BLUE_CONCRETE_STAIRS); + addDrop(NSE_Blocks.CRACKED_BLUE_CONCRETE_SLAB); + addDrop(NSE_Blocks.CRACKED_BLUE_CONCRETE_STAIRS); + addDrop(NSE_Blocks.RED_CONCRETE_SLAB); + addDrop(NSE_Blocks.RED_CONCRETE_STAIRS); + addDrop(NSE_Blocks.CRACKED_RED_CONCRETE_SLAB); + addDrop(NSE_Blocks.CRACKED_RED_CONCRETE_STAIRS); + addDrop(NSE_Blocks.YELLOW_CONCRETE_SLAB); + addDrop(NSE_Blocks.YELLOW_CONCRETE_STAIRS); + addDrop(NSE_Blocks.CRACKED_YELLOW_CONCRETE_SLAB); + addDrop(NSE_Blocks.CRACKED_YELLOW_CONCRETE_STAIRS); + addDrop(NSE_Blocks.GREEN_CONCRETE_SLAB); + addDrop(NSE_Blocks.GREEN_CONCRETE_STAIRS); + addDrop(NSE_Blocks.CRACKED_GREEN_CONCRETE_SLAB); + addDrop(NSE_Blocks.CRACKED_GREEN_CONCRETE_STAIRS); + addDrop(NSE_Blocks.NII_FLOOR_SLAB); + addDrop(NSE_Blocks.NII_FLOOR_STAIRS); + addDrop(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_SLAB); + addDrop(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_STAIRS); + addDrop(NSE_Blocks.CROSS_ACACIA_PLANKS_SLAB); + addDrop(NSE_Blocks.CROSS_ACACIA_PLANKS_STAIRS); + addDrop(NSE_Blocks.HERRINGBONE_OAK_PLANKS_SLAB); + addDrop(NSE_Blocks.HERRINGBONE_OAK_PLANKS_STAIRS); + addDrop(NSE_Blocks.CROSS_OAK_PLANKS_SLAB); + addDrop(NSE_Blocks.CROSS_OAK_PLANKS_STAIRS); + addDrop(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_SLAB); + addDrop(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_STAIRS); + addDrop(NSE_Blocks.CROSS_BIRCH_PLANKS_SLAB); + addDrop(NSE_Blocks.CROSS_BIRCH_PLANKS_STAIRS); + addDrop(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_SLAB); + addDrop(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_STAIRS); + addDrop(NSE_Blocks.CROSS_CRIMSON_PLANKS_SLAB); + addDrop(NSE_Blocks.CROSS_CRIMSON_PLANKS_STAIRS); + addDrop(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_SLAB); + addDrop(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_STAIRS); + addDrop(NSE_Blocks.CROSS_DARK_OAK_PLANKS_SLAB); + addDrop(NSE_Blocks.CROSS_DARK_OAK_PLANKS_STAIRS); + addDrop(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_SLAB); + addDrop(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_STAIRS); + addDrop(NSE_Blocks.CROSS_JUNGLE_PLANKS_SLAB); + addDrop(NSE_Blocks.CROSS_JUNGLE_PLANKS_STAIRS); + addDrop(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_SLAB); + addDrop(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_STAIRS); + addDrop(NSE_Blocks.CROSS_MANGROVE_PLANKS_SLAB); + addDrop(NSE_Blocks.CROSS_MANGROVE_PLANKS_STAIRS); + addDrop(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_SLAB); + addDrop(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_STAIRS); + addDrop(NSE_Blocks.CROSS_SPRUCE_PLANKS_SLAB); + addDrop(NSE_Blocks.CROSS_SPRUCE_PLANKS_STAIRS); + addDrop(NSE_Blocks.HERRINGBONE_PARQUET_SLAB); + addDrop(NSE_Blocks.HERRINGBONE_PARQUET_STAIRS); + addDrop(NSE_Blocks.STRAIGHT_PARQUET_SLAB); + addDrop(NSE_Blocks.STRAIGHT_PARQUET_STAIRS); + addDrop(NSE_Blocks.SEPARATED_PARQUET_SLAB); + addDrop(NSE_Blocks.SEPARATED_PARQUET_STAIRS); + addDrop(NSE_Blocks.GREEN_LINOLEUM_SLAB); + addDrop(NSE_Blocks.GREEN_LINOLEUM_STAIRS); + addDrop(NSE_Blocks.BLUE_LINOLEUM_SLAB); + addDrop(NSE_Blocks.BLUE_LINOLEUM_STAIRS); + addDrop(NSE_Blocks.RED_LINOLEUM_SLAB); + addDrop(NSE_Blocks.RED_LINOLEUM_STAIRS); + addDrop(NSE_Blocks.GRAY_LINOLEUM_SLAB); + addDrop(NSE_Blocks.GRAY_LINOLEUM_STAIRS); + addDrop(NSE_Blocks.ORANGE_LINOLEUM_SLAB); + addDrop(NSE_Blocks.ORANGE_LINOLEUM_STAIRS); + addDrop(NSE_Blocks.BROWN_LINOLEUM_SLAB); + addDrop(NSE_Blocks.BROWN_LINOLEUM_STAIRS); + addDrop(NSE_Blocks.CYAN_LINOLEUM_SLAB); + addDrop(NSE_Blocks.CYAN_LINOLEUM_STAIRS); + addDrop(NSE_Blocks.METAL_PLATING_SLAB); + addDrop(NSE_Blocks.METAL_PLATING_STAIRS); + + addDropWithSilkTouch(NSE_Custom.LIGHT_BULB_LAMP); + } +} \ No newline at end of file diff --git a/src/main/java/su/a71/new_soviet/datagen/BlockTagGenerator.java b/src/main/java/su/a71/new_soviet/datagen/BlockTagGenerator.java new file mode 100644 index 0000000..c28012d --- /dev/null +++ b/src/main/java/su/a71/new_soviet/datagen/BlockTagGenerator.java @@ -0,0 +1,680 @@ +package su.a71.new_soviet.datagen; +// === ABANDON HOPE, YE WHO ENTER HERE === + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.BlockTags; +import su.a71.new_soviet.registration.NSE_Blocks; +import su.a71.new_soviet.registration.NSE_Custom; +import su.a71.new_soviet.registration.NSE_Tags; + +import java.util.concurrent.CompletableFuture; + +public class BlockTagGenerator extends FabricTagProvider.BlockTagProvider { + + public BlockTagGenerator(FabricDataOutput output, CompletableFuture completableFuture) { + super(output, completableFuture); + } + + @Override + protected void configure(RegistryWrapper.WrapperLookup arg) { + // Blocks mined with a pickaxe + getOrCreateTagBuilder(BlockTags.PICKAXE_MINEABLE) + .add(NSE_Blocks.SAND_TILES) + .add(NSE_Blocks.HANDRAIL) + .add(NSE_Blocks.NII_FLOOR) + .add(NSE_Blocks.BIG_GREEN_TILES) + .add(NSE_Blocks.BIG_GREEN_TILES_CRACKED) + .add(NSE_Blocks.GREEN_BRICKS) + .add(NSE_Blocks.CRACKED_GREEN_BRICKS) + .add(NSE_Blocks.MOSSY_GREEN_BRICKS) + .add(NSE_Blocks.GREEN_BRICKS_2) + .add(NSE_Blocks.CRACKED_GREEN_BRICKS_2) + .add(NSE_Blocks.MOSSY_GREEN_BRICKS_2) + .add(NSE_Blocks.CRACKED_SAND_TILES) + .add(NSE_Blocks.MOSSY_SAND_TILES) + .add(NSE_Blocks.SMALL_SAND_TILES) + .add(NSE_Blocks.SMALL_CRACKED_SAND_TILES) + .add(NSE_Blocks.HERRINGBONE_SAND_TILES) + .add(NSE_Blocks.CROSS_SAND_TILES) + .add(NSE_Blocks.BIG_SAND_TILES) + .add(NSE_Blocks.SAND_BRICKS) + .add(NSE_Blocks.CRACKED_SAND_BRICKS) + .add(NSE_Blocks.MOSSY_SAND_BRICKS) + .add(NSE_Blocks.BIG_SAND_BRICKS) + .add(NSE_Blocks.BRICK_TILES) + .add(NSE_Blocks.CRACKED_BRICK_TILES) + .add(NSE_Blocks.MOSSY_BRICK_TILES) + .add(NSE_Blocks.DIRTY_BRICK_TILES) + .add(NSE_Blocks.DARK_BRICK_TILES) + .add(NSE_Blocks.CRACKED_DARK_BRICK_TILES) + .add(NSE_Blocks.MOSSY_DARK_BRICK_TILES) + .add(NSE_Blocks.DIRTY_DARK_BRICK_TILES) + .add(NSE_Blocks.GLAZED_BRICK_TILES) + .add(NSE_Blocks.CRACKED_GLAZED_BRICK_TILES) + .add(NSE_Blocks.RED_BRICKS) + .add(NSE_Blocks.CRACKED_RED_BRICKS) + .add(NSE_Blocks.MOSSY_RED_BRICKS) + .add(NSE_Blocks.TEAL_TILES) + .add(NSE_Blocks.CRACKED_TEAL_TILES) + .add(NSE_Blocks.MOSSY_TEAL_TILES) + .add(NSE_Blocks.SMALL_TEAL_TILES) + .add(NSE_Blocks.SMALL_CRACKED_TEAL_TILES) + .add(NSE_Blocks.GLAZED_TEAL_TILES) + .add(NSE_Blocks.CRACKED_GLAZED_TEAL_TILES) + .add(NSE_Blocks.VARIATED_TEAL_TILES) + .add(NSE_Blocks.AQUAMARINE_TILES) + .add(NSE_Blocks.CRACKED_AQUAMARINE_TILES) + .add(NSE_Blocks.MOSSY_AQUAMARINE_TILES) + .add(NSE_Blocks.DIRTY_AQUAMARINE_TILES) + .add(NSE_Blocks.SMALL_AQUAMARINE_TILES) + .add(NSE_Blocks.SMALL_CRACKED_AQUAMARINE_TILES) + .add(NSE_Blocks.GLAZED_AQUAMARINE_TILES) + .add(NSE_Blocks.CRACKED_GLAZED_AQUAMARINE_TILES) + .add(NSE_Blocks.SMALL_DIORITE_TILES) + .add(NSE_Blocks.SMALL_CRACKED_DIORITE_TILES) + .add(NSE_Blocks.BIG_DIORITE_TILES) + .add(NSE_Blocks.DIORITE_BRICKS) + .add(NSE_Blocks.CRACKED_DIORITE_BRICKS) + .add(NSE_Blocks.MOSSY_DIORITE_BRICKS) + .add(NSE_Blocks.CALCITE_TILES) + .add(NSE_Blocks.CRACKED_CALCITE_TILES) + .add(NSE_Blocks.MOSSY_CALCITE_TILES) + .add(NSE_Blocks.DIAGONAL_CALCITE_TILES) + .add(NSE_Blocks.NII_WALL_1) + .add(NSE_Blocks.CRACKED_NII_WALL_1) + .add(NSE_Blocks.NII_WALL_2) + .add(NSE_Blocks.NII_WALL_3) + .add(NSE_Blocks.DRIPSTONE_TILES) + .add(NSE_Blocks.CRACKED_DRIPSTONE_TILES) + .add(NSE_Blocks.MOSSY_DRIPSTONE_TILES) + .add(NSE_Blocks.DRIPSTONE_BRICKS) + .add(NSE_Blocks.DEEPSLATE_TILES) + .add(NSE_Blocks.CRACKED_DEEPSLATE_TILES) + .add(NSE_Blocks.MOSSY_DEEPSLATE_TILES) + .add(NSE_Blocks.SMALL_DEEPSLATE_TILES) + .add(NSE_Blocks.SMALL_CRACKED_DEEPSLATE_TILES) + .add(NSE_Blocks.DIAGONAL_DEEPSLATE_TILES) + .add(NSE_Blocks.LIGHT_BLUE_TILES) + .add(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES) + .add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES) + .add(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES) + .add(NSE_Blocks.SMALL_LIGHT_BLUE_TILES) + .add(NSE_Blocks.SMALL_CRACKED_LIGHT_BLUE_TILES) + .add(NSE_Blocks.GLAZED_LIGHT_BLUE_TILES) + .add(NSE_Blocks.CRACKED_GLAZED_LIGHT_BLUE_TILES) + .add(NSE_Blocks.LIGHT_BLUE_BRICKS) + .add(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS) + .add(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS) + .add(NSE_Blocks.BIG_GRANITE_TILES) + .add(NSE_Blocks.SMALL_GRANITE_TILES) + .add(NSE_Blocks.SMALL_CRACKED_GRANITE_TILES) + .add(NSE_Blocks.GREEN_WHITE_TILES) + .add(NSE_Blocks.CRACKED_GREEN_WHITE_TILES) + .add(NSE_Blocks.MOSSY_GREEN_WHITE_TILES) + .add(NSE_Blocks.TUFF_TILES) + .add(NSE_Blocks.CRACKED_TUFF_TILES) + .add(NSE_Blocks.MOSSY_TUFF_TILES) + .add(NSE_Blocks.BIG_TUFF_TILES) + .add(NSE_Blocks.TUFF_BRICKS) + .add(NSE_Blocks.CRACKED_TUFF_BRICKS) + .add(NSE_Blocks.MOSSY_TUFF_BRICKS) + .add(NSE_Blocks.INDUSTRIAL_WARNING) + .add(NSE_Blocks.GRAY_WARNING) + .add(NSE_Blocks.RED_WARNING) + .add(NSE_Blocks.ORANGE_WARNING) + .add(NSE_Blocks.YELLOW_WARNING) + .add(NSE_Blocks.LIME_WARNING) + .add(NSE_Blocks.GREEN_WARNING) + .add(NSE_Blocks.CYAN_WARNING) + .add(NSE_Blocks.LIGHT_BLUE_WARNING) + .add(NSE_Blocks.BLUE_WARNING) + .add(NSE_Blocks.PURPLE_WARNING) + .add(NSE_Blocks.MAGENTA_WARNING) + .add(NSE_Blocks.METAL_PLATING) + .add(NSE_Blocks.CONCRETE_WALL) + .add(NSE_Blocks.SMALL_YELLOW_TILES) + .add(NSE_Blocks.SMALL_CRACKED_YELLOW_TILES) + .add(NSE_Blocks.SAND_TILES_STAIRS) + .add(NSE_Blocks.SAND_TILES_SLAB) + .add(NSE_Blocks.CRACKED_SAND_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_SAND_TILES_SLAB) + .add(NSE_Blocks.MOSSY_SAND_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_SAND_TILES_SLAB) + .add(NSE_Blocks.HERRINGBONE_SAND_TILES_STAIRS) + .add(NSE_Blocks.HERRINGBONE_SAND_TILES_SLAB) + .add(NSE_Blocks.CROSS_SAND_TILES_STAIRS) + .add(NSE_Blocks.CROSS_SAND_TILES_SLAB) + .add(NSE_Blocks.SAND_BRICKS_STAIRS) + .add(NSE_Blocks.SAND_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_SAND_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_SAND_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_SAND_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_SAND_BRICKS_SLAB) + .add(NSE_Blocks.BIG_SAND_BRICKS_STAIRS) + .add(NSE_Blocks.BIG_SAND_BRICKS_SLAB) + .add(NSE_Blocks.BRICK_TILES_STAIRS) + .add(NSE_Blocks.BRICK_TILES_SLAB) + .add(NSE_Blocks.CRACKED_BRICK_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_BRICK_TILES_SLAB) + .add(NSE_Blocks.MOSSY_BRICK_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_BRICK_TILES_SLAB) + .add(NSE_Blocks.DIRTY_BRICK_TILES_STAIRS) + .add(NSE_Blocks.DIRTY_BRICK_TILES_SLAB) + .add(NSE_Blocks.DARK_BRICK_TILES_STAIRS) + .add(NSE_Blocks.DARK_BRICK_TILES_SLAB) + .add(NSE_Blocks.CRACKED_DARK_BRICK_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_DARK_BRICK_TILES_SLAB) + .add(NSE_Blocks.MOSSY_DARK_BRICK_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_DARK_BRICK_TILES_SLAB) + .add(NSE_Blocks.DIRTY_DARK_BRICK_TILES_STAIRS) + .add(NSE_Blocks.DIRTY_DARK_BRICK_TILES_SLAB) + .add(NSE_Blocks.RED_BRICKS_STAIRS) + .add(NSE_Blocks.RED_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_RED_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_RED_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_RED_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_RED_BRICKS_SLAB) + .add(NSE_Blocks.TEAL_TILES_STAIRS) + .add(NSE_Blocks.TEAL_TILES_SLAB) + .add(NSE_Blocks.CRACKED_TEAL_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_TEAL_TILES_SLAB) + .add(NSE_Blocks.MOSSY_TEAL_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_TEAL_TILES_SLAB) + .add(NSE_Blocks.VARIATED_TEAL_TILES_STAIRS) + .add(NSE_Blocks.VARIATED_TEAL_TILES_SLAB) + .add(NSE_Blocks.GREEN_BRICKS_STAIRS) + .add(NSE_Blocks.GREEN_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_GREEN_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_GREEN_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_GREEN_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_GREEN_BRICKS_SLAB) + .add(NSE_Blocks.GREEN_BRICKS_2_STAIRS) + .add(NSE_Blocks.GREEN_BRICKS_2_SLAB) + .add(NSE_Blocks.CRACKED_GREEN_BRICKS_2_STAIRS) + .add(NSE_Blocks.CRACKED_GREEN_BRICKS_2_SLAB) + .add(NSE_Blocks.MOSSY_GREEN_BRICKS_2_STAIRS) + .add(NSE_Blocks.MOSSY_GREEN_BRICKS_2_SLAB) + .add(NSE_Blocks.AQUAMARINE_TILES_STAIRS) + .add(NSE_Blocks.AQUAMARINE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_AQUAMARINE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_AQUAMARINE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_AQUAMARINE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_AQUAMARINE_TILES_SLAB) + .add(NSE_Blocks.DIRTY_AQUAMARINE_TILES_STAIRS) + .add(NSE_Blocks.DIRTY_AQUAMARINE_TILES_SLAB) + .add(NSE_Blocks.DIORITE_BRICKS_STAIRS) + .add(NSE_Blocks.DIORITE_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_DIORITE_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_DIORITE_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_DIORITE_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_DIORITE_BRICKS_SLAB) + .add(NSE_Blocks.CALCITE_TILES_STAIRS) + .add(NSE_Blocks.CALCITE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_CALCITE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_CALCITE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_CALCITE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_CALCITE_TILES_SLAB) + .add(NSE_Blocks.DRIPSTONE_TILES_STAIRS) + .add(NSE_Blocks.DRIPSTONE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_DRIPSTONE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_DRIPSTONE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_DRIPSTONE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_DRIPSTONE_TILES_SLAB) + .add(NSE_Blocks.DEEPSLATE_TILES_STAIRS) + .add(NSE_Blocks.DEEPSLATE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_DEEPSLATE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_DEEPSLATE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_DEEPSLATE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_DEEPSLATE_TILES_SLAB) + .add(NSE_Blocks.LIGHT_BLUE_TILES_STAIRS) + .add(NSE_Blocks.LIGHT_BLUE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_SLAB) + .add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_STAIRS) + .add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_SLAB) + .add(NSE_Blocks.LIGHT_BLUE_BRICKS_STAIRS) + .add(NSE_Blocks.LIGHT_BLUE_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_SLAB) + .add(NSE_Blocks.GREEN_WHITE_TILES_STAIRS) + .add(NSE_Blocks.GREEN_WHITE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_SLAB) + .add(NSE_Blocks.TUFF_TILES_STAIRS) + .add(NSE_Blocks.TUFF_TILES_SLAB) + .add(NSE_Blocks.CRACKED_TUFF_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_TUFF_TILES_SLAB) + .add(NSE_Blocks.MOSSY_TUFF_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_TUFF_TILES_SLAB) + .add(NSE_Blocks.TUFF_BRICKS_STAIRS) + .add(NSE_Blocks.TUFF_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_TUFF_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_TUFF_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_TUFF_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_TUFF_BRICKS_SLAB) + .add(NSE_Blocks.WHITE_CONCRETE_STAIRS) + .add(NSE_Blocks.WHITE_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_WHITE_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_WHITE_CONCRETE_SLAB) + .add(NSE_Blocks.BEIGE_CONCRETE_STAIRS) + .add(NSE_Blocks.BEIGE_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_BEIGE_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_BEIGE_CONCRETE_SLAB) + .add(NSE_Blocks.BLUE_CONCRETE_STAIRS) + .add(NSE_Blocks.BLUE_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_BLUE_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_BLUE_CONCRETE_SLAB) + .add(NSE_Blocks.RED_CONCRETE_STAIRS) + .add(NSE_Blocks.RED_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_RED_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_RED_CONCRETE_SLAB) + .add(NSE_Blocks.YELLOW_CONCRETE_STAIRS) + .add(NSE_Blocks.YELLOW_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_YELLOW_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_YELLOW_CONCRETE_SLAB) + .add(NSE_Blocks.GREEN_CONCRETE_STAIRS) + .add(NSE_Blocks.GREEN_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_GREEN_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_GREEN_CONCRETE_SLAB) + .add(NSE_Blocks.NII_FLOOR_STAIRS) + .add(NSE_Blocks.NII_FLOOR_SLAB) + .add(NSE_Blocks.METAL_PLATING_STAIRS) + .add(NSE_Blocks.METAL_PLATING_SLAB) + .add(NSE_Custom.VINTAGE_LAMP) + .add(NSE_Custom.LIGHT_BULB_LAMP); + + // Blocks mined with an axe + getOrCreateTagBuilder(BlockTags.AXE_MINEABLE) + .add(NSE_Blocks.CRATE) + .add(NSE_Blocks.CONCRETE_WALL) + .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS) + .add(NSE_Blocks.CROSS_ACACIA_PLANKS) + .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS) + .add(NSE_Blocks.CROSS_OAK_PLANKS) + .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS) + .add(NSE_Blocks.CROSS_BIRCH_PLANKS) + .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS) + .add(NSE_Blocks.CROSS_CRIMSON_PLANKS) + .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS) + .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS) + .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS) + .add(NSE_Blocks.CROSS_JUNGLE_PLANKS) + .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS) + .add(NSE_Blocks.CROSS_MANGROVE_PLANKS) + .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS) + .add(NSE_Blocks.CROSS_SPRUCE_PLANKS) + .add(NSE_Blocks.HERRINGBONE_PARQUET) + .add(NSE_Blocks.STRAIGHT_PARQUET) + .add(NSE_Blocks.SEPARATED_PARQUET) + .add(NSE_Blocks.GREEN_LINOLEUM) + .add(NSE_Blocks.BLUE_LINOLEUM) + .add(NSE_Blocks.RED_LINOLEUM) + .add(NSE_Blocks.GRAY_LINOLEUM) + .add(NSE_Blocks.ORANGE_LINOLEUM) + .add(NSE_Blocks.BROWN_LINOLEUM) + .add(NSE_Blocks.CYAN_LINOLEUM) + .add(NSE_Blocks.CROSS_ORANGE_LINOLEUM) + .add(NSE_Blocks.CROSS_BROWN_LINOLEUM) + .add(NSE_Blocks.CHISELED_BIRCH_DOOR) + .add(NSE_Blocks.CHISELED_MANGROVE_DOOR) + .add(NSE_Blocks.CHISELED_OAK_DOOR) + .add(NSE_Blocks.CHISELED_SPRUCE_DOOR) + .add(NSE_Blocks.GREEN_WALLPAPER) + .add(NSE_Blocks.BROWN_WALLPAPER) + .add(NSE_Blocks.BEIGE_WALLPAPER) + .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_ACACIA_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_ACACIA_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_OAK_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_BIRCH_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_BIRCH_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_PARQUET_STAIRS) + .add(NSE_Blocks.HERRINGBONE_PARQUET_SLAB) + .add(NSE_Blocks.STRAIGHT_PARQUET_STAIRS) + .add(NSE_Blocks.STRAIGHT_PARQUET_SLAB) + .add(NSE_Blocks.SEPARATED_PARQUET_STAIRS) + .add(NSE_Blocks.SEPARATED_PARQUET_SLAB) + .add(NSE_Blocks.GREEN_LINOLEUM_STAIRS) + .add(NSE_Blocks.GREEN_LINOLEUM_SLAB) + .add(NSE_Blocks.BLUE_LINOLEUM_STAIRS) + .add(NSE_Blocks.BLUE_LINOLEUM_SLAB) + .add(NSE_Blocks.RED_LINOLEUM_STAIRS) + .add(NSE_Blocks.RED_LINOLEUM_SLAB) + .add(NSE_Blocks.GRAY_LINOLEUM_STAIRS) + .add(NSE_Blocks.GRAY_LINOLEUM_SLAB) + .add(NSE_Blocks.ORANGE_LINOLEUM_STAIRS) + .add(NSE_Blocks.ORANGE_LINOLEUM_SLAB) + .add(NSE_Blocks.BROWN_LINOLEUM_STAIRS) + .add(NSE_Blocks.BROWN_LINOLEUM_SLAB) + .add(NSE_Blocks.CYAN_LINOLEUM_STAIRS) + .add(NSE_Blocks.CYAN_LINOLEUM_SLAB) + .add(NSE_Custom.TABLE_LAMP); + + getOrCreateTagBuilder(NSE_Tags.Blocks.RAKE_MINEABLE) + .add(NSE_Blocks.MEAT) + .add(NSE_Blocks.MEAT_EYE) + .add(NSE_Blocks.MEAT_TEETH) + .add(NSE_Blocks.PURPLE_GOO); + + getOrCreateTagBuilder(NSE_Tags.Blocks.TV) + .add(NSE_Custom.TV) + .add(NSE_Custom.RED_TV) + .add(NSE_Custom.BROWN_TV); + + getOrCreateTagBuilder(NSE_Tags.Blocks.POST_LAMPS) + .add(NSE_Custom.CAGED_POST_LAMP) + .add(NSE_Custom.VINTAGE_POST_LAMP) + .add(NSE_Custom.MODERN_POST_LAMP) + .add(NSE_Custom.BIG_POST_LAMP); + + getOrCreateTagBuilder(BlockTags.DOORS) + .add(NSE_Blocks.CHISELED_BIRCH_DOOR) + .add(NSE_Blocks.CHISELED_OAK_DOOR) + .add(NSE_Blocks.CHISELED_MANGROVE_DOOR) + .add(NSE_Blocks.CHISELED_SPRUCE_DOOR); + + getOrCreateTagBuilder(BlockTags.WOODEN_DOORS) + .add(NSE_Blocks.CHISELED_BIRCH_DOOR) + .add(NSE_Blocks.CHISELED_OAK_DOOR) + .add(NSE_Blocks.CHISELED_MANGROVE_DOOR) + .add(NSE_Blocks.CHISELED_SPRUCE_DOOR); + + getOrCreateTagBuilder(BlockTags.WALLS).add(NSE_Blocks.CONCRETE_WALL); + + getOrCreateTagBuilder(BlockTags.PLANKS) + .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS) + .add(NSE_Blocks.CROSS_ACACIA_PLANKS) + .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS) + .add(NSE_Blocks.CROSS_OAK_PLANKS) + .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS) + .add(NSE_Blocks.CROSS_BIRCH_PLANKS) + .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS) + .add(NSE_Blocks.CROSS_CRIMSON_PLANKS) + .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS) + .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS) + .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS) + .add(NSE_Blocks.CROSS_JUNGLE_PLANKS) + .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS) + .add(NSE_Blocks.CROSS_MANGROVE_PLANKS) + .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS) + .add(NSE_Blocks.CROSS_SPRUCE_PLANKS); + + getOrCreateTagBuilder(BlockTags.STAIRS) + .add(NSE_Blocks.SAND_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_SAND_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_SAND_TILES_STAIRS) + .add(NSE_Blocks.HERRINGBONE_SAND_TILES_STAIRS) + .add(NSE_Blocks.CROSS_SAND_TILES_STAIRS) + .add(NSE_Blocks.SAND_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_SAND_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_SAND_BRICKS_STAIRS) + .add(NSE_Blocks.BIG_SAND_BRICKS_STAIRS) + .add(NSE_Blocks.BRICK_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_BRICK_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_BRICK_TILES_STAIRS) + .add(NSE_Blocks.DIRTY_BRICK_TILES_STAIRS) + .add(NSE_Blocks.DARK_BRICK_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_DARK_BRICK_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_DARK_BRICK_TILES_STAIRS) + .add(NSE_Blocks.DIRTY_DARK_BRICK_TILES_STAIRS) + .add(NSE_Blocks.RED_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_RED_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_RED_BRICKS_STAIRS) + .add(NSE_Blocks.TEAL_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_TEAL_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_TEAL_TILES_STAIRS) + .add(NSE_Blocks.VARIATED_TEAL_TILES_STAIRS) + .add(NSE_Blocks.GREEN_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_GREEN_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_GREEN_BRICKS_STAIRS) + .add(NSE_Blocks.GREEN_BRICKS_2_STAIRS) + .add(NSE_Blocks.CRACKED_GREEN_BRICKS_2_STAIRS) + .add(NSE_Blocks.MOSSY_GREEN_BRICKS_2_STAIRS) + .add(NSE_Blocks.AQUAMARINE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_AQUAMARINE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_AQUAMARINE_TILES_STAIRS) + .add(NSE_Blocks.DIRTY_AQUAMARINE_TILES_STAIRS) + .add(NSE_Blocks.DIORITE_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_DIORITE_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_DIORITE_BRICKS_STAIRS) + .add(NSE_Blocks.CALCITE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_CALCITE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_CALCITE_TILES_STAIRS) + .add(NSE_Blocks.DRIPSTONE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_DRIPSTONE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_DRIPSTONE_TILES_STAIRS) + .add(NSE_Blocks.DEEPSLATE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_DEEPSLATE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_DEEPSLATE_TILES_STAIRS) + .add(NSE_Blocks.LIGHT_BLUE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_STAIRS) + .add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_STAIRS) + .add(NSE_Blocks.LIGHT_BLUE_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_STAIRS) + .add(NSE_Blocks.GREEN_WHITE_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_STAIRS) + .add(NSE_Blocks.TUFF_TILES_STAIRS) + .add(NSE_Blocks.CRACKED_TUFF_TILES_STAIRS) + .add(NSE_Blocks.MOSSY_TUFF_TILES_STAIRS) + .add(NSE_Blocks.TUFF_BRICKS_STAIRS) + .add(NSE_Blocks.CRACKED_TUFF_BRICKS_STAIRS) + .add(NSE_Blocks.MOSSY_TUFF_BRICKS_STAIRS) + .add(NSE_Blocks.WHITE_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_WHITE_CONCRETE_STAIRS) + .add(NSE_Blocks.BEIGE_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_BEIGE_CONCRETE_STAIRS) + .add(NSE_Blocks.BLUE_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_BLUE_CONCRETE_STAIRS) + .add(NSE_Blocks.RED_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_RED_CONCRETE_STAIRS) + .add(NSE_Blocks.YELLOW_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_YELLOW_CONCRETE_STAIRS) + .add(NSE_Blocks.GREEN_CONCRETE_STAIRS) + .add(NSE_Blocks.CRACKED_GREEN_CONCRETE_STAIRS) + .add(NSE_Blocks.NII_FLOOR_STAIRS) + .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_ACACIA_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_BIRCH_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_PARQUET_STAIRS) + .add(NSE_Blocks.STRAIGHT_PARQUET_STAIRS) + .add(NSE_Blocks.SEPARATED_PARQUET_STAIRS) + .add(NSE_Blocks.GREEN_LINOLEUM_STAIRS) + .add(NSE_Blocks.BLUE_LINOLEUM_STAIRS) + .add(NSE_Blocks.RED_LINOLEUM_STAIRS) + .add(NSE_Blocks.GRAY_LINOLEUM_STAIRS) + .add(NSE_Blocks.ORANGE_LINOLEUM_STAIRS) + .add(NSE_Blocks.BROWN_LINOLEUM_STAIRS) + .add(NSE_Blocks.CYAN_LINOLEUM_STAIRS) + .add(NSE_Blocks.METAL_PLATING_STAIRS); + + getOrCreateTagBuilder(BlockTags.SLABS) + .add(NSE_Blocks.SAND_TILES_SLAB) + .add(NSE_Blocks.CRACKED_SAND_TILES_SLAB) + .add(NSE_Blocks.MOSSY_SAND_TILES_SLAB) + .add(NSE_Blocks.HERRINGBONE_SAND_TILES_SLAB) + .add(NSE_Blocks.CROSS_SAND_TILES_SLAB) + .add(NSE_Blocks.SAND_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_SAND_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_SAND_BRICKS_SLAB) + .add(NSE_Blocks.BIG_SAND_BRICKS_SLAB) + .add(NSE_Blocks.BRICK_TILES_SLAB) + .add(NSE_Blocks.CRACKED_BRICK_TILES_SLAB) + .add(NSE_Blocks.MOSSY_BRICK_TILES_SLAB) + .add(NSE_Blocks.DIRTY_BRICK_TILES_SLAB) + .add(NSE_Blocks.DARK_BRICK_TILES_SLAB) + .add(NSE_Blocks.CRACKED_DARK_BRICK_TILES_SLAB) + .add(NSE_Blocks.MOSSY_DARK_BRICK_TILES_SLAB) + .add(NSE_Blocks.DIRTY_DARK_BRICK_TILES_SLAB) + .add(NSE_Blocks.RED_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_RED_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_RED_BRICKS_SLAB) + .add(NSE_Blocks.TEAL_TILES_SLAB) + .add(NSE_Blocks.CRACKED_TEAL_TILES_SLAB) + .add(NSE_Blocks.MOSSY_TEAL_TILES_SLAB) + .add(NSE_Blocks.VARIATED_TEAL_TILES_SLAB) + .add(NSE_Blocks.GREEN_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_GREEN_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_GREEN_BRICKS_SLAB) + .add(NSE_Blocks.GREEN_BRICKS_2_SLAB) + .add(NSE_Blocks.CRACKED_GREEN_BRICKS_2_SLAB) + .add(NSE_Blocks.MOSSY_GREEN_BRICKS_2_SLAB) + .add(NSE_Blocks.AQUAMARINE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_AQUAMARINE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_AQUAMARINE_TILES_SLAB) + .add(NSE_Blocks.DIRTY_AQUAMARINE_TILES_SLAB) + .add(NSE_Blocks.DIORITE_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_DIORITE_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_DIORITE_BRICKS_SLAB) + .add(NSE_Blocks.CALCITE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_CALCITE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_CALCITE_TILES_SLAB) + .add(NSE_Blocks.DRIPSTONE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_DRIPSTONE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_DRIPSTONE_TILES_SLAB) + .add(NSE_Blocks.DEEPSLATE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_DEEPSLATE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_DEEPSLATE_TILES_SLAB) + .add(NSE_Blocks.LIGHT_BLUE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_SLAB) + .add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_SLAB) + .add(NSE_Blocks.LIGHT_BLUE_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_SLAB) + .add(NSE_Blocks.GREEN_WHITE_TILES_SLAB) + .add(NSE_Blocks.CRACKED_GREEN_WHITE_TILES_SLAB) + .add(NSE_Blocks.MOSSY_GREEN_WHITE_TILES_SLAB) + .add(NSE_Blocks.TUFF_TILES_SLAB) + .add(NSE_Blocks.CRACKED_TUFF_TILES_SLAB) + .add(NSE_Blocks.MOSSY_TUFF_TILES_SLAB) + .add(NSE_Blocks.TUFF_BRICKS_SLAB) + .add(NSE_Blocks.CRACKED_TUFF_BRICKS_SLAB) + .add(NSE_Blocks.MOSSY_TUFF_BRICKS_SLAB) + .add(NSE_Blocks.WHITE_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_WHITE_CONCRETE_SLAB) + .add(NSE_Blocks.BEIGE_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_BEIGE_CONCRETE_SLAB) + .add(NSE_Blocks.BLUE_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_BLUE_CONCRETE_SLAB) + .add(NSE_Blocks.RED_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_RED_CONCRETE_SLAB) + .add(NSE_Blocks.YELLOW_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_YELLOW_CONCRETE_SLAB) + .add(NSE_Blocks.GREEN_CONCRETE_SLAB) + .add(NSE_Blocks.CRACKED_GREEN_CONCRETE_SLAB) + .add(NSE_Blocks.NII_FLOOR_SLAB) + .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_ACACIA_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_OAK_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_BIRCH_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_PARQUET_SLAB) + .add(NSE_Blocks.STRAIGHT_PARQUET_SLAB) + .add(NSE_Blocks.SEPARATED_PARQUET_SLAB) + .add(NSE_Blocks.GREEN_LINOLEUM_SLAB) + .add(NSE_Blocks.BLUE_LINOLEUM_SLAB) + .add(NSE_Blocks.RED_LINOLEUM_SLAB) + .add(NSE_Blocks.GRAY_LINOLEUM_SLAB) + .add(NSE_Blocks.ORANGE_LINOLEUM_SLAB) + .add(NSE_Blocks.BROWN_LINOLEUM_SLAB) + .add(NSE_Blocks.CYAN_LINOLEUM_SLAB) + .add(NSE_Blocks.METAL_PLATING_SLAB); + + getOrCreateTagBuilder(BlockTags.WOODEN_STAIRS) + .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_ACACIA_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_BIRCH_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_STAIRS) + .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_STAIRS) + .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_STAIRS); + + getOrCreateTagBuilder(BlockTags.WOODEN_SLABS) + .add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_ACACIA_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_OAK_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_OAK_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_BIRCH_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_CRIMSON_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_DARK_OAK_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_JUNGLE_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_MANGROVE_PLANKS_SLAB) + .add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_SLAB) + .add(NSE_Blocks.CROSS_SPRUCE_PLANKS_SLAB); + } +} \ No newline at end of file diff --git a/src/main/java/su/a71/new_soviet/datagen/ModelGenerator.java b/src/main/java/su/a71/new_soviet/datagen/ModelGenerator.java new file mode 100644 index 0000000..496e4bb --- /dev/null +++ b/src/main/java/su/a71/new_soviet/datagen/ModelGenerator.java @@ -0,0 +1,54 @@ +package su.a71.new_soviet.datagen; +// === ABANDON HOPE, YE WHO ENTER HERE === + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricModelProvider; +import net.minecraft.block.Block; +import net.minecraft.data.client.BlockStateModelGenerator; +import net.minecraft.data.client.ItemModelGenerator; +import net.minecraft.data.client.Models; +import net.minecraft.data.client.TextureMap; +import net.minecraft.registry.Registries; +import net.minecraft.util.Identifier; +import su.a71.new_soviet.registration.NSE_Blocks; + +public class ModelGenerator extends FabricModelProvider { + public ModelGenerator(FabricDataOutput generator) { + super(generator); + } + + // Helper method since "normal" registerDoor doesn't account for non-flat texture dir + public void registerDoor(BlockStateModelGenerator blockStateModelGenerator, Block doorBlock) { + TextureMap textureMap = TextureMap.topBottom( + Registries.BLOCK.getId(doorBlock).withPath((path) -> "block/doors/" + path + "_top"), + Registries.BLOCK.getId(doorBlock).withPath((path) -> "block/doors/" + path + "_bottom")); + Identifier identifier = Models.DOOR_BOTTOM_LEFT.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); + Identifier identifier2 = Models.DOOR_BOTTOM_LEFT_OPEN.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); + Identifier identifier3 = Models.DOOR_BOTTOM_RIGHT.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); + Identifier identifier4 = Models.DOOR_BOTTOM_RIGHT_OPEN.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); + Identifier identifier5 = Models.DOOR_TOP_LEFT.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); + Identifier identifier6 = Models.DOOR_TOP_LEFT_OPEN.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); + Identifier identifier7 = Models.DOOR_TOP_RIGHT.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); + Identifier identifier8 = Models.DOOR_TOP_RIGHT_OPEN.upload(doorBlock, textureMap, blockStateModelGenerator.modelCollector); + blockStateModelGenerator.registerItemModel(doorBlock.asItem()); + blockStateModelGenerator.blockStateCollector.accept(BlockStateModelGenerator.createDoorBlockState(doorBlock, identifier, identifier2, identifier3, identifier4, identifier5, identifier6, identifier7, identifier8)); + } + + @Override + public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) { +// BlockStateModelGenerator.createSingletonBlockState(NSE_Blocks.SAND_TILES, new Identifier("new_soviet", "block/sand_tiles")); +// BlockStateModelGenerator.createSlabBlockState() +// BlockStateModelGenerator.createWallBlockState() +// BlockStateModelGenerator.createStairsBlockState(NSE_Blocks.SAND_TILES_STAIRS, new Identifier(NewSoviet.MOD_ID, "sand_tiles_stairs")); + registerDoor(blockStateModelGenerator, NSE_Blocks.CHISELED_BIRCH_DOOR); + registerDoor(blockStateModelGenerator, NSE_Blocks.CHISELED_SPRUCE_DOOR); + registerDoor(blockStateModelGenerator, NSE_Blocks.CHISELED_OAK_DOOR); + registerDoor(blockStateModelGenerator, NSE_Blocks.CHISELED_MANGROVE_DOOR); + +// blockStateModelGenerator.register(); + } + + @Override + public void generateItemModels(ItemModelGenerator itemModelGenerator) { + } +} diff --git a/src/main/java/su/a71/new_soviet/datagen/RecipeGenerator.java b/src/main/java/su/a71/new_soviet/datagen/RecipeGenerator.java new file mode 100644 index 0000000..698afb3 --- /dev/null +++ b/src/main/java/su/a71/new_soviet/datagen/RecipeGenerator.java @@ -0,0 +1,697 @@ +package su.a71.new_soviet.datagen; +// === ABANDON HOPE, YE WHO ENTER HERE === + +import com.google.common.collect.Lists; +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; +import net.minecraft.block.Blocks; +import net.minecraft.data.server.recipe.RecipeJsonProvider; +import net.minecraft.data.server.recipe.RecipeProvider; +import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder; +import net.minecraft.data.server.recipe.ShapelessRecipeJsonBuilder; +import net.minecraft.item.ItemConvertible; +import net.minecraft.item.Items; +import net.minecraft.recipe.Ingredient; +import net.minecraft.recipe.book.RecipeCategory; +import net.minecraft.registry.tag.ItemTags; +import net.minecraft.util.Util; +import su.a71.new_soviet.registration.NSE_Blocks; +import su.a71.new_soviet.registration.NSE_Custom; +import su.a71.new_soviet.registration.NSE_Items; + +import java.util.List; +import java.util.function.Consumer; + +public class RecipeGenerator extends FabricRecipeProvider { + public RecipeGenerator(FabricDataOutput generator) { + super(generator); + } + + private void mossRecipe(Consumer exporter, ItemConvertible output, ItemConvertible input) { + var path = convertBetween(output, input); + ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output).input(input).input(Items.VINE).criterion(FabricRecipeProvider.hasItem(output), + FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(input), + FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(Items.VINE), + FabricRecipeProvider.conditionsFromItem(output)).offerTo(exporter, path + "_vine"); + + ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output).input(input).input(Items.MOSS_BLOCK).criterion(FabricRecipeProvider.hasItem(output), + FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(input), + FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(Items.MOSS_BLOCK), + FabricRecipeProvider.conditionsFromItem(output)).offerTo(exporter, path + "_moss"); + } + + private void dirtyRecipe(Consumer exporter, ItemConvertible output, ItemConvertible input) { + var path = convertBetween(output, input); + ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output).input(input).input(Items.DIRT).criterion(FabricRecipeProvider.hasItem(output), + FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(input), + FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(Items.DIRT), + FabricRecipeProvider.conditionsFromItem(output)).offerTo(exporter, path + "_dirt"); + + ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output).input(input).input(Items.GLOW_LICHEN).criterion(FabricRecipeProvider.hasItem(output), + FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(input), + FabricRecipeProvider.conditionsFromItem(output)).criterion(FabricRecipeProvider.hasItem(Items.GLOW_LICHEN), + FabricRecipeProvider.conditionsFromItem(output)).offerTo(exporter, path + "_lichen"); + } + + private void stoneCuttingCategory(Consumer exporter, List category, RecipeCategory recipe_category) { + for (int i = 0; i < category.size(); i++) { + for (int j = 0; j < category.size(); j++) { + if (i != j) { + offerStonecuttingRecipe(exporter, recipe_category, + category.get(i), category.get(j)); + } + } + } + } + + private void diceRecipe(Consumer exporter, ItemConvertible dice) { + // why can't we use BlockTags.WOODEN_BUTTONS + var buttons = Util.make(Lists.newArrayList(), list -> { + list.add(Blocks.OAK_BUTTON); + list.add(Blocks.BAMBOO_BUTTON); + list.add(Blocks.BIRCH_BUTTON); + list.add(Blocks.CHERRY_BUTTON); + list.add(Blocks.ACACIA_BUTTON); + list.add(Blocks.CRIMSON_BUTTON); + list.add(Blocks.DARK_OAK_BUTTON); + list.add(Blocks.JUNGLE_BUTTON); + list.add(Blocks.MANGROVE_BUTTON); + list.add(Blocks.SPRUCE_BUTTON); + list.add(Blocks.WARPED_BUTTON); + }); + for (Object button : buttons) { + offerStonecuttingRecipe(exporter, RecipeCategory.MISC, dice, (ItemConvertible) button); + } + } + + private void warningStripeRecipe(Consumer exporter, ItemConvertible output, ItemConvertible dye) { + ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output, 4) + .pattern("D#D") + .pattern("#D#") + .pattern("D#D") + .input('D', dye) + .input('#', Items.IRON_INGOT) + .criterion(RecipeProvider.hasItem(Items.IRON_INGOT), + RecipeProvider.conditionsFromItem(Items.IRON_INGOT)) + .criterion(RecipeProvider.hasItem(dye), + RecipeProvider.conditionsFromItem(dye)) + .offerTo(exporter); + } + + private void crissCrossRecipe(Consumer exporter, ItemConvertible output, ItemConvertible input1, ItemConvertible input2) { + ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output, 4) + .pattern("XY") + .pattern("YX") + .input('X', input1) + .input('Y', input2) + .criterion(RecipeProvider.hasItem(input1), + RecipeProvider.conditionsFromItem(input1)) + .criterion(RecipeProvider.hasItem(input2), + RecipeProvider.conditionsFromItem(input2)) + .offerTo(exporter); + } + + private void tvRecipe(Consumer exporter, ItemConvertible output, ItemConvertible dye) { + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1) + .pattern("N N") + .pattern("DGD") + .pattern("DRD") + .input('D', dye) + .input('N', Items.IRON_NUGGET) + .input('R', Items.REDSTONE) + .input('G', Items.GLASS_PANE) + .criterion(RecipeProvider.hasItem(Items.IRON_NUGGET), + RecipeProvider.conditionsFromItem(Items.IRON_NUGGET)) + .criterion(RecipeProvider.hasItem(Items.GLASS_PANE), + RecipeProvider.conditionsFromItem(Items.GLASS_PANE)) + .criterion(RecipeProvider.hasItem(Items.REDSTONE), + RecipeProvider.conditionsFromItem(Items.REDSTONE)) + .criterion(RecipeProvider.hasItem(dye), + RecipeProvider.conditionsFromItem(dye)) + .offerTo(exporter); + } + + private void radioRecipe(Consumer exporter, ItemConvertible output) { + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1) + .pattern(" N") + .pattern("MMM") + .pattern("III") + .input('M', Blocks.NOTE_BLOCK) + .input('N', Items.IRON_NUGGET) + .input('I', Items.IRON_INGOT) + .criterion(RecipeProvider.hasItem(Items.IRON_NUGGET), + RecipeProvider.conditionsFromItem(Items.IRON_NUGGET)) + .criterion(RecipeProvider.hasItem(Items.NOTE_BLOCK), + RecipeProvider.conditionsFromItem(Items.NOTE_BLOCK)) + .criterion(RecipeProvider.hasItem(Items.IRON_INGOT), + RecipeProvider.conditionsFromItem(Items.IRON_INGOT)) + .offerTo(exporter); + } + + private void ceilingFanRecipe(Consumer exporter, ItemConvertible output) { + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1) + .pattern(" S ") + .pattern("WNW") + .input('S', Items.STICK) + .input('N', Items.IRON_NUGGET) + .input('W', Items.WHITE_WOOL) + .criterion(RecipeProvider.hasItem(Items.IRON_NUGGET), + RecipeProvider.conditionsFromItem(Items.IRON_NUGGET)) + .criterion(RecipeProvider.hasItem(Items.STICK), + RecipeProvider.conditionsFromItem(Items.STICK)) + .criterion(RecipeProvider.hasItem(Items.WHITE_WOOL), + RecipeProvider.conditionsFromItem(Items.WHITE_WOOL)) + .offerTo(exporter); + } + + private void tableLampRecipe(Consumer exporter, ItemConvertible output) { + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 3) + .pattern("WWW") + .pattern("WTW") + .pattern(" S ") + + .input('S', Items.STICK) + .input('T', Items.TORCH) + .input('W', ItemTags.WOOL) + .criterion(RecipeProvider.hasItem(Items.TORCH), + RecipeProvider.conditionsFromItem(Items.TORCH)) + .criterion(RecipeProvider.hasItem(Items.STICK), + RecipeProvider.conditionsFromItem(Items.STICK)) + .criterion("has_wool", RecipeProvider.conditionsFromTag(ItemTags.WOOL)) + .offerTo(exporter); + } + + private void vintageLampRecipe(Consumer exporter, ItemConvertible output) { + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 3) + .pattern("NNN") + .pattern("GTG") + .pattern(" N ") + + .input('N', Items.IRON_NUGGET) + .input('T', Items.TORCH) + .input('G', Items.GREEN_STAINED_GLASS) + .criterion(RecipeProvider.hasItem(Items.TORCH), + RecipeProvider.conditionsFromItem(Items.TORCH)) + .criterion(RecipeProvider.hasItem(Items.IRON_NUGGET), + RecipeProvider.conditionsFromItem(Items.IRON_NUGGET)) + .criterion(RecipeProvider.hasItem(Items.GREEN_STAINED_GLASS), + RecipeProvider.conditionsFromItem(Items.GREEN_STAINED_GLASS)) + .offerTo(exporter); + } + + private void sickleRecipe(Consumer exporter, ItemConvertible output) { + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1) + .pattern(" I ") + .pattern(" I") + .pattern(" S ") + .input('S', Items.STICK) + .input('I', Items.IRON_INGOT) + .criterion(RecipeProvider.hasItem(Items.STICK), + RecipeProvider.conditionsFromItem(Items.STICK)) + .criterion(RecipeProvider.hasItem(Items.IRON_INGOT), + RecipeProvider.conditionsFromItem(Items.IRON_INGOT)) + .offerTo(exporter); + } + + private void rakeRecipe(Consumer exporter, ItemConvertible output) { + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1) + .pattern("III") + .pattern(" N ") + .pattern(" S ") + .input('S', Items.STICK) + .input('I', Items.IRON_INGOT) + .input('N', Items.IRON_NUGGET) + .criterion(RecipeProvider.hasItem(Items.STICK), + RecipeProvider.conditionsFromItem(Items.STICK)) + .criterion(RecipeProvider.hasItem(Items.IRON_INGOT), + RecipeProvider.conditionsFromItem(Items.IRON_INGOT)) + .criterion(RecipeProvider.hasItem(Items.IRON_NUGGET), + RecipeProvider.conditionsFromItem(Items.IRON_NUGGET)) + .offerTo(exporter); + } + + private void offerStairsAndSlab(Consumer exporter, ItemConvertible output_stairs, ItemConvertible output_slab, ItemConvertible input) { + createStairsRecipe(output_stairs, Ingredient.ofItems(input)) + .criterion(hasItem(input), conditionsFromItem(input)).offerTo(exporter); + createSlabRecipe(RecipeCategory.BUILDING_BLOCKS, output_slab, Ingredient.ofItems(input)) + .criterion(hasItem(input), conditionsFromItem(input)).offerTo(exporter); + + offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, output_stairs, input); + offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, output_slab, input); + } + + @Override + public void generate(Consumer exporter) { + crissCrossRecipe(exporter, NSE_Blocks.SAND_TILES, Blocks.SMOOTH_SANDSTONE, Blocks.SMOOTH_RED_SANDSTONE); + crissCrossRecipe(exporter, NSE_Blocks.LIGHT_BLUE_TILES, Blocks.STONE, Items.LIGHT_BLUE_DYE); + crissCrossRecipe(exporter, NSE_Blocks.SMALL_WHITE_TILES, Blocks.STONE, Items.WHITE_DYE); + crissCrossRecipe(exporter, NSE_Blocks.GREEN_WHITE_TILES, Blocks.POLISHED_DIORITE, Items.GREEN_DYE); + + tvRecipe(exporter, NSE_Custom.TV, Items.ORANGE_DYE); + tvRecipe(exporter, NSE_Custom.BROWN_TV, Items.BROWN_DYE); + tvRecipe(exporter, NSE_Custom.RED_TV, Items.RED_DYE); + radioRecipe(exporter, NSE_Custom.RADIO_RECEIVER); + ceilingFanRecipe(exporter, NSE_Custom.CEILING_FAN); + tableLampRecipe(exporter, NSE_Custom.TABLE_LAMP); + vintageLampRecipe(exporter, NSE_Custom.VINTAGE_LAMP); + sickleRecipe(exporter, NSE_Items.SICKLE); + rakeRecipe(exporter, NSE_Items.RAKE); + + // Cracked blocks + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_BRICK_TILES, NSE_Blocks.BRICK_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GLAZED_BRICK_TILES, NSE_Blocks.GLAZED_BRICK_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_DARK_BRICK_TILES, NSE_Blocks.DARK_BRICK_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_NII_WALL_1, NSE_Blocks.NII_WALL_1); + offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_YELLOW_TILES, NSE_Blocks.SMALL_YELLOW_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_SAND_TILES, NSE_Blocks.SAND_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_SAND_TILES, NSE_Blocks.SMALL_SAND_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_SAND_BRICKS, NSE_Blocks.SAND_BRICKS); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_TEAL_TILES, NSE_Blocks.TEAL_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_TEAL_TILES, NSE_Blocks.SMALL_TEAL_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GLAZED_TEAL_TILES, NSE_Blocks.GLAZED_TEAL_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_AQUAMARINE_TILES, NSE_Blocks.AQUAMARINE_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_AQUAMARINE_TILES, NSE_Blocks.SMALL_AQUAMARINE_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GLAZED_AQUAMARINE_TILES, NSE_Blocks.GLAZED_AQUAMARINE_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_DIORITE_TILES, NSE_Blocks.SMALL_DIORITE_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_DIORITE_BRICKS, NSE_Blocks.DIORITE_BRICKS); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_CALCITE_TILES, NSE_Blocks.CALCITE_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_DRIPSTONE_TILES, NSE_Blocks.DRIPSTONE_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_DEEPSLATE_TILES, NSE_Blocks.DEEPSLATE_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_DEEPSLATE_TILES, NSE_Blocks.SMALL_DEEPSLATE_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_LIGHT_BLUE_TILES, NSE_Blocks.LIGHT_BLUE_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_LIGHT_BLUE_TILES, NSE_Blocks.SMALL_LIGHT_BLUE_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GLAZED_LIGHT_BLUE_TILES, NSE_Blocks.GLAZED_LIGHT_BLUE_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS, NSE_Blocks.LIGHT_BLUE_BRICKS); + offerCrackingRecipe(exporter, NSE_Blocks.SMALL_CRACKED_GRANITE_TILES, NSE_Blocks.SMALL_GRANITE_TILES); + 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); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GREEN_BRICKS, NSE_Blocks.GREEN_BRICKS); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_GREEN_BRICKS_2, NSE_Blocks.GREEN_BRICKS_2); + offerCrackingRecipe(exporter, NSE_Blocks.BIG_GREEN_TILES_CRACKED, NSE_Blocks.BIG_GREEN_TILES); + offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_RED_BRICKS, NSE_Blocks.RED_BRICKS); + + // Mossy variants + mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_TILES, NSE_Blocks.SAND_TILES); + mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_BRICKS, NSE_Blocks.SAND_BRICKS); + mossRecipe(exporter, NSE_Blocks.MOSSY_TEAL_TILES, NSE_Blocks.TEAL_TILES); + mossRecipe(exporter, NSE_Blocks.MOSSY_AQUAMARINE_TILES, NSE_Blocks.AQUAMARINE_TILES); + mossRecipe(exporter, NSE_Blocks.MOSSY_DIORITE_BRICKS, NSE_Blocks.DIORITE_BRICKS); + mossRecipe(exporter, NSE_Blocks.MOSSY_CALCITE_TILES, NSE_Blocks.CALCITE_TILES); + mossRecipe(exporter, NSE_Blocks.MOSSY_DRIPSTONE_TILES, NSE_Blocks.DRIPSTONE_TILES); + mossRecipe(exporter, NSE_Blocks.MOSSY_DEEPSLATE_TILES, NSE_Blocks.DEEPSLATE_TILES); + mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES, NSE_Blocks.LIGHT_BLUE_TILES); + mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS, NSE_Blocks.LIGHT_BLUE_BRICKS); + mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_WHITE_TILES, NSE_Blocks.GREEN_WHITE_TILES); + mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_TILES, NSE_Blocks.TUFF_TILES); + mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_BRICKS, NSE_Blocks.TUFF_BRICKS); + mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS, NSE_Blocks.GREEN_BRICKS); + mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_2, NSE_Blocks.GREEN_BRICKS_2); + mossRecipe(exporter, NSE_Blocks.MOSSY_RED_BRICKS, NSE_Blocks.RED_BRICKS); + mossRecipe(exporter, NSE_Blocks.MOSSY_BRICK_TILES, NSE_Blocks.BRICK_TILES); + mossRecipe(exporter, NSE_Blocks.MOSSY_DARK_BRICK_TILES, NSE_Blocks.DARK_BRICK_TILES); + mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_TILES_STAIRS, NSE_Blocks.SAND_TILES_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_TILES_SLAB, NSE_Blocks.SAND_TILES_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_BRICKS_STAIRS, NSE_Blocks.SAND_BRICKS_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_SAND_BRICKS_SLAB, NSE_Blocks.SAND_BRICKS_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_BRICK_TILES_STAIRS, NSE_Blocks.BRICK_TILES_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_BRICK_TILES_SLAB, NSE_Blocks.BRICK_TILES_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_DARK_BRICK_TILES_STAIRS, NSE_Blocks.DARK_BRICK_TILES_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_DARK_BRICK_TILES_SLAB, NSE_Blocks.DARK_BRICK_TILES_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_RED_BRICKS_STAIRS, NSE_Blocks.RED_BRICKS_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_RED_BRICKS_SLAB, NSE_Blocks.RED_BRICKS_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_TEAL_TILES_STAIRS, NSE_Blocks.TEAL_TILES_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_TEAL_TILES_SLAB, NSE_Blocks.TEAL_TILES_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_STAIRS, NSE_Blocks.GREEN_BRICKS_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_SLAB, NSE_Blocks.GREEN_BRICKS_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_2_STAIRS, NSE_Blocks.GREEN_BRICKS_2_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_2_SLAB, NSE_Blocks.GREEN_BRICKS_2_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_AQUAMARINE_TILES_STAIRS, NSE_Blocks.AQUAMARINE_TILES_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_AQUAMARINE_TILES_SLAB, NSE_Blocks.AQUAMARINE_TILES_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_DIORITE_BRICKS_STAIRS, NSE_Blocks.DIORITE_BRICKS_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_DIORITE_BRICKS_SLAB, NSE_Blocks.DIORITE_BRICKS_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_CALCITE_TILES_STAIRS, NSE_Blocks.CALCITE_TILES_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_CALCITE_TILES_SLAB, NSE_Blocks.CALCITE_TILES_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_DRIPSTONE_TILES_STAIRS, NSE_Blocks.DRIPSTONE_TILES_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_DRIPSTONE_TILES_SLAB, NSE_Blocks.DRIPSTONE_TILES_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_DEEPSLATE_TILES_STAIRS, NSE_Blocks.DEEPSLATE_TILES_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_DEEPSLATE_TILES_SLAB, NSE_Blocks.DEEPSLATE_TILES_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_STAIRS, NSE_Blocks.LIGHT_BLUE_TILES_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_SLAB, NSE_Blocks.LIGHT_BLUE_TILES_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_STAIRS, NSE_Blocks.LIGHT_BLUE_BRICKS_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_SLAB, NSE_Blocks.LIGHT_BLUE_BRICKS_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_WHITE_TILES_STAIRS, NSE_Blocks.GREEN_WHITE_TILES_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_GREEN_WHITE_TILES_SLAB, NSE_Blocks.GREEN_WHITE_TILES_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_TILES_STAIRS, NSE_Blocks.TUFF_TILES_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_TILES_SLAB, NSE_Blocks.TUFF_TILES_SLAB); + mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_BRICKS_STAIRS, NSE_Blocks.TUFF_BRICKS_STAIRS); + mossRecipe(exporter, NSE_Blocks.MOSSY_TUFF_BRICKS_SLAB, NSE_Blocks.TUFF_BRICKS_SLAB); + + // Dirty blocks recipe + dirtyRecipe(exporter, NSE_Blocks.DIRTY_AQUAMARINE_TILES, NSE_Blocks.AQUAMARINE_TILES); + dirtyRecipe(exporter, NSE_Blocks.DIRTY_AQUAMARINE_TILES_SLAB, NSE_Blocks.AQUAMARINE_TILES_SLAB); + dirtyRecipe(exporter, NSE_Blocks.DIRTY_AQUAMARINE_TILES_STAIRS, NSE_Blocks.AQUAMARINE_TILES_STAIRS); + dirtyRecipe(exporter, NSE_Blocks.DIRTY_BRICK_TILES, NSE_Blocks.BRICK_TILES); + dirtyRecipe(exporter, NSE_Blocks.DIRTY_BRICK_TILES_SLAB, NSE_Blocks.BRICK_TILES_SLAB); + dirtyRecipe(exporter, NSE_Blocks.DIRTY_BRICK_TILES_STAIRS, NSE_Blocks.BRICK_TILES_STAIRS); + dirtyRecipe(exporter, NSE_Blocks.DIRTY_DARK_BRICK_TILES, NSE_Blocks.DARK_BRICK_TILES); + dirtyRecipe(exporter, NSE_Blocks.DIRTY_DARK_BRICK_TILES_SLAB, NSE_Blocks.DARK_BRICK_TILES_SLAB); + dirtyRecipe(exporter, NSE_Blocks.DIRTY_DARK_BRICK_TILES_STAIRS, NSE_Blocks.DARK_BRICK_TILES_STAIRS); + + // Warning stripes + warningStripeRecipe(exporter, NSE_Blocks.INDUSTRIAL_WARNING, Items.BLACK_DYE); + warningStripeRecipe(exporter, NSE_Blocks.RED_WARNING, Items.RED_DYE); + warningStripeRecipe(exporter, NSE_Blocks.BLUE_WARNING, Items.BLUE_DYE); + warningStripeRecipe(exporter, NSE_Blocks.LIGHT_BLUE_WARNING, Items.LIGHT_BLUE_DYE); + warningStripeRecipe(exporter, NSE_Blocks.CYAN_WARNING, Items.CYAN_DYE); + warningStripeRecipe(exporter, NSE_Blocks.YELLOW_WARNING, Items.YELLOW_DYE); + warningStripeRecipe(exporter, NSE_Blocks.ORANGE_WARNING, Items.ORANGE_DYE); + warningStripeRecipe(exporter, NSE_Blocks.GREEN_WARNING, Items.GREEN_DYE); + warningStripeRecipe(exporter, NSE_Blocks.LIME_WARNING, Items.LIME_DYE); + warningStripeRecipe(exporter, NSE_Blocks.PURPLE_WARNING, Items.PURPLE_DYE); + warningStripeRecipe(exporter, NSE_Blocks.MAGENTA_WARNING, Items.MAGENTA_DYE); + warningStripeRecipe(exporter, NSE_Blocks.GRAY_WARNING, Items.GRAY_DYE); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.SAND_TILES); + list.add(NSE_Blocks.SAND_BRICKS); + list.add(NSE_Blocks.SMALL_SAND_TILES); + list.add(NSE_Blocks.BIG_SAND_TILES); + list.add(NSE_Blocks.BIG_SAND_BRICKS); + list.add(NSE_Blocks.CROSS_SAND_TILES); + list.add(NSE_Blocks.HERRINGBONE_SAND_TILES); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.TEAL_TILES); + list.add(NSE_Blocks.SMALL_TEAL_TILES); + list.add(NSE_Blocks.GLAZED_TEAL_TILES); + list.add(NSE_Blocks.VARIATED_TEAL_TILES); + list.add(Blocks.PRISMARINE_BRICKS); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.AQUAMARINE_TILES); + list.add(NSE_Blocks.GLAZED_AQUAMARINE_TILES); + list.add(NSE_Blocks.SMALL_AQUAMARINE_TILES); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.DIORITE_BRICKS); + list.add(NSE_Blocks.BIG_DIORITE_TILES); + list.add(NSE_Blocks.SMALL_DIORITE_TILES); + list.add(NSE_Blocks.NII_WALL_1); + list.add(Blocks.POLISHED_DIORITE); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.CALCITE_TILES); + list.add(NSE_Blocks.DIAGONAL_CALCITE_TILES); + list.add(Blocks.CALCITE); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.DRIPSTONE_TILES); + list.add(NSE_Blocks.DRIPSTONE_BRICKS); + list.add(Blocks.DRIPSTONE_BLOCK); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.DEEPSLATE_TILES); + list.add(NSE_Blocks.DIAGONAL_DEEPSLATE_TILES); + list.add(NSE_Blocks.SMALL_DEEPSLATE_TILES); + list.add(Blocks.POLISHED_DEEPSLATE); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.LIGHT_BLUE_TILES); + list.add(NSE_Blocks.LIGHT_BLUE_BRICKS); + list.add(NSE_Blocks.VARIATED_LIGHT_BLUE_TILES); + list.add(NSE_Blocks.GLAZED_LIGHT_BLUE_TILES); + list.add(NSE_Blocks.SMALL_LIGHT_BLUE_TILES); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.BIG_GRANITE_TILES); + list.add(NSE_Blocks.SMALL_GRANITE_TILES); + list.add(Blocks.POLISHED_GRANITE); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.TUFF_TILES); + list.add(NSE_Blocks.TUFF_BRICKS); + list.add(NSE_Blocks.BIG_TUFF_TILES); + list.add(Blocks.TUFF); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.SMALL_WHITE_TILES); + list.add(NSE_Blocks.SMALL_CRACKED_WHITE_TILES); + list.add(NSE_Blocks.GLAZED_WHITE_TILES); + list.add(NSE_Blocks.CRACKED_GLAZED_WHITE_TILES); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.CROSS_ACACIA_PLANKS); + list.add(NSE_Blocks.HERRINGBONE_ACACIA_PLANKS); + list.add(Blocks.ACACIA_PLANKS); + }), RecipeCategory.BUILDING_BLOCKS); + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.CROSS_OAK_PLANKS); + list.add(NSE_Blocks.HERRINGBONE_OAK_PLANKS); + list.add(Blocks.OAK_PLANKS); + }), RecipeCategory.BUILDING_BLOCKS); + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.CROSS_BIRCH_PLANKS); + list.add(NSE_Blocks.HERRINGBONE_BIRCH_PLANKS); + list.add(Blocks.BIRCH_PLANKS); + }), RecipeCategory.BUILDING_BLOCKS); + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.CROSS_CRIMSON_PLANKS); + list.add(NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS); + list.add(Blocks.CRIMSON_PLANKS); + }), RecipeCategory.BUILDING_BLOCKS); + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.CROSS_DARK_OAK_PLANKS); + list.add(NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS); + list.add(Blocks.DARK_OAK_PLANKS); + }), RecipeCategory.BUILDING_BLOCKS); + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.CROSS_JUNGLE_PLANKS); + list.add(NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS); + list.add(Blocks.JUNGLE_PLANKS); + }), RecipeCategory.BUILDING_BLOCKS); + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.CROSS_MANGROVE_PLANKS); + list.add(NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS); + list.add(Blocks.MANGROVE_PLANKS); + }), RecipeCategory.BUILDING_BLOCKS); + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.CROSS_SPRUCE_PLANKS); + list.add(NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS); + list.add(Blocks.SPRUCE_PLANKS); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.BRICK_TILES); + list.add(NSE_Blocks.GLAZED_BRICK_TILES); + list.add(Blocks.BRICKS); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.NII_WALL_3); + list.add(Blocks.STONE); + list.add(Blocks.STONE_BRICKS); + }), RecipeCategory.BUILDING_BLOCKS); + + stoneCuttingCategory(exporter, Util.make(Lists.newArrayList(), list -> { + list.add(NSE_Blocks.NII_WALL_2); + list.add(Blocks.SMOOTH_STONE); + }), RecipeCategory.BUILDING_BLOCKS); + + diceRecipe(exporter, NSE_Items.DICE_D4); + diceRecipe(exporter, NSE_Items.DICE_D6); + diceRecipe(exporter, NSE_Items.DICE_D20); + + offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_MANGROVE_DOOR, Blocks.MANGROVE_DOOR); + offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_OAK_DOOR, Blocks.OAK_DOOR); + offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_SPRUCE_DOOR, Blocks.SPRUCE_DOOR); + offerStonecuttingRecipe(exporter, RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.CHISELED_BIRCH_DOOR, Blocks.BIRCH_DOOR); + + ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, NSE_Custom.LIGHT_BULB_LAMP, 1) + .input('X', Items.IRON_INGOT).input('Y', Items.IRON_NUGGET).input('Z', NSE_Items.LIGHT_BULB) + .pattern(" X ").pattern(" Y ").pattern(" Z ") + .criterion(hasItem(NSE_Items.LIGHT_BULB), conditionsFromItem(NSE_Items.LIGHT_BULB)).offerTo(exporter); + + ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.NII_FLOOR, 4) + .input('#', Items.DIORITE).input('G', Items.GRANITE).input('C', Items.COBBLESTONE) + .pattern("#G").pattern("GC") + .criterion(hasItem(Items.GRANITE), conditionsFromItem(Items.GRANITE)) + .criterion(hasItem(Items.DIORITE), conditionsFromItem(Items.DIORITE)) + .criterion(hasItem(Items.COBBLESTONE), conditionsFromItem(Items.COBBLESTONE)) + .offerTo(exporter); + + ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.BIG_GREEN_TILES, 8) + .input('#', NSE_Blocks.BIG_DIORITE_TILES).input('G', Items.GREEN_DYE) + .pattern("###") + .pattern("#G#") + .pattern("###") + .criterion(hasItem(Items.GREEN_DYE), conditionsFromItem(Items.GREEN_DYE)) + .criterion(hasItem(NSE_Blocks.BIG_DIORITE_TILES), conditionsFromItem(NSE_Blocks.BIG_DIORITE_TILES)) + .offerTo(exporter); + + ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.GREEN_BRICKS, 8) + .input('#', Items.BRICKS).input('G', Items.GREEN_DYE) + .pattern("###") + .pattern("#G#") + .pattern("###") + .criterion(hasItem(Items.GREEN_DYE), conditionsFromItem(Items.GREEN_DYE)) + .criterion(hasItem(Items.BRICKS), conditionsFromItem(Items.BRICKS)) + .offerTo(exporter); + + ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.GREEN_BRICKS_2, 2) + .input(Items.BRICKS).input(NSE_Blocks.GREEN_BRICKS) + .criterion(hasItem(NSE_Blocks.GREEN_BRICKS), conditionsFromItem(NSE_Blocks.GREEN_BRICKS)) + .criterion(hasItem(Items.BRICKS), conditionsFromItem(Items.BRICKS)) + .offerTo(exporter); + + ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.SMALL_YELLOW_TILES, 8) + .pattern("###") + .pattern("#Y#") + .pattern("###") + .input('#', NSE_Blocks.SMALL_WHITE_TILES).input('Y', Items.YELLOW_DYE) + .criterion(hasItem(NSE_Blocks.SMALL_WHITE_TILES), conditionsFromItem(NSE_Blocks.SMALL_WHITE_TILES)) + .criterion(hasItem(Items.YELLOW_DYE), conditionsFromItem(Items.YELLOW_DYE)) + .offerTo(exporter); + + ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.RED_BRICKS, 8) + .pattern("###") + .pattern("#R#") + .pattern("###") + .input('#', Items.BRICKS).input('R', Items.RED_DYE) + .criterion(hasItem(Items.BRICKS), conditionsFromItem(Items.BRICKS)) + .criterion(hasItem(Items.RED_DYE), conditionsFromItem(Items.RED_DYE)) + .offerTo(exporter); + + ShapedRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, NSE_Blocks.DARK_BRICK_TILES, 8) + .pattern("###") + .pattern("#D#") + .pattern("###") + .input('#', NSE_Blocks.BRICK_TILES).input('D', Items.BROWN_DYE) + .criterion(hasItem(NSE_Blocks.BRICK_TILES), conditionsFromItem(NSE_Blocks.BRICK_TILES)) + .criterion(hasItem(Items.BROWN_DYE), conditionsFromItem(Items.BROWN_DYE)) + .offerTo(exporter); + + // Generated stairs and slabs recipes + offerStairsAndSlab(exporter, NSE_Blocks.SAND_TILES_STAIRS, NSE_Blocks.SAND_TILES_SLAB, NSE_Blocks.SAND_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_SAND_TILES_STAIRS, NSE_Blocks.CRACKED_SAND_TILES_SLAB, NSE_Blocks.CRACKED_SAND_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_SAND_TILES_STAIRS, NSE_Blocks.MOSSY_SAND_TILES_SLAB, NSE_Blocks.MOSSY_SAND_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_SAND_TILES_STAIRS, NSE_Blocks.HERRINGBONE_SAND_TILES_SLAB, NSE_Blocks.HERRINGBONE_SAND_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CROSS_SAND_TILES_STAIRS, NSE_Blocks.CROSS_SAND_TILES_SLAB, NSE_Blocks.CROSS_SAND_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.SAND_BRICKS_STAIRS, NSE_Blocks.SAND_BRICKS_SLAB, NSE_Blocks.SAND_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_SAND_BRICKS_STAIRS, NSE_Blocks.CRACKED_SAND_BRICKS_SLAB, NSE_Blocks.CRACKED_SAND_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_SAND_BRICKS_STAIRS, NSE_Blocks.MOSSY_SAND_BRICKS_SLAB, NSE_Blocks.MOSSY_SAND_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.BIG_SAND_BRICKS_STAIRS, NSE_Blocks.BIG_SAND_BRICKS_SLAB, NSE_Blocks.BIG_SAND_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.BRICK_TILES_STAIRS, NSE_Blocks.BRICK_TILES_SLAB, NSE_Blocks.BRICK_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_BRICK_TILES_STAIRS, NSE_Blocks.CRACKED_BRICK_TILES_SLAB, NSE_Blocks.CRACKED_BRICK_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_BRICK_TILES_STAIRS, NSE_Blocks.MOSSY_BRICK_TILES_SLAB, NSE_Blocks.MOSSY_BRICK_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.DIRTY_BRICK_TILES_STAIRS, NSE_Blocks.DIRTY_BRICK_TILES_SLAB, NSE_Blocks.DIRTY_BRICK_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.DARK_BRICK_TILES_STAIRS, NSE_Blocks.DARK_BRICK_TILES_SLAB, NSE_Blocks.DARK_BRICK_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_DARK_BRICK_TILES_STAIRS, NSE_Blocks.CRACKED_DARK_BRICK_TILES_SLAB, NSE_Blocks.CRACKED_DARK_BRICK_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_DARK_BRICK_TILES_STAIRS, NSE_Blocks.MOSSY_DARK_BRICK_TILES_SLAB, NSE_Blocks.MOSSY_DARK_BRICK_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.DIRTY_DARK_BRICK_TILES_STAIRS, NSE_Blocks.DIRTY_DARK_BRICK_TILES_SLAB, NSE_Blocks.DIRTY_DARK_BRICK_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.RED_BRICKS_STAIRS, NSE_Blocks.RED_BRICKS_SLAB, NSE_Blocks.RED_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_RED_BRICKS_STAIRS, NSE_Blocks.CRACKED_RED_BRICKS_SLAB, NSE_Blocks.CRACKED_RED_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_RED_BRICKS_STAIRS, NSE_Blocks.MOSSY_RED_BRICKS_SLAB, NSE_Blocks.MOSSY_RED_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.TEAL_TILES_STAIRS, NSE_Blocks.TEAL_TILES_SLAB, NSE_Blocks.TEAL_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_TEAL_TILES_STAIRS, NSE_Blocks.CRACKED_TEAL_TILES_SLAB, NSE_Blocks.CRACKED_TEAL_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_TEAL_TILES_STAIRS, NSE_Blocks.MOSSY_TEAL_TILES_SLAB, NSE_Blocks.MOSSY_TEAL_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.VARIATED_TEAL_TILES_STAIRS, NSE_Blocks.VARIATED_TEAL_TILES_SLAB, NSE_Blocks.VARIATED_TEAL_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.GREEN_BRICKS_STAIRS, NSE_Blocks.GREEN_BRICKS_SLAB, NSE_Blocks.GREEN_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_GREEN_BRICKS_STAIRS, NSE_Blocks.CRACKED_GREEN_BRICKS_SLAB, NSE_Blocks.CRACKED_GREEN_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_STAIRS, NSE_Blocks.MOSSY_GREEN_BRICKS_SLAB, NSE_Blocks.MOSSY_GREEN_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.GREEN_BRICKS_2_STAIRS, NSE_Blocks.GREEN_BRICKS_2_SLAB, NSE_Blocks.GREEN_BRICKS_2); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_GREEN_BRICKS_2_STAIRS, NSE_Blocks.CRACKED_GREEN_BRICKS_2_SLAB, NSE_Blocks.CRACKED_GREEN_BRICKS_2); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_GREEN_BRICKS_2_STAIRS, NSE_Blocks.MOSSY_GREEN_BRICKS_2_SLAB, NSE_Blocks.MOSSY_GREEN_BRICKS_2); + offerStairsAndSlab(exporter, NSE_Blocks.AQUAMARINE_TILES_STAIRS, NSE_Blocks.AQUAMARINE_TILES_SLAB, NSE_Blocks.AQUAMARINE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_AQUAMARINE_TILES_STAIRS, NSE_Blocks.CRACKED_AQUAMARINE_TILES_SLAB, NSE_Blocks.CRACKED_AQUAMARINE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_AQUAMARINE_TILES_STAIRS, NSE_Blocks.MOSSY_AQUAMARINE_TILES_SLAB, NSE_Blocks.MOSSY_AQUAMARINE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.DIRTY_AQUAMARINE_TILES_STAIRS, NSE_Blocks.DIRTY_AQUAMARINE_TILES_SLAB, NSE_Blocks.DIRTY_AQUAMARINE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.DIORITE_BRICKS_STAIRS, NSE_Blocks.DIORITE_BRICKS_SLAB, NSE_Blocks.DIORITE_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_DIORITE_BRICKS_STAIRS, NSE_Blocks.CRACKED_DIORITE_BRICKS_SLAB, NSE_Blocks.CRACKED_DIORITE_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_DIORITE_BRICKS_STAIRS, NSE_Blocks.MOSSY_DIORITE_BRICKS_SLAB, NSE_Blocks.MOSSY_DIORITE_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.CALCITE_TILES_STAIRS, NSE_Blocks.CALCITE_TILES_SLAB, NSE_Blocks.CALCITE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_CALCITE_TILES_STAIRS, NSE_Blocks.CRACKED_CALCITE_TILES_SLAB, NSE_Blocks.CRACKED_CALCITE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_CALCITE_TILES_STAIRS, NSE_Blocks.MOSSY_CALCITE_TILES_SLAB, NSE_Blocks.MOSSY_CALCITE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.DRIPSTONE_TILES_STAIRS, NSE_Blocks.DRIPSTONE_TILES_SLAB, NSE_Blocks.DRIPSTONE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_DRIPSTONE_TILES_STAIRS, NSE_Blocks.CRACKED_DRIPSTONE_TILES_SLAB, NSE_Blocks.CRACKED_DRIPSTONE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_DRIPSTONE_TILES_STAIRS, NSE_Blocks.MOSSY_DRIPSTONE_TILES_SLAB, NSE_Blocks.MOSSY_DRIPSTONE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.DEEPSLATE_TILES_STAIRS, NSE_Blocks.DEEPSLATE_TILES_SLAB, NSE_Blocks.DEEPSLATE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_DEEPSLATE_TILES_STAIRS, NSE_Blocks.CRACKED_DEEPSLATE_TILES_SLAB, NSE_Blocks.CRACKED_DEEPSLATE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_DEEPSLATE_TILES_STAIRS, NSE_Blocks.MOSSY_DEEPSLATE_TILES_SLAB, NSE_Blocks.MOSSY_DEEPSLATE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.LIGHT_BLUE_TILES_STAIRS, NSE_Blocks.LIGHT_BLUE_TILES_SLAB, NSE_Blocks.LIGHT_BLUE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_STAIRS, NSE_Blocks.CRACKED_LIGHT_BLUE_TILES_SLAB, NSE_Blocks.CRACKED_LIGHT_BLUE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_STAIRS, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES_SLAB, NSE_Blocks.MOSSY_LIGHT_BLUE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_STAIRS, NSE_Blocks.VARIATED_LIGHT_BLUE_TILES_SLAB, NSE_Blocks.VARIATED_LIGHT_BLUE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.LIGHT_BLUE_BRICKS_STAIRS, NSE_Blocks.LIGHT_BLUE_BRICKS_SLAB, NSE_Blocks.LIGHT_BLUE_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_STAIRS, NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS_SLAB, NSE_Blocks.CRACKED_LIGHT_BLUE_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_STAIRS, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS_SLAB, NSE_Blocks.MOSSY_LIGHT_BLUE_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.GREEN_WHITE_TILES_STAIRS, NSE_Blocks.GREEN_WHITE_TILES_SLAB, NSE_Blocks.GREEN_WHITE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_GREEN_WHITE_TILES_STAIRS, NSE_Blocks.CRACKED_GREEN_WHITE_TILES_SLAB, NSE_Blocks.CRACKED_GREEN_WHITE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_GREEN_WHITE_TILES_STAIRS, NSE_Blocks.MOSSY_GREEN_WHITE_TILES_SLAB, NSE_Blocks.MOSSY_GREEN_WHITE_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.TUFF_TILES_STAIRS, NSE_Blocks.TUFF_TILES_SLAB, NSE_Blocks.TUFF_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_TUFF_TILES_STAIRS, NSE_Blocks.CRACKED_TUFF_TILES_SLAB, NSE_Blocks.CRACKED_TUFF_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_TUFF_TILES_STAIRS, NSE_Blocks.MOSSY_TUFF_TILES_SLAB, NSE_Blocks.MOSSY_TUFF_TILES); + offerStairsAndSlab(exporter, NSE_Blocks.TUFF_BRICKS_STAIRS, NSE_Blocks.TUFF_BRICKS_SLAB, NSE_Blocks.TUFF_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_TUFF_BRICKS_STAIRS, NSE_Blocks.CRACKED_TUFF_BRICKS_SLAB, NSE_Blocks.CRACKED_TUFF_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.MOSSY_TUFF_BRICKS_STAIRS, NSE_Blocks.MOSSY_TUFF_BRICKS_SLAB, NSE_Blocks.MOSSY_TUFF_BRICKS); + offerStairsAndSlab(exporter, NSE_Blocks.WHITE_CONCRETE_STAIRS, NSE_Blocks.WHITE_CONCRETE_SLAB, NSE_Blocks.WHITE_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_WHITE_CONCRETE_STAIRS, NSE_Blocks.CRACKED_WHITE_CONCRETE_SLAB, NSE_Blocks.CRACKED_WHITE_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.BEIGE_CONCRETE_STAIRS, NSE_Blocks.BEIGE_CONCRETE_SLAB, NSE_Blocks.BEIGE_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_BEIGE_CONCRETE_STAIRS, NSE_Blocks.CRACKED_BEIGE_CONCRETE_SLAB, NSE_Blocks.CRACKED_BEIGE_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.BLUE_CONCRETE_STAIRS, NSE_Blocks.BLUE_CONCRETE_SLAB, NSE_Blocks.BLUE_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_BLUE_CONCRETE_STAIRS, NSE_Blocks.CRACKED_BLUE_CONCRETE_SLAB, NSE_Blocks.CRACKED_BLUE_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.RED_CONCRETE_STAIRS, NSE_Blocks.RED_CONCRETE_SLAB, NSE_Blocks.RED_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_RED_CONCRETE_STAIRS, NSE_Blocks.CRACKED_RED_CONCRETE_SLAB, NSE_Blocks.CRACKED_RED_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.YELLOW_CONCRETE_STAIRS, NSE_Blocks.YELLOW_CONCRETE_SLAB, NSE_Blocks.YELLOW_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_YELLOW_CONCRETE_STAIRS, NSE_Blocks.CRACKED_YELLOW_CONCRETE_SLAB, NSE_Blocks.CRACKED_YELLOW_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.GREEN_CONCRETE_STAIRS, NSE_Blocks.GREEN_CONCRETE_SLAB, NSE_Blocks.GREEN_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.CRACKED_GREEN_CONCRETE_STAIRS, NSE_Blocks.CRACKED_GREEN_CONCRETE_SLAB, NSE_Blocks.CRACKED_GREEN_CONCRETE); + offerStairsAndSlab(exporter, NSE_Blocks.NII_FLOOR_STAIRS, NSE_Blocks.NII_FLOOR_SLAB, NSE_Blocks.NII_FLOOR); + offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_ACACIA_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_ACACIA_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.CROSS_ACACIA_PLANKS_STAIRS, NSE_Blocks.CROSS_ACACIA_PLANKS_SLAB, NSE_Blocks.CROSS_ACACIA_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_OAK_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_OAK_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_OAK_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.CROSS_OAK_PLANKS_STAIRS, NSE_Blocks.CROSS_OAK_PLANKS_SLAB, NSE_Blocks.CROSS_OAK_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_BIRCH_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_BIRCH_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.CROSS_BIRCH_PLANKS_STAIRS, NSE_Blocks.CROSS_BIRCH_PLANKS_SLAB, NSE_Blocks.CROSS_BIRCH_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_CRIMSON_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.CROSS_CRIMSON_PLANKS_STAIRS, NSE_Blocks.CROSS_CRIMSON_PLANKS_SLAB, NSE_Blocks.CROSS_CRIMSON_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_DARK_OAK_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.CROSS_DARK_OAK_PLANKS_STAIRS, NSE_Blocks.CROSS_DARK_OAK_PLANKS_SLAB, NSE_Blocks.CROSS_DARK_OAK_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_JUNGLE_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.CROSS_JUNGLE_PLANKS_STAIRS, NSE_Blocks.CROSS_JUNGLE_PLANKS_SLAB, NSE_Blocks.CROSS_JUNGLE_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_MANGROVE_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.CROSS_MANGROVE_PLANKS_STAIRS, NSE_Blocks.CROSS_MANGROVE_PLANKS_SLAB, NSE_Blocks.CROSS_MANGROVE_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_STAIRS, NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS_SLAB, NSE_Blocks.HERRINGBONE_SPRUCE_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.CROSS_SPRUCE_PLANKS_STAIRS, NSE_Blocks.CROSS_SPRUCE_PLANKS_SLAB, NSE_Blocks.CROSS_SPRUCE_PLANKS); + offerStairsAndSlab(exporter, NSE_Blocks.HERRINGBONE_PARQUET_STAIRS, NSE_Blocks.HERRINGBONE_PARQUET_SLAB, NSE_Blocks.HERRINGBONE_PARQUET); + offerStairsAndSlab(exporter, NSE_Blocks.STRAIGHT_PARQUET_STAIRS, NSE_Blocks.STRAIGHT_PARQUET_SLAB, NSE_Blocks.STRAIGHT_PARQUET); + offerStairsAndSlab(exporter, NSE_Blocks.SEPARATED_PARQUET_STAIRS, NSE_Blocks.SEPARATED_PARQUET_SLAB, NSE_Blocks.SEPARATED_PARQUET); + offerStairsAndSlab(exporter, NSE_Blocks.GREEN_LINOLEUM_STAIRS, NSE_Blocks.GREEN_LINOLEUM_SLAB, NSE_Blocks.GREEN_LINOLEUM); + offerStairsAndSlab(exporter, NSE_Blocks.BLUE_LINOLEUM_STAIRS, NSE_Blocks.BLUE_LINOLEUM_SLAB, NSE_Blocks.BLUE_LINOLEUM); + offerStairsAndSlab(exporter, NSE_Blocks.RED_LINOLEUM_STAIRS, NSE_Blocks.RED_LINOLEUM_SLAB, NSE_Blocks.RED_LINOLEUM); + offerStairsAndSlab(exporter, NSE_Blocks.GRAY_LINOLEUM_STAIRS, NSE_Blocks.GRAY_LINOLEUM_SLAB, NSE_Blocks.GRAY_LINOLEUM); + offerStairsAndSlab(exporter, NSE_Blocks.ORANGE_LINOLEUM_STAIRS, NSE_Blocks.ORANGE_LINOLEUM_SLAB, NSE_Blocks.ORANGE_LINOLEUM); + offerStairsAndSlab(exporter, NSE_Blocks.BROWN_LINOLEUM_STAIRS, NSE_Blocks.BROWN_LINOLEUM_SLAB, NSE_Blocks.BROWN_LINOLEUM); + offerStairsAndSlab(exporter, NSE_Blocks.CYAN_LINOLEUM_STAIRS, NSE_Blocks.CYAN_LINOLEUM_SLAB, NSE_Blocks.CYAN_LINOLEUM); + offerStairsAndSlab(exporter, NSE_Blocks.METAL_PLATING_STAIRS, NSE_Blocks.METAL_PLATING_SLAB, NSE_Blocks.METAL_PLATING); + } +} \ No newline at end of file diff --git a/src/main/java/su/a71/new_soviet/entity/TVBlockEntity.java b/src/main/java/su/a71/new_soviet/entities/TVBlockEntity.java similarity index 98% rename from src/main/java/su/a71/new_soviet/entity/TVBlockEntity.java rename to src/main/java/su/a71/new_soviet/entities/TVBlockEntity.java index 4cc51e9..ff3b164 100644 --- a/src/main/java/su/a71/new_soviet/entity/TVBlockEntity.java +++ b/src/main/java/su/a71/new_soviet/entities/TVBlockEntity.java @@ -1,4 +1,4 @@ -package su.a71.new_soviet.entity; +package su.a71.new_soviet.entities; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; diff --git a/src/main/java/su/a71/new_soviet/registration/NSE_Custom.java b/src/main/java/su/a71/new_soviet/registration/NSE_Custom.java index 7814a20..e0bc5e1 100644 --- a/src/main/java/su/a71/new_soviet/registration/NSE_Custom.java +++ b/src/main/java/su/a71/new_soviet/registration/NSE_Custom.java @@ -25,7 +25,7 @@ import su.a71.new_soviet.blocks.lamps.TableLampBlock; import su.a71.new_soviet.blocks.lamps.VintageLampBlock; import su.a71.new_soviet.blocks.lamps.lamp_post.LampPostBaseBlock; import su.a71.new_soviet.blocks.lamps.lamp_post.LampPostLampBlock; -import su.a71.new_soviet.entity.TVBlockEntity; +import su.a71.new_soviet.entities.TVBlockEntity; import su.a71.new_soviet.util.Shapes; import java.util.List; diff --git a/src/main/java/su/a71/new_soviet/registration/NSE_Items.java b/src/main/java/su/a71/new_soviet/registration/NSE_Items.java index 48689ab..e2c0b74 100644 --- a/src/main/java/su/a71/new_soviet/registration/NSE_Items.java +++ b/src/main/java/su/a71/new_soviet/registration/NSE_Items.java @@ -10,7 +10,6 @@ import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.util.Rarity; -import su.a71.new_soviet.materials.NSE_ToolMaterials; import su.a71.new_soviet.items.CigaretteItem; import su.a71.new_soviet.items.DiceItem; import su.a71.new_soviet.items.RakeItem; diff --git a/src/main/java/su/a71/new_soviet/materials/NSE_ToolMaterials.java b/src/main/java/su/a71/new_soviet/registration/NSE_ToolMaterials.java similarity index 97% rename from src/main/java/su/a71/new_soviet/materials/NSE_ToolMaterials.java rename to src/main/java/su/a71/new_soviet/registration/NSE_ToolMaterials.java index 011fc1e..4411e28 100644 --- a/src/main/java/su/a71/new_soviet/materials/NSE_ToolMaterials.java +++ b/src/main/java/su/a71/new_soviet/registration/NSE_ToolMaterials.java @@ -1,4 +1,4 @@ -package su.a71.new_soviet.materials; +package su.a71.new_soviet.registration; import net.fabricmc.yarn.constants.MiningLevels; import net.minecraft.item.Items;