Add slot locking

This commit is contained in:
nea
2023-05-18 03:20:22 +02:00
parent 3ebe3e80b9
commit 1dd603ab1c
19 changed files with 297 additions and 14 deletions

View File

@@ -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"))
}
}

View File

@@ -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