diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/SoundDataProvider.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/SoundDataProvider.kt index afe5d6f31..6e4c5ac76 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/SoundDataProvider.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/SoundDataProvider.kt @@ -26,6 +26,14 @@ class SoundDataProvider(event: GatherDataEvent) : SoundDefinitionsProvider(event .with(SoundDefinition.Sound.sound(modLocation("item/rifle_shot"), SoundDefinition.SoundType.SOUND))) simple(MSoundEvents.CARGO_CRATE_OPEN) + + add(MSoundEvents.ANDROID_JUMP_BOOST, + definition().subtitle("otm.sound.android.jump_boost") + .with(SoundDefinition.Sound.sound(modLocation("android/jump_boost"), SoundDefinition.SoundType.SOUND))) + + add(MSoundEvents.ANDROID_SHOCKWAVE, + definition().subtitle("otm.sound.android.shockwave") + .with(SoundDefinition.Sound.sound(modLocation("android/shockwave"), SoundDefinition.SoundType.SOUND))) } private inline fun add(value: SoundEvent, block: SoundDefinition.() -> Unit) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/JumpBoostFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/JumpBoostFeature.kt index 5f794ab65..6490a1816 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/JumpBoostFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/JumpBoostFeature.kt @@ -7,6 +7,7 @@ import net.minecraft.nbt.CompoundTag import net.minecraft.network.FriendlyByteBuf import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerPlayer +import net.minecraft.sounds.SoundSource import net.minecraftforge.network.NetworkEvent import ru.dbotthepony.mc.otm.ClientConfig import ru.dbotthepony.mc.otm.OverdriveThatMatters @@ -28,6 +29,7 @@ import ru.dbotthepony.mc.otm.network.packetHandled import ru.dbotthepony.mc.otm.network.sender import ru.dbotthepony.mc.otm.registry.AndroidFeatures import ru.dbotthepony.mc.otm.registry.MNames +import ru.dbotthepony.mc.otm.registry.MSoundEvents import java.util.function.Supplier object TriggerJumpBoostPacket : MatteryPacket { @@ -48,6 +50,17 @@ object TriggerJumpBoostPacket : MatteryPacket { if (feature.isActive && feature.cooldown <= 4 && mattery.androidEnergy.extractEnergyInnerExact(ServerConfig.AndroidJumpBoost.ENERGY_COST, false).isPositive) { feature.putOnCooldown() + + context.sender?.let { + it.level.playSound( + it, + it, + MSoundEvents.ANDROID_JUMP_BOOST, + SoundSource.PLAYERS, + 1f, + 1f + ) + } } } } @@ -83,6 +96,15 @@ class JumpBoostFeature(capability: MatteryPlayerCapability) : AndroidSwitchableF ply.deltaMovement += Vector(0.0, ServerConfig.AndroidJumpBoost.POWER * (level + 1) / 20.0, 0.0) putOnCooldown() MatteryPlayerNetworkChannel.sendToServer(TriggerJumpBoostPacket) + + ply.level.playSound( + ply, + ply, + MSoundEvents.ANDROID_JUMP_BOOST, + SoundSource.PLAYERS, + 1f, + 1f + ) } } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ShockwaveFeature.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ShockwaveFeature.kt index 30d50a2fb..861c386c0 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ShockwaveFeature.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/feature/ShockwaveFeature.kt @@ -7,6 +7,7 @@ import net.minecraft.ChatFormatting import net.minecraft.network.FriendlyByteBuf import net.minecraft.resources.ResourceLocation import net.minecraft.server.level.ServerPlayer +import net.minecraft.sounds.SoundSource import net.minecraft.world.entity.Entity import net.minecraft.world.entity.LivingEntity import net.minecraft.world.entity.monster.warden.Warden @@ -38,6 +39,7 @@ import ru.dbotthepony.mc.otm.network.sender import ru.dbotthepony.mc.otm.onceServer import ru.dbotthepony.mc.otm.registry.AndroidFeatures import ru.dbotthepony.mc.otm.registry.MNames +import ru.dbotthepony.mc.otm.registry.MSoundEvents import ru.dbotthepony.mc.otm.registry.ShockwaveDamageSource import ru.dbotthepony.mc.otm.triggers.ShockwaveDamageMobTrigger import ru.dbotthepony.mc.otm.triggers.ShockwaveTrigger @@ -193,6 +195,15 @@ class ShockwaveFeature(capability: MatteryPlayerCapability) : AndroidSwitchableF } else { shockwave() } + + ply.level.playSound( + ply, + ply, + MSoundEvents.ANDROID_SHOCKWAVE, + SoundSource.PLAYERS, + 1f, + 1f + ) } if (!wasMidair) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MSoundEvents.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MSoundEvents.kt index 011baf9d0..35ad59aa6 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MSoundEvents.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MSoundEvents.kt @@ -20,6 +20,9 @@ object MSoundEvents { val PLAYER_BECOME_ANDROID: SoundEvent by make("player_become_android") val CARGO_CRATE_OPEN: SoundEvent by make("cargo_crate_open") + val ANDROID_JUMP_BOOST: SoundEvent by make("android.jump_boost") + val ANDROID_SHOCKWAVE: SoundEvent by make("android.shockwave") + internal fun register(bus: IEventBus) { registry.register(bus) } diff --git a/src/main/resources/assets/overdrive_that_matters/sounds/jump_boost.ogg b/src/main/resources/assets/overdrive_that_matters/sounds/android/jump_boost.ogg similarity index 100% rename from src/main/resources/assets/overdrive_that_matters/sounds/jump_boost.ogg rename to src/main/resources/assets/overdrive_that_matters/sounds/android/jump_boost.ogg diff --git a/src/main/resources/assets/overdrive_that_matters/sounds/Shockwave.ogg b/src/main/resources/assets/overdrive_that_matters/sounds/android/shockwave.ogg similarity index 100% rename from src/main/resources/assets/overdrive_that_matters/sounds/Shockwave.ogg rename to src/main/resources/assets/overdrive_that_matters/sounds/android/shockwave.ogg