aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/dulkirfabric/util
diff options
context:
space:
mode:
authorRonald Inglett <71849533+inglettronald@users.noreply.github.com>2023-07-18 06:39:39 -0500
committerGitHub <noreply@github.com>2023-07-18 06:39:39 -0500
commit8b1b2d19b3af2462ddad000c7d71cd6c702e4560 (patch)
tree957b67b0d18e8b33bb4c1f6222e5ffb41ccf0e91 /src/main/kotlin/com/dulkirfabric/util
parentd68c8bb34fe41d47777c4771364d2b94b4fdbdf1 (diff)
parent25fb78ace82779fa6e5b45fc20fa428570c63a59 (diff)
downloadDulkirMod-Fabric-8b1b2d19b3af2462ddad000c7d71cd6c702e4560.tar.gz
DulkirMod-Fabric-8b1b2d19b3af2462ddad000c7d71cd6c702e4560.tar.bz2
DulkirMod-Fabric-8b1b2d19b3af2462ddad000c7d71cd6c702e4560.zip
Merge pull request #3 from romangraef/dududuudududud
DUDUDUDUDUDUDUDUDUDUDUDUDUDU
Diffstat (limited to 'src/main/kotlin/com/dulkirfabric/util')
-rw-r--r--src/main/kotlin/com/dulkirfabric/util/SoundUtil.kt37
-rw-r--r--src/main/kotlin/com/dulkirfabric/util/TimeMark.kt23
2 files changed, 60 insertions, 0 deletions
diff --git a/src/main/kotlin/com/dulkirfabric/util/SoundUtil.kt b/src/main/kotlin/com/dulkirfabric/util/SoundUtil.kt
new file mode 100644
index 0000000..7d623f6
--- /dev/null
+++ b/src/main/kotlin/com/dulkirfabric/util/SoundUtil.kt
@@ -0,0 +1,37 @@
+package com.dulkirfabric.util
+
+import net.minecraft.client.MinecraftClient
+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
+import net.minecraft.util.math.BlockPos
+import net.minecraft.util.math.random.LocalRandom
+
+object SoundUtil {
+ val iphone = SoundEvent.of(Identifier("dulkirmod:iphone"))
+
+
+ fun stop(sounds: List<SoundInstance>) {
+ val m = MinecraftClient.getInstance().soundManager
+ sounds.forEach(m::stop)
+ }
+
+ fun playSoundAtPlayer(event: SoundEvent): PositionedSoundInstance {
+ val instance = PositionedSoundInstance(
+ event,
+ SoundCategory.MASTER,
+ 1F,
+ 1F,
+ LocalRandom(0L),
+ MinecraftClient.getInstance().player?.blockPos ?: BlockPos(0, 0, 0)
+ )
+ MinecraftClient.getInstance().soundManager.play(instance)
+ return instance
+ }
+
+ fun playIPhoneAlarm(): PositionedSoundInstance {
+ return playSoundAtPlayer(iphone)
+ }
+} \ No newline at end of file
diff --git a/src/main/kotlin/com/dulkirfabric/util/TimeMark.kt b/src/main/kotlin/com/dulkirfabric/util/TimeMark.kt
new file mode 100644
index 0000000..c6b2427
--- /dev/null
+++ b/src/main/kotlin/com/dulkirfabric/util/TimeMark.kt
@@ -0,0 +1,23 @@
+package com.dulkirfabric.util
+
+import java.time.Duration
+
+data class TimeMark(val timestamp: Long) {
+ companion object {
+ fun now(): TimeMark {
+ return TimeMark(System.currentTimeMillis())
+ }
+
+ fun ago(duration: Duration): TimeMark {
+ return TimeMark(System.currentTimeMillis() - duration.toMillis())
+ }
+
+ fun farPast(): TimeMark {
+ return TimeMark(0L)
+ }
+ }
+
+ fun timePassed(): Duration {
+ return Duration.ofMillis(System.currentTimeMillis() - timestamp)
+ }
+} \ No newline at end of file