diff --git a/TODO b/TODO new file mode 100644 index 0000000..2a5f5ce --- /dev/null +++ b/TODO @@ -0,0 +1,6 @@ +1. Add brown+white+yellow+red+green blocks, whitewash, concrete +2. Figure out what to do with "NII wall", nii floor, tilled block +3. Add coconut as easter egg +4. Generate/Write crafting recipes +5. Fix PO2 wall +6. Work on custom blocks and doors, etc. \ No newline at end of file diff --git a/src/main/java/su/a71/new_soviet/NSE_Blocks.java b/src/main/java/su/a71/new_soviet/NSE_Blocks.java index 1c50b01..ce98b9b 100644 --- a/src/main/java/su/a71/new_soviet/NSE_Blocks.java +++ b/src/main/java/su/a71/new_soviet/NSE_Blocks.java @@ -155,7 +155,7 @@ public class NSE_Blocks { // Concrete - private static final ItemGroup NSE_TAB = FabricItemGroup.builder() + private static final ItemGroup NSE_BUILDING_TAB = FabricItemGroup.builder() .icon(() -> new ItemStack(CALCITE_TILES)) .displayName(Text.translatable("itemGroup.new_soviet.building_blocks")) .build(); @@ -174,124 +174,124 @@ public class NSE_Blocks { } public static void init() { - Registry.register(Registries.ITEM_GROUP, new Identifier("new_soviet", "building_blocks"), NSE_TAB); - register("sand_tiles", () -> SAND_TILES, NSE_TAB); - register("cracked_sand_tiles", () -> CRACKED_SAND_TILES, NSE_TAB); - register("mossy_sand_tiles", () -> MOSSY_SAND_TILES, NSE_TAB); - register("small_sand_tiles", () -> SMALL_SAND_TILES, NSE_TAB); - register("small_cracked_sand_tiles", () -> SMALL_CRACKED_SAND_TILES, NSE_TAB); - register("herringbone_sand_tiles", () -> HERRINGBONE_SAND_TILES, NSE_TAB); - register("cross_sand_tiles", () -> CROSS_SAND_TILES, NSE_TAB); - register("big_sand_tiles", () -> BIG_SAND_TILES, NSE_TAB); - register("sand_bricks", () -> SAND_BRICKS, NSE_TAB); - register("cracked_sand_bricks", () -> CRACKED_SAND_BRICKS, NSE_TAB); - register("mossy_sand_bricks", () -> MOSSY_SAND_BRICKS, NSE_TAB); - register("big_sand_bricks", () -> BIG_SAND_BRICKS, NSE_TAB); - register("teal_tiles", () -> TEAL_TILES, NSE_TAB); - register("cracked_teal_tiles", () -> CRACKED_TEAL_TILES, NSE_TAB); - register("mossy_teal_tiles", () -> MOSSY_TEAL_TILES, NSE_TAB); - register("small_teal_tiles", () -> SMALL_TEAL_TILES, NSE_TAB); - register("small_cracked_teal_tiles", () -> SMALL_CRACKED_TEAL_TILES, NSE_TAB); - register("glazed_teal_tiles", () -> GLAZED_TEAL_TILES, NSE_TAB); - register("cracked_glazed_teal_tiles", () -> CRACKED_GLAZED_TEAL_TILES, NSE_TAB); - register("variated_teal_tiles", () -> VARIATED_TEAL_TILES, NSE_TAB); - register("aquamarine_tiles", () -> AQUAMARINE_TILES, NSE_TAB); - register("cracked_aquamarine_tiles", () -> CRACKED_AQUAMARINE_TILES, NSE_TAB); - register("mossy_aquamarine_tiles", () -> MOSSY_AQUAMARINE_TILES, NSE_TAB); - register("dirty_aquamarine_tiles", () -> DIRTY_AQUAMARINE_TILES, NSE_TAB); - register("small_aquamarine_tiles", () -> SMALL_AQUAMARINE_TILES, NSE_TAB); - register("small_cracked_aquamarine_tiles", () -> SMALL_CRACKED_AQUAMARINE_TILES, NSE_TAB); - register("glazed_aquamarine_tiles", () -> GLAZED_AQUAMARINE_TILES, NSE_TAB); - register("cracked_glazed_aquamarine_tiles", () -> CRACKED_GLAZED_AQUAMARINE_TILES, NSE_TAB); - register("small_diorite_tiles", () -> SMALL_DIORITE_TILES, NSE_TAB); - register("small_cracked_diorite_tiles", () -> SMALL_CRACKED_DIORITE_TILES, NSE_TAB); - register("big_diorite_tiles", () -> BIG_DIORITE_TILES, NSE_TAB); - register("diorite_bricks", () -> DIORITE_BRICKS, NSE_TAB); - register("cracked_diorite_bricks", () -> CRACKED_DIORITE_BRICKS, NSE_TAB); - register("mossy_diorite_bricks", () -> MOSSY_DIORITE_BRICKS, NSE_TAB); - register("calcite_tiles", () -> CALCITE_TILES, NSE_TAB); - register("cracked_calcite_tiles", () -> CRACKED_CALCITE_TILES, NSE_TAB); - register("mossy_calcite_tiles", () -> MOSSY_CALCITE_TILES, NSE_TAB); - register("diagonal_calcite_tiles", () -> DIAGONAL_CALCITE_TILES, NSE_TAB); - register("dripstone_tiles", () -> DRIPSTONE_TILES, NSE_TAB); - register("cracked_dripstone_tiles", () -> CRACKED_DRIPSTONE_TILES, NSE_TAB); - register("mossy_dripstone_tiles", () -> MOSSY_DRIPSTONE_TILES, NSE_TAB); - register("dripstone_bricks", () -> DRIPSTONE_BRICKS, NSE_TAB); - register("deepslate_tiles", () -> DEEPSLATE_TILES, NSE_TAB); - register("cracked_deepslate_tiles", () -> CRACKED_DEEPSLATE_TILES, NSE_TAB); - register("mossy_deepslate_tiles", () -> MOSSY_DEEPSLATE_TILES, NSE_TAB); - register("small_deepslate_tiles", () -> SMALL_DEEPSLATE_TILES, NSE_TAB); - register("small_cracked_deepslate_tiles", () -> SMALL_CRACKED_DEEPSLATE_TILES, NSE_TAB); - register("diagonal_deepslate_tiles", () -> DIAGONAL_DEEPSLATE_TILES, NSE_TAB); - register("light_blue_tiles", () -> LIGHT_BLUE_TILES, NSE_TAB); - register("cracked_light_blue_tiles", () -> CRACKED_LIGHT_BLUE_TILES, NSE_TAB); - register("mossy_light_blue_tiles", () -> MOSSY_LIGHT_BLUE_TILES, NSE_TAB); - register("small_light_blue_tiles", () -> SMALL_LIGHT_BLUE_TILES, NSE_TAB); - register("small_cracked_light_blue_tiles", () -> SMALL_CRACKED_LIGHT_BLUE_TILES, NSE_TAB); - register("glazed_light_blue_tiles", () -> GLAZED_LIGHT_BLUE_TILES, NSE_TAB); - register("cracked_glazed_light_blue_tiles", () -> CRACKED_GLAZED_LIGHT_BLUE_TILES, NSE_TAB); - register("light_blue_bricks", () -> LIGHT_BLUE_BRICKS, NSE_TAB); - register("cracked_light_blue_bricks", () -> CRACKED_LIGHT_BLUE_BRICKS, NSE_TAB); - register("mossy_light_blue_bricks", () -> MOSSY_LIGHT_BLUE_BRICKS, NSE_TAB); - register("big_granite_tiles", () -> BIG_GRANITE_TILES, NSE_TAB); - register("small_granite_tiles", () -> SMALL_GRANITE_TILES, NSE_TAB); - register("small_cracked_granite_tiles", () -> SMALL_CRACKED_GRANITE_TILES, NSE_TAB); - register("green_white_tiles", () -> GREEN_WHITE_TILES, NSE_TAB); - register("cracked_green_white_tiles", () -> CRACKED_GREEN_WHITE_TILES, NSE_TAB); - register("mossy_green_white_tiles", () -> MOSSY_GREEN_WHITE_TILES, NSE_TAB); - register("tuff_tiles", () -> TUFF_TILES, NSE_TAB); - register("cracked_tuff_tiles", () -> CRACKED_TUFF_TILES, NSE_TAB); - register("mossy_tuff_tiles", () -> MOSSY_TUFF_TILES, NSE_TAB); - register("big_tuff_tiles", () -> BIG_TUFF_TILES, NSE_TAB); - register("tuff_bricks", () -> TUFF_BRICKS, NSE_TAB); - register("cracked_tuff_bricks", () -> CRACKED_TUFF_BRICKS, NSE_TAB); - register("mossy_tuff_bricks", () -> MOSSY_TUFF_BRICKS, NSE_TAB); + Registry.register(Registries.ITEM_GROUP, new Identifier("new_soviet", "building_blocks"), NSE_BUILDING_TAB); + register("sand_tiles", () -> SAND_TILES, NSE_BUILDING_TAB); + register("cracked_sand_tiles", () -> CRACKED_SAND_TILES, NSE_BUILDING_TAB); + register("mossy_sand_tiles", () -> MOSSY_SAND_TILES, NSE_BUILDING_TAB); + register("small_sand_tiles", () -> SMALL_SAND_TILES, NSE_BUILDING_TAB); + register("small_cracked_sand_tiles", () -> SMALL_CRACKED_SAND_TILES, NSE_BUILDING_TAB); + register("herringbone_sand_tiles", () -> HERRINGBONE_SAND_TILES, NSE_BUILDING_TAB); + register("cross_sand_tiles", () -> CROSS_SAND_TILES, NSE_BUILDING_TAB); + register("big_sand_tiles", () -> BIG_SAND_TILES, NSE_BUILDING_TAB); + register("sand_bricks", () -> SAND_BRICKS, NSE_BUILDING_TAB); + register("cracked_sand_bricks", () -> CRACKED_SAND_BRICKS, NSE_BUILDING_TAB); + register("mossy_sand_bricks", () -> MOSSY_SAND_BRICKS, NSE_BUILDING_TAB); + register("big_sand_bricks", () -> BIG_SAND_BRICKS, NSE_BUILDING_TAB); + register("teal_tiles", () -> TEAL_TILES, NSE_BUILDING_TAB); + register("cracked_teal_tiles", () -> CRACKED_TEAL_TILES, NSE_BUILDING_TAB); + register("mossy_teal_tiles", () -> MOSSY_TEAL_TILES, NSE_BUILDING_TAB); + register("small_teal_tiles", () -> SMALL_TEAL_TILES, NSE_BUILDING_TAB); + register("small_cracked_teal_tiles", () -> SMALL_CRACKED_TEAL_TILES, NSE_BUILDING_TAB); + register("glazed_teal_tiles", () -> GLAZED_TEAL_TILES, NSE_BUILDING_TAB); + register("cracked_glazed_teal_tiles", () -> CRACKED_GLAZED_TEAL_TILES, NSE_BUILDING_TAB); + register("variated_teal_tiles", () -> VARIATED_TEAL_TILES, NSE_BUILDING_TAB); + register("aquamarine_tiles", () -> AQUAMARINE_TILES, NSE_BUILDING_TAB); + register("cracked_aquamarine_tiles", () -> CRACKED_AQUAMARINE_TILES, NSE_BUILDING_TAB); + register("mossy_aquamarine_tiles", () -> MOSSY_AQUAMARINE_TILES, NSE_BUILDING_TAB); + register("dirty_aquamarine_tiles", () -> DIRTY_AQUAMARINE_TILES, NSE_BUILDING_TAB); + register("small_aquamarine_tiles", () -> SMALL_AQUAMARINE_TILES, NSE_BUILDING_TAB); + register("small_cracked_aquamarine_tiles", () -> SMALL_CRACKED_AQUAMARINE_TILES, NSE_BUILDING_TAB); + register("glazed_aquamarine_tiles", () -> GLAZED_AQUAMARINE_TILES, NSE_BUILDING_TAB); + register("cracked_glazed_aquamarine_tiles", () -> CRACKED_GLAZED_AQUAMARINE_TILES, NSE_BUILDING_TAB); + register("small_diorite_tiles", () -> SMALL_DIORITE_TILES, NSE_BUILDING_TAB); + register("small_cracked_diorite_tiles", () -> SMALL_CRACKED_DIORITE_TILES, NSE_BUILDING_TAB); + register("big_diorite_tiles", () -> BIG_DIORITE_TILES, NSE_BUILDING_TAB); + register("diorite_bricks", () -> DIORITE_BRICKS, NSE_BUILDING_TAB); + register("cracked_diorite_bricks", () -> CRACKED_DIORITE_BRICKS, NSE_BUILDING_TAB); + register("mossy_diorite_bricks", () -> MOSSY_DIORITE_BRICKS, NSE_BUILDING_TAB); + register("calcite_tiles", () -> CALCITE_TILES, NSE_BUILDING_TAB); + register("cracked_calcite_tiles", () -> CRACKED_CALCITE_TILES, NSE_BUILDING_TAB); + register("mossy_calcite_tiles", () -> MOSSY_CALCITE_TILES, NSE_BUILDING_TAB); + register("diagonal_calcite_tiles", () -> DIAGONAL_CALCITE_TILES, NSE_BUILDING_TAB); + register("dripstone_tiles", () -> DRIPSTONE_TILES, NSE_BUILDING_TAB); + register("cracked_dripstone_tiles", () -> CRACKED_DRIPSTONE_TILES, NSE_BUILDING_TAB); + register("mossy_dripstone_tiles", () -> MOSSY_DRIPSTONE_TILES, NSE_BUILDING_TAB); + register("dripstone_bricks", () -> DRIPSTONE_BRICKS, NSE_BUILDING_TAB); + register("deepslate_tiles", () -> DEEPSLATE_TILES, NSE_BUILDING_TAB); + register("cracked_deepslate_tiles", () -> CRACKED_DEEPSLATE_TILES, NSE_BUILDING_TAB); + register("mossy_deepslate_tiles", () -> MOSSY_DEEPSLATE_TILES, NSE_BUILDING_TAB); + register("small_deepslate_tiles", () -> SMALL_DEEPSLATE_TILES, NSE_BUILDING_TAB); + register("small_cracked_deepslate_tiles", () -> SMALL_CRACKED_DEEPSLATE_TILES, NSE_BUILDING_TAB); + register("diagonal_deepslate_tiles", () -> DIAGONAL_DEEPSLATE_TILES, NSE_BUILDING_TAB); + register("light_blue_tiles", () -> LIGHT_BLUE_TILES, NSE_BUILDING_TAB); + register("cracked_light_blue_tiles", () -> CRACKED_LIGHT_BLUE_TILES, NSE_BUILDING_TAB); + register("mossy_light_blue_tiles", () -> MOSSY_LIGHT_BLUE_TILES, NSE_BUILDING_TAB); + register("small_light_blue_tiles", () -> SMALL_LIGHT_BLUE_TILES, NSE_BUILDING_TAB); + register("small_cracked_light_blue_tiles", () -> SMALL_CRACKED_LIGHT_BLUE_TILES, NSE_BUILDING_TAB); + register("glazed_light_blue_tiles", () -> GLAZED_LIGHT_BLUE_TILES, NSE_BUILDING_TAB); + register("cracked_glazed_light_blue_tiles", () -> CRACKED_GLAZED_LIGHT_BLUE_TILES, NSE_BUILDING_TAB); + register("light_blue_bricks", () -> LIGHT_BLUE_BRICKS, NSE_BUILDING_TAB); + register("cracked_light_blue_bricks", () -> CRACKED_LIGHT_BLUE_BRICKS, NSE_BUILDING_TAB); + register("mossy_light_blue_bricks", () -> MOSSY_LIGHT_BLUE_BRICKS, NSE_BUILDING_TAB); + register("big_granite_tiles", () -> BIG_GRANITE_TILES, NSE_BUILDING_TAB); + register("small_granite_tiles", () -> SMALL_GRANITE_TILES, NSE_BUILDING_TAB); + register("small_cracked_granite_tiles", () -> SMALL_CRACKED_GRANITE_TILES, NSE_BUILDING_TAB); + register("green_white_tiles", () -> GREEN_WHITE_TILES, NSE_BUILDING_TAB); + register("cracked_green_white_tiles", () -> CRACKED_GREEN_WHITE_TILES, NSE_BUILDING_TAB); + register("mossy_green_white_tiles", () -> MOSSY_GREEN_WHITE_TILES, NSE_BUILDING_TAB); + register("tuff_tiles", () -> TUFF_TILES, NSE_BUILDING_TAB); + register("cracked_tuff_tiles", () -> CRACKED_TUFF_TILES, NSE_BUILDING_TAB); + register("mossy_tuff_tiles", () -> MOSSY_TUFF_TILES, NSE_BUILDING_TAB); + register("big_tuff_tiles", () -> BIG_TUFF_TILES, NSE_BUILDING_TAB); + register("tuff_bricks", () -> TUFF_BRICKS, NSE_BUILDING_TAB); + register("cracked_tuff_bricks", () -> CRACKED_TUFF_BRICKS, NSE_BUILDING_TAB); + register("mossy_tuff_bricks", () -> MOSSY_TUFF_BRICKS, NSE_BUILDING_TAB); - register("industrial_warning", () -> INDUSTRIAL_WARNING, NSE_TAB); - register("gray_warning", () -> GRAY_WARNING, NSE_TAB); - register("red_warning", () -> RED_WARNING, NSE_TAB); - register("orange_warning", () -> ORANGE_WARNING, NSE_TAB); - register("yellow_warning", () -> YELLOW_WARNING, NSE_TAB); - register("lime_warning", () -> LIME_WARNING, NSE_TAB); - register("green_warning", () -> GREEN_WARNING, NSE_TAB); - register("cyan_warning", () -> CYAN_WARNING, NSE_TAB); - register("light_blue_warning", () -> LIGHT_BLUE_WARNING, NSE_TAB); - register("blue_warning", () -> BLUE_WARNING, NSE_TAB); - register("purple_warning", () -> PURPLE_WARNING, NSE_TAB); - register("magenta_warning", () -> MAGENTA_WARNING, NSE_TAB); + register("industrial_warning", () -> INDUSTRIAL_WARNING, NSE_BUILDING_TAB); + register("gray_warning", () -> GRAY_WARNING, NSE_BUILDING_TAB); + register("red_warning", () -> RED_WARNING, NSE_BUILDING_TAB); + register("orange_warning", () -> ORANGE_WARNING, NSE_BUILDING_TAB); + register("yellow_warning", () -> YELLOW_WARNING, NSE_BUILDING_TAB); + register("lime_warning", () -> LIME_WARNING, NSE_BUILDING_TAB); + register("green_warning", () -> GREEN_WARNING, NSE_BUILDING_TAB); + register("cyan_warning", () -> CYAN_WARNING, NSE_BUILDING_TAB); + register("light_blue_warning", () -> LIGHT_BLUE_WARNING, NSE_BUILDING_TAB); + register("blue_warning", () -> BLUE_WARNING, NSE_BUILDING_TAB); + register("purple_warning", () -> PURPLE_WARNING, NSE_BUILDING_TAB); + register("magenta_warning", () -> MAGENTA_WARNING, NSE_BUILDING_TAB); - register("metal_plating", () -> METAL_PLATING, NSE_TAB); - register("concrete_wall", () -> CONCRETE_WALL, NSE_TAB); // TODO: Broken + register("metal_plating", () -> METAL_PLATING, NSE_BUILDING_TAB); + register("concrete_wall", () -> CONCRETE_WALL, NSE_BUILDING_TAB); // TODO: Broken - register("herringbone_acacia_planks", () -> HERRINGBONE_ACACIA_PLANKS, NSE_TAB); - register("cross_acacia_planks", () -> CROSS_ACACIA_PLANKS, NSE_TAB); - register("herringbone_oak_planks", () -> HERRINGBONE_OAK_PLANKS, NSE_TAB); - register("cross_oak_planks", () -> CROSS_OAK_PLANKS, NSE_TAB); - register("herringbone_birch_planks", () -> HERRINGBONE_BIRCH_PLANKS, NSE_TAB); - register("cross_birch_planks", () -> CROSS_BIRCH_PLANKS, NSE_TAB); - register("herringbone_crimson_planks", () -> HERRINGBONE_CRIMSON_PLANKS, NSE_TAB); - register("cross_crimson_planks", () -> CROSS_CRIMSON_PLANKS, NSE_TAB); - register("herringbone_dark_oak_planks", () -> HERRINGBONE_DARK_OAK_PLAKS, NSE_TAB); - register("cross_dark_oak_planks", () -> CROSS_DARK_OAK_PLANKS, NSE_TAB); - register("herringbone_jungle_planks", () -> HERRINGBONE_JUNGLE_PLANKS, NSE_TAB); - register("cross_jungle_planks", () -> CROSS_JUNGLE_PLANKS, NSE_TAB); - register("herringbone_mangrove_planks", () -> HERRINGBONE_MANGROVE_PLANKS, NSE_TAB); - register("cross_mangrove_planks", () -> CROSS_MANGROVE_PLANKS, NSE_TAB); - register("herringbone_spruce_planks", () -> HERRINGBONE_SPRUCE_PLANKS, NSE_TAB); - register("cross_spruce_planks", () -> CROSS_SPRUCE_PLANKS, NSE_TAB); + register("herringbone_acacia_planks", () -> HERRINGBONE_ACACIA_PLANKS, NSE_BUILDING_TAB); + register("cross_acacia_planks", () -> CROSS_ACACIA_PLANKS, NSE_BUILDING_TAB); + register("herringbone_oak_planks", () -> HERRINGBONE_OAK_PLANKS, NSE_BUILDING_TAB); + register("cross_oak_planks", () -> CROSS_OAK_PLANKS, NSE_BUILDING_TAB); + register("herringbone_birch_planks", () -> HERRINGBONE_BIRCH_PLANKS, NSE_BUILDING_TAB); + register("cross_birch_planks", () -> CROSS_BIRCH_PLANKS, NSE_BUILDING_TAB); + register("herringbone_crimson_planks", () -> HERRINGBONE_CRIMSON_PLANKS, NSE_BUILDING_TAB); + register("cross_crimson_planks", () -> CROSS_CRIMSON_PLANKS, NSE_BUILDING_TAB); + register("herringbone_dark_oak_planks", () -> HERRINGBONE_DARK_OAK_PLAKS, NSE_BUILDING_TAB); + register("cross_dark_oak_planks", () -> CROSS_DARK_OAK_PLANKS, NSE_BUILDING_TAB); + register("herringbone_jungle_planks", () -> HERRINGBONE_JUNGLE_PLANKS, NSE_BUILDING_TAB); + register("cross_jungle_planks", () -> CROSS_JUNGLE_PLANKS, NSE_BUILDING_TAB); + register("herringbone_mangrove_planks", () -> HERRINGBONE_MANGROVE_PLANKS, NSE_BUILDING_TAB); + register("cross_mangrove_planks", () -> CROSS_MANGROVE_PLANKS, NSE_BUILDING_TAB); + register("herringbone_spruce_planks", () -> HERRINGBONE_SPRUCE_PLANKS, NSE_BUILDING_TAB); + register("cross_spruce_planks", () -> CROSS_SPRUCE_PLANKS, NSE_BUILDING_TAB); - register("herringbone_parquet", () -> HERRINGBONE_PARQUET, NSE_TAB); - register("straight_parquet", () -> STRAIGHT_PARQUET, NSE_TAB); - register("separated_parquet", () -> SEPARATED_PARQUET, NSE_TAB); + register("herringbone_parquet", () -> HERRINGBONE_PARQUET, NSE_BUILDING_TAB); + register("straight_parquet", () -> STRAIGHT_PARQUET, NSE_BUILDING_TAB); + register("separated_parquet", () -> SEPARATED_PARQUET, NSE_BUILDING_TAB); - register("green_linoleum", () -> GREEN_LINOLEUM, NSE_TAB); - register("blue_linoleum", () -> BLUE_LINOLEUM, NSE_TAB); - register("red_linoleum", () -> RED_LINOLEUM, NSE_TAB); - register("gray_linoleum", () -> GRAY_LINOLEUM, NSE_TAB); - register("orange_linoleum", () -> ORANGE_LINOLEUM, NSE_TAB); - register("brown_linoleum", () -> BROWN_LINOLEUM, NSE_TAB); - register("cyan_linoleum", () -> CYAN_LINOLEUM, NSE_TAB); - register("cross_orange_linoleum", () -> CROSS_ORANGE_LINOLEUM, NSE_TAB); - register("cross_brown_linoleum", () -> CROSS_BROWN_LINOLEUM, NSE_TAB); + register("green_linoleum", () -> GREEN_LINOLEUM, NSE_BUILDING_TAB); + register("blue_linoleum", () -> BLUE_LINOLEUM, NSE_BUILDING_TAB); + register("red_linoleum", () -> RED_LINOLEUM, NSE_BUILDING_TAB); + register("gray_linoleum", () -> GRAY_LINOLEUM, NSE_BUILDING_TAB); + register("orange_linoleum", () -> ORANGE_LINOLEUM, NSE_BUILDING_TAB); + register("brown_linoleum", () -> BROWN_LINOLEUM, NSE_BUILDING_TAB); + register("cyan_linoleum", () -> CYAN_LINOLEUM, NSE_BUILDING_TAB); + register("cross_orange_linoleum", () -> CROSS_ORANGE_LINOLEUM, NSE_BUILDING_TAB); + register("cross_brown_linoleum", () -> CROSS_BROWN_LINOLEUM, NSE_BUILDING_TAB); } } diff --git a/src/main/java/su/a71/new_soviet/NSE_Items.java b/src/main/java/su/a71/new_soviet/NSE_Items.java new file mode 100644 index 0000000..0e9e7fd --- /dev/null +++ b/src/main/java/su/a71/new_soviet/NSE_Items.java @@ -0,0 +1,50 @@ +package su.a71.new_soviet; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.Block; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.*; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKey; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; + +import java.util.Optional; +import java.util.function.Supplier; +import net.minecraft.util.Rarity; + +public class NSE_Items { + // Like an iron axe but a hoe and slightly faster (-2.8f vs -3.1f) and a bit weaker (6 vs 6.5 damage) + public static final ToolItem SICKLE = new HoeItem(ToolMaterials.IRON, 6, -2.8F, new Item.Settings()); + + // TODO: Currently same as golden apple + public static final FoodComponent COCONUT_FC = (new FoodComponent.Builder()).hunger(4).saturationModifier(1.2F).statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION, 100, 1), 1.0F).statusEffect(new StatusEffectInstance(StatusEffects.ABSORPTION, 2400, 0), 1.0F).alwaysEdible().build(); + public static final Item COCONUT = new Item(new Item.Settings().food(COCONUT_FC).rarity(Rarity.EPIC)); + + private static final ItemGroup NSE_ITEMS_TAB = FabricItemGroup.builder() + .icon(() -> new ItemStack(SICKLE)) + .displayName(Text.translatable("itemGroup.new_soviet.items")) + .build(); + + private static void register(String name, Supplier supplier, ItemGroup tab) + { + Registry.register(Registries.ITEM, new Identifier(NewSoviet.MOD_ID, name), supplier.get()); + + Optional> key = Registries.ITEM_GROUP.getKey(tab); + key.ifPresent(itemGroupRegistryKey -> ItemGroupEvents.modifyEntriesEvent(itemGroupRegistryKey).register(content -> { + content.add(supplier.get()); + })); + } + + public static void init() { + Registry.register(Registries.ITEM_GROUP, new Identifier("new_soviet", "items"), NSE_ITEMS_TAB); + register("sickle", () -> SICKLE, NSE_ITEMS_TAB); + register("coconut", () -> COCONUT, NSE_ITEMS_TAB); + } +} diff --git a/src/main/java/su/a71/new_soviet/NewSoviet.java b/src/main/java/su/a71/new_soviet/NewSoviet.java index 8018ccb..4a03d2d 100644 --- a/src/main/java/su/a71/new_soviet/NewSoviet.java +++ b/src/main/java/su/a71/new_soviet/NewSoviet.java @@ -20,9 +20,7 @@ public class NewSoviet implements ModInitializer { @Override public void onInitialize() { - // This code runs as soon as Minecraft is in a mod-load-ready state. - // However, some things (like resources) may still be uninitialized. - // Proceed with mild caution. NSE_Blocks.init(); + NSE_Items.init(); } } \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/lang/en_us.json b/src/main/resources/assets/new_soviet/lang/en_us.json index 41f47f5..43779c0 100644 --- a/src/main/resources/assets/new_soviet/lang/en_us.json +++ b/src/main/resources/assets/new_soviet/lang/en_us.json @@ -1,5 +1,6 @@ { "itemGroup.new_soviet.building_blocks": "Soviet Building Blocks", + "itemGroup.new_soviet.items": "Soviet Items", "block.new_soviet.sand_tiles": "Sand Tiles", "block.new_soviet.cracked_sand_tiles": "Cracked Sand Tiles", "block.new_soviet.mossy_sand_tiles": "Mossy Sand Tiles", @@ -79,12 +80,12 @@ "block.new_soviet.lime_warning": "Lime Warning Stripes", "block.new_soviet.green_warning": "Green Warning Stripes", "block.new_soviet.cyan_warning": "Cyan Warning Stripes", - "block.new_soviet.light_blue_warning": "Light Blue Warning", + "block.new_soviet.light_blue_warning": "Light Blue Warning Stripes", "block.new_soviet.blue_warning": "Blue Warning Stripes", "block.new_soviet.purple_warning": "Purple Warning Stripes", "block.new_soviet.magenta_warning": "Magenta Warning Stripes", "block.new_soviet.metal_plating": "Metal Plating Block", - "block.new_soviet.concrete_wall": "Concrete Wall", + "block.new_soviet.concrete_wall": "PO-2 Wall", "block.new_soviet.herringbone_acacia_planks": "Herringbone Acacia Planks", "block.new_soviet.cross_acacia_planks": "Cross Acacia Planks", "block.new_soviet.herringbone_oak_planks": "Herringbone Oak Planks", @@ -112,5 +113,7 @@ "block.new_soviet.brown_linoleum": "Brown Linoleum", "block.new_soviet.cyan_linoleum": "Cyan Linoleum", "block.new_soviet.cross_orange_linoleum": "Cross Orange Linoleum", - "block.new_soviet.cross_brown_linoleum": "Cross Brown Linoleum" + "block.new_soviet.cross_brown_linoleum": "Cross Brown Linoleum", + "item.new_soviet.sickle": "Sickle", + "item.new_soviet.coconut": "Coconut" } \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/models/block/concrete_wall_inventory.json b/src/main/resources/assets/new_soviet/models/block/concrete_wall_inventory.json index cfb9013..5ce596b 100644 --- a/src/main/resources/assets/new_soviet/models/block/concrete_wall_inventory.json +++ b/src/main/resources/assets/new_soviet/models/block/concrete_wall_inventory.json @@ -1,6 +1,81 @@ { - "parent": "minecraft:block/wall_inventory", + "credit": "Made by Feulim (karoter2)", + "parent": "block/block", + "ambientocclusion": false, "textures": { - "wall": "new_soviet:block/industrial/concrete_wall" + "0": "new_soviet:block/industrial/po_2_wall/po2", + "1": "new_soviet:block/industrial/po_2_wall/po2_pillar", + "2": "new_soviet:block/industrial/po_2_wall/po2_side", + "particle": "new_soviet:block/industrial/po_2_wall/po2" + }, + "elements": [ + { + "name": "Center post", + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "up": {"uv": [8, 0, 16, 8], "texture": "#1"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#1", "cullface": "down"} + } + }, + { + "name": "Full wall", + "from": [5, 0.1, 0], + "to": [11, 15.1, 8], + "faces": { + "north": {"uv": [4, 1, 10, 16], "texture": "#2", "cullface": "north"}, + "east": {"uv": [0, 1, 8, 16], "texture": "#0"}, + "south": {"uv": [4, 1, 10, 16], "texture": "#2", "cullface": "south"}, + "west": {"uv": [0, 1, 8, 16], "texture": "#0"}, + "up": {"uv": [4, 0, 10, 8], "texture": "#0"}, + "down": {"uv": [5, 7, 11, 16], "texture": "#0", "cullface": "down"} + } + }, + { + "name": "Full wall", + "from": [5, 0.1, 8], + "to": [11, 15.1, 16], + "faces": { + "north": {"uv": [4, 1, 10, 16], "texture": "#2", "cullface": "north"}, + "east": {"uv": [8, 1, 16, 16], "texture": "#0"}, + "south": {"uv": [4, 1, 10, 16], "texture": "#2", "cullface": "south"}, + "west": {"uv": [8, 1, 16, 16], "texture": "#0"}, + "up": {"uv": [4, 0, 10, 8], "texture": "#0"}, + "down": {"uv": [5, 7, 11, 16], "texture": "#0", "cullface": "down"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [0.98, 17.93, -7.15], + "scale": [0.4, 0.4, 0.4] + }, + "thirdperson_lefthand": { + "rotation": [3.15, 27.95, -12.71], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_righthand": { + "translation": [0.75, 0, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "translation": [3.25, 0, 0], + "scale": [0.4, 0.4, 0.41] + }, + "ground": { + "scale": [0.4, 0.4, 0.4] + }, + "gui": { + "rotation": [30, 135, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "rotation": [0, 90, 0], + "scale": [0.5, 0.5, 0.5] + } } } \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/models/block/concrete_wall_post.json b/src/main/resources/assets/new_soviet/models/block/concrete_wall_post.json index cacaa21..2e58ef1 100644 --- a/src/main/resources/assets/new_soviet/models/block/concrete_wall_post.json +++ b/src/main/resources/assets/new_soviet/models/block/concrete_wall_post.json @@ -1,6 +1,22 @@ { - "parent": "minecraft:block/template_wall_post", + "credit": "Made by Feulim (karoter2)", "textures": { - "wall": "new_soviet:block/industrial/concrete_wall" - } + "1": "new_soviet:block/industrial/po_2_wall/po2_pillar", + "particle": "new_soviet:block/industrial/po_2_wall/po2" + }, + "elements": [ + { + "name": "Center post", + "from": [4, 0, 4], + "to": [12, 16, 12], + "faces": { + "north": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "east": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "south": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#1"}, + "up": {"uv": [8, 0, 16, 8], "texture": "#1", "cullface": "up"}, + "down": {"uv": [8, 8, 16, 16], "texture": "#1", "cullface": "down"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/models/block/concrete_wall_side.json b/src/main/resources/assets/new_soviet/models/block/concrete_wall_side.json index e370d64..635353f 100644 --- a/src/main/resources/assets/new_soviet/models/block/concrete_wall_side.json +++ b/src/main/resources/assets/new_soviet/models/block/concrete_wall_side.json @@ -1,6 +1,22 @@ { - "parent": "minecraft:block/template_wall_side", + "credit": "Made by Feulim (karoter2)", "textures": { - "wall": "new_soviet:block/industrial/concrete_wall" - } + "0": "new_soviet:block/industrial/po_2_wall/po2", + "1": "new_soviet:block/industrial/po_2_wall/po2_side", + "particle": "new_soviet:block/industrial/po_2_wall/po2" + }, + "elements": [ + { + "name": "wall", + "from": [5, 0, 0], + "to": [11, 15, 8], + "faces": { + "north": {"uv": [4, 1, 10, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [8, 1, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 1, 8, 16], "texture": "#0"}, + "up": {"uv": [4, 7, 10, 15], "texture": "#0"}, + "down": {"uv": [5, 8, 11, 16], "texture": "#0", "cullface": "down"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/models/block/concrete_wall_side_tall.json b/src/main/resources/assets/new_soviet/models/block/concrete_wall_side_tall.json index 52a3a45..63f3187 100644 --- a/src/main/resources/assets/new_soviet/models/block/concrete_wall_side_tall.json +++ b/src/main/resources/assets/new_soviet/models/block/concrete_wall_side_tall.json @@ -1,6 +1,21 @@ { - "parent": "minecraft:block/template_wall_side_tall", + "credit": "Made by Feulim (karoter2)", "textures": { - "wall": "new_soviet:block/industrial/concrete_wall" - } + "0": "new_soviet:block/industrial/po_2_wall/po2", + "1": "new_soviet:block/industrial/po_2_wall/po2_side", + "particle": "new_soviet:block/industrial/po_2_wall/po2" + }, + "elements": [ + { + "from": [5, 0, 0], + "to": [11, 16, 8], + "faces": { + "north": {"uv": [10, 0, 16, 16], "texture": "#1", "cullface": "north"}, + "east": {"uv": [8, 0, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 0, 8, 16], "texture": "#0"}, + "up": {"uv": [4, 7, 10, 15], "texture": "#0", "cullface": "up"}, + "down": {"uv": [5, 8, 11, 16], "texture": "#0", "cullface": "down"} + } + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/models/item/coconut.json b/src/main/resources/assets/new_soviet/models/item/coconut.json new file mode 100644 index 0000000..f665e4c --- /dev/null +++ b/src/main/resources/assets/new_soviet/models/item/coconut.json @@ -0,0 +1,7 @@ +{ + "credit": "Achieved with SORCE", + "parent": "item/generated", + "textures": { + "layer0": "new_soviet:item/coconut" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/models/item/sickle.json b/src/main/resources/assets/new_soviet/models/item/sickle.json new file mode 100644 index 0000000..170e9f7 --- /dev/null +++ b/src/main/resources/assets/new_soviet/models/item/sickle.json @@ -0,0 +1,69 @@ +{ + "credit": "Made by Feulim (karoter2)", + "texture_size": [32, 32], + "textures": { + "0": "new_soviet:item/sickle", + "particle": "new_soviet:item/sickle" + }, + "elements": [ + { + "from": [7, 0, 7], + "to": [9, 7, 9], + "faces": { + "north": {"uv": [6.5, 0, 7.5, 3.5], "texture": "#0"}, + "east": {"uv": [6.5, 3.5, 7.5, 7], "texture": "#0"}, + "south": {"uv": [6.5, 7, 7.5, 10.5], "texture": "#0"}, + "west": {"uv": [7.5, 0, 8.5, 3.5], "texture": "#0"}, + "up": {"uv": [8.5, 4.5, 7.5, 3.5], "texture": "#0"}, + "down": {"uv": [8.5, 4.5, 7.5, 5.5], "texture": "#0"} + } + }, + { + "from": [8, 7, 1.5], + "to": [8, 20, 14.5], + "faces": { + "north": {"uv": [0, 0, 0, 6.5], "texture": "#0"}, + "east": {"uv": [0, 0, 6.5, 6.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 6.5], "texture": "#0"}, + "west": {"uv": [6.5, 0, 0, 6.5], "texture": "#0"}, + "up": {"uv": [0, 6.5, 0, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 0, 6.5], "texture": "#0"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [0, 11, 0], + "translation": [0, 2.25, 0] + }, + "thirdperson_lefthand": { + "rotation": [0, 7, 0], + "translation": [0, 2, 0] + }, + "firstperson_righthand": { + "rotation": [-14, 11, -25], + "translation": [1.25, 0, -3.5] + }, + "firstperson_lefthand": { + "rotation": [-7, 5, -5], + "translation": [0, 0, -2] + }, + "ground": { + "rotation": [0, 0, 90], + "translation": [0, -2, 0], + "scale": [0.5, 0.5, 0.5] + }, + "gui": { + "rotation": [85, 51, -90], + "translation": [-2.25, -1.25, 0], + "scale": [0.8, 0.8, 0.8] + }, + "head": { + "translation": [0, 12.75, 0] + }, + "fixed": { + "rotation": [0, 90, 0], + "translation": [0, -1.75, 0] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/textures/block/coconut.png b/src/main/resources/assets/new_soviet/textures/block/coconut.png deleted file mode 100644 index 3dce565..0000000 Binary files a/src/main/resources/assets/new_soviet/textures/block/coconut.png and /dev/null differ diff --git a/src/main/resources/assets/new_soviet/textures/block/industrial/po_2_wall/po2.png b/src/main/resources/assets/new_soviet/textures/block/industrial/po_2_wall/po2.png new file mode 100644 index 0000000..388ba2e Binary files /dev/null and b/src/main/resources/assets/new_soviet/textures/block/industrial/po_2_wall/po2.png differ diff --git a/src/main/resources/assets/new_soviet/textures/block/industrial/po_2_wall/po2_pillar.png b/src/main/resources/assets/new_soviet/textures/block/industrial/po_2_wall/po2_pillar.png new file mode 100644 index 0000000..8afc452 Binary files /dev/null and b/src/main/resources/assets/new_soviet/textures/block/industrial/po_2_wall/po2_pillar.png differ diff --git a/src/main/resources/assets/new_soviet/textures/block/industrial/po_2_wall/po2_side.png b/src/main/resources/assets/new_soviet/textures/block/industrial/po_2_wall/po2_side.png new file mode 100644 index 0000000..bded521 Binary files /dev/null and b/src/main/resources/assets/new_soviet/textures/block/industrial/po_2_wall/po2_side.png differ diff --git a/src/main/resources/assets/new_soviet/textures/item/coconut.png b/src/main/resources/assets/new_soviet/textures/item/coconut.png new file mode 100644 index 0000000..9e10cfd Binary files /dev/null and b/src/main/resources/assets/new_soviet/textures/item/coconut.png differ diff --git a/src/main/resources/assets/new_soviet/textures/item/sickle.png b/src/main/resources/assets/new_soviet/textures/item/sickle.png new file mode 100644 index 0000000..714e16f Binary files /dev/null and b/src/main/resources/assets/new_soviet/textures/item/sickle.png differ