Rework siren
This commit is contained in:
parent
d40dcc4cc2
commit
27eac23401
5 changed files with 45 additions and 18 deletions
12
CHANGELOG
12
CHANGELOG
|
@ -53,8 +53,9 @@ This version focuses on QOL and bug fixes
|
|||
### Changelog 0.3 -> 0.4
|
||||
Due to sheer amount of changes, some may be undocumented. We hope you enjoy this update! :D
|
||||
|
||||
* Texture improvements for various blocks
|
||||
* Reworked wallpaper blocks, added new ones
|
||||
* Added dozens of new blocks
|
||||
* Texture improvements for existing blocks
|
||||
* Reworked wallpapers, added new ones
|
||||
* Concrete improvements
|
||||
* 3 new colours - basic, dark green and orange
|
||||
* Concrete with bars can now be placed horizontally. Or vertically. It's a matter of perspective!
|
||||
|
@ -67,9 +68,14 @@ Due to sheer amount of changes, some may be undocumented. We hope you enjoy this
|
|||
* Added a new antenna item to improve radio electronics recipes
|
||||
* Parquet improvements
|
||||
* Separated oak and dark oak parquet in naming
|
||||
* Added spruce parquet (TODO)
|
||||
* Added a few new types
|
||||
* Siren improvements
|
||||
* Now uses screwdriver to change sound
|
||||
* Sound names now translated
|
||||
* Added a questionable sound option
|
||||
* Bug fixes
|
||||
* Stone-cutting recipe for slabs now gives 2 blocks
|
||||
* Fixed typos in Russian translation
|
||||
* Fixed a few missing drops/tags/recipes related to concrete
|
||||
* Concrete with bars is now pickaxe mine-able
|
||||
* Fixed some concrete blocks missing drops
|
||||
|
|
|
@ -19,6 +19,7 @@ import net.minecraft.state.property.IntProperty;
|
|||
import net.minecraft.state.property.Properties;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.Formatting;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
@ -32,6 +33,8 @@ import net.minecraft.world.WorldAccess;
|
|||
import net.minecraft.world.WorldView;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import su.a71.new_soviet.NewSoviet;
|
||||
import su.a71.new_soviet.registration.NSE_Items;
|
||||
import su.a71.new_soviet.registration.NSE_Sounds;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
@ -48,11 +51,11 @@ public class SirenBlock extends HorizontalFacingBlock implements Waterloggable {
|
|||
super(FabricBlockSettings.create().sounds(BlockSoundGroup.METAL).notSolid().pistonBehavior(PistonBehavior.DESTROY).strength(1f, 2f));
|
||||
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));
|
||||
SIREN_SOUNDS.add(new SirenSound("Cloister Bell", NSE_Sounds.CLOISTER_SIREN_SOUND, 60));
|
||||
SIREN_SOUNDS.add(new SirenSound("Kuplinov siren", NSE_Sounds.KUPLINOV_SIREN_SOUND, 120));
|
||||
SIREN_SOUNDS.add(new SirenSound("Air raid", NSE_Sounds.SIREN_SOUND, 140, "air_raid"));
|
||||
SIREN_SOUNDS.add(new SirenSound("Bell", NSE_Sounds.BELL_SIREN_SOUND, 100, "bell"));
|
||||
SIREN_SOUNDS.add(new SirenSound("Woop", NSE_Sounds.WOOP_SIREN_SOUND, 40, "woop"));
|
||||
SIREN_SOUNDS.add(new SirenSound("Cloister Bell", NSE_Sounds.CLOISTER_SIREN_SOUND, 60, "cloister"));
|
||||
SIREN_SOUNDS.add(new SirenSound("Kuplinov siren", NSE_Sounds.KUPLINOV_SIREN_SOUND, 120, "kuplinov"));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -77,11 +80,14 @@ public class SirenBlock extends HorizontalFacingBlock implements Waterloggable {
|
|||
|
||||
@Override
|
||||
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) {
|
||||
if (player.isSneaking()) {
|
||||
if (player.getInventory().getMainHandStack().getItem() == NSE_Items.SCREWDRIVER && !player.getItemCooldownManager().isCoolingDown(NSE_Items.SCREWDRIVER)) {
|
||||
if (!world.isClient) {
|
||||
incrementSoundIndex(world, pos);
|
||||
}
|
||||
player.sendMessage(Text.translatable("block.new_soviet.siren.set", SIREN_SOUNDS.get(world.getBlockState(pos).get(SOUND_INDEX)).name()), true);
|
||||
player.getItemCooldownManager().set(NSE_Items.SCREWDRIVER, 10);
|
||||
world.playSound(null, pos.getX(), pos.getY(), pos.getZ(), NSE_Sounds.SCREWDRIVER_SOUND, SoundCategory.BLOCKS, 1.0f, (float) NewSoviet.RANDOM.nextBetween(8, 11) / 10);
|
||||
|
||||
player.sendMessage(Text.translatable("block.new_soviet.siren.set").append(Text.translatable("block.new_soviet.siren.sound." + SIREN_SOUNDS.get(world.getBlockState(pos).get(SOUND_INDEX)).translation_key()).formatted(Formatting.YELLOW)), true);
|
||||
return ActionResult.SUCCESS;
|
||||
}
|
||||
return super.onUse(state, world, pos, player, hand, hit);
|
||||
|
@ -157,7 +163,7 @@ public class SirenBlock extends HorizontalFacingBlock implements Waterloggable {
|
|||
|
||||
@Override
|
||||
public void appendTooltip(ItemStack stack, @Nullable BlockView world, List<Text> tooltip, TooltipContext options) {
|
||||
tooltip.add(Text.translatable("block.new_soviet.siren.instruction")); // TODO: Pull keybindings in case user changed RMB to whatever
|
||||
tooltip.add(Text.translatable("block.new_soviet.siren.instruction"));
|
||||
super.appendTooltip(stack, world, tooltip, options);
|
||||
}
|
||||
|
||||
|
@ -166,6 +172,6 @@ public class SirenBlock extends HorizontalFacingBlock implements Waterloggable {
|
|||
WATERLOGGED = Properties.WATERLOGGED;
|
||||
}
|
||||
|
||||
public record SirenSound(String name, SoundEvent sound, int duration) {
|
||||
public record SirenSound(String name, SoundEvent sound, int duration, String translation_key) {
|
||||
}
|
||||
}
|
|
@ -153,8 +153,13 @@
|
|||
"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 sound set to: %s",
|
||||
"block.new_soviet.siren.instruction": "Right click while sneaking to change sound",
|
||||
"block.new_soviet.siren.set": "Siren sound set to: ",
|
||||
"block.new_soviet.siren.sound.air_raid": "Air Raid",
|
||||
"block.new_soviet.siren.sound.bell": "Bell",
|
||||
"block.new_soviet.siren.sound.woop": "Woop",
|
||||
"block.new_soviet.siren.sound.cloister": "Cloister Bell",
|
||||
"block.new_soviet.siren.sound.kuplinov": "Kuplinov Alert",
|
||||
"block.new_soviet.siren.instruction": "Use a screwdriver to change sound",
|
||||
"item.new_soviet.dice_d6": "Die",
|
||||
"item.new_soviet.dice_d4": "Die",
|
||||
"item.new_soviet.dice_d20": "Die",
|
||||
|
|
|
@ -153,8 +153,13 @@
|
|||
"block.new_soviet.table_lamp": "Настольныя лампа",
|
||||
"block.new_soviet.ceiling_fan": "Потолочный вѣнтилятор",
|
||||
"block.new_soviet.siren": "Сирѣна",
|
||||
"block.new_soviet.siren.set": "Звукъ сирѣнъ: %s",
|
||||
"block.new_soviet.siren.instruction": "Нажми ПКМ въ прiсядѣ для смѣнъ звука",
|
||||
"block.new_soviet.siren.set": "Звукъ сирѣнъ: ",
|
||||
"block.new_soviet.siren.sound.air_raid": "Воздушная тревога",
|
||||
"block.new_soviet.siren.sound.bell": "Колоколъ",
|
||||
"block.new_soviet.siren.sound.woop": "Вупъ",
|
||||
"block.new_soviet.siren.sound.cloister": "Врачѣбный колоколъ",
|
||||
"block.new_soviet.siren.sound.kuplinov": "Сирѣна Куплинова",
|
||||
"block.new_soviet.siren.instruction": "Нажми отвѣрткой для смѣнъ звука",
|
||||
"item.new_soviet.dice_d6": "Игральныя кость",
|
||||
"item.new_soviet.dice_d4": "Игральныя кость",
|
||||
"item.new_soviet.dice_d20": "Игральныя кость",
|
||||
|
|
|
@ -153,8 +153,13 @@
|
|||
"block.new_soviet.table_lamp": "Настольная лампа",
|
||||
"block.new_soviet.ceiling_fan": "Потолочный вентилятор",
|
||||
"block.new_soviet.siren": "Сирена",
|
||||
"block.new_soviet.siren.set": "Звук сирены: %s",
|
||||
"block.new_soviet.siren.instruction": "Нажми ПКМ в присяде для смены звука",
|
||||
"block.new_soviet.siren.set": "Звук сирены: ",
|
||||
"block.new_soviet.siren.sound.air_raid": "Воздушная тревога",
|
||||
"block.new_soviet.siren.sound.bell": "Колокол",
|
||||
"block.new_soviet.siren.sound.woop": "Вуп",
|
||||
"block.new_soviet.siren.sound.cloister": "Врачебный колокол",
|
||||
"block.new_soviet.siren.sound.kuplinov": "Сирена Куплинова",
|
||||
"block.new_soviet.siren.instruction": "Используй отвертку для смены звука",
|
||||
"item.new_soviet.dice_d6": "Игральная кость",
|
||||
"item.new_soviet.dice_d4": "Игральная кость",
|
||||
"item.new_soviet.dice_d20": "Игральная кость",
|
||||
|
|
Loading…
Reference in a new issue