blob: db4989621eb5e188e994fa4aa0ea9911c0e42474 (
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
package at.hannibal2.skyhanni.features.bingo
import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.events.LorenzChatEvent
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.StringUtils.removeColor
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
class CompactBingoChat {
private var blockedSkillLevelUp = false
private var blockedCollectionLevelUp = false
private var collectionLevelUpLastLine: String? = null
private var newArea = 0//0 = nothing, 1 = after first message, 2 = after second message
private var blockedBestiarity = false
@SubscribeEvent
fun onChatMessage(event: LorenzChatEvent) {
if (!LorenzUtils.isBingoProfile) return
if (!SkyHanniMod.feature.bingo.compactChatMessages) return
onSkillLevelUp(event)
onCollectionLevelUp(event)
onNewAreaDiscovered(event)
onBestiarityUpgrade(event)
}
private fun onSkillLevelUp(event: LorenzChatEvent) {
val message = event.message
if (message.startsWith(" §r§b§lSKILL LEVEL UP ")) {
blockedSkillLevelUp = true
return
}
if (message == "§3§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬") {
blockedSkillLevelUp = false
return
}
if (blockedSkillLevelUp) {
if (!message.contains("Access to") && !message.endsWith(" Enchantment")) {
event.blockedReason = "compact skill level up"
}
}
}
private fun onCollectionLevelUp(event: LorenzChatEvent) {
val message = event.message
if (message.startsWith(" §r§6§lCOLLECTION LEVEL UP ")) {
blockedCollectionLevelUp = true
return
}
if (message == "§e§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬") {
blockedCollectionLevelUp = false
return
}
if (blockedCollectionLevelUp) {
if (message.contains("Trade") || message.contains("Recipe")) {
var text = message.removeColor().replace(" ", "")
if (text == "Trade" || text == "Recipe") {
collectionLevelUpLastLine?.let { LorenzUtils.chat(it) }
}
} else {
event.blockedReason = "compact collection level up"
collectionLevelUpLastLine = message
}
}
}
private fun onNewAreaDiscovered(event: LorenzChatEvent) {
var message = event.message
if (message == " §r§6§lNEW AREA DISCOVERED!") {
newArea = 1
println("new area $newArea $message")
return
}
if (message != "") {
if (newArea == 1) {
newArea = 2
println("new area $newArea $message")
return
}
if (newArea == 2) {
if (message.startsWith("§7 ■ §r") || message.startsWith(" §r")) {
event.blockedReason = "compact new area discovered"
} else {
newArea = 0
println("new area $newArea $message")
}
}
}
}
private fun onBestiarityUpgrade(event: LorenzChatEvent) {
val message = event.message
if (message.startsWith(" §r§3§lBESTIARY §b§l")) {
blockedBestiarity = true
return
}
if (message == "§3§l▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬") {
blockedBestiarity = false
return
}
if (blockedBestiarity) {
event.blockedReason = "compact bestiarity upgrade"
}
}
}
|