.
This commit is contained in:
parent
2ea2eb5d1e
commit
ad2717b6d2
48 changed files with 255 additions and 252 deletions
|
|
@ -9,7 +9,6 @@ java_library(
|
|||
deps = [
|
||||
"//core-lib:core",
|
||||
artifact("io.papermc.paper:paper-api"),
|
||||
artifact("org.projectlombok:lombok"),
|
||||
artifact("de.kentoj.scrow:kencommandapi-bukkit"),
|
||||
],
|
||||
exports = [
|
||||
|
|
|
|||
|
|
@ -2,18 +2,15 @@ package de.kentoj.scrow.bukkit;
|
|||
|
||||
import de.kentoj.kencommandapi.CommandAPI;
|
||||
import de.kentoj.scrow.bukkit.minigame.MinigameManager;
|
||||
import de.kentoj.scrow.bukkit.region.RegionManager;
|
||||
import de.kentoj.scrowlib.economy.EconomyService;
|
||||
import de.kentoj.scrowlib.friends.FriendRequestService;
|
||||
import de.kentoj.scrowlib.friends.FriendshipService;
|
||||
import de.kentoj.scrowlib.economy.EconomyService;
|
||||
import de.kentoj.scrowlib.player.NetworkPlayer;
|
||||
import de.kentoj.scrowlib.player.NetworkPlayerFactory;
|
||||
import de.kentoj.scrow.bukkit.region.RegionManager;
|
||||
import de.kentoj.scrowlib.instancemanager.InstanceManager;
|
||||
import de.kentoj.scrowlib.messaging.MessageBroker;
|
||||
import de.kentoj.scrowlib.player.NetworkPlayer;
|
||||
import de.kentoj.scrowlib.player.NetworkPlayerFactory;
|
||||
import de.kentoj.scrowlib.player.PlayerPrefixProvider;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
package de.kentoj.scrow.bukkit.minigame.lobby;
|
||||
|
||||
import de.kentoj.scrow.bukkit.minigame.Minigame;
|
||||
import de.kentoj.scrow.bukkit.minigame.phaseflow.LinearPhaseFlow;
|
||||
import de.kentoj.scrow.bukkit.minigame.phase.CompositePhase;
|
||||
import de.kentoj.scrow.bukkit.minigame.phaseflow.LinearPhaseFlow;
|
||||
import de.kentoj.scrow.bukkit.minigame.phaseflow.PhaseContext;
|
||||
import lombok.Getter;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockExplodeEvent;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import de.kentoj.scrow.bukkit.minigame.PlayerManager;
|
|||
import de.kentoj.scrow.bukkit.minigame.phase.PhaseFlow;
|
||||
import de.kentoj.scrow.bukkit.minigame.phase.event.PhaseListeners;
|
||||
import de.kentoj.scrow.bukkit.minigame.phase.event.PhaseListenersImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
public class PhaseContext<T extends Minigame> {
|
||||
private final T game;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
package de.kentoj.scrow.bukkit.scheduler;
|
||||
|
||||
import de.kentoj.scrow.bukkit.ScrowAPI;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
|
|
|||
|
|
@ -18,8 +18,6 @@ import de.kentoj.scrowlib.player.NetworkPlayerImpl;
|
|||
import de.kentoj.scrowlib.player.PlayerPrefixProvider;
|
||||
import io.nats.client.Nats;
|
||||
import io.nats.client.Options;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
|
@ -30,11 +28,13 @@ import org.slf4j.LoggerFactory;
|
|||
import java.io.IOException;
|
||||
import java.util.Properties;
|
||||
|
||||
@NoArgsConstructor(access = AccessLevel.NONE)
|
||||
public class ScrowAPISurface {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(ScrowAPISurface.class);
|
||||
|
||||
private ScrowAPISurface() {
|
||||
}
|
||||
|
||||
public static void initScrowAPI(Plugin plugin, PlayerPrefixProvider prefixProvider) {
|
||||
ScrowAPI.setCorePlugin(plugin);
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import de.kentoj.kencommandapi.api.platform.MessageStyle;
|
|||
import de.kentoj.scrow.bukkit.ScrowAPI;
|
||||
import de.kentoj.scrow.bukkit.scheduler.Tasks;
|
||||
import de.kentoj.scrowlib.convention.ScrowMessageStyle;
|
||||
import lombok.Getter;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
|
@ -30,7 +29,7 @@ public final class CoinsCommand {
|
|||
}
|
||||
|
||||
public CompletableFuture<Result<Object, String>> execute(CommandContext<Player> ctx) {
|
||||
var player = ctx.getSender();
|
||||
var player = ctx.sender();
|
||||
return Tasks.supplyAsync(() ->
|
||||
ScrowAPI.economyService().getCoins(player.getUniqueId()))
|
||||
.<Result<Object, String>>mapSync(amount -> {
|
||||
|
|
|
|||
|
|
@ -9,9 +9,7 @@ import de.kentoj.kencommandapi.api.platform.MessageStyle;
|
|||
import de.kentoj.kencommandapi.type.OfflinePlayerArgumentType;
|
||||
import de.kentoj.scrow.bukkit.ScrowAPI;
|
||||
import de.kentoj.scrow.bukkit.scheduler.Tasks;
|
||||
import lombok.Getter;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
|
@ -26,7 +24,7 @@ public final class CoinsGetLiteral {
|
|||
this.style = style;
|
||||
|
||||
playerArg = CommandArgumentSpec.builder("player", new OfflinePlayerArgumentType<Player>())
|
||||
.withDefaultValue(CommandContext::getSender)
|
||||
.withDefaultValue(CommandContext::sender)
|
||||
.build();
|
||||
literal = Literal.<Player>builder("get")
|
||||
.withPermission("command.coins.get.others")
|
||||
|
|
@ -40,7 +38,7 @@ public final class CoinsGetLiteral {
|
|||
return Tasks.supplyAsync(() ->
|
||||
ScrowAPI.economyService().getCoins(player.getUniqueId()))
|
||||
.<Result<Object, String>>mapSync(amount -> {
|
||||
ctx.getSender().sendMessage(style.ok(player.getName() + " has " + amount + "$"));
|
||||
ctx.sender().sendMessage(style.ok(player.getName() + " has " + amount + "$"));
|
||||
return Results.success(new Object());
|
||||
}).toFuture();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public final class CoinsSetLiteral {
|
|||
CoinsSetLiteral(MessageStyle style) {
|
||||
this.style = style;
|
||||
playerArg = CommandArgumentSpec.builder("player", new OfflinePlayerArgumentType<Player>())
|
||||
.withDefaultValue(CommandContext::getSender)
|
||||
.withDefaultValue(CommandContext::sender)
|
||||
.build();
|
||||
amountArg = CommandArgumentSpec.builder("amount", new IntegerArgumentType<Player>())
|
||||
.build();
|
||||
|
|
@ -43,7 +43,7 @@ public final class CoinsSetLiteral {
|
|||
return Tasks.runAsync(() ->
|
||||
ScrowAPI.economyService().setCoins(player.getUniqueId(), amount))
|
||||
.<Result<Object, String>>supplySync(() -> {
|
||||
ctx.getSender().sendMessage(style.ok(player.getName() + " now has " + amount + "$"));
|
||||
ctx.sender().sendMessage(style.ok(player.getName() + " now has " + amount + "$"));
|
||||
return Results.success(new Object());
|
||||
}).toFuture();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ import de.kentoj.scrowlib.friends.FriendRequestService;
|
|||
import de.kentoj.scrowlib.friends.FriendshipService;
|
||||
import de.kentoj.scrowlib.friends.friendship.FriendshipImpl;
|
||||
import de.kentoj.scrowlib.friends.request.FriendRequestImpl;
|
||||
import lombok.Getter;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
|
|
@ -43,7 +42,7 @@ public final class FriendAddLiteral {
|
|||
}
|
||||
|
||||
private CompletableFuture<Result<Object, String>> execute(CommandContext<Player> ctx) {
|
||||
var self = ctx.getSender();
|
||||
var self = ctx.sender();
|
||||
var other = ctx.getArg(playerArg);
|
||||
return Tasks.supplyAsync(() -> findAction(self, other)
|
||||
.mapSuccess(action -> {
|
||||
|
|
|
|||
|
|
@ -3,8 +3,6 @@ package de.kentoj.scrow.bukkit.command.friends;
|
|||
import de.kentoj.kencommandapi.api.literal.Literal;
|
||||
import de.kentoj.kencommandapi.api.literal.RootLiteral;
|
||||
import de.kentoj.scrowlib.convention.ScrowMessageStyle;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.NoArgsConstructor;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.event.ClickEvent;
|
||||
import net.kyori.adventure.text.event.HoverEvent;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import de.kentoj.kencommandapi.api.literal.Literal;
|
|||
import de.kentoj.scrow.bukkit.ScrowAPI;
|
||||
import de.kentoj.scrow.bukkit.scheduler.Tasks;
|
||||
import de.kentoj.scrowlib.convention.ScrowMessageStyle;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
|
|
@ -33,7 +32,7 @@ public final class FriendListLiteral {
|
|||
}
|
||||
|
||||
private CompletableFuture<Result<Object, String>> displayFriendList(CommandContext<Player> ctx) {
|
||||
var sender = ctx.getSender();
|
||||
var sender = ctx.sender();
|
||||
return Tasks.supplyAsync(() ->
|
||||
ScrowAPI.friendshipService().getFriendships(sender.getUniqueId()))
|
||||
.<Result<Object, String>>mapSync(friendships -> {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import de.kentoj.kencommandapi.type.OfflinePlayerArgumentType;
|
|||
import de.kentoj.scrow.bukkit.ScrowAPI;
|
||||
import de.kentoj.scrow.bukkit.scheduler.Tasks;
|
||||
import de.kentoj.scrowlib.convention.ScrowMessageStyle;
|
||||
import lombok.Getter;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
|
|
@ -34,11 +33,11 @@ public final class FriendRemoveLiteral {
|
|||
private CompletableFuture<Result<Object, String>> removeFriend(CommandContext<Player> ctx) {
|
||||
var friend = ctx.getArg(playerArg);
|
||||
return Tasks.supplyAsync(() ->
|
||||
ScrowAPI.friendshipService().deleteFriendship(friend.getUniqueId(), ctx.getSender().getUniqueId()))
|
||||
ScrowAPI.friendshipService().deleteFriendship(friend.getUniqueId(), ctx.sender().getUniqueId()))
|
||||
.<Result<Object, String>>mapSync(deleted -> {
|
||||
if (!deleted)
|
||||
return Results.failure("You are not friends with " + friend.getName() + ".");
|
||||
ctx.getSender().sendMessage(style.ok("You have ended the friendship with " + friend.getName() + "."));
|
||||
ctx.sender().sendMessage(style.ok("You have ended the friendship with " + friend.getName() + "."));
|
||||
return Results.success(new Object());
|
||||
}).toFuture();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,8 +10,6 @@ import de.kentoj.scrow.bukkit.ScrowAPI;
|
|||
import de.kentoj.scrow.bukkit.scheduler.Tasks;
|
||||
import de.kentoj.scrowlib.convention.ScrowMessageStyle;
|
||||
import de.kentoj.scrowlib.friends.FriendRequestService;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
|
|
@ -35,15 +33,14 @@ public final class FriendRequestDeclineLiteral {
|
|||
}
|
||||
|
||||
private CompletableFuture<Result<Object, String>> declineFriendRequest(CommandContext<Player> ctx) {
|
||||
var self = ctx.getSender();
|
||||
var other = ctx.getArg(playerArg);
|
||||
return Tasks.supplyAsync(() ->
|
||||
requestService.deleteFriendRequest(other.getUniqueId(), self.getUniqueId()))
|
||||
requestService.deleteFriendRequest(other.getUniqueId(), ctx.sender().getUniqueId()))
|
||||
.<Result<Object, String>>mapSync(deleted -> {
|
||||
if (!deleted)
|
||||
return Results.failure("There's no incoming friend request from " + other.getName() + ".");
|
||||
self.sendMessage(style.ok("Friend request declined."));
|
||||
ScrowAPI.getPlayer(other).sendMessage(style.ok(self.getName() + " has declined your friend request."));
|
||||
ctx.sender().sendMessage(style.ok("Friend request declined."));
|
||||
ScrowAPI.getPlayer(other).sendMessage(style.ok(ctx.sender().getName() + " has declined your friend request."));
|
||||
return Results.success(new Object());
|
||||
}).toFuture();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,13 +33,13 @@ public final class FriendRequestsLiteral {
|
|||
|
||||
private CompletableFuture<Result<Object, String>> displayFriendRequests(CommandContext<Player> ctx) {
|
||||
return Tasks.supplyAsync(() ->
|
||||
ScrowAPI.friendRequestService().getFriendRequestsTo(ctx.getSender().getUniqueId()))
|
||||
ScrowAPI.friendRequestService().getFriendRequestsTo(ctx.sender().getUniqueId()))
|
||||
.<Result<Object, String>>mapAsync(list -> {
|
||||
if (list.isEmpty()) return Results.failure("You have no friend requests.");
|
||||
var requesters = list.stream()
|
||||
.sorted(this::compareByAge)
|
||||
.map(fr -> Bukkit.getOfflinePlayer(fr.from()).getName());
|
||||
ctx.getSender().sendMessage(formatList(requesters.toList()));
|
||||
ctx.sender().sendMessage(formatList(requesters.toList()));
|
||||
return Results.success(new Object());
|
||||
}).toFuture();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,14 +3,12 @@ package de.kentoj.scrow.bukkit.command.instance;
|
|||
import de.kentoj.kencommandapi.api.literal.Literal;
|
||||
import de.kentoj.kencommandapi.api.literal.RootLiteral;
|
||||
import de.kentoj.scrowlib.convention.ScrowMessageStyle;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.NoArgsConstructor;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
public final class InstanceCommand {
|
||||
|
||||
private RootLiteral<CommandSender> rootLiteral;
|
||||
private final RootLiteral<CommandSender> rootLiteral;
|
||||
|
||||
public InstanceCommand(InstanceCache instanceCache) {
|
||||
var style = new ScrowMessageStyle("server-manager", NamedTextColor.RED);
|
||||
|
|
|
|||
|
|
@ -32,11 +32,11 @@ public final class InstanceDeployLiteral {
|
|||
|
||||
private CompletableFuture<Result<Object, String>> deployInstance(CommandContext<CommandSender> ctx) {
|
||||
var template = ctx.getArg(templateArg);
|
||||
ctx.getSender().sendMessage(style.ok("Deploying instance... this may take a while."));
|
||||
ctx.sender().sendMessage(style.ok("Deploying instance... this may take a while."));
|
||||
return Tasks.supplyAsync(() ->
|
||||
ScrowAPI.instanceManager().deployInstance(template))
|
||||
.<Result<Object, String>>mapSync(instance -> {
|
||||
ctx.getSender().sendMessage(style.ok("Deployed instance of " + template + " with handle " + instance.handle() + "."));
|
||||
ctx.sender().sendMessage(style.ok("Deployed instance of " + template + " with handle " + instance.handle() + "."));
|
||||
// FIXME handle unknown server
|
||||
return Results.success(new Object());
|
||||
}).toFuture();
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public final class InstanceDestroyLiteral {
|
|||
.<Result<Object, String>>mapSync(found -> {
|
||||
if (!found)
|
||||
return Results.failure("No instance with that handle found.");
|
||||
ctx.getSender().sendMessage(style.ok("Destroyed server with handle " + handle + "."));
|
||||
ctx.sender().sendMessage(style.ok("Destroyed server with handle " + handle + "."));
|
||||
return Results.success(new Object());
|
||||
}).toFuture();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public final class InstanceListLiteral {
|
|||
msg = msg.appendNewline()
|
||||
.append(Component.text(" - " + inst.handle() + " on port " + inst.port()));
|
||||
}
|
||||
ctx.getSender().sendMessage(style.ok(msg));
|
||||
ctx.sender().sendMessage(style.ok(msg));
|
||||
return Results.success(new Object());
|
||||
}).toFuture();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,9 +6,7 @@ import de.kentoj.kencommandapi.api.invocation.CommandContext;
|
|||
import de.kentoj.kencommandapi.api.literal.Literal;
|
||||
import de.kentoj.kencommandapi.api.literal.RootLiteral;
|
||||
import de.kentoj.scrowlib.convention.ScrowMessageStyle;
|
||||
import lombok.Getter;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public final class LobbyCommand {
|
||||
|
|
@ -22,7 +20,7 @@ public final class LobbyCommand {
|
|||
}
|
||||
|
||||
private Result<Object, String> sendToLobby(CommandContext<Player> ctx) {
|
||||
Bukkit.dispatchCommand(ctx.getSender(), "play lobby");
|
||||
Bukkit.dispatchCommand(ctx.sender(), "play lobby");
|
||||
return Results.success(new Object());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public final class PlayCommand {
|
|||
return Results.failure("No instance for " + gamemode + " found.");
|
||||
|
||||
return Results.ofCallable(() -> {
|
||||
ScrowAPI.getPlayer(ctx.getSender()).sendToInstance(instance.handle());
|
||||
ScrowAPI.getPlayer(ctx.sender()).sendToInstance(instance.handle());
|
||||
return new Object();
|
||||
}).mapFailure(Exception::getMessage);
|
||||
}).toFuture();
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package de.kentoj.scrow.bukkit.internal.player;
|
||||
|
||||
import de.kentoj.scrow.bukkit.ScrowAPI;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import net.kyori.adventure.key.Key;
|
||||
import net.kyori.adventure.sound.Sound;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import de.kentoj.scrow.bukkit.region.ChunkPos;
|
|||
import de.kentoj.scrow.bukkit.region.Region;
|
||||
import de.kentoj.scrow.bukkit.region.event.RegionJoinEvent;
|
||||
import de.kentoj.scrow.bukkit.region.event.RegionLeaveEvent;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
package de.kentoj.scrow.bukkit.style;
|
||||
|
||||
import de.kentoj.scrowlib.utils.ComponentUtils;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.NoArgsConstructor;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue