mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-14 05:01:28 +00:00
Allow timeout of /tpa /tpahere requests
Adds new config setting tpa-accept-cancellation Test #781
This commit is contained in:
parent
52b1017bda
commit
95d5217f58
15 changed files with 52 additions and 0 deletions
|
@ -151,4 +151,6 @@ public interface ISettings extends IConf
|
|||
public boolean getDisableItemPickupWhileAfk();
|
||||
|
||||
public Priority getRespawnPriority();
|
||||
|
||||
long getTpaAcceptCancellation();
|
||||
}
|
||||
|
|
|
@ -606,4 +606,10 @@ public class Settings implements ISettings
|
|||
}
|
||||
return Priority.Normal;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getTpaAcceptCancellation()
|
||||
{
|
||||
return config.getLong("tpa-accept-cancellation", 0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
|||
private transient User teleportRequester;
|
||||
private transient boolean teleportRequestHere;
|
||||
private transient final Teleport teleport;
|
||||
private transient long teleportRequestTime;
|
||||
private transient long lastOnlineActivity;
|
||||
private transient long lastActivity = System.currentTimeMillis();
|
||||
private boolean hidden = false;
|
||||
|
@ -222,6 +223,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
|||
|
||||
public void requestTeleport(final User player, final boolean here)
|
||||
{
|
||||
teleportRequestTime = System.currentTimeMillis();
|
||||
teleportRequester = player;
|
||||
teleportRequestHere = here;
|
||||
}
|
||||
|
@ -537,4 +539,9 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
|
|||
{
|
||||
return ess.getPermissionsHandler().canBuild(base, getGroup());
|
||||
}
|
||||
|
||||
public long getTeleportRequestTime()
|
||||
{
|
||||
return teleportRequestTime;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,6 +31,10 @@ public class Commandtpa extends EssentialsCommand
|
|||
player.sendMessage(_("teleportRequest", user.getDisplayName()));
|
||||
player.sendMessage(_("typeTpaccept"));
|
||||
player.sendMessage(_("typeTpdeny"));
|
||||
if (ess.getSettings().getTpaAcceptCancellation() != 0)
|
||||
{
|
||||
player.sendMessage(_("teleportRequestTimeoutInfo", ess.getSettings().getTpaAcceptCancellation()));
|
||||
}
|
||||
}
|
||||
user.sendMessage(_("requestSent", player.getDisplayName()));
|
||||
}
|
||||
|
|
|
@ -50,6 +50,10 @@ public class Commandtpaall extends EssentialsCommand
|
|||
player.requestTeleport(user, true);
|
||||
player.sendMessage(_("teleportHereRequest", user.getDisplayName()));
|
||||
player.sendMessage(_("typeTpaccept"));
|
||||
if (ess.getSettings().getTpaAcceptCancellation() != 0)
|
||||
{
|
||||
player.sendMessage(_("teleportRequestTimeoutInfo", ess.getSettings().getTpaAcceptCancellation()));
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
@ -27,6 +27,13 @@ public class Commandtpaccept extends EssentialsCommand
|
|||
throw new Exception(_("noPendingRequest"));
|
||||
}
|
||||
|
||||
long timeout = ess.getSettings().getTpaAcceptCancellation();
|
||||
if (timeout != 0 && (System.currentTimeMillis() - user.getTeleportRequestTime()) / 1000 > timeout)
|
||||
{
|
||||
user.requestTeleport(null, false);
|
||||
throw new Exception(_("requestTimedOut"));
|
||||
}
|
||||
|
||||
final Trade charge = new Trade(this.getName(), ess);
|
||||
if (user.isTeleportRequestHere())
|
||||
{
|
||||
|
|
|
@ -28,6 +28,10 @@ public class Commandtpahere extends EssentialsCommand
|
|||
player.requestTeleport(user, true);
|
||||
player.sendMessage(_("teleportHereRequest", user.getDisplayName()));
|
||||
player.sendMessage(_("typeTpaccept"));
|
||||
if (ess.getSettings().getTpaAcceptCancellation() != 0)
|
||||
{
|
||||
player.sendMessage(_("teleportRequestTimeoutInfo", ess.getSettings().getTpaAcceptCancellation()));
|
||||
}
|
||||
user.sendMessage(_("requestSent", player.getDisplayName()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -273,6 +273,10 @@ sethome-multiple:
|
|||
# essentials.sethome.multiple.staff
|
||||
staff: 10
|
||||
|
||||
#Set timeout in seconds for players to accept tpa before request is cancelled.
|
||||
#Set to 0 for no timeout
|
||||
tpa-accept-cancellation: 0
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
# | EssentialsEco | #
|
||||
|
|
|
@ -402,3 +402,5 @@ year=year
|
|||
years=years
|
||||
youAreHealed=\u00a77You have been healed.
|
||||
youHaveNewMail=\u00a7cYou have {0} messages!\u00a7f Type \u00a77/mail read\u00a7f to view your mail.
|
||||
requestTimedOut=\u00a7cTeleport request has timed out
|
||||
teleportRequestTimeoutInfo=\u00a77This request will timeout after {0} seconds.
|
||||
|
|
|
@ -402,3 +402,5 @@ year=\u00e5r
|
|||
years=\u00e5r
|
||||
youAreHealed=\u00a77Du er blevet healed. Halleluja!
|
||||
youHaveNewMail=\u00a7cDu har {0} flaskeposter!\u00a7f Type \u00a77/mail read for at se din flaskepost.
|
||||
requestTimedOut=\u00a7cTeleport request has timed out
|
||||
teleportRequestTimeoutInfo=\u00a77This request will timeout after {0} seconds.
|
||||
|
|
|
@ -402,3 +402,5 @@ year=Jahr
|
|||
years=Jahre
|
||||
youAreHealed=\u00a77Du wurdest geheilt.
|
||||
youHaveNewMail=\u00a7cDu hast {0} Nachrichten!\u00a7f Schreibe \u00a77/mail read\u00a7f um deine Nachrichten anzuzeigen.
|
||||
requestTimedOut=\u00a7cTeleport request has timed out
|
||||
teleportRequestTimeoutInfo=\u00a77This request will timeout after {0} seconds.
|
||||
|
|
|
@ -402,3 +402,5 @@ year=year
|
|||
years=years
|
||||
youAreHealed=\u00a77You have been healed.
|
||||
youHaveNewMail=\u00a7cYou have {0} messages!\u00a7f Type \u00a77/mail read\u00a7f to view your mail.
|
||||
requestTimedOut=\u00a7cTeleport request has timed out
|
||||
teleportRequestTimeoutInfo=\u00a77This request will timeout after {0} seconds.
|
||||
|
|
|
@ -402,3 +402,5 @@ year=año
|
|||
years=años
|
||||
youAreHealed=\u00a77Has sido curado.
|
||||
youHaveNewMail=\u00a7cTienes {0} mensajes!\u00a7f Pon \u00a77/mail read\u00a7f para ver tus emails no leidos!.
|
||||
requestTimedOut=\u00a7cTeleport request has timed out
|
||||
teleportRequestTimeoutInfo=\u00a77This request will timeout after {0} seconds.
|
||||
|
|
|
@ -402,3 +402,5 @@ year=ann\u00e9e
|
|||
years=ann\u00e9es
|
||||
youAreHealed=\u00a77Vous avez \u00e9t\u00e9 soign\u00e9.
|
||||
youHaveNewMail=\u00a7cVous avez {0} messages ! \u00a7fEntrez \u00a77/mail read\u00a7f pour voir votre courrier.
|
||||
requestTimedOut=\u00a7cTeleport request has timed out
|
||||
teleportRequestTimeoutInfo=\u00a77This request will timeout after {0} seconds.
|
||||
|
|
|
@ -402,3 +402,5 @@ year=jaar
|
|||
years=jaren
|
||||
youAreHealed=\u00a77Je bent genezen.
|
||||
youHaveNewMail=\u00a7cJe hebt {0} berichten!\u00a7f Type \u00a77/mail read\u00a7f om je berichten te bekijken.
|
||||
requestTimedOut=\u00a7cTeleport request has timed out
|
||||
teleportRequestTimeoutInfo=\u00a77This request will timeout after {0} seconds.
|
||||
|
|
Loading…
Reference in a new issue