From 61d7b7cb12ac248418d7555d46ccef39e86c72bf Mon Sep 17 00:00:00 2001 From: Olof Larsson Date: Tue, 26 Mar 2013 10:37:42 +0100 Subject: [PATCH] Moved the tpdelay to the mstore conf. --- src/com/massivecraft/mcore/ConfServer.java | 9 --------- src/com/massivecraft/mcore/MCoreConf.java | 18 +++++++++++++++++- .../mcore/mixin/TeleportMixinAbstract.java | 4 ++-- src/com/massivecraft/mcore/util/PermUtil.java | 4 ++-- 4 files changed, 21 insertions(+), 14 deletions(-) diff --git a/src/com/massivecraft/mcore/ConfServer.java b/src/com/massivecraft/mcore/ConfServer.java index 8105602b..90512232 100644 --- a/src/com/massivecraft/mcore/ConfServer.java +++ b/src/com/massivecraft/mcore/ConfServer.java @@ -4,8 +4,6 @@ import java.util.List; import java.util.Map; import java.util.UUID; -import org.bukkit.permissions.Permissible; - import com.massivecraft.mcore.cmd.CmdMcore; import com.massivecraft.mcore.usys.cmd.CmdUsys; import com.massivecraft.mcore.util.MUtil; @@ -43,11 +41,4 @@ public class ConfServer extends SimpleConfig } return ret; } - - public static int tpdelay = 10; - public static int getTpdelay(Permissible permissible) - { - if (Perm.NOTPDELAY.has(permissible, false)) return 0; - return Math.max(tpdelay, 0); - } } diff --git a/src/com/massivecraft/mcore/MCoreConf.java b/src/com/massivecraft/mcore/MCoreConf.java index f1222397..a88f1c0f 100644 --- a/src/com/massivecraft/mcore/MCoreConf.java +++ b/src/com/massivecraft/mcore/MCoreConf.java @@ -3,9 +3,12 @@ package com.massivecraft.mcore; import java.util.LinkedHashMap; import java.util.Map; +import org.bukkit.permissions.Permissible; + import com.massivecraft.mcore.MCore; import com.massivecraft.mcore.store.Entity; import com.massivecraft.mcore.util.MUtil; +import com.massivecraft.mcore.util.PermUtil; public class MCoreConf extends Entity { @@ -42,6 +45,13 @@ public class MCoreConf extends Entity public Map getPermissionDeniedFormats() { return this.permissionDeniedFormats == null ? new LinkedHashMap() : new LinkedHashMap(this.permissionDeniedFormats); } public void setPermissionDeniedFormats(Map permissionDeniedFormats) { this.permissionDeniedFormats = permissionDeniedFormats == null ? new LinkedHashMap() : new LinkedHashMap(permissionDeniedFormats); this.changed(); } + private Map permissionToTpdelay = MUtil.map( + "mcore.notpdelay", 0, + "default", 10 + ); + public Map getPermissionToTpdelay() { return this.permissionToTpdelay == null ? new LinkedHashMap() : new LinkedHashMap(this.permissionToTpdelay); } + public void setPermissionToTpdelay(Map permissionToTpdelay) { this.permissionToTpdelay = permissionToTpdelay == null ? new LinkedHashMap() : new LinkedHashMap(permissionToTpdelay); this.changed(); } + // -------------------------------------------- // // HELP ACCESS // -------------------------------------------- // @@ -67,5 +77,11 @@ public class MCoreConf extends Entity return this.getPermissionDeniedFormats().get(permissionName); } - + public int getTpdelay(Permissible permissible) + { + Integer ret = PermUtil.pickFirstVal(permissible, this.getPermissionToTpdelay()); + if (ret == null) ret = 0; + return ret; + } + } \ No newline at end of file diff --git a/src/com/massivecraft/mcore/mixin/TeleportMixinAbstract.java b/src/com/massivecraft/mcore/mixin/TeleportMixinAbstract.java index f769a005..c68ba2ff 100644 --- a/src/com/massivecraft/mcore/mixin/TeleportMixinAbstract.java +++ b/src/com/massivecraft/mcore/mixin/TeleportMixinAbstract.java @@ -4,7 +4,7 @@ import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerTeleportEvent; import org.bukkit.permissions.Permissible; -import com.massivecraft.mcore.ConfServer; +import com.massivecraft.mcore.MCoreConf; import com.massivecraft.mcore.ps.PS; import com.massivecraft.mcore.util.SenderUtil; @@ -72,7 +72,7 @@ public abstract class TeleportMixinAbstract implements TeleportMixin public static int getTpdelay(Permissible delayPermissible) { - return ConfServer.getTpdelay(delayPermissible); + return MCoreConf.get().getTpdelay(delayPermissible); } } diff --git a/src/com/massivecraft/mcore/util/PermUtil.java b/src/com/massivecraft/mcore/util/PermUtil.java index 9b4378b1..ceb342aa 100644 --- a/src/com/massivecraft/mcore/util/PermUtil.java +++ b/src/com/massivecraft/mcore/util/PermUtil.java @@ -94,7 +94,7 @@ public class PermUtil // RANDOM UTILS // -------------------------------------------- // - public static T pickFirstVal(CommandSender me, Map perm2val) + public static T pickFirstVal(Permissible permissible, Map perm2val) { if (perm2val == null) return null; T ret = null; @@ -102,7 +102,7 @@ public class PermUtil for ( Entry entry : perm2val.entrySet()) { ret = entry.getValue(); - if (has(me, entry.getKey())) break; + if (has(permissible, entry.getKey())) break; } return ret;