mirror of
https://github.com/essentials/Essentials.git
synced 2025-09-25 21:59:08 +02:00
Add tempban limit config option with matching exempt node. Console override to tempban.exempt
This commit is contained in:
@@ -367,6 +367,7 @@ teleporting=\u00a76Teleporting...
|
|||||||
teleportingPortal=\u00a76Teleporting via portal.
|
teleportingPortal=\u00a76Teleporting via portal.
|
||||||
tempBanned=Temporarily banned from server for {0}
|
tempBanned=Temporarily banned from server for {0}
|
||||||
tempbanExempt=\u00a74You may not tempban that player.
|
tempbanExempt=\u00a74You may not tempban that player.
|
||||||
|
tempbanOversized=\u00a74You may not ban a player for this period of time.
|
||||||
thunder= \u00a76You\u00a7c {0} \u00a76thunder in your world.
|
thunder= \u00a76You\u00a7c {0} \u00a76thunder in your world.
|
||||||
thunderDuration=\u00a76You\u00a7c {0} \u00a76thunder in your world for\u00a7c {1} \u00a76seconds.
|
thunderDuration=\u00a76You\u00a7c {0} \u00a76thunder in your world for\u00a7c {1} \u00a76seconds.
|
||||||
timeBeforeHeal=\u00a76Time before next heal:\u00a7c {0}
|
timeBeforeHeal=\u00a76Time before next heal:\u00a7c {0}
|
||||||
|
@@ -10,6 +10,8 @@ import net.ess3.utils.DateUtil;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
|
||||||
|
|
||||||
public class Commandtempban extends EssentialsCommand
|
public class Commandtempban extends EssentialsCommand
|
||||||
{
|
{
|
||||||
@@ -31,7 +33,7 @@ public class Commandtempban extends EssentialsCommand
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (Permissions.TEMPBAN_EXEMPT.isAuthorized(user))
|
if (Permissions.TEMPBAN_EXEMPT.isAuthorized(user) && sender instanceof Player)
|
||||||
{
|
{
|
||||||
sender.sendMessage(_("tempbanExempt"));
|
sender.sendMessage(_("tempbanExempt"));
|
||||||
return;
|
return;
|
||||||
@@ -40,6 +42,13 @@ public class Commandtempban extends EssentialsCommand
|
|||||||
final String time = getFinalArg(args, 1);
|
final String time = getFinalArg(args, 1);
|
||||||
final long banTimestamp = DateUtil.parseDateDiff(time, true);
|
final long banTimestamp = DateUtil.parseDateDiff(time, true);
|
||||||
|
|
||||||
|
final long max = ess.getSettings().getData().getCommands().getTempban().getMaxTempbanTime();
|
||||||
|
if(max != -1 && banTimestamp - Calendar.getInstance().getTimeInMillis() > max && !Permissions.TEMPBAN_UNLIMITED.isAuthorized(sender))
|
||||||
|
{
|
||||||
|
sender.sendMessage(_("tempbanOversized"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final String banReason = _("tempBanned", DateUtil.formatDateDiff(banTimestamp));
|
final String banReason = _("tempBanned", DateUtil.formatDateDiff(banTimestamp));
|
||||||
final Ban ban = new Ban();
|
final Ban ban = new Ban();
|
||||||
final UserData userData = user.getData();
|
final UserData userData = user.getData();
|
||||||
|
@@ -100,6 +100,7 @@ public enum Permissions implements IPermission
|
|||||||
TELEPORT_TIMER_BYPASS,
|
TELEPORT_TIMER_BYPASS,
|
||||||
TELEPORT_TIMER_MOVE,
|
TELEPORT_TIMER_MOVE,
|
||||||
TEMPBAN_EXEMPT,
|
TEMPBAN_EXEMPT,
|
||||||
|
TEMPBAN_UNLIMITED,
|
||||||
TEMPBAN_OFFLINE,
|
TEMPBAN_OFFLINE,
|
||||||
TIME_SET,
|
TIME_SET,
|
||||||
TOGGLEJAIL_OFFLINE,
|
TOGGLEJAIL_OFFLINE,
|
||||||
|
@@ -23,6 +23,7 @@ public class Commands implements StorageObject
|
|||||||
private SocialSpy socialspy = new SocialSpy();
|
private SocialSpy socialspy = new SocialSpy();
|
||||||
private Spawnmob spawnmob = new Spawnmob();
|
private Spawnmob spawnmob = new Spawnmob();
|
||||||
private Teleport teleport = new Teleport();
|
private Teleport teleport = new Teleport();
|
||||||
|
private Tempban tempban = new Tempban();
|
||||||
private Speed speed = new Speed();
|
private Speed speed = new Speed();
|
||||||
@ListType
|
@ListType
|
||||||
@Comment(
|
@Comment(
|
||||||
|
17
Essentials/src/net/ess3/settings/commands/Tempban.java
Normal file
17
Essentials/src/net/ess3/settings/commands/Tempban.java
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
package net.ess3.settings.commands;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import net.ess3.storage.Comment;
|
||||||
|
import net.ess3.storage.StorageObject;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
public class Tempban implements StorageObject
|
||||||
|
{
|
||||||
|
@Comment({
|
||||||
|
"Set to the maximum time in seconds a player can be tempbanned for.",
|
||||||
|
"Set to -1 to disable, and override with essentials.tempban.unlimited"
|
||||||
|
})
|
||||||
|
private long maxTempbanTime = -1;
|
||||||
|
}
|
Reference in New Issue
Block a user