This repository was archived by the owner on Apr 21, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
132 lines (93 loc) · 3.62 KB
/
index.js
File metadata and controls
132 lines (93 loc) · 3.62 KB
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
import Yettings from './yettings'
// Commands
import './commands/clearTextCommand'
import './commands/formattingCommand'
import './commands/limboCommand'
import './commands/limboCreativeCommand'
import './commands/moveTextCommand'
import './commands/moveHuntingTextCommand'
import './commands/pingCommand'
import './commands/playtimeCommand'
import './commands/setNickCommand'
import './commands/setTextCommand'
import './commands/yedelCommand'
import './commands/yedelMessageCommand'
// Features
import './features/autoGuildWelcome'
import './features/autoLimboCreative'
import './features/clickablesDisplay'
import './features/defusalSolver'
import './features/displayText'
import './features/drawBookBackground'
import './features/dropperGG'
import './features/moveTextGui'
import './features/playtime'
import './features/randomPhrases'
import './features/sacrificeDisplay'
import './features/yedelSchedule'
// Features with more than one register usually constitute major features
import './features/major/hypixelSaysHelper'
import './features/major/marketSearches'
import './features/major/ping'
import './features/major/strengthIndicators'
import './features/major/tntTag'
// Modern features
import './features/modern/itemSwings'
import './utils/customEvents' // Registers all of the custom event triggers
import './utils/scoreboardName' // Scoreboard manager
// Module
import {YedelCheck, isYedelModActive, logo, mc, version} from './utils/constants'
import {games$tnttag} from './utils/scoreboardName'
import showWelcomeMessage from './utils/welcomeMessage'
import generalData from './utils/generalData'
import {playtimeData} from './features/playtime'
import {SettingsGui} from './utils/javaClasses'
// YedelMod check. This warns about YedelMod which likely breaks this module
if (isYedelModActive) { // if YedelMod detected
YedelCheck.YedelUtils = true // Tells YedelMod that YedelUtils is active
const yedelActive = register('worldLoad', () => {
yedelActive.unregister()
setTimeout(() => {
new Message(
`${logo} &9&lYedel&7&lMod &cdetected, it's likely that this module will completely break it. If you are not seeing a similar message from &9&lYedel&7&lMod, &cignore this message. `,
new TextComponent('&c&n&lUninstall YedelUtils').setClick('run_command', '/ct delete YedelUtils')
)
.chat()
}, 500)
})
}
// Vigilance settings listener
Yettings.registerListener('Bounty Hunting', val => {
if (!games$tnttag) return
val ? target.show() : target.hide()
})
// First load / changelog message
if (generalData.lastPlayedVersion != version) {
const firstTime = register('worldLoad', () => {
setTimeout(() => {
showWelcomeMessage()
firstTime.unregister()
}, 500)
})
generalData.lastPlayedVersion = version
generalData.save()
}
// Saves this vigilance config if it is closed
const SettingsGui_config = SettingsGui.class.getDeclaredField('config') // Config object of GUI. they are seperate
SettingsGui_config.setAccessible(true)
register('guiClosed', gui => {
if (gui instanceof SettingsGui) {
if (SettingsGui_config.get(gui)?.getGuiTitle() == 'YedelUtils') Yettings.save()
}
})
// Change old playtime (ptminutes) to new playtime (totalPlaytimeMinutes)
const dataObject = JSON.parse(FileLib.read('YedelUtils', './.data.json'))
if (dataObject.ptminutes) {
playtimeData.totalPlaytimeMinutes = dataObject.ptminutes
playtimeData.ptminutes = false // goes from number (truthy) to false (falsy)
playtimeData.save()
}
// Function to eval code from this index file, with everything imported. Used for /settext
export function evalFromIndex(string) {
return eval(string)
}