mirror of
https://github.com/CivMC/Civ.git
synced 2026-07-18 00:20:44 +00:00
Add /config options
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user