From 52d0540c3af4a335e68d6a703711b0a9252e06cd Mon Sep 17 00:00:00 2001 From: ayunami2000 Date: Mon, 25 Apr 2022 10:27:36 -0400 Subject: [PATCH] add syncing as a config option/command --- .../me/ayunami2000/ayunEagVidMap/Main.java | 32 ++++++++++++++++++ src/main/resources/config.yml | 2 ++ src/main/resources/messages.yml | 5 ++- target/ayunEagVidMap-1.0-SNAPSHOT.jar | Bin 15049 -> 15700 bytes 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/main/java/me/ayunami2000/ayunEagVidMap/Main.java b/src/main/java/me/ayunami2000/ayunEagVidMap/Main.java index 4e2a823..f75e47e 100644 --- a/src/main/java/me/ayunami2000/ayunEagVidMap/Main.java +++ b/src/main/java/me/ayunami2000/ayunEagVidMap/Main.java @@ -25,6 +25,8 @@ public class Main extends JavaPlugin implements CommandExecutor, Listener { private final int[] mapSize = {1, 1}; private int mapSizeCap = 10; private int mapOffset = 0; + private int interval = 10; + private int syncTask = -1; @Override public void onLoad(){ @@ -44,6 +46,17 @@ public class Main extends JavaPlugin implements CommandExecutor, Listener { sendToAllPlayers(videoMapCodec.disableVideoBukkit()); } + private void stopSyncTask() { + if (syncTask != -1) { + this.getServer().getScheduler().cancelTask(syncTask); + syncTask = -1; + } + } + + private void createSyncTask() { + if (interval > 0) syncTask = this.getServer().getScheduler().scheduleSyncRepeatingTask(this, this::syncToAllPlayers, 0, interval * 20L); + } + private void rlConfig() { MessageHandler.initMessages(); audioLoc.setX(this.getConfig().getDouble("audio.x")); @@ -53,6 +66,9 @@ public class Main extends JavaPlugin implements CommandExecutor, Listener { mapOffset = this.getConfig().getInt("offset"); setSize(this.getConfig().getInt("size.width"), this.getConfig().getInt("size.height")); url = this.getConfig().getString("url"); + interval = this.getConfig().getInt("interval"); + stopSyncTask(); + createSyncTask(); } private void syncToPlayer(Player player) { @@ -205,6 +221,22 @@ public class Main extends JavaPlugin implements CommandExecutor, Listener { this.saveConfig(); MessageHandler.sendPrefixedMessage(sender, "setSize", mapSize[0], mapSize[1], mapSize[0] * mapSize[1]); break; + case "i": + case "int": + case "interval": + if (args.length < 2) { + MessageHandler.sendPrefixedMessage(sender, "currentInterval", interval); + break; + } + try { + interval = Math.max(0, Integer.parseInt(args[1])); + stopSyncTask(); + createSyncTask(); + MessageHandler.sendPrefixedMessage(sender, "setInterval"); + } catch (NumberFormatException e) { + MessageHandler.sendPrefixedMessage(sender, "notANumber", args[1], "integer"); + } + break; default: MessageHandler.sendPrefixedMessage(sender, "invalidUsage"); } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index a6041ee..6e325b8 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -8,6 +8,8 @@ size: cap: 10 # map ID offset offset: 0 +# sync interval, in seconds +interval: 10 # audio location audio: x: 0 diff --git a/src/main/resources/messages.yml b/src/main/resources/messages.yml index 489940d..b6e217d 100644 --- a/src/main/resources/messages.yml +++ b/src/main/resources/messages.yml @@ -7,6 +7,7 @@ usage: - "&7&o/ayunvid [force] &3- Toggle playback of the video. This also loads the new video after the video URL is changed. Optionally force a reload of the video." - "&7&o/ayunvid [ ] &3- Sets or gets the size of video, in maps. E.g., a width of 2 and a height of 3 would result in a video using 6 maps." - "&7&o/ayunvid &3- Reloads the configuration file." + - "&7&o/ayunvid &3- Set the sync interval, in seconds, or 0 to disable." currentUrl: "&3Current URL: {0}" setUrl: "&3Successfully set URL." locFromConsole: "&cError: You must specify the coordinates when running this command from the console!" @@ -21,4 +22,6 @@ pausing: "&3Pausing video..." currentSize: "&3Current size: {0} maps wide by {1} maps tall ({2} maps total)" setSize: "&3Set size to {0} maps wide by {1} maps tall ({2} maps total)" invalidUsage: "&cError: That is not a valid subcommand! Try &n/ayunvid&c help for usage." -reloaded: "&3Successfully reloaded configuration!" \ No newline at end of file +reloaded: "&3Successfully reloaded configuration!" +currentInterval: "&3Current sync interval: {0} seconds" +setInterval: "&3Successfully set or disabled sync interval." \ No newline at end of file diff --git a/target/ayunEagVidMap-1.0-SNAPSHOT.jar b/target/ayunEagVidMap-1.0-SNAPSHOT.jar index 45a21fc92b19e5a285d8713d42143b2faa0289c9..acb122a6360a003c72d714945eafebbd662a80d0 100644 GIT binary patch literal 15700 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±|qq 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