From cabbed33cfaf6bbf01ab32736dc884db7c55107f Mon Sep 17 00:00:00 2001 From: Andrew-71 Date: Thu, 28 Sep 2023 17:59:23 +0300 Subject: [PATCH] Add advancements, siren sounds, fix bugs --- LICENSE | 2 + TODO.md | 6 +- .../advancements/new_soviet/root.json | 39 +++++++ .../advancements/new_soviet/sickle.json | 40 +++++++ .../advancements/new_soviet/sickle_kill.json | 51 +++++++++ src/main/java/su/a71/new_soviet/Config.java | 2 +- .../su/a71/new_soviet/DataGeneration.java | 7 +- .../su/a71/new_soviet/blocks/SirenBlock.java | 2 + .../su/a71/new_soviet/blocks/SwitchBlock.java | 4 +- .../blocks/lamps/LightBulbLampBlock.java | 2 +- .../a71/new_soviet/blocks/meat/MeatBlock.java | 67 ++++++++++++ .../new_soviet/blocks/meat/MeatEyeBlock.java | 9 ++ .../blocks/meat/MeatTeethBlock.java | 9 ++ .../datagen/AdvancementGenerator.java | 5 +- .../a71/new_soviet/datagen/Advancements.java | 101 ++++++++++++++++++ .../new_soviet/registration/NSE_Blocks.java | 1 - .../new_soviet/registration/NSE_Custom.java | 4 +- .../new_soviet/registration/NSE_Sounds.java | 3 + .../assets/new_soviet/lang/en_us.json | 18 ++-- .../resources/assets/new_soviet/sounds.json | 12 +++ .../assets/new_soviet/sounds/LICENSE | 5 + .../assets/new_soviet/sounds/bell_siren.ogg | Bin 0 -> 45932 bytes .../assets/new_soviet/sounds/woop_siren.ogg | Bin 0 -> 18859 bytes 23 files changed, 366 insertions(+), 23 deletions(-) create mode 100644 src/main/generated/data/minecraft/advancements/new_soviet/root.json create mode 100644 src/main/generated/data/minecraft/advancements/new_soviet/sickle.json create mode 100644 src/main/generated/data/minecraft/advancements/new_soviet/sickle_kill.json create mode 100644 src/main/java/su/a71/new_soviet/blocks/meat/MeatBlock.java create mode 100644 src/main/java/su/a71/new_soviet/blocks/meat/MeatEyeBlock.java create mode 100644 src/main/java/su/a71/new_soviet/blocks/meat/MeatTeethBlock.java create mode 100644 src/main/java/su/a71/new_soviet/datagen/Advancements.java create mode 100644 src/main/resources/assets/new_soviet/sounds/LICENSE create mode 100644 src/main/resources/assets/new_soviet/sounds/bell_siren.ogg create mode 100644 src/main/resources/assets/new_soviet/sounds/woop_siren.ogg diff --git a/LICENSE b/LICENSE index 96d7069..3d07e08 100644 --- a/LICENSE +++ b/LICENSE @@ -2,6 +2,8 @@ The following directory, it's subdirectories, and any files inside said director the license below. /src/main/resources/ +The only exceptions are some files in /src/main/resources/assets/new_soviet/sounds, see relevant LICENSE file there + All Rights Reserved Copyright (c) 2023 Andrey Nikitin and Рюжин Юрий. diff --git a/TODO.md b/TODO.md index 52ef97b..77d76b2 100644 --- a/TODO.md +++ b/TODO.md @@ -10,4 +10,8 @@ * Add credits in models === ACHIEVEMENTS === -Kolkhoz warrior - kill a zombie, skeleton, creeper and spider with a sickle \ No newline at end of file +Kolkhoz warrior - kill someone with a sickle +Gambler - throw dice 100 times +One In 64 Million - roll perfect d20 x 6 +Serious Addiction - throw a dice 1000 times, and then reevaluate your life choices +What the- - ??? meat ??? rake diff --git a/src/main/generated/data/minecraft/advancements/new_soviet/root.json b/src/main/generated/data/minecraft/advancements/new_soviet/root.json new file mode 100644 index 0000000..5b7d2c9 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/new_soviet/root.json @@ -0,0 +1,39 @@ +{ + "criteria": { + "got_dirt": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:dirt" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "display": { + "announce_to_chat": false, + "background": "minecraft:textures/gui/advancements/backgrounds/adventure.png", + "description": { + "translate": "advancement.new_soviet.root.desc" + }, + "frame": "task", + "hidden": false, + "icon": { + "item": "new_soviet:sickle", + "nbt": "{Damage:0}" + }, + "show_toast": false, + "title": { + "translate": "advancement.new_soviet.root.name" + } + }, + "requirements": [ + [ + "got_dirt" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/new_soviet/sickle.json b/src/main/generated/data/minecraft/advancements/new_soviet/sickle.json new file mode 100644 index 0000000..cd06800 --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/new_soviet/sickle.json @@ -0,0 +1,40 @@ +{ + "parent": "minecraft:new_soviet/root", + "criteria": { + "got_sickle": { + "conditions": { + "items": [ + { + "items": [ + "new_soviet:sickle" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "display": { + "announce_to_chat": true, + "background": "minecraft:textures/gui/advancements/backgrounds/adventure.png", + "description": { + "translate": "advancement.new_soviet.sickle.desc" + }, + "frame": "task", + "hidden": false, + "icon": { + "item": "new_soviet:sickle", + "nbt": "{Damage:0}" + }, + "show_toast": true, + "title": { + "translate": "advancement.new_soviet.sickle.name" + } + }, + "requirements": [ + [ + "got_sickle" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/advancements/new_soviet/sickle_kill.json b/src/main/generated/data/minecraft/advancements/new_soviet/sickle_kill.json new file mode 100644 index 0000000..71c82cf --- /dev/null +++ b/src/main/generated/data/minecraft/advancements/new_soviet/sickle_kill.json @@ -0,0 +1,51 @@ +{ + "parent": "minecraft:new_soviet/sickle", + "criteria": { + "kill": { + "conditions": { + "entity": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": {} + } + ], + "killing_blow": { + "source_entity": { + "equipment": { + "mainhand": { + "items": [ + "new_soviet:sickle" + ] + } + } + } + } + }, + "trigger": "minecraft:player_killed_entity" + } + }, + "display": { + "announce_to_chat": true, + "background": "minecraft:textures/gui/advancements/backgrounds/adventure.png", + "description": { + "translate": "advancement.new_soviet.sickle_kill.desc" + }, + "frame": "task", + "hidden": false, + "icon": { + "item": "new_soviet:sickle", + "nbt": "{Damage:0}" + }, + "show_toast": true, + "title": { + "translate": "advancement.new_soviet.sickle_kill.name" + } + }, + "requirements": [ + [ + "kill" + ] + ], + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/main/java/su/a71/new_soviet/Config.java b/src/main/java/su/a71/new_soviet/Config.java index f4d8595..aba2e6f 100644 --- a/src/main/java/su/a71/new_soviet/Config.java +++ b/src/main/java/su/a71/new_soviet/Config.java @@ -23,7 +23,7 @@ public class Config { File file = new File("config/new_soviet.json"); if(!file.getParentFile().exists() && !file.getParentFile().mkdirs()) { NewSoviet.LOG.error("Error making dir, using default config"); - INSTANCE = new Config(); // Something went wrong with mkdir + INSTANCE = new Config(); return; } try { diff --git a/src/main/java/su/a71/new_soviet/DataGeneration.java b/src/main/java/su/a71/new_soviet/DataGeneration.java index 5dd26a8..3f58e8c 100644 --- a/src/main/java/su/a71/new_soviet/DataGeneration.java +++ b/src/main/java/su/a71/new_soviet/DataGeneration.java @@ -3,11 +3,7 @@ package su.a71.new_soviet; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; -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; -import su.a71.new_soviet.datagen.ItemTagGenerator; +import su.a71.new_soviet.datagen.*; public class DataGeneration implements DataGeneratorEntrypoint { @Override @@ -18,5 +14,6 @@ public class DataGeneration implements DataGeneratorEntrypoint { NSEPack.addProvider(BlockTagGenerator::new); NSEPack.addProvider(ModelGenerator::new); NSEPack.addProvider(ItemTagGenerator::new); + NSEPack.addProvider(AdvancementGenerator::new); } } \ No newline at end of file diff --git a/src/main/java/su/a71/new_soviet/blocks/SirenBlock.java b/src/main/java/su/a71/new_soviet/blocks/SirenBlock.java index d49247a..9406a21 100644 --- a/src/main/java/su/a71/new_soviet/blocks/SirenBlock.java +++ b/src/main/java/su/a71/new_soviet/blocks/SirenBlock.java @@ -46,6 +46,8 @@ public class SirenBlock extends HorizontalFacingBlock implements Waterloggable { setDefaultState(getDefaultState().with(Properties.HORIZONTAL_FACING, Direction.NORTH).with(ON, false).with(WATERLOGGED, false).with(SOUND_INDEX, 0)); SIREN_SOUNDS.add(new SirenSound("Air raid", NSE_Sounds.SIREN_SOUND, 140)); + SIREN_SOUNDS.add(new SirenSound("Bell", NSE_Sounds.BELL_SIREN_SOUND, 100)); + SIREN_SOUNDS.add(new SirenSound("Woop", NSE_Sounds.WOOP_SIREN_SOUND, 40)); } @Override diff --git a/src/main/java/su/a71/new_soviet/blocks/SwitchBlock.java b/src/main/java/su/a71/new_soviet/blocks/SwitchBlock.java index 33673d1..399080c 100644 --- a/src/main/java/su/a71/new_soviet/blocks/SwitchBlock.java +++ b/src/main/java/su/a71/new_soviet/blocks/SwitchBlock.java @@ -3,10 +3,8 @@ package su.a71.new_soviet.blocks; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.*; import net.minecraft.block.enums.WallMountLocation; -import net.minecraft.block.piston.PistonBehavior; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.particle.DustParticleEffect; -import net.minecraft.sound.BlockSoundGroup; import net.minecraft.sound.SoundCategory; import net.minecraft.state.StateManager; import net.minecraft.state.property.BooleanProperty; @@ -38,7 +36,7 @@ public class SwitchBlock extends LeverBlock { protected static final VoxelShape CEILING_X_AXIS_SHAPE = Block.createCuboidShape(5.5, 15.0, 5.5, 10.5, 16.0, 10.5); public SwitchBlock(FabricBlockSettings fabricBlockSettings) { - super(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).notSolid().pistonBehavior(PistonBehavior.DESTROY).strength(1f, 2f).mapColor(MapColor.TERRACOTTA_WHITE).noCollision()); + super(fabricBlockSettings.noCollision()); this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH).with(POWERED, false).with(FACE, WallMountLocation.WALL)); } diff --git a/src/main/java/su/a71/new_soviet/blocks/lamps/LightBulbLampBlock.java b/src/main/java/su/a71/new_soviet/blocks/lamps/LightBulbLampBlock.java index 750700d..f3f632a 100644 --- a/src/main/java/su/a71/new_soviet/blocks/lamps/LightBulbLampBlock.java +++ b/src/main/java/su/a71/new_soviet/blocks/lamps/LightBulbLampBlock.java @@ -101,7 +101,7 @@ public class LightBulbLampBlock extends LampBlock { } static { - SHAPE = VoxelShapes.union(Block.createCuboidShape(7, 15, 7, 9, 16, 9), Block.createCuboidShape(7, 6, 7, 9, 8, 9)); //VoxelShapes.union(Block.createCuboidShape(4.0, 2.0, 4.0, 12.0, 7.0, 12.0), Block.createCuboidShape(7.0, 7.0, 7.0, 9.0, 13.0, 9.0), Block.createCuboidShape(6.0, 13.0, 6.0, 10.0, 16.0, 10.0)); + SHAPE = VoxelShapes.union(Block.createCuboidShape(7, 15.5, 7, 9, 16, 9), Block.createCuboidShape(7, 6, 7, 9, 8, 9)); //VoxelShapes.union(Block.createCuboidShape(4.0, 2.0, 4.0, 12.0, 7.0, 12.0), Block.createCuboidShape(7.0, 7.0, 7.0, 9.0, 13.0, 9.0), Block.createCuboidShape(6.0, 13.0, 6.0, 10.0, 16.0, 10.0)); BROKEN = Properties.CRACKED; } } \ No newline at end of file diff --git a/src/main/java/su/a71/new_soviet/blocks/meat/MeatBlock.java b/src/main/java/su/a71/new_soviet/blocks/meat/MeatBlock.java new file mode 100644 index 0000000..cd9bf57 --- /dev/null +++ b/src/main/java/su/a71/new_soviet/blocks/meat/MeatBlock.java @@ -0,0 +1,67 @@ +package su.a71.new_soviet.blocks.meat; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; +import net.minecraft.block.*; +import net.minecraft.block.entity.SculkSpreadManager; +import net.minecraft.item.ItemPlacementContext; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.IntProperty; +import net.minecraft.state.property.Properties; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.random.Random; +import net.minecraft.world.WorldAccess; +import org.jetbrains.annotations.Nullable; + +public class MeatBlock extends Block implements SculkSpreadable { + public static final IntProperty AGE; + public final float MeatChance; + + + public MeatBlock(FabricBlockSettings settings, float meatChance) { + super(settings.ticksRandomly()); + setDefaultState(getDefaultState().with(AGE, 0)); + this.MeatChance = meatChance; + } + + @Override + public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { + if (world.isAir(pos.up())) { + int i; + for(i = 1; world.getBlockState(pos.down(i)).isOf(this); ++i) { + } + + if (i < 3) { + int j = state.get(AGE); + if (j == 25) { + + world.setBlockState(pos.up(), this.getDefaultState()); + + world.setBlockState(pos, state.with(AGE, 0), 4); + } else { + world.setBlockState(pos, state.with(AGE, j + 1), 4); + } + } + } super.randomTick(state, world, pos, random); + } + + protected void appendProperties(StateManager.Builder builder) { + builder.add(AGE); + } + + @Nullable + @Override + public BlockState getPlacementState(ItemPlacementContext ctx) { + return super.getPlacementState(ctx).with(AGE, 0); + } + + static { + AGE = Properties.AGE_25; + } + + @Override + public int spread(SculkSpreadManager.Cursor cursor, WorldAccess world, BlockPos catalystPos, Random random, SculkSpreadManager spreadManager, boolean shouldConvertToBlock) { + return 0; + } +} diff --git a/src/main/java/su/a71/new_soviet/blocks/meat/MeatEyeBlock.java b/src/main/java/su/a71/new_soviet/blocks/meat/MeatEyeBlock.java new file mode 100644 index 0000000..0c00770 --- /dev/null +++ b/src/main/java/su/a71/new_soviet/blocks/meat/MeatEyeBlock.java @@ -0,0 +1,9 @@ +package su.a71.new_soviet.blocks.meat; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +public class MeatEyeBlock extends MeatBlock { + public MeatEyeBlock(FabricBlockSettings settings) { + super(settings, 10); + } +} diff --git a/src/main/java/su/a71/new_soviet/blocks/meat/MeatTeethBlock.java b/src/main/java/su/a71/new_soviet/blocks/meat/MeatTeethBlock.java new file mode 100644 index 0000000..8952d39 --- /dev/null +++ b/src/main/java/su/a71/new_soviet/blocks/meat/MeatTeethBlock.java @@ -0,0 +1,9 @@ +package su.a71.new_soviet.blocks.meat; + +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; + +public class MeatTeethBlock extends MeatBlock { + public MeatTeethBlock(FabricBlockSettings settings) { + super(settings, 10); + } +} diff --git a/src/main/java/su/a71/new_soviet/datagen/AdvancementGenerator.java b/src/main/java/su/a71/new_soviet/datagen/AdvancementGenerator.java index f6ab51c..6fb3bfc 100644 --- a/src/main/java/su/a71/new_soviet/datagen/AdvancementGenerator.java +++ b/src/main/java/su/a71/new_soviet/datagen/AdvancementGenerator.java @@ -1,4 +1,5 @@ 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.FabricAdvancementProvider; @@ -8,12 +9,12 @@ import java.util.function.Consumer; public class AdvancementGenerator extends FabricAdvancementProvider { - protected AdvancementGenerator(FabricDataOutput output) { + public AdvancementGenerator(FabricDataOutput output) { super(output); } @Override public void generateAdvancement(Consumer consumer) { - + new Advancements().accept(consumer); } } diff --git a/src/main/java/su/a71/new_soviet/datagen/Advancements.java b/src/main/java/su/a71/new_soviet/datagen/Advancements.java new file mode 100644 index 0000000..66f9bff --- /dev/null +++ b/src/main/java/su/a71/new_soviet/datagen/Advancements.java @@ -0,0 +1,101 @@ +package su.a71.new_soviet.datagen; + +import net.minecraft.advancement.Advancement; +import net.minecraft.advancement.AdvancementFrame; +import net.minecraft.advancement.criterion.InventoryChangedCriterion; +import net.minecraft.advancement.criterion.ItemCriterion; +import net.minecraft.advancement.criterion.OnKilledCriterion; +import net.minecraft.advancement.criterion.PlayerHurtEntityCriterion; +import net.minecraft.item.Items; +import net.minecraft.predicate.entity.DamageSourcePredicate; +import net.minecraft.predicate.entity.EntityEquipmentPredicate; +import net.minecraft.predicate.entity.EntityPredicate; +import net.minecraft.predicate.item.ItemPredicate; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; +import su.a71.new_soviet.NewSoviet; +import su.a71.new_soviet.registration.NSE_Items; + +import java.util.function.Consumer; + +public class Advancements implements Consumer> { + @Override + public void accept(Consumer consumer) { + Advancement root = Advancement.Builder.create() + .display( + NSE_Items.SICKLE, + Text.translatable("advancement.new_soviet.root.name"), + Text.translatable("advancement.new_soviet.root.desc"), + new Identifier("textures/gui/advancements/backgrounds/adventure.png"), + AdvancementFrame.TASK, + false, // Toast + false, // Announcement + false // Hidden + ) + .criterion("got_dirt", InventoryChangedCriterion.Conditions.items(Items.DIRT)) + .build(consumer, NewSoviet.MOD_ID + "/root"); + + // Make a sickle + Advancement sickle = Advancement.Builder.create() + .display( + NSE_Items.SICKLE, + Text.translatable("advancement.new_soviet.sickle.name"), + Text.translatable("advancement.new_soviet.sickle.desc"), + new Identifier("textures/gui/advancements/backgrounds/adventure.png"), + AdvancementFrame.TASK, + true, // Toast + true, // Announcement + false // Hidden + ) + .parent(root) + .criterion("got_sickle", InventoryChangedCriterion.Conditions.items(NSE_Items.SICKLE)) + .build(consumer, NewSoviet.MOD_ID + "/sickle"); + + // Kill someone with a sickle + Advancement sickle_kill = Advancement.Builder.create() + .display( + NSE_Items.SICKLE, + Text.translatable("advancement.new_soviet.sickle_kill.name"), + Text.translatable("advancement.new_soviet.sickle_kill.desc"), + new Identifier("textures/gui/advancements/backgrounds/adventure.png"), + AdvancementFrame.TASK, + true, // Toast + true, // Announcement + false // Hidden + ) + .parent(sickle) +// .criterion("holding_sickle", ItemCriterion.Conditions.) + .criterion("kill", OnKilledCriterion.Conditions.createPlayerKilledEntity(EntityPredicate.Builder.create(), DamageSourcePredicate.Builder.create().sourceEntity(EntityPredicate.Builder.create().equipment(EntityEquipmentPredicate.Builder.create().mainhand(ItemPredicate.Builder.create().items(NSE_Items.SICKLE).build()).build())))) + .build(consumer, NewSoviet.MOD_ID + "/sickle_kill"); + +// // Throw a die 100 times +// Advancement gambler = Advancement.Builder.create() +// .display( +// NSE_Items.DICE_D6, +// Text.translatable("advancement.new_soviet.gambler.name"), +// Text.translatable("advancement.new_soviet.gambler.desc"), +// new Identifier("textures/gui/advancements/backgrounds/adventure.png"), +// AdvancementFrame.CHALLENGE, +// true, // Toast +// true, // Announcement +// false // Hidden +// ) +// .criterion("threw_dice", InventoryChangedCriterion.Conditions.items(Items.DIRT)) +// .build(consumer, NewSoviet.MOD_ID + "/gambler"); + // Throw a die 1000 times +// Advancement serious_addiction = Advancement.Builder.create() +// .display( +// NSE_Items.DICE_D20, +// Text.translatable("advancement.new_soviet.serious_addiction.name"), +// Text.translatable("advancement.new_soviet.serious_addiction.desc"), +// new Identifier("textures/gui/advancements/backgrounds/adventure.png"), +// AdvancementFrame.CHALLENGE, +// true, // Toast +// true, // Announcement +// false // Hidden +// ) +// .criterion("threw_dice", InventoryChangedCriterion.Conditions.items(Items.DIRT)) +// .parent(gambler) +// .build(consumer, NewSoviet.MOD_ID + "/serious_addiction"); + } +} diff --git a/src/main/java/su/a71/new_soviet/registration/NSE_Blocks.java b/src/main/java/su/a71/new_soviet/registration/NSE_Blocks.java index d093cfa..da03663 100644 --- a/src/main/java/su/a71/new_soviet/registration/NSE_Blocks.java +++ b/src/main/java/su/a71/new_soviet/registration/NSE_Blocks.java @@ -18,7 +18,6 @@ import su.a71.new_soviet.blocks.HandrailBlock; public class NSE_Blocks extends NSE_BaseRegistration { // BUILDING BRICKS/TILES ==================== - // TODO: TOOLS FOR SLABS AND STAIRS !!!! public static final Block SAND_TILES = new Block(FabricBlockSettings.create().sounds(NSE_Sounds.SAND_TILES_SOUNDS).hardness(1.5f).requiresTool().resistance(6f).mapColor(MapColor.TERRACOTTA_BROWN)); public static final StairsBlock SAND_TILES_STAIRS = new StairsBlock(SAND_TILES.getDefaultState(), FabricBlockSettings.copy(SAND_TILES)); public static final SlabBlock SAND_TILES_SLAB = new SlabBlock(FabricBlockSettings.copy(SAND_TILES)); 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 2f4ba3b..df01e9f 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 @@ -40,8 +40,8 @@ public class NSE_Custom extends NSE_BaseRegistration { public static final SwitchBlock SWITCH = new SwitchBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).notSolid().pistonBehavior(PistonBehavior.DESTROY).strength(1f, 2f).mapColor(MapColor.TERRACOTTA_WHITE)); public static final TableLampBlock TABLE_LAMP = new TableLampBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.WOOD).strength(0.9f, 1.5f).mapColor(MapColor.WHITE)); - public static final GoldenTableLampBlock GOLDEN_LAMP = new GoldenTableLampBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).strength(0.9f, 1.5f).mapColor(MapColor.GOLD)); - public static final TableLampBlock VINTAGE_LAMP = new VintageLampBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).strength(0.9f, 1.5f).mapColor(MapColor.TERRACOTTA_BROWN)); + public static final GoldenTableLampBlock GOLDEN_LAMP = new GoldenTableLampBlock(FabricBlockSettings.copy(TABLE_LAMP).sounds(BlockSoundGroup.METAL).mapColor(MapColor.GOLD)); + public static final TableLampBlock VINTAGE_LAMP = new VintageLampBlock(FabricBlockSettings.copy(TABLE_LAMP).sounds(BlockSoundGroup.METAL).mapColor(MapColor.TERRACOTTA_BROWN)); public static final LightBulbLampBlock LIGHT_BULB_LAMP = new LightBulbLampBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.GLASS).strength(0.9f, 1.5f).mapColor(MapColor.WHITE).requiresTool()); public static final LampPostBaseBlock LAMP_POST_BASE = new LampPostBaseBlock(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).strength(1f, 1.5f).mapColor(MapColor.IRON_GRAY)); diff --git a/src/main/java/su/a71/new_soviet/registration/NSE_Sounds.java b/src/main/java/su/a71/new_soviet/registration/NSE_Sounds.java index ab18137..32fc58c 100644 --- a/src/main/java/su/a71/new_soviet/registration/NSE_Sounds.java +++ b/src/main/java/su/a71/new_soviet/registration/NSE_Sounds.java @@ -37,6 +37,9 @@ public class NSE_Sounds extends NSE_BaseRegistration { public static SoundEvent CIGARETTE_PAUSE = registerSoundEvent("cigarette_pause"); public static final SoundEvent SIREN_SOUND = registerSoundEvent("siren_sound"); + public static final SoundEvent BELL_SIREN_SOUND = registerSoundEvent("bell_siren_sound"); + public static final SoundEvent WOOP_SIREN_SOUND = registerSoundEvent("woop_siren_sound"); + public static final SoundEvent ELECTRIC_HIT = SoundEvent.of(new Identifier(NewSoviet.MOD_ID, "electric_hit")); public static final SoundEvent LIGHT_BULB_BROKEN_SOUND = registerSoundEvent("light_bulb_broken_sound"); 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 8477ed3..f5028da 100644 --- a/src/main/resources/assets/new_soviet/lang/en_us.json +++ b/src/main/resources/assets/new_soviet/lang/en_us.json @@ -150,16 +150,16 @@ "block.new_soviet.table_lamp": "Table Lamp", "block.new_soviet.ceiling_fan": "Ceiling Fan", "block.new_soviet.siren": "Siren", - "block.new_soviet.siren.set": "Siren sounds set to: %s", - "item.new_soviet.dice_d6": "Dice", - "item.new_soviet.dice_d4": "Dice", - "item.new_soviet.dice_d20": "Dice", + "block.new_soviet.siren.set": "Siren sound set to: %s", + "item.new_soviet.dice_d6": "Die", + "item.new_soviet.dice_d4": "Die", + "item.new_soviet.dice_d20": "Die", "item.new_soviet.dice_d6.tooltip": "Six sides", "item.new_soviet.dice_d4.tooltip": "Four sides", "item.new_soviet.dice_d20.tooltip": "Twenty sides", - "item.new_soviet.dice.thrown": "Dice was thrown with result:", + "item.new_soviet.dice.thrown": "Die was thrown with result:", "item.new_soviet.dice.thrown_multiple": "Dice were thrown with result:", - "item.new_soviet.dice.thrown_announce": "Dice was thrown by %s with result:", + "item.new_soviet.dice.thrown_announce": "Die was thrown by %s with result:", "item.new_soviet.dice.thrown_multiple_announce": "Dice were thrown by %s with result:", "subtitles.new_soviet.dice_throw": "Dice thrown", "stat.new_soviet.roll_perfect_dice": "Perfect Dice Throws", @@ -196,6 +196,7 @@ "block.new_soviet.meat_eye": "Meat block with eye", "block.new_soviet.meat_teeth": "Meat block with teeth", "item.new_soviet.rake": "Rake", + "subtitles.new_soviet.item_rake_till": "Rake tills", "item.new_soviet.concentrate": "Nutrient Block", "block.new_soviet.switch": "Switch", "block.new_soviet.nii_wall_1": "Diorite RI Wall", @@ -443,5 +444,8 @@ "block.new_soviet.caged_post_lamp": "Caged Post Lamp", "block.new_soviet.modern_post_lamp": "Modern Post Lamp", "block.new_soviet.big_post_lamp": "Big Post Lamp", - "block.new_soviet.vintage_post_lamp": "Vintage Post Lamp" + "block.new_soviet.vintage_post_lamp": "Vintage Post Lamp", + + "advancement.new_soviet.root.name": "A New Era", + "advancement.new_soviet.root.desc": "Time to create something great" } \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/sounds.json b/src/main/resources/assets/new_soviet/sounds.json index aad57ce..7c0c6fc 100644 --- a/src/main/resources/assets/new_soviet/sounds.json +++ b/src/main/resources/assets/new_soviet/sounds.json @@ -11,6 +11,18 @@ "new_soviet:siren" ] }, + "bell_siren_sound": { + "subtitle": "subtitles.new_soviet.siren", + "sounds": [ + "new_soviet:bell_siren" + ] + }, + "woop_siren_sound": { + "subtitle": "subtitles.new_soviet.siren", + "sounds": [ + "new_soviet:woop_siren" + ] + }, "electric_hit": { "subtitle": "subtitles.new_soviet.electric_hit", "sounds": [ diff --git a/src/main/resources/assets/new_soviet/sounds/LICENSE b/src/main/resources/assets/new_soviet/sounds/LICENSE new file mode 100644 index 0000000..38fc44a --- /dev/null +++ b/src/main/resources/assets/new_soviet/sounds/LICENSE @@ -0,0 +1,5 @@ +The following files in this directory are licensed under CC BY 3.0 (https://creativecommons.org/licenses/by/3.0/): + +1. .ogg versions of files made by Mike Koenig: + * bell_siren.ogg - https://soundbible.com/1531-Temple-Bell.html + * woop_siren.ogg - https://soundbible.com/1377-Woop-Woop.html \ No newline at end of file diff --git a/src/main/resources/assets/new_soviet/sounds/bell_siren.ogg b/src/main/resources/assets/new_soviet/sounds/bell_siren.ogg new file mode 100644 index 0000000000000000000000000000000000000000..762a3f6c9bbeb29040f0d6bfb6863bbfc211184a GIT binary patch literal 45932 zcmeFYcUV(P*El*Ugn)n{^lGR=C=#VBn1mM4AcTaDB1P#^Em%%~pb(055s*U{LXqA? z1f&UwbP>UWjcymazIVfU+jsx@-RJr4U-!B5Om=2ZpS9MkS!MQ-lPB!}9Q-qwYQG8I zO1cm;`(U!L)2Bi`e8aXf;HFhue*iF>VB7z#up?V7{~fkkZj~VG`7#B=|M5QqH{$P} z_@N4ikDorFqpzu_t4Yw(LO>Zf=;s~edCJQ>)Cel{gbE4!w6{ue0lpr8H80XknqkYVko7lqu z5dg(7alCnHm?#S)Nw$%AAx$3j-;f|57L1nOd)Q@IDJ(^ApD*T>{#R+1nSmn)%3Hy) zc9L6jVyXHBrkJJ9@2TmZlT8mdQOmr#;lQqmNi(v-I2Qand}xPCkC-EK|+z{Zx( zEJT=lyPX#R=mLFqsUy48hrJw^jAmV~f&(UmWoQ^}6T1Tz8Kw{Ej7QCZPyQ>qWO++$ zH-}(|neaVPfr`^YNT9ay08N7_$kys*{tL)VaVvo$o@#@?@?I1;3FKJS8OY>On$D%= zvfB)n^TI~&FXa(Np;S?x6JHKgZ#l2Gz=`+o)b6@-V>$S(ypYjV_dLOVD5YF|E+r?a z2}*HQ`zGfcs)JILwsW-HLtA-aTU~8G*7{bZ^Mtlu%kQ*h<&O11sU!WXPxCPUuCiTk z8_3XliI~et$LCei6U#n0b3qTuy{n`zD_T5~F?r;*@fDwv3`4Y1W(dt{_ul}A10q^3 zR+vWl*TW-D?y`93km}8XXe)e0c~RotVfBWQ?T6t;RfE8OK0+_XM6J4)W*4Y4$)w4&O>dm}RUVQoA;KXgA27n_Uq{jti z{uAFzKNM85#X?bIa<9&$of#v-`%zYeQ_Dq{*;uzP7Z;%THR8BqmbcUYh<`5~;te>6 z*#BOLYQK2ch{1|t2IgPOgb)gXg)O$}&9Ywc(1hZH3H2i%wT}oH*$SIYYBR<~+-&s% zZFRjTb=>T9-5B@MrR_}@(9p9lbe?|!ZD@VGP;t29m1VAyF))6Ayr82_h0oz$iZL4f4}DKL^qBCgEb!!`ZIsqg@F$yEh6u6ZO-CiKWY}WPS15Y2Nh2C1W2(y4GjwvSa7nf& zUW6tsFgdWrU}<8#Iuy4d13-#4|JZ?@wc0!X`L0Mss2@RSKiuNP|Jy*E&?bI7 z0L6cH1P%1=fZ#h*!GFH1KSXGcBM#U?+~a>8{_kVeLSvZ1j9rh;WW|7rE# zDTp(RL&6+dtB~*CbJAyf!vOPzeikGXB)@PJ1;8;&i4B0eQ;rJ6=>K=&e-4NRac~f< z0u4A&r@jb{sCd5~WO0ohV3xt4)j*Y1wq{pLvhxUGLW~~{Yym*^)u~g3%+gAHb9S>8 zEhi5g5%$elK9}#?^YOsevWt9jFlM&e)a)`}4ql7O5P{^C#VxSMl=VIbv6rimfD8xH zY!9cLrE~ea*<}?ufA?ZGu1&RLSf-Vo%ZG#|-<&c|y*l;dfvqEo&S1p;Gn>O%g9bVx z4Ao{#M?Bl=0UD9B*1kRHB%R8LaKo|7d~-M)PR$O}Bf?OhZjU0Omg9?jIh@LNO$>Fb zy9hTY)Yc3+>qC2q45%kJhb-7ullAs`J{!g(s65LXY`v)uLr@oxhUDwSg7iduLhU$f z$4+9QoEn^|0zj8|nXuiEma<$4MzUX#B}`UUDxIKla3wUFstAj2g;y%hp!umXFf`SQ z3|=x`DU$}kY!m|e#oG7`S^?Znz|=C|I<&3jON2c~4R#CC*o5W0bSuIVBnDZkNnX={I2;kiR7d$f|G;V>OgMTCf$pusf!>wL@8 z$~l1`st`b}Xqxq_tP}V2$7?i-dnWdwk9h@Xl+F3^_oEeD)HSA^{k8hV7hDobn{yHf z#$V@X>Vz3r0M5i9fN6BnzAD8VBFQK*$$Bh+;D*CML;}$aL=`2pL<5K_1jy(@I+VAa zlFLZkqMmL2hh_!kZKqObYyV7PtWMgk5QUNH`WJ?UrDO9xvt*ll_~kctJ8xQ3g#_!z^09RJ=s|khw^hjWfGEl#lkH zf;NgK6ch@D7@wD-aYMA35&j6A&DJ_5za?mzV-ENGM2v3y|ij zL^L(k4ilGB+@nGWaU{~{sw@%lPXrsjqhMrNj_9*p#L z-nvrlqGT;L+fbucwoKvi|auFk?=nbvKsFdq@VhG`cZ7K41Jkb5v#K>2A3j z*3`|UmWOZG1|t1I-s%hVk%yl`SU2_X5wWK6>7x7UJouvp8JLXlV&B~SV~<|SW`7@=ln-?zwxXh9d}_qK5vj@-X?7ERr~k0v>Zc81ONOsupu^Q5 zyGWZ*=PkfYlawNqdpOxhSBxJ?;bCYZa!`u#Q7 zvE{>;f4uo|@$$Vw$NrAW=Lkm&*~7E*4WZaS4pme?@;?g}f!65*g9V^7S2o_evO^;* z_#djM+pDRL%|lQ2a)0^L;~h7^;TaURq2(}YR+L-oOa!RsaO9O?

X38)Th4K5n6x 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 Ta9-@JGv4j?CgW^H62Sieiyuqf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/new_soviet/sounds/woop_siren.ogg b/src/main/resources/assets/new_soviet/sounds/woop_siren.ogg new file mode 100644 index 0000000000000000000000000000000000000000..200662f70137a42786f69f5e73915af081fe9b61 GIT binary patch literal 18859 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 iceN01Msk6tXN8m