1717 */
1818package gg.skytils.skytilsmod.utils
1919
20- import dev.falsehonesty.asmhelper.AsmHelper
21- import dev.falsehonesty.asmhelper.dsl.instructions.Descriptor
2220import gg.essential.lib.caffeine.cache.Cache
2321import gg.essential.universal.ChatColor
22+ import gg.essential.universal.UKeyboard
2423import gg.essential.vigilance.Vigilant
2524import gg.essential.vigilance.gui.settings.CheckboxComponent
2625import gg.skytils.event.postSync
@@ -29,7 +28,6 @@ import gg.skytils.skytilsmod.Skytils
2928import gg.skytils.skytilsmod.Skytils.mc
3029import gg.skytils.skytilsmod._event.MainThreadPacketReceiveEvent
3130import gg.skytils.skytilsmod._event.PacketReceiveEvent
32- import gg.skytils.skytilsmod.asm.SkytilsTransformer
3331import gg.skytils.skytilsmod.mixins.extensions.ExtensionEntity
3432import gg.skytils.skytilsmod.mixins.transformers.accessors.AccessorWorldInfo
3533import gg.skytils.skytilsmod.utils.NumberUtil.roundToPrecision
@@ -41,6 +39,7 @@ import kotlinx.coroutines.Job
4139import kotlinx.coroutines.launch
4240import net.minecraft.client.network.ClientPlayNetworkHandler
4341import net.minecraft.client.option.GameOptions
42+ import net.minecraft.client.resource.language.I18n
4443import net.minecraft.entity.Entity
4544import net.minecraft.entity.LivingEntity
4645import net.minecraft.entity.attribute.EntityAttributes
@@ -49,11 +48,11 @@ import net.minecraft.nbt.NbtList
4948import net.minecraft.network.packet.s2c.play.GameMessageS2CPacket
5049import net.minecraft.network.packet.s2c.play.ParticleS2CPacket
5150import net.minecraft.particle.ParticleEffect
51+ import net.minecraft.sound.SoundEvent
52+ import net.minecraft.sound.SoundEvents
5253import net.minecraft.text.Text
5354import net.minecraft.util.*
5455import net.minecraft.world.World
55- import net.minecraftforge.client.event.ClientChatReceivedEvent
56- import net.minecraftforge.common.MinecraftForge
5756import org.objectweb.asm.tree.MethodInsnNode
5857import java.awt.Color
5958import java.io.File
@@ -109,9 +108,10 @@ object Utils {
109108 * https://github.com/BiscuitDevelopment/SkyblockAddons/blob/master/LICENSE
110109 * @author BiscuitDevelopment
111110 */
112- fun playLoudSound (sound : String? , pitch : Double ) {
111+ fun playLoudSound (sound : String , pitch : Double ) {
113112 shouldBypassVolume = true
114- mc.player.playSound(sound, 1f , pitch.toFloat())
113+ val sound = SoundEvent .of(Identifier .of(sound))
114+ mc.player?.playSound(sound, 1f , pitch.toFloat())
115115 shouldBypassVolume = false
116116 }
117117
@@ -166,20 +166,6 @@ object Utils {
166166 } else run ()
167167 }
168168
169- /* *
170- * Cancels a chat packet and posts the chat event to the event bus if other mods need it
171- * @param event packet to cancel
172- */
173- fun cancelChatPacket (event : PacketReceiveEvent <* >) {
174- if (event.packet !is GameMessageS2CPacket ) return
175- event.cancelled = true
176- val packet = event.packet
177- checkThreadAndQueue {
178- postSync(MainThreadPacketReceiveEvent (packet))
179- MinecraftForge .EVENT_BUS .post(ClientChatReceivedEvent (packet.type, packet.content))
180- }
181- }
182-
183169 fun timeFormat (seconds : Double ): String {
184170 return if (seconds >= 60 ) {
185171 " ${floor(seconds / 60 ).toInt()} m ${(seconds % 60 ).roundToPrecision(3 )} s"
@@ -223,7 +209,13 @@ object Utils {
223209 }
224210
225211 fun getKeyDisplayStringSafe (keyCode : Int ): String =
226- runCatching { GameOptions .method_0_2345(keyCode) }.getOrNull() ? : " Key $keyCode "
212+ if (keyCode < 0 ) {
213+ " Button ${keyCode + 101 } "
214+ } else if (keyCode < 256 ) {
215+ UKeyboard .getKeyName(keyCode)!!
216+ } else {
217+ " %c" .format((keyCode - 256 ).toChar()).uppercase()
218+ }
227219}
228220
229221inline val Box .minVec: Vec3d
0 commit comments