From 9cb21f03cfb7a7375b0ec82ebb0e0773cbd962c0 Mon Sep 17 00:00:00 2001 From: Xelara Networks Date: Tue, 9 Jun 2026 20:17:51 -0400 Subject: [PATCH] Add /votenight support --- .../com/bitnix/dirtsleep/DirtSleepPlugin.java | 107 ++++++++++++++++-- src/main/resources/config.yml | 26 ++++- src/main/resources/plugin.yml | 3 + target/DirtSleep.jar | Bin 8096 -> 8788 bytes .../bitnix/dirtsleep/DirtSleepPlugin.class | Bin 10439 -> 12153 bytes target/classes/config.yml | 26 ++++- target/classes/plugin.yml | 3 + target/maven-archiver/pom.properties | 2 +- 8 files changed, 148 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/bitnix/dirtsleep/DirtSleepPlugin.java b/src/main/java/com/bitnix/dirtsleep/DirtSleepPlugin.java index 972bebb..19ffdda 100644 --- a/src/main/java/com/bitnix/dirtsleep/DirtSleepPlugin.java +++ b/src/main/java/com/bitnix/dirtsleep/DirtSleepPlugin.java @@ -15,7 +15,8 @@ import java.util.stream.Collectors; public final class DirtSleepPlugin extends JavaPlugin implements TabExecutor { - private final Map> worldVotes = new HashMap<>(); + private final Map> dayVotes = new HashMap<>(); + private final Map> nightVotes = new HashMap<>(); @Override public void onEnable() { @@ -24,13 +25,17 @@ public final class DirtSleepPlugin extends JavaPlugin implements TabExecutor { Objects.requireNonNull(getCommand("voteday")).setExecutor(this); Objects.requireNonNull(getCommand("voteday")).setTabCompleter(this); + Objects.requireNonNull(getCommand("votenight")).setExecutor(this); + Objects.requireNonNull(getCommand("votenight")).setTabCompleter(this); + Objects.requireNonNull(getCommand("dirtsleep")).setExecutor(this); Objects.requireNonNull(getCommand("dirtsleep")).setTabCompleter(this); } @Override public void onDisable() { - worldVotes.clear(); + dayVotes.clear(); + nightVotes.clear(); } @Override @@ -45,6 +50,16 @@ public final class DirtSleepPlugin extends JavaPlugin implements TabExecutor { return true; } + if (command.getName().equalsIgnoreCase("votenight")) { + if (!(sender instanceof Player player)) { + sender.sendMessage(color("&cOnly players can use /votenight.")); + return true; + } + + handleVoteNight(player); + return true; + } + if (command.getName().equalsIgnoreCase("dirtsleep")) { if (args.length == 1 && args[0].equalsIgnoreCase("reload")) { if (!sender.hasPermission("dirtsleep.admin")) { @@ -53,7 +68,8 @@ public final class DirtSleepPlugin extends JavaPlugin implements TabExecutor { } reloadConfig(); - worldVotes.clear(); + dayVotes.clear(); + nightVotes.clear(); sender.sendMessage(message("messages.reloaded")); return true; } @@ -78,14 +94,14 @@ public final class DirtSleepPlugin extends JavaPlugin implements TabExecutor { return; } - if (!canVoteInWorld(world)) { + if (!canVoteDayInWorld(world)) { player.sendMessage(message("messages.not-night")); - clearVotes(world); + clearDayVotes(world); return; } String worldKey = world.getName().toLowerCase(Locale.ROOT); - Set votes = worldVotes.computeIfAbsent(worldKey, k -> new HashSet<>()); + Set votes = dayVotes.computeIfAbsent(worldKey, k -> new HashSet<>()); if (votes.contains(player.getUniqueId())) { player.sendMessage(message("messages.already-voted")); @@ -107,19 +123,76 @@ public final class DirtSleepPlugin extends JavaPlugin implements TabExecutor { if (currentVotes >= requiredVotes) { makeDay(world); - clearVotes(world); + clearDayVotes(world); + clearNightVotes(world); broadcast(world, message("messages.vote-passed")); } } + private void handleVoteNight(Player player) { + if (!getConfig().getBoolean("vote-night.enabled", true)) { + player.sendMessage(message("messages.night-disabled")); + return; + } + + World world = player.getWorld(); + + if (!isWorldEnabled(world)) { + player.sendMessage(message("messages.world-disabled")); + return; + } + + if (!canVoteNightInWorld(world)) { + player.sendMessage(message("messages.not-day")); + clearNightVotes(world); + return; + } + + String worldKey = world.getName().toLowerCase(Locale.ROOT); + Set votes = nightVotes.computeIfAbsent(worldKey, k -> new HashSet<>()); + + if (votes.contains(player.getUniqueId())) { + player.sendMessage(message("messages.night-already-voted")); + return; + } + + votes.add(player.getUniqueId()); + + int currentVotes = countValidVotes(world, votes); + int requiredVotes = getRequiredVotes(world); + + String voteMessage = message("messages.night-vote-added") + .replace("%player%", player.getName()) + .replace("%votes%", String.valueOf(currentVotes)) + .replace("%required%", String.valueOf(requiredVotes)) + .replace("%remaining%", String.valueOf(Math.max(0, requiredVotes - currentVotes))); + + broadcast(world, voteMessage); + + if (currentVotes >= requiredVotes) { + makeNight(world); + clearNightVotes(world); + clearDayVotes(world); + broadcast(world, message("messages.night-vote-passed")); + } + } + private void makeDay(World world) { world.setTime(1000); world.setStorm(false); world.setThundering(false); } - private void clearVotes(World world) { - worldVotes.remove(world.getName().toLowerCase(Locale.ROOT)); + private void makeNight(World world) { + world.setTime(13000); + } + + private void clearDayVotes(World world) { + dayVotes.remove(world.getName().toLowerCase(Locale.ROOT)); + } + + private void clearNightVotes(World world) { + nightVotes.remove(world.getName().toLowerCase(Locale.ROOT)); } private int countValidVotes(World world, Set votes) { @@ -135,7 +208,7 @@ public final class DirtSleepPlugin extends JavaPlugin implements TabExecutor { return worlds.isEmpty() || worlds.contains(world.getName()); } - private boolean canVoteInWorld(World world) { + private boolean canVoteDayInWorld(World world) { if (world.getEnvironment() != World.Environment.NORMAL) { return false; } @@ -149,6 +222,20 @@ public final class DirtSleepPlugin extends JavaPlugin implements TabExecutor { return time >= nightStartsAt && time < 24000; } + private boolean canVoteNightInWorld(World world) { + if (world.getEnvironment() != World.Environment.NORMAL) { + return false; + } + + if (!getConfig().getBoolean("vote-night.only-during-day", true)) { + return true; + } + + long time = world.getTime(); + int dayEndsAt = getConfig().getInt("vote-night.day-ends-at", 12542); + return time >= 0 && time < dayEndsAt; + } + private int getRequiredVotes(World world) { int eligible = 0; boolean excludeBypass = getConfig().getBoolean("vote-day.exclude-bypass", true); diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 1b0313f..8d5e6d8 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,8 +1,9 @@ vote-day: enabled: true - # Empty list = all worlds - worlds: [] + # Plugin will only work in these worlds + worlds: + - "world" # Only allow /voteday during night only-during-night: true @@ -18,14 +19,31 @@ vote-day: # dirtsleep.bypass exclude-bypass: true +vote-night: + enabled: true + + # Only allow /votenight during daytime + only-during-day: true + + # Tick time where day effectively ends for vote checks + day-ends-at: 12542 + messages: - prefix: "&8[&bDirtSleep&8] &7" + prefix: "&8[&6DirtBagMC&8] &7" + vote-added: "%prefix%&e%player% &7voted for day. &f(%votes%/%required% votes, %remaining% remaining)" vote-passed: "%prefix%&aVote passed! Skipping to day." already-voted: "%prefix%&cYou already voted." not-night: "%prefix%&cYou can only use this at night." disabled: "%prefix%&cVote day is disabled." - world-disabled: "%prefix%&cVote day is disabled in this world." + + night-vote-added: "%prefix%&e%player% &7voted for night. &f(%votes%/%required% votes, %remaining% remaining)" + night-vote-passed: "%prefix%&aVote passed! Skipping to night." + night-already-voted: "%prefix%&cYou already voted for night." + not-day: "%prefix%&cYou can only use this during the day." + night-disabled: "%prefix%&cVote night is disabled." + + world-disabled: "%prefix%&cVote commands are disabled in this world." reloaded: "%prefix%&aConfig reloaded." no-permission: "%prefix%&cYou do not have permission." usage: "%prefix%&7Use: &f/dirtsleep reload" diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 3968048..1aea36a 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -8,6 +8,9 @@ commands: voteday: description: Vote to make it day usage: /voteday + votenight: + description: Vote to make it night + usage: /votenight dirtsleep: description: DirtSleep admin command usage: /dirtsleep reload diff --git a/target/DirtSleep.jar b/target/DirtSleep.jar index 91bcab9e213ee28155689df3b98296de68dbf12c..2d930d8f6ea5bc8f719e5a0ae7a378c59679b315 100644 GIT binary patch delta 7035 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 v$uQ8MWc;0BNqfVa diff --git a/target/classes/com/bitnix/dirtsleep/DirtSleepPlugin.class b/target/classes/com/bitnix/dirtsleep/DirtSleepPlugin.class index a3ba49faa42d4b4a99cce0c34503c091868f1819..07b996f7cc7dcf136f22bdc523e97e5e5b201c34 100644 GIT binary patch literal 12153 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 IYozl30{TXLGXMYp literal 10439 zcmc&)d0-t)i8-t|7qY_+wkwTqU*`<-*{OzuF`_x^cLB)Ru2-~Ro+@0`mE z`}aH!V6iX12tMQm;J1*E0>R{XqN~0=y=hYtzT{@yIbtuA_S0Eh+@p`>8)?%Q=59qkS{tTo``m=ji;QXU_|pEX_9RyBFRw}LQ2+ANqdXa=yclYXlhA3 z)*0yvVzeNzgk!PYG(@9ztgF5)m59W;8mgK-ic?Ot zvffDK?j!5NFg}0@7A9g+j?OFFPj|v8N;^E^Y)(fKPHQ~YnvO;V)4Z(AGP2StY3}Y& z0Of-6Pm`bshhvI`BQRA^oODu4w>sf;DxMHbuN+EzSMbcThN`uS!ZZuhQAx{^!fLyn zi+ZC@$|04hLsIdsA&DTW1%+An6{8k)0nD&auUs-L$6JE@aMZCAMK}_(0yxUT(KtqM z*bs`kveJ9>RIA;D2y-wufO!_?qd_oo(3EBYhv))3nr!Nd#S_jFJ4s5V zUN2-EzA=Df1>-!jII&bDwT)i4w>gO*K0}vG3$Khtx0Uzmp=5d3j+LjAPIVlz~X zEw*qRmMC50QRR#rpJ%vveC`evV=0yeaJ+@(Xd2r4u2I^YScmcteIDy*ags^9>*JK7 zhl_E7g=VzS8Ql!xsG~Be(cUJQnB(6ZZM9=pGPM&*N`BM^7ZC1a7mi zTG^eXlP5Zfo=7qoiN}IiD;U#bBumbS#p`;rb4sA~7B(mg1>7ZS>|_h4sEDx)$4vhI z7ZWQ>$V@pD=d;YM>~LBcK+$No5C#*vP-nLS0Krj=8jnxI8W++DJ4HF`J0nr2ei?rl zcJ6RP5S@%0<8S2sz%+qi~!2KXIc21rpK^XLDUq}WP>%3Q+ zC_B^dQ1)w!aiIc*i)i_SXA5x&z7W8r7QTqfGD)thOLIJIM;ZM7RV!DnrWBs)V5Vq@ zIk>{YmAHxtlZrRT&u|h31u}W*A(Vr~ZeE617q7AKC0xstwtIV{w9?@jDAId7)3LA) zr)BO#gF?aW7QT$HFm1v_)HJQtxwxGPn-VPXy52>6kKl)r^Wt8%LhQ&v*ET1m!sA8@ zH{oV#%J5hdi)>CiO^lFGj<{>qG&NGf>v5}v+i*K$iAj;NBQfKeK?KdzCq~9sz4>fM z6OP@ntxhFKhaz;Rg}W4?JiCKgQjEJT+=H)c)zh)mT00ual<(Y}9dk;Osj)cUX!gm6A+QKt02TN$C1O-;sv z&s%r_FA@yf6GZT^on++Y_61(^=kz|hYP@XW6_vVy9($9j7eRcFSd(kuUOSm|I`Wwz z{4eiamBK%=@MHXh+f+LdQFYs2xuQyE_iGk@ir483PPMU5=}~hV&D_r{ys74fscqe9 zRp6+!%A>a|{6h6tEJZ!>Elvo6Us?Dy-sWx^nOe;n3Qs&yl})G<6HZ4YY^NL@{=c>G z4&J3WhHw*IGuaJ++_WCtR<%)u`|mBhhd+>gGIA#MW7o^*`xC=m2c4=I8atD!VEo0x zU-3TmVjP=U8k~w8IVMCQx1f`fQS$3x` zD|N|~&9g$C%>vUc!z>vtJWCXCUy}mYq3S9#!i~{W_XeeeRW3`?*&2?fJDj@qZ7P

|r`%9Sfa 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 diff --git a/target/classes/config.yml b/target/classes/config.yml index 1b0313f..8d5e6d8 100644 --- a/target/classes/config.yml +++ b/target/classes/config.yml @@ -1,8 +1,9 @@ vote-day: enabled: true - # Empty list = all worlds - worlds: [] + # Plugin will only work in these worlds + worlds: + - "world" # Only allow /voteday during night only-during-night: true @@ -18,14 +19,31 @@ vote-day: # dirtsleep.bypass exclude-bypass: true +vote-night: + enabled: true + + # Only allow /votenight during daytime + only-during-day: true + + # Tick time where day effectively ends for vote checks + day-ends-at: 12542 + messages: - prefix: "&8[&bDirtSleep&8] &7" + prefix: "&8[&6DirtBagMC&8] &7" + vote-added: "%prefix%&e%player% &7voted for day. &f(%votes%/%required% votes, %remaining% remaining)" vote-passed: "%prefix%&aVote passed! Skipping to day." already-voted: "%prefix%&cYou already voted." not-night: "%prefix%&cYou can only use this at night." disabled: "%prefix%&cVote day is disabled." - world-disabled: "%prefix%&cVote day is disabled in this world." + + night-vote-added: "%prefix%&e%player% &7voted for night. &f(%votes%/%required% votes, %remaining% remaining)" + night-vote-passed: "%prefix%&aVote passed! Skipping to night." + night-already-voted: "%prefix%&cYou already voted for night." + not-day: "%prefix%&cYou can only use this during the day." + night-disabled: "%prefix%&cVote night is disabled." + + world-disabled: "%prefix%&cVote commands are disabled in this world." reloaded: "%prefix%&aConfig reloaded." no-permission: "%prefix%&cYou do not have permission." usage: "%prefix%&7Use: &f/dirtsleep reload" diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml index 3968048..1aea36a 100644 --- a/target/classes/plugin.yml +++ b/target/classes/plugin.yml @@ -8,6 +8,9 @@ commands: voteday: description: Vote to make it day usage: /voteday + votenight: + description: Vote to make it night + usage: /votenight dirtsleep: description: DirtSleep admin command usage: /dirtsleep reload diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties index abcd92c..43835c6 100644 --- a/target/maven-archiver/pom.properties +++ b/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Tue Jun 09 16:14:06 EDT 2026 +#Tue Jun 09 20:09:21 EDT 2026 artifactId=DirtSleep groupId=com.bitnix version=1.0-SNAPSHOT