diff --git a/MODULE.bazel b/MODULE.bazel index 5f8c2c9..62e7ca5 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -30,9 +30,9 @@ maven.install( "org.postgresql:postgresql:42.7.12", "org.mongodb:bson:5.8.0", "io.nats:jnats:2.25.2", - "site.lab0x13.scrow:commands-common:1.2.0", - "site.lab0x13.scrow:commands-bukkit:1.2.0", - "site.lab0x13.scrow:commands-velocity:1.2.0", + "site.lab0x13.scrow:commands-common:1.3.3", + "site.lab0x13.scrow:commands-bukkit:1.3.3", + "site.lab0x13.scrow:commands-velocity:1.3.3", "io.papermc.paper:paper-api:[26.2.build,)", "net.luckperms:api:5.5", "com.google.code.gson:gson:2.14.0", diff --git a/buildserver/configurator/main/java/site/lab0x13/scrow/configurator/command/KeyLiteral.java b/buildserver/configurator/main/java/site/lab0x13/scrow/configurator/command/KeyLiteral.java index 38779c8..fe7c013 100644 --- a/buildserver/configurator/main/java/site/lab0x13/scrow/configurator/command/KeyLiteral.java +++ b/buildserver/configurator/main/java/site/lab0x13/scrow/configurator/command/KeyLiteral.java @@ -4,6 +4,7 @@ import de.kentoj.scrow.bukkit.command.ScrowBukkitCC; import de.kentoj.scrowlib.convention.ScrowMessageStyle; import org.jetbrains.annotations.Nullable; import site.lab0x13.scrow.commands.model.literal.Literal; +import site.lab0x13.scrow.commands.model.literal.LiteralMeta; import site.lab0x13.scrow.configurator.ConfigApi; import site.lab0x13.scrow.configurator.action.ConfigAction; import site.lab0x13.scrow.configurator.node.ConfigNode; @@ -18,7 +19,7 @@ class KeyLiteral { KeyLiteral(ConfigApi api) { this.api = api; literal = Literal.dynamic("key") - .withSubLiteralNames(() -> new ArrayList<>(api.allNodes().keySet())) + .withSubLiteralMetas(() -> api.allNodes().keySet().stream().map(LiteralMeta::of).toList()) .withSubLiteralProvider(this::keyLiteral) .build(); } diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/CoreImplPlugin.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/CoreImplPlugin.java index 9453ada..b20e015 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/CoreImplPlugin.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/CoreImplPlugin.java @@ -1,9 +1,10 @@ package de.kentoj.scrow.bukkit; -import de.kentoj.scrow.bukkit.command.economy.CoinsCommand; +import de.kentoj.scrow.bukkit.command.ReloadCommand; +import de.kentoj.scrow.bukkit.command.coins.CoinsCommand; import de.kentoj.scrow.bukkit.command.friends.FriendCommand; -import de.kentoj.scrow.bukkit.internal.player.prefix.CachedPrefixProvider; -import de.kentoj.scrow.bukkit.internal.player.prefix.LuckPermsPrefixSetter; +import de.kentoj.scrow.bukkit.player.prefix.CachedPrefixProvider; +import de.kentoj.scrow.bukkit.player.prefix.LuckPermsPrefixSetter; import de.kentoj.scrow.bukkit.style.ChatStyleListener; import de.kentoj.scrow.bukkit.style.TabStyleListener; import net.luckperms.api.LuckPermsProvider; @@ -23,13 +24,12 @@ public final class CoreImplPlugin extends JavaPlugin { ScrowAPI.commands().register(new CoinsCommand().rootLiteral()); ScrowAPI.commands().register(new FriendCommand().rootLiteral()); + ScrowAPI.commands().register(new ReloadCommand().rootLiteral()); var luckperms = LuckPermsProvider.get(); new LuckPermsPrefixSetter(luckperms, cachedPrefixProvider).init(this); getServer().getPluginManager().registerEvents(new ChatStyleListener(cachedPrefixProvider), this); getServer().getPluginManager().registerEvents(new TabStyleListener(cachedPrefixProvider), this); - // TODO/FIXME - //registerServer(); } @Override diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/ScrowAPISurface.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/ScrowAPISurface.java index 032a910..b52fc7f 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/ScrowAPISurface.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/ScrowAPISurface.java @@ -1,10 +1,10 @@ package de.kentoj.scrow.bukkit; import de.kentoj.scrow.bukkit.command.ScrowBukkitCC; -import de.kentoj.scrow.bukkit.internal.player.NetworkPlayerWatchdog; -import de.kentoj.scrow.bukkit.internal.region.RegionManagerImpl; -import de.kentoj.scrow.bukkit.internal.region.RegionPlayerTracker; -import de.kentoj.scrow.bukkit.internal.region.RegionTask; +import de.kentoj.scrow.bukkit.player.NetworkPlayerWatchdog; +import de.kentoj.scrow.bukkit.api.region.RegionManagerImpl; +import de.kentoj.scrow.bukkit.api.region.RegionPlayerTracker; +import de.kentoj.scrow.bukkit.api.region.RegionTask; import de.kentoj.scrowlib.convention.ScrowMessageStyle; import de.kentoj.scrowlib.economy.InMemoryEconomyService; import de.kentoj.scrowlib.economy.PostgresEconomyService; diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/region/RegionManagerImpl.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/api/region/RegionManagerImpl.java similarity index 97% rename from core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/region/RegionManagerImpl.java rename to core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/api/region/RegionManagerImpl.java index eb60a67..7682422 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/region/RegionManagerImpl.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/api/region/RegionManagerImpl.java @@ -1,4 +1,4 @@ -package de.kentoj.scrow.bukkit.internal.region; +package de.kentoj.scrow.bukkit.api.region; import de.kentoj.scrow.bukkit.region.ChunkPos; import de.kentoj.scrow.bukkit.region.Region; diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/region/RegionPlayerTracker.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/api/region/RegionPlayerTracker.java similarity index 96% rename from core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/region/RegionPlayerTracker.java rename to core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/api/region/RegionPlayerTracker.java index a6f3165..1c05e07 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/region/RegionPlayerTracker.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/api/region/RegionPlayerTracker.java @@ -1,4 +1,4 @@ -package de.kentoj.scrow.bukkit.internal.region; +package de.kentoj.scrow.bukkit.api.region; import de.kentoj.scrow.bukkit.ScrowAPI; import de.kentoj.scrow.bukkit.region.Region; diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/region/RegionTask.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/api/region/RegionTask.java similarity index 97% rename from core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/region/RegionTask.java rename to core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/api/region/RegionTask.java index 3bfd3f4..fc3eb8c 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/region/RegionTask.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/api/region/RegionTask.java @@ -1,4 +1,4 @@ -package de.kentoj.scrow.bukkit.internal.region; +package de.kentoj.scrow.bukkit.api.region; import de.kentoj.scrow.bukkit.ScrowAPI; import de.kentoj.scrow.bukkit.region.ChunkPos; diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/ReloadCommand.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/ReloadCommand.java new file mode 100644 index 0000000..4b44894 --- /dev/null +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/ReloadCommand.java @@ -0,0 +1,22 @@ +package de.kentoj.scrow.bukkit.command; + +import de.kentoj.scrowlib.convention.ScrowMessageStyle; +import org.bukkit.Bukkit; +import site.lab0x13.scrow.commands.model.literal.Literal; +import site.lab0x13.scrow.commands.model.literal.RootLiteral; + +public final class ReloadCommand { + + private final RootLiteral rootLiteral; + + public ReloadCommand() { + rootLiteral = Literal.builder("reload", "rl") + .withPermission("bukkit.command.reload") + .withSyncExecutor(ctx -> Bukkit.dispatchCommand(ctx.sender(), "bukkit:reload confirm")) + .asRootLiteral(ScrowMessageStyle.GENERIC); + } + + public RootLiteral rootLiteral() { + return rootLiteral; + } +} diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/economy/CoinsCommand.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/coins/CoinsCommand.java similarity index 96% rename from core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/economy/CoinsCommand.java rename to core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/coins/CoinsCommand.java index bc4c877..2a89d06 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/economy/CoinsCommand.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/coins/CoinsCommand.java @@ -1,4 +1,4 @@ -package de.kentoj.scrow.bukkit.command.economy; +package de.kentoj.scrow.bukkit.command.coins; import de.kentoj.scrow.bukkit.ScrowAPI; import de.kentoj.scrow.bukkit.command.ScrowBukkitCC; diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/economy/CoinsGetLiteral.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/coins/CoinsGetLiteral.java similarity index 96% rename from core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/economy/CoinsGetLiteral.java rename to core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/coins/CoinsGetLiteral.java index 5d85efa..e0ba792 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/economy/CoinsGetLiteral.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/coins/CoinsGetLiteral.java @@ -1,4 +1,4 @@ -package de.kentoj.scrow.bukkit.command.economy; +package de.kentoj.scrow.bukkit.command.coins; import de.kentoj.scrow.bukkit.ScrowAPI; import de.kentoj.scrow.bukkit.command.ScrowBukkitCC; diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/economy/CoinsSetLiteral.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/coins/CoinsSetLiteral.java similarity index 95% rename from core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/economy/CoinsSetLiteral.java rename to core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/coins/CoinsSetLiteral.java index 3ca5f45..1eea6e1 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/economy/CoinsSetLiteral.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/coins/CoinsSetLiteral.java @@ -1,4 +1,4 @@ -package de.kentoj.scrow.bukkit.command.economy; +package de.kentoj.scrow.bukkit.command.coins; import de.kentoj.scrow.bukkit.command.ScrowBukkitCC; import site.lab0x13.scrow.commands.model.argument.Argument; @@ -8,7 +8,6 @@ import site.lab0x13.scrow.commands.bukkit.type.OfflinePlayerArgumentType; import de.kentoj.scrow.bukkit.ScrowAPI; import de.kentoj.scrow.bukkit.scheduler.Tasks; import org.bukkit.OfflinePlayer; -import org.bukkit.entity.Player; import java.util.concurrent.CompletableFuture; diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/friends/FriendAddLiteral.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/friends/FriendAddLiteral.java index 88d110e..2df5724 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/friends/FriendAddLiteral.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/command/friends/FriendAddLiteral.java @@ -2,11 +2,8 @@ package de.kentoj.scrow.bukkit.command.friends; import com.leakyabstractions.result.api.Result; import com.leakyabstractions.result.core.Results; -import site.lab0x13.scrow.commands.model.argument.Argument; -import de.kentoj.scrow.bukkit.command.ScrowBukkitCC; -import site.lab0x13.scrow.commands.model.literal.Literal; -import site.lab0x13.scrow.commands.bukkit.type.OfflinePlayerArgumentType; import de.kentoj.scrow.bukkit.ScrowAPI; +import de.kentoj.scrow.bukkit.command.ScrowBukkitCC; import de.kentoj.scrow.bukkit.scheduler.Task; import de.kentoj.scrow.bukkit.scheduler.Tasks; import de.kentoj.scrowlib.friends.FriendRequestService; @@ -16,6 +13,9 @@ import de.kentoj.scrowlib.friends.request.FriendRequestImpl; import net.kyori.adventure.text.Component; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; +import site.lab0x13.scrow.commands.bukkit.type.OfflinePlayerArgumentType; +import site.lab0x13.scrow.commands.model.argument.Argument; +import site.lab0x13.scrow.commands.model.literal.Literal; import site.lab0x13.scrow.commands.model.literal.MessageStyle; import java.time.Instant; @@ -32,6 +32,8 @@ public final class FriendAddLiteral { FriendAddLiteral() { playerArg = Argument.builder("player", new OfflinePlayerArgumentType()) + .withRequirement((ctx, value) -> !ctx.player().getUniqueId().equals(value.getUniqueId()), + "You cannot add yourself.") .build(); literal = Literal.builder("add") .withArgument(playerArg) @@ -52,10 +54,6 @@ public final class FriendAddLiteral { } private void sendRequest(MessageStyle style, Player self, OfflinePlayer other) { - if (other.equals(self)) { - self.sendMessage(style.ok("You can't send yourself a friend request.")); - return; - } Tasks.runAsync(() -> requestService.saveFriendRequest(new FriendRequestImpl(self.getUniqueId(), other.getUniqueId()))) .runSync(() -> { diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/player/NetworkPlayerWatchdog.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/player/NetworkPlayerWatchdog.java similarity index 97% rename from core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/player/NetworkPlayerWatchdog.java rename to core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/player/NetworkPlayerWatchdog.java index 09d5b57..6969941 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/player/NetworkPlayerWatchdog.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/player/NetworkPlayerWatchdog.java @@ -1,4 +1,4 @@ -package de.kentoj.scrow.bukkit.internal.player; +package de.kentoj.scrow.bukkit.player; import de.kentoj.scrow.bukkit.ScrowAPI; import net.kyori.adventure.key.Key; diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/player/prefix/CachedPrefixProvider.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/player/prefix/CachedPrefixProvider.java similarity index 95% rename from core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/player/prefix/CachedPrefixProvider.java rename to core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/player/prefix/CachedPrefixProvider.java index 20ee0a5..29ae54f 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/player/prefix/CachedPrefixProvider.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/player/prefix/CachedPrefixProvider.java @@ -1,4 +1,4 @@ -package de.kentoj.scrow.bukkit.internal.player.prefix; +package de.kentoj.scrow.bukkit.player.prefix; import de.kentoj.scrowlib.player.PlayerPrefixProvider; import net.kyori.adventure.text.Component; diff --git a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/player/prefix/LuckPermsPrefixSetter.java b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/player/prefix/LuckPermsPrefixSetter.java similarity index 95% rename from core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/player/prefix/LuckPermsPrefixSetter.java rename to core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/player/prefix/LuckPermsPrefixSetter.java index e3efb15..287744a 100644 --- a/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/internal/player/prefix/LuckPermsPrefixSetter.java +++ b/core/bukkit/plugin/main/java/de/kentoj/scrow/bukkit/player/prefix/LuckPermsPrefixSetter.java @@ -1,6 +1,5 @@ -package de.kentoj.scrow.bukkit.internal.player.prefix; +package de.kentoj.scrow.bukkit.player.prefix; -import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.MiniMessage; import net.luckperms.api.LuckPerms; import net.luckperms.api.event.user.UserDataRecalculateEvent; diff --git a/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/CoreVelocityPlugin.java b/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/CoreVelocityPlugin.java index 755f723..d68792b 100644 --- a/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/CoreVelocityPlugin.java +++ b/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/CoreVelocityPlugin.java @@ -18,7 +18,6 @@ import de.kentoj.scrow.velocity.ScrowAPI; import de.kentoj.scrowlib.convention.ScrowMessageStyle; import de.kentoj.scrowlib.utils.EnvUtils; import net.kyori.adventure.text.format.NamedTextColor; -import site.lab0x13.scrow.commands.model.literal.MessageStyle; @Plugin( id = "corevelocity", diff --git a/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/privmsg/MsgCommand.java b/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/privmsg/MsgCommand.java index 5e91898..7198bd6 100644 --- a/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/privmsg/MsgCommand.java +++ b/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/privmsg/MsgCommand.java @@ -34,7 +34,7 @@ public class MsgCommand { } private void executeSync(ScrowVelocityCC ctx) { - var target = ctx.getarg(targetArg); + var target = ctx.getArg(targetArg); var msg = ctx.getArg(msgArg); var isMessagingSelf = target.getUniqueId().equals(ctx.player().getUniqueId()); diff --git a/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/privmsg/ReplyCommand.java b/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/privmsg/ReplyCommand.java index 137a9a8..d01c00d 100644 --- a/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/privmsg/ReplyCommand.java +++ b/core/velocity/plugin/main/java/de/kentoj/scrow/corevelocity/privmsg/ReplyCommand.java @@ -1,6 +1,7 @@ package de.kentoj.scrow.corevelocity.privmsg; import com.leakyabstractions.result.core.Results; +import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.ProxyServer; import de.kentoj.scrow.velocity.commands.ScrowVelocityCC; import de.kentoj.scrowlib.convention.ScrowMessageStyle; @@ -42,7 +43,7 @@ public class ReplyCommand { ctx.player().sendMessage(ctx.style().err("The player you last messaged is no longer online.")); return; } - privMsgHandler.handle(ctx.sender(), target, msg); + privMsgHandler.handle(ctx.player(), target, msg); } public RootLiteral rootLiteral() { diff --git a/maven_install.json b/maven_install.json index ee6d1f7..a093b98 100644 --- a/maven_install.json +++ b/maven_install.json @@ -22,9 +22,9 @@ "org.slf4j:slf4j-api": -2005163028, "org.slf4j:slf4j-simple": 1999565066, "repositories": 1947988996, - "site.lab0x13.scrow:commands-bukkit": -62834474, - "site.lab0x13.scrow:commands-common": -2092194647, - "site.lab0x13.scrow:commands-velocity": 576878071 + "site.lab0x13.scrow:commands-bukkit": 1307785370, + "site.lab0x13.scrow:commands-common": -721574803, + "site.lab0x13.scrow:commands-velocity": 1947497915 }, "__RESOLVED_ARTIFACTS_HASH": { "aopalliance:aopalliance": 1434507571, @@ -102,9 +102,9 @@ "org.spongepowered:configurate-hocon": -1372729557, "org.spongepowered:configurate-yaml": -1304688999, "org.yaml:snakeyaml": -1320689696, - "site.lab0x13.scrow:commands-bukkit": 1630649671, - "site.lab0x13.scrow:commands-common": 716919454, - "site.lab0x13.scrow:commands-velocity": -238206298 + "site.lab0x13.scrow:commands-bukkit": -1697064734, + "site.lab0x13.scrow:commands-common": -1958371554, + "site.lab0x13.scrow:commands-velocity": -1504816576 }, "artifacts": { "aopalliance:aopalliance": { @@ -559,21 +559,21 @@ }, "site.lab0x13.scrow:commands-bukkit": { "shasums": { - "jar": "88d8f281f3e00a94111268bce29d0e3df62376d2cbd72563ea2312874a2ac087" + "jar": "19fdf6daa971172fcd010bcb2d11f29d5ef17225144bf780205011d5ef80419e" }, - "version": "1.2.0" + "version": "1.3.3" }, "site.lab0x13.scrow:commands-common": { "shasums": { - "jar": "19c1c025e77ed9c9e44a20540041caab7c402568af94c7f8aec768586d4b41b3" + "jar": "21a9bdb29cb60bb424f1e3f8f69c11782c38a240dd18d41ba32a24534a0e50aa" }, - "version": "1.2.0" + "version": "1.3.3" }, "site.lab0x13.scrow:commands-velocity": { "shasums": { - "jar": "02a0a1eff84f1757f5c42f58fda6851c807d95801af8623ffab9e5e482392489" + "jar": "362fd98a011c78aad2ffecb24135aada3a72a03d77db090a914b6aa4b0997715" }, - "version": "1.2.0" + "version": "1.3.3" } }, "conflict_resolution": {