mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-08-17 09:05: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.commands.Commands;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.events.EventListener;
|
import me.SuperRonanCraft.BetterRTP.player.events.EventListener;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP;
|
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.database.DatabaseHandler;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.Permissions;
|
import me.SuperRonanCraft.BetterRTP.references.Permissions;
|
||||||
@ -39,6 +40,7 @@ public class BetterRTP extends JavaPlugin {
|
|||||||
@Getter private final CooldownHandler cooldowns = new CooldownHandler();
|
@Getter private final CooldownHandler cooldowns = new CooldownHandler();
|
||||||
private final QueueHandler queue = new QueueHandler();
|
private final QueueHandler queue = new QueueHandler();
|
||||||
@Getter private final DatabaseHandler databaseHandler = new DatabaseHandler();
|
@Getter private final DatabaseHandler databaseHandler = new DatabaseHandler();
|
||||||
|
@Getter private final WarningHandler warningHandler = new WarningHandler();
|
||||||
|
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
instance = this;
|
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.CmdInfo;
|
||||||
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdWorld;
|
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdWorld;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.PermissionNode;
|
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.customEvents.RTP_SettingUpEvent;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP;
|
||||||
@ -79,8 +80,9 @@ public class RTP {
|
|||||||
if (setup_info.getLocation() == null && BetterRTP.getInstance().getSettings().isUseLocationIfAvailable()) {
|
if (setup_info.getLocation() == null && BetterRTP.getInstance().getSettings().isUseLocationIfAvailable()) {
|
||||||
setup_info.setLocation(HelperRTP.getRandomLocation(setup_info.getSender(), setup_info.getWorld()));
|
setup_info.setLocation(HelperRTP.getRandomLocation(setup_info.getSender(), setup_info.getWorld()));
|
||||||
if (setup_info.getLocation() == null)
|
if (setup_info.getLocation() == null)
|
||||||
BetterRTP.getInstance().getLogger().warning("UseLocationIfAvailable is set to `true`, but no location was found for "
|
WarningHandler.warn(WarningHandler.WARNING.USELOCATION_ENABLED_NO_LOCATION_AVAILABLE,
|
||||||
+ setup_info.getSender().getName() + "! Using world defaults!");
|
"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
|
//Location
|
||||||
if (setup_info.getLocation() != null) {
|
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;
|
private final int queueSize = 32;
|
||||||
|
|
||||||
public void registerEvents(BetterRTP pl) {
|
public void registerEvents(BetterRTP pl) {
|
||||||
|
//DEBUG ONLY FOR THE TIME BEING
|
||||||
|
if (!BetterRTP.getInstance().getSettings().isDebug())
|
||||||
|
return;
|
||||||
PluginManager pm = pl.getServer().getPluginManager();
|
PluginManager pm = pl.getServer().getPluginManager();
|
||||||
pm.registerEvents(this, pl);
|
pm.registerEvents(this, pl);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void load() {
|
public void load() {
|
||||||
|
//DEBUG ONLY FOR THE TIME BEING
|
||||||
|
if (!BetterRTP.getInstance().getSettings().isDebug())
|
||||||
|
return;
|
||||||
loaded = false;
|
loaded = false;
|
||||||
queueDownload();
|
queueDownload();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user