diff options
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/util')
-rw-r--r-- | src/main/kotlin/moe/nea/firmament/util/CommonSoundEffects.kt | 28 | ||||
-rw-r--r-- | src/main/kotlin/moe/nea/firmament/util/MC.kt | 5 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/util/CommonSoundEffects.kt b/src/main/kotlin/moe/nea/firmament/util/CommonSoundEffects.kt new file mode 100644 index 0000000..819ea27 --- /dev/null +++ b/src/main/kotlin/moe/nea/firmament/util/CommonSoundEffects.kt @@ -0,0 +1,28 @@ +package moe.nea.firmament.util + +import net.minecraft.client.sound.AbstractSoundInstance +import net.minecraft.client.sound.PositionedSoundInstance +import net.minecraft.client.sound.SoundInstance +import net.minecraft.sound.SoundCategory +import net.minecraft.sound.SoundEvent +import net.minecraft.util.Identifier + +// TODO: Replace these with custom sound events that just re use the vanilla ogg s +object CommonSoundEffects { + fun playSound(identifier: Identifier) { + MC.soundManager.play(PositionedSoundInstance.master(SoundEvent.of(identifier), 1F)) + } + + fun playFailure() { + playSound(Identifier("minecraft", "block.anvil.place")) + } + + + fun playSuccess() { + playDing() + } + + fun playDing() { + playSound(Identifier("minecraft", "entity.arrow.hit_player")) + } +} diff --git a/src/main/kotlin/moe/nea/firmament/util/MC.kt b/src/main/kotlin/moe/nea/firmament/util/MC.kt index ab35f0e..8fc15b5 100644 --- a/src/main/kotlin/moe/nea/firmament/util/MC.kt +++ b/src/main/kotlin/moe/nea/firmament/util/MC.kt @@ -2,11 +2,16 @@ package moe.nea.firmament.util import io.github.moulberry.repo.data.Coordinate import net.minecraft.client.MinecraftClient +import net.minecraft.client.gui.screen.ingame.HandledScreen import net.minecraft.util.math.BlockPos +import moe.nea.firmament.mixins.accessor.AccessorHandledScreen object MC { + inline val soundManager get() = MinecraftClient.getInstance().soundManager inline val player get() = MinecraftClient.getInstance().player inline val world get() = MinecraftClient.getInstance().world + inline val screen get() = MinecraftClient.getInstance().currentScreen + inline val handledScreen: HandledScreen<*>? get() = MinecraftClient.getInstance().currentScreen as? HandledScreen<*> } val Coordinate.blockPos: BlockPos |