blob: 6340a6b8d66a822d305c82c5df94be963211f2a9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
package dulkirmod.utils
import com.google.gson.Gson
import dulkirmod.DulkirMod.Companion.mc
import dulkirmod.config.DulkirConfig
import net.minecraft.util.EnumChatFormatting
import java.awt.Toolkit
import java.awt.datatransfer.Clipboard
import java.awt.datatransfer.DataFlavor
import java.awt.datatransfer.StringSelection
import java.util.*
object Utils {
fun stripColorCodes(string: String): String {
return string.replace("§.".toRegex(), "")
}
fun animationConfigToString() {
var s = ""
var gson = Gson()
var jsonString = gson.toJson(ConfigData())
s = Base64.getEncoder().encodeToString(jsonString.toByteArray())
// set clipboard
val selection = StringSelection(s)
val clipboard: Clipboard = Toolkit.getDefaultToolkit().systemClipboard
clipboard.setContents(selection, selection)
}
fun animationStringtoConfig() {
val gson = Gson()
val clipboard = Toolkit.getDefaultToolkit().systemClipboard
val base64 = clipboard.getData(DataFlavor.stringFlavor) as String
try {
val jsonString = String(Base64.getDecoder().decode(base64))
val import = gson.fromJson(jsonString, ConfigData::class.java)
DulkirConfig.customSize = import.size
DulkirConfig.customSpeed = import.speed
DulkirConfig.doesScaleSwing = import.scaleSwing
DulkirConfig.customX = import.x
DulkirConfig.customY = import.y
DulkirConfig.customZ = import.z
DulkirConfig.customYaw = import.yaw
DulkirConfig.customPitch = import.pitch
DulkirConfig.customRoll = import.roll
DulkirConfig.drinkingSelector = import.drinkingFix
DulkirConfig.ignoreHaste = import.ignoreHaste
} catch (e: Exception) {
TextUtils.info("§6§lCurrent clipboard is not a recognizable Custom Animation Preset.")
}
mc.displayGuiScreen(null)
}
fun isInSkyblock(): Boolean {
if (mc.theWorld == null || mc.thePlayer == null) return false
if (mc.isSingleplayer) return false
if (mc.thePlayer.clientBrand?.contains("hypixel", true) == false) return false
val objective = mc.thePlayer.worldScoreboard.getObjectiveInDisplaySlot(1) ?: return false
return stripColorCodes(objective.displayName).contains("skyblock", true)
}
fun getColorString(int: Int): String {
return if (int == 16) "§z" else EnumChatFormatting.values()[int].toString()
}
}
|