!feat: added quest context
This commit is contained in:
parent
e50ee8a3d6
commit
071c2b7ed9
@ -195,6 +195,7 @@ public final class ServerBootstrap {
|
|||||||
PlayerContextManager.registerContext(TalksContext.class, TalksContext::new);
|
PlayerContextManager.registerContext(TalksContext.class, TalksContext::new);
|
||||||
PlayerContextManager.registerContext(DebugParamsContext.class, DebugParamsContext::new);
|
PlayerContextManager.registerContext(DebugParamsContext.class, DebugParamsContext::new);
|
||||||
PlayerContextManager.registerContext(PlayerScriptContext.class, PlayerScriptContext::new);
|
PlayerContextManager.registerContext(PlayerScriptContext.class, PlayerScriptContext::new);
|
||||||
|
PlayerContextManager.registerContext(PlayerQuestContext.class, PlayerQuestContext::new);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initDefaultSkins() {
|
private void initDefaultSkins() {
|
||||||
|
|||||||
@ -32,6 +32,7 @@ public class DebugCommands {
|
|||||||
DebugRendererCommand.register();
|
DebugRendererCommand.register();
|
||||||
DebugAICommand.register();
|
DebugAICommand.register();
|
||||||
ScriptCommand.register();
|
ScriptCommand.register();
|
||||||
|
DebugQuestCommand.register();
|
||||||
|
|
||||||
log.info("Registered debug commands");
|
log.info("Registered debug commands");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,115 @@
|
|||||||
|
package ru.dragonestia.msb3.api.command;
|
||||||
|
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.minestom.server.MinecraftServer;
|
||||||
|
import net.minestom.server.command.CommandSender;
|
||||||
|
import net.minestom.server.command.builder.Command;
|
||||||
|
import net.minestom.server.command.builder.CommandContext;
|
||||||
|
import net.minestom.server.command.builder.arguments.ArgumentString;
|
||||||
|
import net.minestom.server.command.builder.arguments.ArgumentType;
|
||||||
|
import net.minestom.server.entity.Player;
|
||||||
|
import ru.dragonestia.msb3.api.player.PlayerContext;
|
||||||
|
import ru.dragonestia.msb3.api.player.defaults.PlayerQuestContext;
|
||||||
|
|
||||||
|
public class DebugQuestCommand extends Command {
|
||||||
|
|
||||||
|
private final ArgumentString argQuestId = new ArgumentString("Quest ID");
|
||||||
|
|
||||||
|
public DebugQuestCommand() {
|
||||||
|
super("debug_quest");
|
||||||
|
|
||||||
|
setDefaultExecutor(this::defaultHandler);
|
||||||
|
addSyntax(this::listAllReceivedQuests, ArgumentType.Literal("list"));
|
||||||
|
addSyntax(this::listAllCompletedQuests, ArgumentType.Literal("completed"));
|
||||||
|
addSyntax(this::viewQuestDetails, ArgumentType.Literal("details"), argQuestId);
|
||||||
|
addSyntax(this::completeQuest, ArgumentType.Literal("complete"), argQuestId);
|
||||||
|
addSyntax(this::cancelQuest, ArgumentType.Literal("cancel"), argQuestId);
|
||||||
|
addSyntax(this::failQuest, ArgumentType.Literal("fail"), argQuestId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void register() {
|
||||||
|
MinecraftServer.getCommandManager().register(new DebugQuestCommand());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void defaultHandler(CommandSender sender, CommandContext ctx) {
|
||||||
|
var player = (Player) sender;
|
||||||
|
|
||||||
|
player.sendMessage("Debug Quest commands:");
|
||||||
|
player.sendMessage("/debug_quest list - List all received quests");
|
||||||
|
player.sendMessage("/debug_quest completed - List all completed, cancelled and failed quests");
|
||||||
|
player.sendMessage("/debug_quest details <questId> - View quest details");
|
||||||
|
player.sendMessage("/debug_quest complete <questId> - Force complete quest");
|
||||||
|
player.sendMessage("/debug_quest cancel <questId> - Force cancel quest");
|
||||||
|
player.sendMessage("/debug_quest fail <questId> - Force fail quest");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void listAllReceivedQuests(CommandSender sender, CommandContext ctx) {
|
||||||
|
var player = (Player) sender;
|
||||||
|
var service = PlayerContext.of(player, PlayerQuestContext.class);
|
||||||
|
|
||||||
|
var output = Component.text()
|
||||||
|
.append(Component.text("Received quests(%s): %s"));
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
player.sendMessage(output.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void listAllCompletedQuests(CommandSender sender, CommandContext ctx) {
|
||||||
|
var player = (Player) sender;
|
||||||
|
var service = PlayerContext.of(player, PlayerQuestContext.class);
|
||||||
|
|
||||||
|
var outputCompleted = Component.text()
|
||||||
|
.append(Component.text("Completed quests(%s): %s"));
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
player.sendMessage(outputCompleted.build());
|
||||||
|
|
||||||
|
var outputCancelled = Component.text()
|
||||||
|
.append(Component.text("Cancelled quests(%s): %s"));
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
player.sendMessage(outputCancelled.build());
|
||||||
|
|
||||||
|
var outputFailed = Component.text()
|
||||||
|
.append(Component.text("Failed quests(%s): %s"));
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
|
||||||
|
player.sendMessage(outputFailed.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void viewQuestDetails(CommandSender sender, CommandContext ctx) {
|
||||||
|
var player = (Player) sender;
|
||||||
|
var service = PlayerContext.of(player, PlayerQuestContext.class);
|
||||||
|
var questId = ctx.get(argQuestId);
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
private void completeQuest(CommandSender sender, CommandContext ctx) {
|
||||||
|
var player = (Player) sender;
|
||||||
|
var service = PlayerContext.of(player, PlayerQuestContext.class);
|
||||||
|
var questId = ctx.get(argQuestId);
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
private void cancelQuest(CommandSender sender, CommandContext ctx) {
|
||||||
|
var player = (Player) sender;
|
||||||
|
var service = PlayerContext.of(player, PlayerQuestContext.class);
|
||||||
|
var questId = ctx.get(argQuestId);
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
private void failQuest(CommandSender sender, CommandContext ctx) {
|
||||||
|
var player = (Player) sender;
|
||||||
|
var service = PlayerContext.of(player, PlayerQuestContext.class);
|
||||||
|
var questId = ctx.get(argQuestId);
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
package ru.dragonestia.msb3.api.player.defaults;
|
||||||
|
|
||||||
|
import ru.dragonestia.msb3.api.player.MsbPlayer;
|
||||||
|
import ru.dragonestia.msb3.api.player.PlayerContext;
|
||||||
|
|
||||||
|
public class PlayerQuestContext extends PlayerContext {
|
||||||
|
|
||||||
|
public PlayerQuestContext(MsbPlayer player) {
|
||||||
|
super(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void dispose() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user