Implement AddPunishCommand and RemovePunishCommand
This commit is contained in:
parent
3af0fe3bee
commit
9234c7a7d5
@ -1,6 +1,7 @@
|
||||
package mineplex.core.punish;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import mineplex.core.account.CoreClient;
|
||||
@ -35,6 +36,8 @@ import mineplex.core.punish.Tokens.PunishClientToken;
|
||||
import mineplex.core.punish.Tokens.PunishmentToken;
|
||||
import mineplex.core.updater.UpdateType;
|
||||
import mineplex.core.updater.event.UpdateEvent;
|
||||
import mineplex.serverdata.commands.AddPunishCommand;
|
||||
import mineplex.serverdata.commands.RemovePunishCommand;
|
||||
import mineplex.serverdata.commands.ServerCommandManager;
|
||||
|
||||
public class Punish extends MiniPlugin
|
||||
@ -233,6 +236,10 @@ public class Punish extends MiniPlugin
|
||||
}
|
||||
else if (banResult == PunishmentResponse.Punished)
|
||||
{
|
||||
runAsync(() ->
|
||||
{
|
||||
ServerCommandManager.getInstance().publishCommand(new AddPunishCommand(finalPlayerName, category.name(), sentence.name(), reason, duration, finalCallerName, caller != null ? caller.getUniqueId().toString() : null));
|
||||
});
|
||||
final String durationString = UtilTime.convertString(finalDuration < 0 ? -1 : (long)(finalDuration * 3600000), 1, TimeUnit.FIT);
|
||||
|
||||
if (sentence == PunishmentSentence.Ban)
|
||||
@ -385,7 +392,19 @@ public class Punish extends MiniPlugin
|
||||
public void RemovePunishment(int punishmentId, String target, final Player admin, String reason, Callback<String> callback)
|
||||
{
|
||||
CoreClient client = _clientManager.Get(admin);
|
||||
_repository.RemovePunishment(callback, punishmentId, target, reason, client.getName());
|
||||
_repository.RemovePunishment(string ->
|
||||
{
|
||||
runAsync(() ->
|
||||
{
|
||||
PunishmentResponse punishResponse = PunishmentResponse.valueOf(string);
|
||||
if (punishResponse == PunishmentResponse.PunishmentRemoved)
|
||||
{
|
||||
ServerCommandManager.getInstance().publishCommand(new RemovePunishCommand(punishmentId, target, admin.getName(), admin.getUniqueId(), reason));
|
||||
}
|
||||
});
|
||||
|
||||
callback.run(string);
|
||||
}, punishmentId, target, reason, client.getName());
|
||||
}
|
||||
|
||||
public void RemoveBan(String name, String reason)
|
||||
|
@ -0,0 +1,30 @@
|
||||
package mineplex.serverdata.commands;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class AddPunishCommand extends ServerCommand
|
||||
{
|
||||
private final String _target;
|
||||
private final String _category;
|
||||
private final String _sentence;
|
||||
private final String _reason;
|
||||
private final long _duration;
|
||||
private final String _admin;
|
||||
private final String _adminUUID;
|
||||
|
||||
public AddPunishCommand(String finalPlayerName, String category, String sentence, String reason, long duration, String finalCallerName, String uuid)
|
||||
{
|
||||
this._target = finalPlayerName;
|
||||
this._category = category;
|
||||
this._sentence = sentence;
|
||||
this._reason = reason;
|
||||
this._duration = duration;
|
||||
this._admin = finalCallerName;
|
||||
this._adminUUID = uuid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package mineplex.serverdata.commands;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class RemovePunishCommand extends ServerCommand
|
||||
{
|
||||
private final int _punishmentId;
|
||||
private final String _target;
|
||||
private final String _admin;
|
||||
private final String _adminUUID;
|
||||
private final String _reason;
|
||||
|
||||
public RemovePunishCommand(int punishmentId, String target, String admin, UUID adminUUID, String reason)
|
||||
{
|
||||
_punishmentId = punishmentId;
|
||||
_target = target;
|
||||
_admin = admin;
|
||||
_adminUUID = adminUUID.toString();
|
||||
_reason = reason;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
}
|
||||
}
|
@ -5,6 +5,7 @@ public abstract class ServerCommand
|
||||
{
|
||||
|
||||
// The names of servers targetted to receive this ServerCommand.
|
||||
private String _fromServer;
|
||||
private String[] _targetServers;
|
||||
|
||||
/**
|
||||
@ -14,6 +15,7 @@ public abstract class ServerCommand
|
||||
public ServerCommand(String... targetServers)
|
||||
{
|
||||
_targetServers = targetServers;
|
||||
_fromServer = ServerCommandManager.getInstance().getServerName();
|
||||
}
|
||||
|
||||
public void setTargetServers(String... targetServers)
|
||||
|
@ -25,6 +25,10 @@ public class ServerCommandManager
|
||||
private String _localServerName;
|
||||
public void initializeServer(String serverName) { _localServerName = serverName; }
|
||||
public boolean isServerInitialized() { return _localServerName != null; }
|
||||
public String getServerName()
|
||||
{
|
||||
return this._localServerName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Private class constructor to prevent non-singleton instances.
|
||||
|
Loading…
Reference in New Issue
Block a user