-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprefixes.js
72 lines (60 loc) · 2.75 KB
/
prefixes.js
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
// LiteLoader-AIDS automatic generated
/// <reference path="c:\Users\LenovoG580\Documents\ll/dts/HelperLib-master/src/index.d.ts"/>
const prefixDB = new KVDatabase('./plugins/chatmanager/prefix');
const config = require('./config.js');
const prefix = config.get('prefix');
const prefixPermName = config.get('prefixPermName');
const changeNoPermMessage = config.get('changeNoPermMessage');
const changePlayerPrefixMessage = config.get('changePlayerPrefixMessage');
const resetNoPermMessage = config.get('resetNoPermMessage');
const resetPlayerPrefixMessage = config.get('resetPlayerPrefixMessage');
mc.listen('onServerStarted', () => {
if (prefix) {
if (!Permission.permissionExists('ChatManager:prefix')) {
Permission.registerPermission('ChatManager:prefix', 'allows player to change and remove prefixes');
}
let prefixRole = Permission.getOrCreateRole(prefixPermName);
if (Permission.permissionExists('ChatManager:prefix')) {
prefixRole.setPermission('ChatManager:prefix', true);
}
Permission.saveData();
/* -------------------------------- commands -------------------------------- */
let change = mc.newCommand('change', 'add prefix to player');
let reset = mc.newCommand('reset', 'reset player prefix');
reset.mandatory('player', ParamType.Player);
reset.overload(['player']);
change.mandatory('player', ParamType.Player);
change.mandatory('prefix', ParamType.String);
change.mandatory('color', ParamType.String);
change.overload(['player', 'prefix', 'color']);
reset.setCallback((_change, ori, out, res) => {
const pl = res.player[0];
if (res.player != undefined && prefixRole.hasMember(ori.player.xuid)) {
prefixDB.set(pl.realName, '');
pl.rename(pl.realName);
return out.success(resetPlayerPrefixMessage);
}
return out.error(resetNoPermMessage);
});
change.setCallback((_reset, ori, out, res) => {
const pl = res.player[0];
if (res.player != undefined && prefixRole.hasMember(ori.player.xuid)) {
prefixDB.set(pl.realName, `${res.color}[${res.prefix}]`);
pl.rename(`${res.color}[${res.prefix}] §r` + pl.realName);
return out.success(changePlayerPrefixMessage);
}
return out.error(changeNoPermMessage);
});
reset.setup();
change.setup();
}
});
mc.listen('onJoin', (pl) => {
if (prefix) {
const prefix = prefixDB.get(pl.realName);
if (prefix != undefined && pl.name != prefix) {
pl.rename(`${prefix}§r` + pl.realName)
}
}
})
module.exports = prefixDB;