Add /config options

This commit is contained in:
Cola
2021-05-17 12:56:23 +01:00
parent 88889a3c1f
commit ae521b5239
2 changed files with 10 additions and 9 deletions

View File

@@ -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);
}
}

View File

@@ -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);