SubServers-2/SubServers.Sync/src/net/ME1312/SubServers/Sync/Event/SubEditServerEvent.java

71 lines
1.9 KiB
Java
Raw Normal View History

package net.ME1312.SubServers.Sync.Event;
import net.ME1312.SubServers.Sync.Library.Config.YAMLSection;
import net.ME1312.SubServers.Sync.Library.Config.YAMLValue;
import net.ME1312.SubServers.Sync.Library.NamedContainer;
import net.ME1312.SubServers.Sync.Library.SubEvent;
import net.ME1312.SubServers.Sync.Library.Util;
import net.md_5.bungee.api.plugin.Event;
import java.util.UUID;
/**
* Server Edit Event
*/
public class SubEditServerEvent extends Event implements SubEvent {
private UUID player;
private String server;
private NamedContainer<String, YAMLValue> edit;
private boolean perm;
/**
* Server Edit Event
*
* @param player Player Adding Server
* @param server Server to be Edited
* @param edit Edit to make
* @param permanent If the change is permanent
*/
public SubEditServerEvent(UUID player, String server, NamedContainer<String, ?> edit, boolean permanent) {
if (Util.isNull(server, edit)) throw new NullPointerException();
YAMLSection section = new YAMLSection();
section.set(".", edit.get());
this.player = player;
this.server = server;
this.edit = new NamedContainer<String, YAMLValue>(edit.name(), section.get("."));
this.perm = permanent;
}
/**
* Gets the Server to be Edited
*
* @return The Server to be Edited
*/
public String getServer() { return server; }
/**
* Gets the player that triggered the Event
*
* @return The Player that triggered this Event or null if Console
*/
public UUID getPlayer() { return player; }
/**
* Gets the edit to be made
*
* @return Edit to be made
*/
public NamedContainer<String, YAMLValue> getEdit() {
return edit;
}
/**
* Gets if the edit is permanent
*
* @return Permanent Status
*/
public boolean isPermanent() {
return perm;
}
}