diff --git a/plugins/essenceglue-paper/src/main/java/com/github/maxopoly/essenceglue/StreakManager.java b/plugins/essenceglue-paper/src/main/java/com/github/maxopoly/essenceglue/StreakManager.java index 9e817011f..3421045f1 100644 --- a/plugins/essenceglue-paper/src/main/java/com/github/maxopoly/essenceglue/StreakManager.java +++ b/plugins/essenceglue-paper/src/main/java/com/github/maxopoly/essenceglue/StreakManager.java @@ -2,12 +2,7 @@ package com.github.maxopoly.essenceglue; import com.devotedmc.ExilePearl.ExilePearlPlugin; import com.programmerdan.minecraft.banstick.data.BSPlayer; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.Map.Entry; import java.util.TreeMap; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -16,15 +11,11 @@ import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; - -import vg.civcraft.mc.civmodcore.playersettings.PlayerSetting; import vg.civcraft.mc.civmodcore.playersettings.PlayerSettingAPI; -import vg.civcraft.mc.civmodcore.playersettings.SettingChangeListener; import vg.civcraft.mc.civmodcore.playersettings.gui.MenuSection; import vg.civcraft.mc.civmodcore.playersettings.impl.BooleanSetting; import vg.civcraft.mc.civmodcore.playersettings.impl.IntegerSetting; import vg.civcraft.mc.civmodcore.playersettings.impl.LongSetting; -import vg.civcraft.mc.civmodcore.playersettings.impl.StringSetting; public class StreakManager { @@ -41,6 +32,7 @@ public class StreakManager { private final int maximumStreak; private final long countRequiredForGain; private final boolean giveRewardToPearled; + private final BooleanSetting showSitesOnLogin; public StreakManager(EssenceGluePlugin plugin, long streakDelay, long streakGracePeriod, int maximumStreak, long onlineTimePerDay, boolean giveRewardToPearled) { @@ -50,9 +42,12 @@ public class StreakManager { PlayerSettingAPI.registerSetting(lastPlayerUpdate, null); receiveRewards = new BooleanSetting(plugin, true, "Receive essence", "essenceGlueReceiveEssence", "Whether you will receive essence on this account"); + showSitesOnLogin = new BooleanSetting(plugin, true, "Show voting sites on login?", "essenceGlueShowSitesOnLogin", + "Show the sites you can vote on currently when you login?"); MenuSection menu = PlayerSettingAPI.getMainMenu().createMenuSection("Essence", "Essence and voting related settings", new ItemStack(Material.ENDER_EYE)); PlayerSettingAPI.registerSetting(receiveRewards, menu); + PlayerSettingAPI.registerSetting(showSitesOnLogin, menu); Bukkit.getScheduler().runTaskTimer(plugin, this::updateAll, 20 * 60L, 20 * 60L); this.streakDelay = streakDelay; this.streakGracePeriod = streakGracePeriod; @@ -182,4 +177,7 @@ public class StreakManager { lastPlayerUpdate.setValue(player, timeStamp); } + public boolean getShowSitesOnLogin(UUID uuid) { + return showSitesOnLogin.getValue(uuid); + } } diff --git a/plugins/essenceglue-paper/src/main/java/com/github/maxopoly/essenceglue/VotifyManager.java b/plugins/essenceglue-paper/src/main/java/com/github/maxopoly/essenceglue/VotifyManager.java index 282252202..51d8f4db7 100644 --- a/plugins/essenceglue-paper/src/main/java/com/github/maxopoly/essenceglue/VotifyManager.java +++ b/plugins/essenceglue-paper/src/main/java/com/github/maxopoly/essenceglue/VotifyManager.java @@ -94,6 +94,9 @@ public class VotifyManager implements Listener { @EventHandler(priority = EventPriority.NORMAL) public void onLogin(PlayerLoginEvent event) { Player p = event.getPlayer(); + if (!EssenceGluePlugin.instance().getStreakManager().getShowSitesOnLogin(p.getUniqueId())) { + return; + } for (VotingSite site : EssenceGluePlugin.instance().getConfigManager().getVotingCooldowns().values()) { UUID trueUUID = StreakManager.getTrueUUID(p.getUniqueId()); long lastVote = getLastVote(site.getInternalKey(), trueUUID);