added $ajqueue_estimated_time%

This commit is contained in:
ajgeiss0702
2022-02-28 12:27:47 -07:00
parent c3ccf7db4b
commit 03b99bcd55
4 changed files with 40 additions and 0 deletions
@@ -13,6 +13,7 @@ import us.ajg0702.queue.api.server.AdaptedServer;
import us.ajg0702.queue.commands.commands.PlayerSender; import us.ajg0702.queue.commands.commands.PlayerSender;
import us.ajg0702.queue.common.players.QueuePlayerImpl; import us.ajg0702.queue.common.players.QueuePlayerImpl;
import us.ajg0702.queue.common.utils.Debug; import us.ajg0702.queue.common.utils.Debug;
import us.ajg0702.utils.common.TimeUtils;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.DataInputStream; import java.io.DataInputStream;
@@ -83,6 +84,28 @@ public class EventHandlerImpl implements EventHandler {
} }
main.getPlatformMethods().sendPluginMessage(recievingPlayer, "positionof", pos); main.getPlatformMethods().sendPluginMessage(recievingPlayer, "positionof", pos);
} }
if(subchannel.equals("estimated_time")) {
QueueServer server = main.getQueueManager().getSingleServer(recievingPlayer);
int time;
String timeString;
if(server != null) {
QueuePlayer queuePlayer = server.findPlayer(recievingPlayer);
time = (int) Math.round(queuePlayer.getPosition() * main.getTimeBetweenPlayers());
timeString = TimeUtils.timeString(
time,
main.getMessages().getString("format.time.mins"),
main.getMessages().getString("format.time.secs")
);
} else {
timeString = main.getMessages().getString("placeholders.estimated_time.none");
}
main.getPlatformMethods().sendPluginMessage(
recievingPlayer,
"estimated_time",
timeString
);
}
if(subchannel.equals("inqueue")) { if(subchannel.equals("inqueue")) {
QueueServer server = main.getQueueManager().getSingleServer(recievingPlayer); QueueServer server = main.getQueueManager().getSingleServer(recievingPlayer);
main.getPlatformMethods().sendPluginMessage(recievingPlayer, "inqueue", (server != null)+""); main.getPlatformMethods().sendPluginMessage(recievingPlayer, "inqueue", (server != null)+"");
@@ -235,6 +235,7 @@ public class QueueMain extends AjQueueAPI {
d.put("placeholders.queued.none", "None"); d.put("placeholders.queued.none", "None");
d.put("placeholders.position.none", "None"); d.put("placeholders.position.none", "None");
d.put("placeholders.estimated_time.none", "None");
d.put("title.title", ""); d.put("title.title", "");
d.put("title.subtitle", "<gold>You are <green>#{POS} <gold>in the queue!"); d.put("title.subtitle", "<gold>You are <green>#{POS} <gold>in the queue!");
@@ -195,6 +195,9 @@ public class Placeholders extends PlaceholderExpansion {
if(identifier.equalsIgnoreCase("inqueue")) { if(identifier.equalsIgnoreCase("inqueue")) {
plugin.sendMessage(player, "inqueue", ""); plugin.sendMessage(player, "inqueue", "");
} }
if(identifier.equalsIgnoreCase("estimated_time")) {
plugin.sendMessage(player, "estimated_time", "");
}
if(identifier.matches("queuedfor_*.*")) { if(identifier.matches("queuedfor_*.*")) {
plugin.sendMessage(player, "queuedfor", identifier.split("_")[1]); plugin.sendMessage(player, "queuedfor", identifier.split("_")[1]);
} }
@@ -165,6 +165,19 @@ public class SpigotMain extends JavaPlugin implements PluginMessageListener,List
phs.put("queuedfor_"+queuename, number+""); phs.put("queuedfor_"+queuename, number+"");
placeholders.responseCache.put(p, phs); placeholders.responseCache.put(p, phs);
} }
if(subchannel.equals("estimated_time")) {
String playername = in.readUTF();
Player p = Bukkit.getPlayer(playername);
if(p == null) return;
if(!p.isOnline()) return;
String time = in.readUTF();
HashMap<String, String> phs = placeholders.responseCache.get(p);
if(phs == null) phs = new HashMap<>();
phs.put("estimated_time", time);
placeholders.responseCache.put(p, phs);
}
} }