/
PostLoginScriptEvent.java
80 lines (66 loc) · 2.19 KB
/
PostLoginScriptEvent.java
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
package net.gnomeffinway.depenizen.events.bungee;
import net.aufdemrand.denizen.BukkitScriptEntryData;
import net.aufdemrand.denizencore.objects.Element;
import net.aufdemrand.denizencore.objects.dObject;
import net.aufdemrand.denizencore.scripts.ScriptEntryData;
import net.aufdemrand.denizencore.scripts.containers.ScriptContainer;
import net.aufdemrand.denizencore.utilities.CoreUtilities;
import net.gnomeffinway.depenizen.objects.bungee.dServer;
import java.util.HashMap;
import java.util.Map;
public class PostLoginScriptEvent extends BungeeScriptEvent {
// <--[event]
// @Events
// bungee player joins network
//
// @Triggers when a player is connected to the BungeeCord network and is ready to join a server.
//
// @Cancellable false
//
// @Context
// <context.uuid> returns an Element of the player's UUID.
// <context.name> returns an Element of the player's current name.
// @Determine
// None
//
// @Plugin Depenizen, BungeeCord
// -->
public PostLoginScriptEvent() {
instance = this;
}
public static PostLoginScriptEvent instance;
public Element uuid;
public Element name;
@Override
public boolean couldMatch(ScriptContainer scriptContainer, String s) {
String lower = CoreUtilities.toLowerCase(s);
return lower.startsWith("bungee player joins ");
}
@Override
public boolean matches(ScriptContainer scriptContainer, String s) {
String lower = CoreUtilities.toLowerCase(s);
return lower.endsWith("network");
}
@Override
public String getName() {
return "PostLogin";
}
@Override
public ScriptEntryData getScriptEntryData() {
return new BukkitScriptEntryData(null, null);
}
@Override
public HashMap<String, dObject> getContext() {
HashMap<String, dObject> context = super.getContext();
context.put("uuid", uuid);
context.put("name", name);
return context;
}
@Override
public Map<String, String> fire(Map<String, String> context) {
uuid = new Element(context.get("uuid"));
name = new Element(context.get("name"));
fire();
return null;
}
}