mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-08-17 17:15:47 +00:00
warning handler for time delayed warnings
This commit is contained in:
parent
3fe5c25e7b
commit
e1c7f32945
@ -5,6 +5,7 @@ import me.SuperRonanCraft.BetterRTP.player.PlayerInfo;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.Commands;
|
||||
import me.SuperRonanCraft.BetterRTP.player.events.EventListener;
|
||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP;
|
||||
import me.SuperRonanCraft.BetterRTP.references.WarningHandler;
|
||||
import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
|
||||
import me.SuperRonanCraft.BetterRTP.references.Permissions;
|
||||
@ -39,6 +40,7 @@ public class BetterRTP extends JavaPlugin {
|
||||
@Getter private final CooldownHandler cooldowns = new CooldownHandler();
|
||||
private final QueueHandler queue = new QueueHandler();
|
||||
@Getter private final DatabaseHandler databaseHandler = new DatabaseHandler();
|
||||
@Getter private final WarningHandler warningHandler = new WarningHandler();
|
||||
|
||||
public void onEnable() {
|
||||
instance = this;
|
||||
|
@ -5,6 +5,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdInfo;
|
||||
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdWorld;
|
||||
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
||||
import me.SuperRonanCraft.BetterRTP.references.WarningHandler;
|
||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_SettingUpEvent;
|
||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||
@ -79,8 +80,9 @@ public class RTP {
|
||||
if (setup_info.getLocation() == null && BetterRTP.getInstance().getSettings().isUseLocationIfAvailable()) {
|
||||
setup_info.setLocation(HelperRTP.getRandomLocation(setup_info.getSender(), setup_info.getWorld()));
|
||||
if (setup_info.getLocation() == null)
|
||||
BetterRTP.getInstance().getLogger().warning("UseLocationIfAvailable is set to `true`, but no location was found for "
|
||||
+ setup_info.getSender().getName() + "! Using world defaults!");
|
||||
WarningHandler.warn(WarningHandler.WARNING.USELOCATION_ENABLED_NO_LOCATION_AVAILABLE,
|
||||
"This is not an error! UseLocationIfAvailable is set to `true`, but no location was found for "
|
||||
+ setup_info.getSender().getName() + "! Using world defaults! (Maybe they dont have permission?)");
|
||||
}
|
||||
//Location
|
||||
if (setup_info.getLocation() != null) {
|
||||
|
@ -0,0 +1,24 @@
|
||||
package me.SuperRonanCraft.BetterRTP.references;
|
||||
|
||||
import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class WarningHandler {
|
||||
|
||||
HashMap<WARNING, Long> lastWarning = new HashMap<>();
|
||||
|
||||
public static void warn(WARNING type, String str) {
|
||||
WarningHandler handler = BetterRTP.getInstance().getWarningHandler();
|
||||
Long lastTime = handler.lastWarning.getOrDefault(type, 0L);
|
||||
if (lastTime <= System.currentTimeMillis()) {
|
||||
BetterRTP.getInstance().getLogger().info(str);
|
||||
lastTime += System.currentTimeMillis() + (1000 * 120);
|
||||
}
|
||||
handler.lastWarning.put(type, lastTime);
|
||||
}
|
||||
|
||||
public enum WARNING {
|
||||
USELOCATION_ENABLED_NO_LOCATION_AVAILABLE
|
||||
}
|
||||
}
|
@ -21,11 +21,17 @@ public class QueueHandler implements Listener { //Randomly queues up some random
|
||||
private final int queueSize = 32;
|
||||
|
||||
public void registerEvents(BetterRTP pl) {
|
||||
//DEBUG ONLY FOR THE TIME BEING
|
||||
if (!BetterRTP.getInstance().getSettings().isDebug())
|
||||
return;
|
||||
PluginManager pm = pl.getServer().getPluginManager();
|
||||
pm.registerEvents(this, pl);
|
||||
}
|
||||
|
||||
public void load() {
|
||||
//DEBUG ONLY FOR THE TIME BEING
|
||||
if (!BetterRTP.getInstance().getSettings().isDebug())
|
||||
return;
|
||||
loaded = false;
|
||||
queueDownload();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user