diff --git a/src/main/java/cz/jzitnik/game/Game.java b/src/main/java/cz/jzitnik/game/Game.java index db34223..a323dbb 100644 --- a/src/main/java/cz/jzitnik/game/Game.java +++ b/src/main/java/cz/jzitnik/game/Game.java @@ -23,6 +23,7 @@ import cz.jzitnik.game.config.Configuration; import cz.jzitnik.game.core.autotransient.AutoTransientSupport; import cz.jzitnik.game.core.autotransient.initilizers.GameMiningInitializer; import cz.jzitnik.game.core.autotransient.initilizers.GameWindowInitializer; +import cz.jzitnik.game.core.sound.SoundKey; import cz.jzitnik.game.ui.Window; import cz.jzitnik.game.ui.Inventory; import cz.jzitnik.game.handlers.rightclick.RightClickHandlerProvider; @@ -157,6 +158,7 @@ public class Game extends AutoTransientSupport { } List mobs = world[y][x].stream().filter(Block::isMob).toList(); + gameStates.dependencies.sound.playSound(configuration, SoundKey.HIT, null); for (Block mob : mobs) { int dealDamage = inventory.getItemInHand().map(Item::getDealDamage).orElse(1); diff --git a/src/main/java/cz/jzitnik/game/core/sound/SoundKey.java b/src/main/java/cz/jzitnik/game/core/sound/SoundKey.java index a2563bb..0e97da8 100644 --- a/src/main/java/cz/jzitnik/game/core/sound/SoundKey.java +++ b/src/main/java/cz/jzitnik/game/core/sound/SoundKey.java @@ -10,4 +10,5 @@ public enum SoundKey { WOOD, HURT, + HIT, } diff --git a/src/main/java/cz/jzitnik/game/core/sound/registry/HitSound.java b/src/main/java/cz/jzitnik/game/core/sound/registry/HitSound.java new file mode 100644 index 0000000..3d7510d --- /dev/null +++ b/src/main/java/cz/jzitnik/game/core/sound/registry/HitSound.java @@ -0,0 +1,13 @@ +package cz.jzitnik.game.core.sound.registry; + +import cz.jzitnik.game.annotations.SoundRegistry; +import cz.jzitnik.game.core.sound.SoundKey; + +@SoundRegistry(key = SoundKey.HIT, resourceLocation = { + "hit/hit1.ogg", + "hit/hit2.ogg", + "hit/hit3.ogg", + "hit/hit4.ogg", +}) +public class HitSound { +} diff --git a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/GrassBushBlock.java b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/GrassBushBlock.java index ea7e613..c3cbb43 100644 --- a/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/GrassBushBlock.java +++ b/src/main/java/cz/jzitnik/game/entities/items/registry/blocks/grassy/GrassBushBlock.java @@ -7,9 +7,14 @@ import cz.jzitnik.game.annotations.BreakableByWater; import cz.jzitnik.game.annotations.BreaksByPlace; import cz.jzitnik.game.annotations.BreaksFalling; import cz.jzitnik.game.annotations.CustomDrop; +import cz.jzitnik.game.annotations.MineSound; import cz.jzitnik.game.annotations.PlaceOnSolid; +import cz.jzitnik.game.annotations.PlaceSound; +import cz.jzitnik.game.core.sound.SoundKey; import cz.jzitnik.game.entities.Block; +@MineSound(SoundKey.GRASS) +@PlaceSound(SoundKey.GRASS) @PlaceOnSolid @BreakableByWater @BreaksFalling diff --git a/src/main/resources/sounds/hit/hit1.ogg b/src/main/resources/sounds/hit/hit1.ogg new file mode 100644 index 0000000..9179f9f Binary files /dev/null and b/src/main/resources/sounds/hit/hit1.ogg differ diff --git a/src/main/resources/sounds/hit/hit2.ogg b/src/main/resources/sounds/hit/hit2.ogg new file mode 100644 index 0000000..08869c2 Binary files /dev/null and b/src/main/resources/sounds/hit/hit2.ogg differ diff --git a/src/main/resources/sounds/hit/hit3.ogg b/src/main/resources/sounds/hit/hit3.ogg new file mode 100644 index 0000000..bccb54a Binary files /dev/null and b/src/main/resources/sounds/hit/hit3.ogg differ diff --git a/src/main/resources/sounds/hit/hit4.ogg b/src/main/resources/sounds/hit/hit4.ogg new file mode 100644 index 0000000..d150971 Binary files /dev/null and b/src/main/resources/sounds/hit/hit4.ogg differ