Skip to content

Commit

Permalink
Add SubCreatedEvent
Browse files Browse the repository at this point in the history
  • Loading branch information
ME1312 committed Dec 18, 2019
1 parent 73c402f commit 51d3c31
Show file tree
Hide file tree
Showing 21 changed files with 766 additions and 113 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,13 @@ public SubCreateEvent(UUID player, Host host, String name, SubCreator.ServerTemp
this.port = port;
}

/**
* Server Create Event (as an Update)
*
* @param player Player Updating
* @param server Server to be Updated
* @param version Server Version
*/
public SubCreateEvent(UUID player, SubServer server, Version version) {
if (Util.isNull(server)) throw new NullPointerException();
this.player = player;
Expand Down Expand Up @@ -78,7 +85,7 @@ public boolean isUpdate() {
*
* @return Updating Server
*/
public SubServer getUpdating() {
public SubServer getUpdatingServer() {
return update;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
package net.ME1312.SubServers.Bungee.Event;

import net.ME1312.Galaxi.Library.Util;
import net.ME1312.Galaxi.Library.Version.Version;
import net.ME1312.SubServers.Bungee.Host.Host;
import net.ME1312.SubServers.Bungee.Host.SubCreator;
import net.ME1312.SubServers.Bungee.Host.SubServer;
import net.ME1312.SubServers.Bungee.Library.SubEvent;
import net.md_5.bungee.api.plugin.Event;

import java.util.UUID;

/**
* Server Created Event
*/
public class SubCreatedEvent extends Event implements SubEvent {
private UUID player;
private SubServer server;
private boolean success;
private boolean update;
private Host host;
private String name;
private SubCreator.ServerTemplate template;
private Version version;
private int port;

/**
* Server Created Event
*
* @param player Player Creating
* @param host Potential Host
* @param name Server Name
* @param template Server Template
* @param version Server Version
* @param port Server Port Number
* @param server Server Object
* @param update Update Mode Status
* @param success Success Status
*/
public SubCreatedEvent(UUID player, Host host, String name, SubCreator.ServerTemplate template, Version version, int port, SubServer server, boolean update, boolean success) {
if (Util.isNull(host, name, template, port)) throw new NullPointerException();
this.player = player;
this.host = host;
this.name = name;
this.template = template;
this.version = version;
this.port = port;
this.server = server;
this.update = update;
this.success = success;
}

/**
* Get the Host the SubServer runs on
*
* @return Host
*/
public Host getHost() {
return host;
}

/**
* Get if SubCreator was being run in update mode
*
* @return Update Mode Status
*/
public boolean wasUpdate() {
return update;
}

/**
* Get if the operation was a success
*
* @return Success Status
*/
public boolean wasSuccessful() {
return success;
}

/**
* Get the Server that was created/updated
*
* @return Finished Server
*/
public SubServer getServer() {
return server;
}

/**
* Get the name the SubServer used
*
* @return SubServer Name
*/
public String getName() {
return name;
}

/**
* Get the Template that was used
*
* @return Server Template
*/
public SubCreator.ServerTemplate getTemplate() {
return template;
}

/**
* Get the Version the Server used
*
* @return Server Version
*/
public Version getVersion() {
return version;
}

/**
* Get the Port the Server used
*
* @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; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import net.ME1312.Galaxi.Library.Callback.ReturnCallback;
import net.ME1312.SubData.Server.SubDataClient;
import net.ME1312.SubServers.Bungee.Event.SubCreateEvent;
import net.ME1312.SubServers.Bungee.Event.SubCreatedEvent;
import net.ME1312.SubServers.Bungee.Host.*;
import net.ME1312.Galaxi.Library.Config.YAMLConfig;
import net.ME1312.Galaxi.Library.Map.ObjectMap;
Expand Down Expand Up @@ -146,9 +147,11 @@ public boolean create(UUID player, String name, ServerTemplate template, Version
if (template.getBuildOptions().getBoolean("Run-On-Finish", true))
subserver.start();

host.plugin.getPluginManager().callEvent(new SubCreatedEvent(player, host, name, template, version, fport, subserver, false, true));
callback(origin, callback, subserver);
} else {
Logger.get(prefix).info(data.getString(0x0004));
host.plugin.getPluginManager().callEvent(new SubCreatedEvent(player, host, name, template, version, fport, null, false, false));
callback(origin, callback, null);
}
} catch (Exception e) {
Expand Down Expand Up @@ -220,6 +223,7 @@ public boolean update(UUID player, SubServer server, Version version, Callback<B
Logger.get(prefix).info(data.getString(0x0004));
}

host.plugin.getPluginManager().callEvent(new SubCreatedEvent(player, host, name, server.getTemplate(), version, server.getAddress().getPort(), server, true, data.getInt(0x0001) == 0));
if (callback != null) try {
callback.run(data.getInt(0x0001) == 0);
} catch (Throwable e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import net.ME1312.Galaxi.Library.Callback.ReturnCallback;
import net.ME1312.Galaxi.Library.Config.YAMLSection;
import net.ME1312.SubServers.Bungee.Event.SubCreateEvent;
import net.ME1312.SubServers.Bungee.Event.SubCreatedEvent;
import net.ME1312.SubServers.Bungee.Host.*;
import net.ME1312.Galaxi.Library.Config.YAMLConfig;
import net.ME1312.Galaxi.Library.Map.ObjectMap;
Expand Down Expand Up @@ -263,13 +264,17 @@ public void run() {
}

InternalSubCreator.this.thread.remove(name.toLowerCase());

host.plugin.getPluginManager().callEvent(new SubCreatedEvent(player, host, name, template, version, port, subserver, update != null, true));
callback.run(subserver);
} catch (Exception e) {
e.printStackTrace();
host.plugin.getPluginManager().callEvent(new SubCreatedEvent(player, host, name, template, version, port, update, update != null, false));
callback.run(null);
}
} else {
Logger.get(prefix).info("Couldn't build the server jar. Check the SubCreator logs for more detail.");
host.plugin.getPluginManager().callEvent(new SubCreatedEvent(player, host, name, template, version, port, update, update != null, false));
callback.run(null);
}
InternalSubCreator.this.thread.remove(name.toLowerCase());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,20 @@ public void event(SubCreateEvent event) {
}
}

@EventHandler(priority = Byte.MAX_VALUE)
public void event(SubCreatedEvent event) {
ObjectMap<String> args = new ObjectMap<String>();
if (event.getPlayer() != null) args.set("player", event.getPlayer().toString());
args.set("success", event.wasSuccessful());
args.set("update", event.wasUpdate());
args.set("name", event.getName());
args.set("host", event.getHost().getName());
args.set("template", event.getTemplate().getName());
if (event.getVersion() != null) args.set("version", event.getVersion());
args.set("port", event.getPort());
broadcast(new PacketOutExRunEvent(event.getClass(), args));
}

@EventHandler(priority = Byte.MAX_VALUE)
public void event(SubSendCommandEvent event) {
if (!event.isCancelled()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public boolean isUpdate() {
*
* @param callback Updating Server
*/
public void getUpdating(Callback<SubServer> callback) {
public void getUpdatingServer(Callback<SubServer> callback) {
if (!update) {
try {
callback.run(null);
Expand Down Expand Up @@ -99,15 +99,6 @@ public String getTemplate() {
return template;
}

/**
* Set the Template to Use
*
* @param value Value
*/
public void getTemplate(String value) {
this.template = value;
}

/**
* Get the Version the Server will use
*
Expand All @@ -117,15 +108,6 @@ public Version getVersion() {
return version;
}

/**
* Set the Version the Server will use
*
* @param value Value
*/
public void setVersion(Version value) {
this.version = value;
}

/**
* Get the Port the Server will use
*
Expand Down
Loading

0 comments on commit 51d3c31

Please sign in to comment.