From 380caf1ca32efd57689ccc995456279d43999958 Mon Sep 17 00:00:00 2001 From: Driftay Date: Tue, 7 Apr 2020 22:24:07 -0400 Subject: [PATCH 1/5] More things to GraceTimer --- .../factions/util/timer/GlobalTimer.java | 8 ++++++++ .../massivecraft/factions/util/timer/Timer.java | 2 -- .../factions/util/timer/TimerRunnable.java | 1 - .../factions/util/timer/type/GraceTimer.java | 14 ++++++++++++++ 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/massivecraft/factions/util/timer/GlobalTimer.java b/src/main/java/com/massivecraft/factions/util/timer/GlobalTimer.java index 57a41b24..6eddd4d8 100644 --- a/src/main/java/com/massivecraft/factions/util/timer/GlobalTimer.java +++ b/src/main/java/com/massivecraft/factions/util/timer/GlobalTimer.java @@ -1,5 +1,12 @@ package com.massivecraft.factions.util.timer; +import com.massivecraft.factions.util.Config; + +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Set; +import java.util.UUID; + /** * Factions - Developed by Driftay. * All rights reserved 2020. @@ -8,6 +15,7 @@ package com.massivecraft.factions.util.timer; public abstract class GlobalTimer extends Timer { private TimerRunnable runnable; + public GlobalTimer(String name, long defaultCooldown) { super(name, defaultCooldown); } diff --git a/src/main/java/com/massivecraft/factions/util/timer/Timer.java b/src/main/java/com/massivecraft/factions/util/timer/Timer.java index d9596cc4..d04bcdaf 100644 --- a/src/main/java/com/massivecraft/factions/util/timer/Timer.java +++ b/src/main/java/com/massivecraft/factions/util/timer/Timer.java @@ -1,8 +1,6 @@ package com.massivecraft.factions.util.timer; -import com.massivecraft.factions.FactionsPlugin; import com.massivecraft.factions.util.Config; -import com.massivecraft.factions.util.timer.type.GraceTimer; /** * Factions - Developed by Driftay. diff --git a/src/main/java/com/massivecraft/factions/util/timer/TimerRunnable.java b/src/main/java/com/massivecraft/factions/util/timer/TimerRunnable.java index c14f0a3c..af426821 100644 --- a/src/main/java/com/massivecraft/factions/util/timer/TimerRunnable.java +++ b/src/main/java/com/massivecraft/factions/util/timer/TimerRunnable.java @@ -1,7 +1,6 @@ package com.massivecraft.factions.util.timer; import com.massivecraft.factions.FactionsPlugin; -import com.massivecraft.factions.util.Config; import java.util.UUID; diff --git a/src/main/java/com/massivecraft/factions/util/timer/type/GraceTimer.java b/src/main/java/com/massivecraft/factions/util/timer/type/GraceTimer.java index da98c39a..cde70416 100644 --- a/src/main/java/com/massivecraft/factions/util/timer/type/GraceTimer.java +++ b/src/main/java/com/massivecraft/factions/util/timer/type/GraceTimer.java @@ -3,6 +3,7 @@ package com.massivecraft.factions.util.timer.type; import com.massivecraft.factions.Conf; import com.massivecraft.factions.FPlayer; import com.massivecraft.factions.FPlayers; +import com.massivecraft.factions.util.Config; import com.massivecraft.factions.util.timer.GlobalTimer; import org.bukkit.Material; import org.bukkit.event.EventHandler; @@ -40,4 +41,17 @@ public class GraceTimer extends GlobalTimer implements Listener { } } } + + @Override + public void load(Config config) { + config.get(this.name, isPaused()); + config.get(this.name, getRemaining()); + } + + @Override + public void save(Config config) { + config.set(this.name, isPaused()); + config.set(this.name, getRemaining()); + } + } From 4496d4251b39b5c4cf06ff6024e1d1d72be31145 Mon Sep 17 00:00:00 2001 From: Driftay Date: Tue, 7 Apr 2020 23:22:53 -0400 Subject: [PATCH 2/5] Finished Grace Timer :) --- .../java/com/massivecraft/factions/tag/GeneralTag.java | 3 ++- .../massivecraft/factions/util/timer/type/GraceTimer.java | 8 ++++---- .../com/massivecraft/factions/zcore/util/TagReplacer.java | 4 ++++ src/main/resources/config.yml | 1 + 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/massivecraft/factions/tag/GeneralTag.java b/src/main/java/com/massivecraft/factions/tag/GeneralTag.java index ac85a606..81a7963f 100644 --- a/src/main/java/com/massivecraft/factions/tag/GeneralTag.java +++ b/src/main/java/com/massivecraft/factions/tag/GeneralTag.java @@ -2,6 +2,7 @@ package com.massivecraft.factions.tag; import com.massivecraft.factions.FPlayers; import com.massivecraft.factions.FactionsPlugin; +import com.massivecraft.factions.util.timer.TimerManager; import com.massivecraft.factions.zcore.util.TL; import org.bukkit.Bukkit; @@ -12,7 +13,7 @@ public enum GeneralTag implements Tag { /** * @author FactionsUUID Team */ - + GRACE_TIMER("{grace-time}", () -> String.valueOf(TimerManager.getRemaining(FactionsPlugin.getInstance().getTimerManager().graceTimer.getRemaining(), true))), MAX_WARPS("{max-warps}", () -> String.valueOf(FactionsPlugin.getInstance().getConfig().getInt("max-warps", 5))), MAX_ALLIES("{max-allies}", () -> getRelation("ally")), MAX_ENEMIES("{max-enemies}", () -> getRelation("enemy")), diff --git a/src/main/java/com/massivecraft/factions/util/timer/type/GraceTimer.java b/src/main/java/com/massivecraft/factions/util/timer/type/GraceTimer.java index cde70416..f5a740df 100644 --- a/src/main/java/com/massivecraft/factions/util/timer/type/GraceTimer.java +++ b/src/main/java/com/massivecraft/factions/util/timer/type/GraceTimer.java @@ -44,14 +44,14 @@ public class GraceTimer extends GlobalTimer implements Listener { @Override public void load(Config config) { - config.get(this.name, isPaused()); - config.get(this.name, getRemaining()); + setPaused(config.getBoolean(this.name + ".paused")); + setRemaining(config.getLong(this.name + ".time"), false); } @Override public void save(Config config) { - config.set(this.name, isPaused()); - config.set(this.name, getRemaining()); + config.set(this.name + ".paused", isPaused()); + config.set(this.name + ".time", getRemaining()); } } diff --git a/src/main/java/com/massivecraft/factions/zcore/util/TagReplacer.java b/src/main/java/com/massivecraft/factions/zcore/util/TagReplacer.java index a18f4089..37311e0c 100644 --- a/src/main/java/com/massivecraft/factions/zcore/util/TagReplacer.java +++ b/src/main/java/com/massivecraft/factions/zcore/util/TagReplacer.java @@ -3,6 +3,7 @@ package com.massivecraft.factions.zcore.util; import com.massivecraft.factions.*; import com.massivecraft.factions.integration.Econ; import com.massivecraft.factions.struct.Relation; +import com.massivecraft.factions.util.timer.TimerManager; import org.apache.commons.lang.time.DurationFormatUtils; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -82,6 +83,7 @@ public enum TagReplacer { /** * General variables, require no faction or player */ + GRACE_TIMER(TagType.GENERAL, "{grace-time}"), MAX_WARPS(TagType.GENERAL, "{max-warps}"), MAX_ALLIES(TagType.GENERAL, "{max-allies}"), MAX_ALTS(TagType.GENERAL, "{max-alts}"), @@ -125,6 +127,8 @@ public enum TagReplacer { */ protected String getValue() { switch (this) { + case GRACE_TIMER: + return String.valueOf(TimerManager.getRemaining(FactionsPlugin.getInstance().getTimerManager().graceTimer.getRemaining(), true)); case TOTAL_ONLINE: return String.valueOf(Bukkit.getOnlinePlayers().size()); case FACTIONLESS: diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 9de61c3c..59437e69 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1560,6 +1560,7 @@ Wild: # - {action-access-color} : Access color # General variables. Can be used anywhere. +# - {grace-time} : Time of Grace Period # - {total-online} : Total # of players on the server # - {max-warps} : Max # of warps a faction can set # - {max-allies} : Max # of allies a faction can have From ef7db546a3bc24a33efb57d33e16805fa1443da7 Mon Sep 17 00:00:00 2001 From: Driftay <31221930+Driftay@users.noreply.github.com> Date: Wed, 8 Apr 2020 06:22:14 -0400 Subject: [PATCH 3/5] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2c870d75..4b30f748 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # SaberFactions -![Downloads](https://img.shields.io/github/downloads/driftay/saber-factions/total.svg) [![CodeFactor](https://www.codefactor.io/repository/github/driftay/saber-factions/badge)](https://www.codefactor.io/repository/github/driftay/saber-factions) [![License](https://img.shields.io/badge/license-GNU%20General%20Public%20License%20v3.0-brightgreen)](https://github.com/SaberLLC/Saber-Factions/blob/1.6.x/LICENSE) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/SaberLLC/Saber-Factions) +![Downloads](https://img.shields.io/github/downloads/driftay/saber-factions/total.svg) [![CodeFactor](https://www.codefactor.io/repository/github/driftay/saber-factions/badge)](https://www.codefactor.io/repository/github/driftay/saber-factions) [![License](https://img.shields.io/badge/license-GNU%20General%20Public%20License%20v3.0-brightgreen)](https://github.com/SaberLLC/Saber-Factions/blob/1.6.x/LICENSE) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/SaberLLC/Saber-Factions)[![](https://jitpack.io/v/SaberLLC/Saber-Factions.svg)](https://jitpack.io/#SaberLLC/Saber-Factions) + SaberFactions is an exotic, performance optimized, and feature rich factions plugin that focuses on not only making the player experience as great as possibly but maintaining this aspect with the cost of NOTHING! We strive to continue development for SaberFactions as the factions community is strongly growing and seeking new players every day. @@ -32,7 +33,7 @@ Some of our features include the following com.github.SaberLLC Saber-Factions - 2.2.7-STABLE + 2.3.3-STABLE ``` ## Moving Forward From 0fc736cdf5e50df3b58ebbefd4b228226492d422 Mon Sep 17 00:00:00 2001 From: Driftay <31221930+Driftay@users.noreply.github.com> Date: Wed, 8 Apr 2020 06:22:34 -0400 Subject: [PATCH 4/5] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b30f748..34f45ca2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # SaberFactions -![Downloads](https://img.shields.io/github/downloads/driftay/saber-factions/total.svg) [![CodeFactor](https://www.codefactor.io/repository/github/driftay/saber-factions/badge)](https://www.codefactor.io/repository/github/driftay/saber-factions) [![License](https://img.shields.io/badge/license-GNU%20General%20Public%20License%20v3.0-brightgreen)](https://github.com/SaberLLC/Saber-Factions/blob/1.6.x/LICENSE) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/SaberLLC/Saber-Factions)[![](https://jitpack.io/v/SaberLLC/Saber-Factions.svg)](https://jitpack.io/#SaberLLC/Saber-Factions) +![Downloads](https://img.shields.io/github/downloads/driftay/saber-factions/total.svg) [![CodeFactor](https://www.codefactor.io/repository/github/driftay/saber-factions/badge)](https://www.codefactor.io/repository/github/driftay/saber-factions) [![License](https://img.shields.io/badge/license-GNU%20General%20Public%20License%20v3.0-brightgreen)](https://github.com/SaberLLC/Saber-Factions/blob/1.6.x/LICENSE) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/SaberLLC/Saber-Factions) [![](https://jitpack.io/v/SaberLLC/Saber-Factions.svg)](https://jitpack.io/#SaberLLC/Saber-Factions) SaberFactions is an exotic, performance optimized, and feature rich factions plugin that focuses on not only making the player experience as great as possibly but maintaining this aspect with the cost of NOTHING! We strive to continue development for SaberFactions as the factions community is strongly growing and seeking new players every day. From 5a6c660f7f77002fbcf14f73e567ac336fae4cb0 Mon Sep 17 00:00:00 2001 From: Driftay Date: Wed, 8 Apr 2020 09:18:50 -0400 Subject: [PATCH 5/5] Fixed Small Error With Money Format If Econ is Off --- src/main/java/com/massivecraft/factions/integration/Econ.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/massivecraft/factions/integration/Econ.java b/src/main/java/com/massivecraft/factions/integration/Econ.java index 0edd91f0..1bbea469 100644 --- a/src/main/java/com/massivecraft/factions/integration/Econ.java +++ b/src/main/java/com/massivecraft/factions/integration/Econ.java @@ -140,7 +140,6 @@ public class Econ { public static boolean transferMoney(EconomyParticipator invoker, EconomyParticipator from, EconomyParticipator to, double amount, boolean notify) { if (!shouldBeUsed()) { - invoker.msg(TL.ECON_OFF); return false; }