Compare commits

...

2 commits

Author SHA1 Message Date
586a39977b Change dirt road texture 2023-12-26 19:18:45 +03:00
b37e62cc47 Add antenna and crude Green TV 2023-10-31 21:34:54 +03:00
53 changed files with 613 additions and 47 deletions

View file

@ -48,4 +48,8 @@ This version focuses on QOL and bug fixes
* Technical changes * Technical changes
* Simplified recipe data generation * Simplified recipe data generation
* Deleted various unused files - code, textures and models * Deleted various unused files - code, textures and models
* Bumped Fabric API, loader and mappings versions * Bumped Fabric API, loader and mappings versions
### Changelog 0.3 -> 0.4
* Added a new antenna item to improve radio electronics recipes
* Changed texture of dirt road

16
TODO.md
View file

@ -25,9 +25,15 @@ TODO --
=== VERSION SPECIFIC === === VERSION SPECIFIC ===
## 0.3 ## 0.3
Goals left - QOL Goals left - QOL
* All missing recipes * All missing recipes ~+-
* Better feedback - particles, noises * Better feedback - particles, noises ~+-
* Fix post lamps hit-boxes * Fix post lamps hit-boxes ~+-
* Missing warning stripes
## 0.4
* Implement antenna everywhere
* Add patterns
* Implement new concrete
* TV rework #3 (new colours, second static, ...?)
* More landmines, land mine base item, create integration for it
* Rework cigarette (code and some functionality) * Rework cigarette (code and some functionality)
* More landmines, land mine base item, create integration for it * Missing warning stripes

View file

@ -34,6 +34,7 @@ public class NewSovietClient implements ClientModInitializer {
BlockRenderLayerMap.INSTANCE.putBlock(NSE_Custom.TV, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(NSE_Custom.TV, RenderLayer.getCutout());
BlockRenderLayerMap.INSTANCE.putBlock(NSE_Custom.RED_TV, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(NSE_Custom.RED_TV, RenderLayer.getCutout());
BlockRenderLayerMap.INSTANCE.putBlock(NSE_Custom.BROWN_TV, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(NSE_Custom.BROWN_TV, RenderLayer.getCutout());
BlockRenderLayerMap.INSTANCE.putBlock(NSE_Custom.GREEN_TV, RenderLayer.getCutout());
BlockRenderLayerMap.INSTANCE.putBlock(NSE_Custom.RADIO_RECEIVER, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(NSE_Custom.RADIO_RECEIVER, RenderLayer.getCutout());

View file

@ -0,0 +1,39 @@
{
"parent": "minecraft:new_soviet/root",
"criteria": {
"got_antenna": {
"conditions": {
"items": [
{
"items": [
"new_soviet:antenna"
]
}
]
},
"trigger": "minecraft:inventory_changed"
}
},
"display": {
"announce_to_chat": true,
"background": "minecraft:textures/gui/advancements/backgrounds/adventure.png",
"description": {
"translate": "advancement.new_soviet.antenna.desc"
},
"frame": "task",
"hidden": false,
"icon": {
"item": "new_soviet:antenna"
},
"show_toast": true,
"title": {
"translate": "advancement.new_soviet.antenna.name"
}
},
"requirements": [
[
"got_antenna"
]
],
"sends_telemetry_event": true
}

View file

@ -1,6 +1,18 @@
{ {
"parent": "minecraft:recipes/root", "parent": "minecraft:recipes/root",
"criteria": { "criteria": {
"has_antenna": {
"conditions": {
"items": [
{
"items": [
"new_soviet:antenna"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_brown_dye": { "has_brown_dye": {
"conditions": { "conditions": {
"items": [ "items": [
@ -25,12 +37,24 @@
}, },
"trigger": "minecraft:inventory_changed" "trigger": "minecraft:inventory_changed"
}, },
"has_iron_nugget": { "has_iron_ingot": {
"conditions": { "conditions": {
"items": [ "items": [
{ {
"items": [ "items": [
"minecraft:iron_nugget" "minecraft:iron_ingot"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_iron_trapdoor": {
"conditions": {
"items": [
{
"items": [
"minecraft:iron_trapdoor"
] ]
} }
] ]
@ -58,7 +82,9 @@
}, },
"requirements": [ "requirements": [
[ [
"has_iron_nugget", "has_iron_ingot",
"has_iron_trapdoor",
"has_antenna",
"has_glass_pane", "has_glass_pane",
"has_redstone", "has_redstone",
"has_brown_dye", "has_brown_dye",

View file

@ -0,0 +1,100 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_antenna": {
"conditions": {
"items": [
{
"items": [
"new_soviet:antenna"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_glass_pane": {
"conditions": {
"items": [
{
"items": [
"minecraft:glass_pane"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_green_dye": {
"conditions": {
"items": [
{
"items": [
"minecraft:green_dye"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_iron_ingot": {
"conditions": {
"items": [
{
"items": [
"minecraft:iron_ingot"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_iron_trapdoor": {
"conditions": {
"items": [
{
"items": [
"minecraft:iron_trapdoor"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_redstone": {
"conditions": {
"items": [
{
"items": [
"minecraft:redstone"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "new_soviet:green_tv"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_iron_ingot",
"has_iron_trapdoor",
"has_antenna",
"has_glass_pane",
"has_redstone",
"has_green_dye",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"new_soviet:green_tv"
]
},
"sends_telemetry_event": false
}

View file

@ -1,6 +1,18 @@
{ {
"parent": "minecraft:recipes/root", "parent": "minecraft:recipes/root",
"criteria": { "criteria": {
"has_antenna": {
"conditions": {
"items": [
{
"items": [
"new_soviet:antenna"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_glass_pane": { "has_glass_pane": {
"conditions": { "conditions": {
"items": [ "items": [
@ -13,12 +25,24 @@
}, },
"trigger": "minecraft:inventory_changed" "trigger": "minecraft:inventory_changed"
}, },
"has_iron_nugget": { "has_iron_ingot": {
"conditions": { "conditions": {
"items": [ "items": [
{ {
"items": [ "items": [
"minecraft:iron_nugget" "minecraft:iron_ingot"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_iron_trapdoor": {
"conditions": {
"items": [
{
"items": [
"minecraft:iron_trapdoor"
] ]
} }
] ]
@ -58,7 +82,9 @@
}, },
"requirements": [ "requirements": [
[ [
"has_iron_nugget", "has_iron_ingot",
"has_iron_trapdoor",
"has_antenna",
"has_glass_pane", "has_glass_pane",
"has_redstone", "has_redstone",
"has_red_dye", "has_red_dye",

View file

@ -1,6 +1,18 @@
{ {
"parent": "minecraft:recipes/root", "parent": "minecraft:recipes/root",
"criteria": { "criteria": {
"has_antenna": {
"conditions": {
"items": [
{
"items": [
"new_soviet:antenna"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_glass_pane": { "has_glass_pane": {
"conditions": { "conditions": {
"items": [ "items": [
@ -13,12 +25,24 @@
}, },
"trigger": "minecraft:inventory_changed" "trigger": "minecraft:inventory_changed"
}, },
"has_iron_nugget": { "has_iron_ingot": {
"conditions": { "conditions": {
"items": [ "items": [
{ {
"items": [ "items": [
"minecraft:iron_nugget" "minecraft:iron_ingot"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_iron_trapdoor": {
"conditions": {
"items": [
{
"items": [
"minecraft:iron_trapdoor"
] ]
} }
] ]
@ -58,7 +82,9 @@
}, },
"requirements": [ "requirements": [
[ [
"has_iron_nugget", "has_iron_ingot",
"has_iron_trapdoor",
"has_antenna",
"has_glass_pane", "has_glass_pane",
"has_redstone", "has_redstone",
"has_orange_dye", "has_orange_dye",

View file

@ -0,0 +1,48 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_iron_ingot": {
"conditions": {
"items": [
{
"items": [
"minecraft:iron_ingot"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_iron_nugget": {
"conditions": {
"items": [
{
"items": [
"minecraft:iron_nugget"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "new_soviet:antenna"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_iron_ingot",
"has_iron_nugget",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"new_soviet:antenna"
]
},
"sends_telemetry_event": false
}

View file

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

View file

@ -2,23 +2,29 @@
"type": "minecraft:crafting_shaped", "type": "minecraft:crafting_shaped",
"category": "misc", "category": "misc",
"key": { "key": {
"A": {
"item": "new_soviet:antenna"
},
"D": { "D": {
"item": "minecraft:brown_dye" "item": "minecraft:brown_dye"
}, },
"G": { "G": {
"item": "minecraft:glass_pane" "item": "minecraft:glass_pane"
}, },
"N": { "I": {
"item": "minecraft:iron_nugget" "item": "minecraft:iron_ingot"
}, },
"R": { "R": {
"item": "minecraft:redstone" "item": "minecraft:redstone"
},
"T": {
"item": "minecraft:iron_trapdoor"
} }
}, },
"pattern": [ "pattern": [
"N N", "TAT",
"DGD", "IGI",
"DRD" "RDR"
], ],
"result": { "result": {
"item": "new_soviet:brown_tv" "item": "new_soviet:brown_tv"

View file

@ -0,0 +1,33 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"A": {
"item": "new_soviet:antenna"
},
"D": {
"item": "minecraft:green_dye"
},
"G": {
"item": "minecraft:glass_pane"
},
"I": {
"item": "minecraft:iron_ingot"
},
"R": {
"item": "minecraft:redstone"
},
"T": {
"item": "minecraft:iron_trapdoor"
}
},
"pattern": [
"TAT",
"IGI",
"RDR"
],
"result": {
"item": "new_soviet:green_tv"
},
"show_notification": true
}

View file

@ -2,23 +2,29 @@
"type": "minecraft:crafting_shaped", "type": "minecraft:crafting_shaped",
"category": "misc", "category": "misc",
"key": { "key": {
"A": {
"item": "new_soviet:antenna"
},
"D": { "D": {
"item": "minecraft:red_dye" "item": "minecraft:red_dye"
}, },
"G": { "G": {
"item": "minecraft:glass_pane" "item": "minecraft:glass_pane"
}, },
"N": { "I": {
"item": "minecraft:iron_nugget" "item": "minecraft:iron_ingot"
}, },
"R": { "R": {
"item": "minecraft:redstone" "item": "minecraft:redstone"
},
"T": {
"item": "minecraft:iron_trapdoor"
} }
}, },
"pattern": [ "pattern": [
"N N", "TAT",
"DGD", "IGI",
"DRD" "RDR"
], ],
"result": { "result": {
"item": "new_soviet:red_tv" "item": "new_soviet:red_tv"

View file

@ -2,23 +2,29 @@
"type": "minecraft:crafting_shaped", "type": "minecraft:crafting_shaped",
"category": "misc", "category": "misc",
"key": { "key": {
"A": {
"item": "new_soviet:antenna"
},
"D": { "D": {
"item": "minecraft:orange_dye" "item": "minecraft:orange_dye"
}, },
"G": { "G": {
"item": "minecraft:glass_pane" "item": "minecraft:glass_pane"
}, },
"N": { "I": {
"item": "minecraft:iron_nugget" "item": "minecraft:iron_ingot"
}, },
"R": { "R": {
"item": "minecraft:redstone" "item": "minecraft:redstone"
},
"T": {
"item": "minecraft:iron_trapdoor"
} }
}, },
"pattern": [ "pattern": [
"N N", "TAT",
"DGD", "IGI",
"DRD" "RDR"
], ],
"result": { "result": {
"item": "new_soviet:tv" "item": "new_soviet:tv"

View file

@ -3,6 +3,7 @@
"values": [ "values": [
"new_soviet:tv", "new_soviet:tv",
"new_soviet:red_tv", "new_soviet:red_tv",
"new_soviet:brown_tv" "new_soviet:brown_tv",
"new_soviet:green_tv"
] ]
} }

View file

@ -40,7 +40,7 @@ public class Advancements implements Consumer<Consumer<Advancement>> {
false, // Announcement false, // Announcement
false // Hidden false // Hidden
) )
.criterion("got_dirt", InventoryChangedCriterion.Conditions.items(Items.DIRT)) .criterion("got_dirt", InventoryChangedCriterion.Conditions.items(Items.DIRT)) // Just a basic criterion
.build(consumer, NewSoviet.MOD_ID + "/root"); .build(consumer, NewSoviet.MOD_ID + "/root");
// Make a sickle // Make a sickle
@ -95,7 +95,7 @@ public class Advancements implements Consumer<Consumer<Advancement>> {
ItemPredicate.Builder.create().tag(NSE_Tags.Items.DICE))) ItemPredicate.Builder.create().tag(NSE_Tags.Items.DICE)))
.build(consumer, NewSoviet.MOD_ID + "/gambler"); .build(consumer, NewSoviet.MOD_ID + "/gambler");
// Throw a die 1000 times // Throw a die 1000 times
Advancement serious_addiction = Advancement.Builder.create() Advancement serious_addiction = Advancement.Builder.create()
.display( .display(
NSE_Items.DICE_D20, NSE_Items.DICE_D20,
@ -126,5 +126,21 @@ public class Advancements implements Consumer<Consumer<Advancement>> {
.parent(gambler) .parent(gambler)
.criterion("rolled_100_perfect", UsingItemCriterion.Conditions.create(EntityPredicate.Builder.create().type(EntityType.PLAYER).typeSpecific(PlayerPredicate.Builder.create().stat(Stats.CUSTOM.getOrCreateStat(NSE_Stats.ROLL_PERFECT_DICE), NumberRange.IntRange.atLeast(100)).build()), ItemPredicate.Builder.create().tag(NSE_Tags.Items.DICE))) .criterion("rolled_100_perfect", UsingItemCriterion.Conditions.create(EntityPredicate.Builder.create().type(EntityType.PLAYER).typeSpecific(PlayerPredicate.Builder.create().stat(Stats.CUSTOM.getOrCreateStat(NSE_Stats.ROLL_PERFECT_DICE), NumberRange.IntRange.atLeast(100)).build()), ItemPredicate.Builder.create().tag(NSE_Tags.Items.DICE)))
.build(consumer, NewSoviet.MOD_ID + "/lucky_throw"); .build(consumer, NewSoviet.MOD_ID + "/lucky_throw");
// Craft an antenna
Advancement antenna = Advancement.Builder.create()
.display(
NSE_Items.ANTENNA,
Text.translatable("advancement.new_soviet.antenna.name"),
Text.translatable("advancement.new_soviet.antenna.desc"),
new Identifier("textures/gui/advancements/backgrounds/adventure.png"),
AdvancementFrame.TASK,
true, // Toast
true, // Announcement
false // Hidden
)
.parent(root)
.criterion("got_antenna", InventoryChangedCriterion.Conditions.items(NSE_Items.ANTENNA))
.build(consumer, NewSoviet.MOD_ID + "/antenna");
} }
} }

View file

@ -427,7 +427,8 @@ public class BlockTagGenerator extends FabricTagProvider.BlockTagProvider {
getOrCreateTagBuilder(NSE_Tags.Blocks.TV) getOrCreateTagBuilder(NSE_Tags.Blocks.TV)
.add(NSE_Custom.TV) .add(NSE_Custom.TV)
.add(NSE_Custom.RED_TV) .add(NSE_Custom.RED_TV)
.add(NSE_Custom.BROWN_TV); .add(NSE_Custom.BROWN_TV)
.add(NSE_Custom.GREEN_TV);
getOrCreateTagBuilder(NSE_Tags.Blocks.SWITCHES) getOrCreateTagBuilder(NSE_Tags.Blocks.SWITCHES)
.add(NSE_Custom.SWITCH) .add(NSE_Custom.SWITCH)

View file

@ -166,15 +166,21 @@ public class RecipeGenerator extends FabricRecipeProvider {
private void tvRecipe(Consumer<RecipeJsonProvider> exporter, ItemConvertible output, ItemConvertible dye) { private void tvRecipe(Consumer<RecipeJsonProvider> exporter, ItemConvertible output, ItemConvertible dye) {
ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1) ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, output, 1)
.pattern("N N") .pattern("TAT")
.pattern("DGD") .pattern("IGI")
.pattern("DRD") .pattern("RDR")
.input('D', dye) .input('D', dye)
.input('N', Items.IRON_NUGGET) .input('A', NSE_Items.ANTENNA)
.input('I', Items.IRON_INGOT)
.input('T', Items.IRON_TRAPDOOR)
.input('R', Items.REDSTONE) .input('R', Items.REDSTONE)
.input('G', Items.GLASS_PANE) .input('G', Items.GLASS_PANE)
.criterion(RecipeProvider.hasItem(Items.IRON_NUGGET), .criterion(RecipeProvider.hasItem(Items.IRON_INGOT),
RecipeProvider.conditionsFromItem(Items.IRON_NUGGET)) RecipeProvider.conditionsFromItem(Items.IRON_INGOT))
.criterion(RecipeProvider.hasItem(Items.IRON_TRAPDOOR),
RecipeProvider.conditionsFromItem(Items.IRON_TRAPDOOR))
.criterion(RecipeProvider.hasItem(NSE_Items.ANTENNA),
RecipeProvider.conditionsFromItem(NSE_Items.ANTENNA))
.criterion(RecipeProvider.hasItem(Items.GLASS_PANE), .criterion(RecipeProvider.hasItem(Items.GLASS_PANE),
RecipeProvider.conditionsFromItem(Items.GLASS_PANE)) RecipeProvider.conditionsFromItem(Items.GLASS_PANE))
.criterion(RecipeProvider.hasItem(Items.REDSTONE), .criterion(RecipeProvider.hasItem(Items.REDSTONE),
@ -204,6 +210,7 @@ public class RecipeGenerator extends FabricRecipeProvider {
tvRecipe(exporter, NSE_Custom.TV, Items.ORANGE_DYE); tvRecipe(exporter, NSE_Custom.TV, Items.ORANGE_DYE);
tvRecipe(exporter, NSE_Custom.BROWN_TV, Items.BROWN_DYE); tvRecipe(exporter, NSE_Custom.BROWN_TV, Items.BROWN_DYE);
tvRecipe(exporter, NSE_Custom.RED_TV, Items.RED_DYE); tvRecipe(exporter, NSE_Custom.RED_TV, Items.RED_DYE);
tvRecipe(exporter, NSE_Custom.GREEN_TV, Items.GREEN_DYE);
// Cracked blocks // Cracked blocks
offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_BRICK_TILES, NSE_Blocks.BRICK_TILES); offerCrackingRecipe(exporter, NSE_Blocks.CRACKED_BRICK_TILES, NSE_Blocks.BRICK_TILES);
@ -542,6 +549,13 @@ public class RecipeGenerator extends FabricRecipeProvider {
.criterion(hasItem(Items.GLOWSTONE_DUST), conditionsFromItem(Items.GLOWSTONE_DUST)) .criterion(hasItem(Items.GLOWSTONE_DUST), conditionsFromItem(Items.GLOWSTONE_DUST))
.offerTo(exporter); .offerTo(exporter);
ShapedRecipeJsonBuilder.create(RecipeCategory.MISC, NSE_Items.ANTENNA, 1)
.input('I', Items.IRON_INGOT).input('N', Items.IRON_NUGGET)
.pattern("N N").pattern("N N").pattern(" I ")
.criterion(hasItem(Items.IRON_INGOT), conditionsFromItem(Items.IRON_INGOT))
.criterion(hasItem(Items.IRON_NUGGET), conditionsFromItem(Items.IRON_NUGGET))
.offerTo(exporter);
ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, NSE_Custom.LIGHT_BULB_LAMP, 1) 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) .input('X', Items.IRON_INGOT).input('Y', Items.IRON_NUGGET).input('Z', NSE_Items.LIGHT_BULB)
.pattern(" X ").pattern(" Y ").pattern(" Z ") .pattern(" X ").pattern(" Y ").pattern(" Z ")

View file

@ -35,7 +35,8 @@ public class NSE_Custom extends NSE_BaseRegistration {
public static final TVBlock TV = new TVBlock(FabricBlockSettings.create().mapColor(MapColor.TERRACOTTA_YELLOW)); public static final TVBlock TV = new TVBlock(FabricBlockSettings.create().mapColor(MapColor.TERRACOTTA_YELLOW));
public static final TVBlock RED_TV = new TVBlock(FabricBlockSettings.create().mapColor(MapColor.TERRACOTTA_RED)); public static final TVBlock RED_TV = new TVBlock(FabricBlockSettings.create().mapColor(MapColor.TERRACOTTA_RED));
public static final TVBlock BROWN_TV = new TVBlock(FabricBlockSettings.create().mapColor(MapColor.TERRACOTTA_BROWN)); public static final TVBlock BROWN_TV = new TVBlock(FabricBlockSettings.create().mapColor(MapColor.TERRACOTTA_BROWN));
public static final BlockEntityType<TVBlockEntity> TV_BLOCK_ENTITY = registerBlockEntity("tv_block_entity", TVBlockEntity::new, TV, RED_TV, BROWN_TV); public static final TVBlock GREEN_TV = new TVBlock(FabricBlockSettings.create().mapColor(MapColor.TERRACOTTA_GREEN));
public static final BlockEntityType<TVBlockEntity> TV_BLOCK_ENTITY = registerBlockEntity("tv_block_entity", TVBlockEntity::new, TV, RED_TV, BROWN_TV, GREEN_TV);
public static final RadioReceiverBlock RADIO_RECEIVER = new RadioReceiverBlock(); public static final RadioReceiverBlock RADIO_RECEIVER = new RadioReceiverBlock();
@ -103,6 +104,8 @@ public class NSE_Custom extends NSE_BaseRegistration {
registerBlock("tv", () -> TV, NSE_CUSTOM_TAB); registerBlock("tv", () -> TV, NSE_CUSTOM_TAB);
registerBlock("red_tv", () -> RED_TV, NSE_CUSTOM_TAB); registerBlock("red_tv", () -> RED_TV, NSE_CUSTOM_TAB);
registerBlock("brown_tv", () -> BROWN_TV, NSE_CUSTOM_TAB); registerBlock("brown_tv", () -> BROWN_TV, NSE_CUSTOM_TAB);
registerBlock("green_tv", () -> GREEN_TV, NSE_CUSTOM_TAB);
registerBlock("radio_receiver", () -> RADIO_RECEIVER, NSE_CUSTOM_TAB); registerBlock("radio_receiver", () -> RADIO_RECEIVER, NSE_CUSTOM_TAB);
registerBlock("table_lamp", () -> TABLE_LAMP, NSE_CUSTOM_TAB); registerBlock("table_lamp", () -> TABLE_LAMP, NSE_CUSTOM_TAB);
registerBlock("golden_table_lamp", () -> GOLDEN_LAMP, NSE_CUSTOM_TAB); registerBlock("golden_table_lamp", () -> GOLDEN_LAMP, NSE_CUSTOM_TAB);

View file

@ -30,10 +30,11 @@ public class NSE_Items extends NSE_BaseRegistration {
public static final DiceItem DICE_D20 = new DiceItem(20, "item.new_soviet.dice_d20.tooltip", new Item.Settings().maxCount(6)); public static final DiceItem DICE_D20 = new DiceItem(20, "item.new_soviet.dice_d20.tooltip", new Item.Settings().maxCount(6));
public static final Item LIGHT_BULB = new Item(new Item.Settings()); public static final Item LIGHT_BULB = new Item(new Item.Settings());
public static final Item ANTENNA = new Item(new Item.Settings());
public static final Item CIGARETTE_BUTT = new Item(new Item.Settings()); public static final Item CIGARETTE_BUTT = new Item(new Item.Settings());
public static final CigaretteItem CIGARETTE = new CigaretteItem(200, NSE_Items.CIGARETTE_BUTT, "item.new_soviet.tooltip.salute", new Item.Settings()); public static final CigaretteItem CIGARETTE = new CigaretteItem(200, NSE_Items.CIGARETTE_BUTT, "item.new_soviet.tooltip.salute", new Item.Settings());
// public static final MusicDiscItem BATTLE_IS_GOING_AGAIN = new MusicDiscItem(1, NSE_Sounds.MUSIC_LENIN, 123) // public static final MusicDiscItem BATTLE_IS_GOING_AGAIN = new MusicDiscItem(1, NSE_Sounds.MUSIC_LENIN, 123) TODO: Music pls?
private static final ItemGroup NSE_ITEMS_TAB = FabricItemGroup.builder() private static final ItemGroup NSE_ITEMS_TAB = FabricItemGroup.builder()
.icon(() -> new ItemStack(SICKLE)) .icon(() -> new ItemStack(SICKLE))
@ -50,6 +51,7 @@ public class NSE_Items extends NSE_BaseRegistration {
registerItem("dice_d4", () -> DICE_D4, NSE_ITEMS_TAB); registerItem("dice_d4", () -> DICE_D4, NSE_ITEMS_TAB);
registerItem("dice_d20", () -> DICE_D20, NSE_ITEMS_TAB); registerItem("dice_d20", () -> DICE_D20, NSE_ITEMS_TAB);
registerItem("light_bulb_item", () -> LIGHT_BULB, NSE_ITEMS_TAB); registerItem("light_bulb_item", () -> LIGHT_BULB, NSE_ITEMS_TAB);
registerItem("antenna", () -> ANTENNA, NSE_ITEMS_TAB);
registerItem("cigarette", ()-> CIGARETTE, NSE_ITEMS_TAB); registerItem("cigarette", ()-> CIGARETTE, NSE_ITEMS_TAB);
registerItem("cigarette_butt", ()-> CIGARETTE_BUTT, NSE_ITEMS_TAB); registerItem("cigarette_butt", ()-> CIGARETTE_BUTT, NSE_ITEMS_TAB);
} }

View file

@ -0,0 +1,135 @@
{
"variants": {
"facing=north,lit=false,cracked=false,inverted=false": {
"model": "new_soviet:block/tv/green_tv", "uvlock": true
},
"facing=north,lit=true,cracked=false,inverted=false": {
"model": "new_soviet:block/tv/green_tv_on", "uvlock": true
},
"facing=north,lit=false,cracked=false,inverted=true": {
"model": "new_soviet:block/tv/green_tv_on", "uvlock": true
},
"facing=north,lit=true,cracked=false,inverted=true": {
"model": "new_soviet:block/tv/green_tv", "uvlock": true
},
"facing=north,lit=false,cracked=true": [{
"model": "new_soviet:block/tv/green_tv_broken1", "uvlock": true
},
{
"model": "new_soviet:block/tv/green_tv_broken2", "uvlock": true
},
{
"model": "new_soviet:block/tv/green_tv_broken3", "uvlock": true
}
],
"facing=north,lit=true,cracked=true": [{
"model": "new_soviet:block/tv/green_tv_broken1", "uvlock": true
},
{
"model": "new_soviet:block/tv/green_tv_broken2", "uvlock": true
},
{
"model": "new_soviet:block/tv/green_tv_broken3", "uvlock": true
}
],
"facing=east,lit=false,cracked=false,inverted=false": {
"model": "new_soviet:block/tv/green_tv", "y": 90, "uvlock": false
},
"facing=east,lit=true,cracked=false,inverted=false": {
"model": "new_soviet:block/tv/green_tv_on", "y": 90, "uvlock": false
},
"facing=east,lit=false,cracked=false,inverted=true": {
"model": "new_soviet:block/tv/green_tv_on", "y": 90, "uvlock": false
},
"facing=east,lit=true,cracked=false,inverted=true": {
"model": "new_soviet:block/tv/green_tv", "y": 90, "uvlock": false
},
"facing=east,lit=false,cracked=true": [{
"model": "new_soviet:block/tv/green_tv_broken1", "y": 90, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken2", "y": 90, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken3", "y": 90, "uvlock": false
}
],
"facing=east,lit=true,cracked=true": [{
"model": "new_soviet:block/tv/green_tv_broken1", "y": 90, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken2", "y": 90, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken3", "y": 90, "uvlock": false
}
],
"facing=south,lit=false,cracked=false,inverted=false": {
"model": "new_soviet:block/tv/green_tv", "y": 180, "uvlock": false
},
"facing=south,lit=true,cracked=false,inverted=false": {
"model": "new_soviet:block/tv/green_tv_on", "y": 180, "uvlock": false
},
"facing=south,lit=false,cracked=false,inverted=true": {
"model": "new_soviet:block/tv/green_tv_on", "y": 180, "uvlock": false
},
"facing=south,lit=true,cracked=false,inverted=true": {
"model": "new_soviet:block/tv/green_tv", "y": 180, "uvlock": false
},
"facing=south,lit=false,cracked=true": [{
"model": "new_soviet:block/tv/green_tv_broken1", "y": 180, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken2", "y": 180, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken3", "y": 180, "uvlock": false
}
],
"facing=south,lit=true,cracked=true": [{
"model": "new_soviet:block/tv/green_tv_broken1", "y": 180, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken2", "y": 180, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken3", "y": 180, "uvlock": false
}
],
"facing=west,lit=false,cracked=false,inverted=false": {
"model": "new_soviet:block/tv/green_tv", "y": 270, "uvlock": false
},
"facing=west,lit=true,cracked=false,inverted=false": {
"model": "new_soviet:block/tv/green_tv_on", "y": 270, "uvlock": false
},
"facing=west,lit=false,cracked=false,inverted=true": {
"model": "new_soviet:block/tv/green_tv_on", "y": 270, "uvlock": false
},
"facing=west,lit=true,cracked=false,inverted=true": {
"model": "new_soviet:block/tv/green_tv", "y": 270, "uvlock": false
},
"facing=west,lit=false,cracked=true": [{
"model": "new_soviet:block/tv/green_tv_broken1", "y": 270, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken2", "y": 270, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken3", "y": 270, "uvlock": false
}
],
"facing=west,lit=true,cracked=true": [{
"model": "new_soviet:block/tv/green_tv_broken1", "y": 270, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken2", "y": 270, "uvlock": false
},
{
"model": "new_soviet:block/tv/green_tv_broken3", "y": 270, "uvlock": false
}
]
}
}

View file

@ -487,6 +487,7 @@
"subtitles.new_soviet.tv_on": "TV turned on", "subtitles.new_soviet.tv_on": "TV turned on",
"subtitles.new_soviet.tv_off": "TV turned off", "subtitles.new_soviet.tv_off": "TV turned off",
"subtitles.new_soviet.tv_break": "TV screen shattered", "subtitles.new_soviet.tv_break": "TV screen shattered",
"item.new_soviet.antenna": "Antenna",
"advancement.new_soviet.root.name": "A New Era", "advancement.new_soviet.root.name": "A New Era",
"advancement.new_soviet.root.desc": "Time to create something great", "advancement.new_soviet.root.desc": "Time to create something great",
@ -499,5 +500,7 @@
"advancement.new_soviet.serious_addiction.name": "Serious addiction", "advancement.new_soviet.serious_addiction.name": "Serious addiction",
"advancement.new_soviet.serious_addiction.desc": "Throw a die 1000 times, and then reevaluate your life choices", "advancement.new_soviet.serious_addiction.desc": "Throw a die 1000 times, and then reevaluate your life choices",
"advancement.new_soviet.lucky_throw.name": "Lucky throw", "advancement.new_soviet.lucky_throw.name": "Lucky throw",
"advancement.new_soviet.lucky_throw.desc": "Roll a perfect die 100 times" "advancement.new_soviet.lucky_throw.desc": "Roll a perfect die 100 times",
"advancement.new_soviet.antenna.name": "Establishing a connection",
"advancement.new_soviet.antenna.desc": "Craft an antenna"
} }

View file

@ -487,6 +487,7 @@
"subtitles.new_soviet.tv_on": "Включается тѣлѣвизоръ", "subtitles.new_soviet.tv_on": "Включается тѣлѣвизоръ",
"subtitles.new_soviet.tv_off": "Выключается тѣлѣвизоръ", "subtitles.new_soviet.tv_off": "Выключается тѣлѣвизоръ",
"subtitles.new_soviet.tv_break": "Разбитъ экранъ тѣлѣвизора", "subtitles.new_soviet.tv_break": "Разбитъ экранъ тѣлѣвизора",
"item.new_soviet.antenna": "Антенна",
"advancement.new_soviet.root.name": "Новыя эра!", "advancement.new_soviet.root.name": "Новыя эра!",
"advancement.new_soviet.root.desc": "Врѣмя совѣршать вѣликое!", "advancement.new_soviet.root.desc": "Врѣмя совѣршать вѣликое!",

View file

@ -487,6 +487,7 @@
"subtitles.new_soviet.tv_on": "Включается телевизор", "subtitles.new_soviet.tv_on": "Включается телевизор",
"subtitles.new_soviet.tv_off": "Выключается телевизор", "subtitles.new_soviet.tv_off": "Выключается телевизор",
"subtitles.new_soviet.tv_break": "Разбит экран телевизора", "subtitles.new_soviet.tv_break": "Разбит экран телевизора",
"item.new_soviet.antenna": "Антенна",
"advancement.new_soviet.root.name": "Новая эра!", "advancement.new_soviet.root.name": "Новая эра!",
"advancement.new_soviet.root.desc": "Время совершать великое!", "advancement.new_soviet.root.desc": "Время совершать великое!",
@ -499,5 +500,7 @@
"advancement.new_soviet.serious_addiction.name": "Серьезная зависимость", "advancement.new_soviet.serious_addiction.name": "Серьезная зависимость",
"advancement.new_soviet.serious_addiction.desc": "Бросьте кубик 1000 раз, а затем переоцените свои жизненные выборы", "advancement.new_soviet.serious_addiction.desc": "Бросьте кубик 1000 раз, а затем переоцените свои жизненные выборы",
"advancement.new_soviet.lucky_throw.name": "Счастливый бросок", "advancement.new_soviet.lucky_throw.name": "Счастливый бросок",
"advancement.new_soviet.lucky_throw.desc": "Кинуть кубик 100 раз и получить максимально число" "advancement.new_soviet.lucky_throw.desc": "Кинуть кубик 100 раз и получить максимально число",
"advancement.new_soviet.antenna.name": "Устанавливаем соединение...",
"advancement.new_soviet.antenna.desc": "Сделай антенну"
} }

View file

@ -0,0 +1,8 @@
{
"parent": "new_soviet:block/tv/tv",
"textures": {
"0": "new_soviet:block/custom/electronics/tv/green_tv",
"1": "new_soviet:block/custom/electronics/tv/tv_screen_normal",
"2": "new_soviet:block/custom/electronics/tv/carpets/carpet_null"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "new_soviet:block/tv/green_tv",
"textures": {
"1": "new_soviet:block/custom/electronics/tv/tv_screen_broken"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "new_soviet:block/tv/green_tv",
"textures": {
"1": "new_soviet:block/custom/electronics/tv/tv_screen_broken2"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "new_soviet:block/tv/green_tv",
"textures": {
"1": "new_soviet:block/custom/electronics/tv/tv_screen_broken3"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "new_soviet:block/tv/green_tv",
"textures": {
"1": "new_soviet:block/custom/electronics/tv/tv_screen_noise"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "new_soviet:item/antenna"
}
}

View file

@ -3,5 +3,4 @@
"textures": { "textures": {
"layer0": "new_soviet:item/dice/dice_d20" "layer0": "new_soviet:item/dice/dice_d20"
} }
} }

View file

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

View file

@ -1,5 +1,4 @@
{ {
"credit": "Karoter2",
"parent": "item/generated", "parent": "item/generated",
"textures": { "textures": {
"layer0": "new_soviet:item/bulb" "layer0": "new_soviet:item/bulb"

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 520 B

After

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 687 B

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 518 B

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 B

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 569 B

After

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 576 B

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 481 B

After

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 557 B

After

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 434 B

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 490 B

After

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 459 B

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 366 B

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 351 B

After

Width:  |  Height:  |  Size: 368 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 520 B

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 548 B

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 B