/
SubCreateEvent.java
135 lines (122 loc) · 3.26 KB
/
SubCreateEvent.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
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
131
132
133
134
135
package net.ME1312.SubServers.Client.Bukkit.Event;
import net.ME1312.Galaxi.Library.Callback.Callback;
import net.ME1312.SubServers.Client.Bukkit.Library.SubEvent;
import net.ME1312.Galaxi.Library.Util;
import net.ME1312.Galaxi.Library.Version.Version;
import net.ME1312.SubServers.Client.Bukkit.Network.API.SubServer;
import net.ME1312.SubServers.Client.Bukkit.SubAPI;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import java.lang.reflect.InvocationTargetException;
import java.util.UUID;
/**
* Server Create Event
*/
public class SubCreateEvent extends Event implements SubEvent {
private UUID player;
private boolean update;
private String host;
private String name;
private String template;
private Version version;
private int port;
/**
* Server Create Event
*
* @param player Player Creating
* @param host Potential Host
* @param name Server Name
* @param template Server Type
* @param version Server Version
* @param port Server Port Number
*/
public SubCreateEvent(UUID player, String host, String name, String template, Version version, int port, boolean update) {
if (Util.isNull(host, name, template, port)) throw new NullPointerException();
this.player = player;
this.update = update;
this.host = host;
this.name = name;
this.template = template;
this.version = version;
this.port = port;
}
/**
* Get the Host the SubServer will run on
*
* @return Potential Host
*/
public String getHost() {
return host;
}
/**
* Get if SubCreator is being run in update mode
*
* @return Update Mode Status
*/
public boolean isUpdate() {
return update;
}
/**
* Get the Server that's being updated
*
* @param callback Updating Server
*/
public void getUpdatingServer(Callback<SubServer> callback) {
if (!update) {
try {
callback.run(null);
} catch (Throwable e) {
Throwable ew = new InvocationTargetException(e);
ew.printStackTrace();
}
} else {
SubAPI.getInstance().getSubServer(name, callback);
}
}
/**
* Get the name the SubServer will use
*
* @return SubServer Name
*/
public String getName() {
return name;
}
/**
* Get the Template to Use
*
* @return Server Template
*/
public String getTemplate() {
return template;
}
/**
* Get the Version the Server will use
*
* @return Server Version
*/
public Version getVersion() {
return version;
}
/**
* Get the Port the Server will use
*
* @return Port Number
*/
public int getPort() {
return port;
}
/**
* Gets the player that triggered the Event
*
* @return The Player that triggered this Event or null if Console
*/
public UUID getPlayer() { return player; }
@Override
public HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
private static HandlerList handlers = new HandlerList();
}