Added QuestComplete event and tried to update to 1.18.2

This commit is contained in:
Teriuihi 2022-05-25 03:58:53 +02:00
parent 66316ff578
commit dca5b954c7
10 changed files with 78 additions and 15 deletions

View File

@ -44,5 +44,5 @@ tasks {
} }
dependencies { dependencies {
compileOnly("com.alttd:Galaxy-API:1.18.1-R0.1-SNAPSHOT") compileOnly("com.alttd:Galaxy-API:1.18.2-R0.1-SNAPSHOT")
} }

View File

@ -1,4 +1,4 @@
rootProject.name = "AltitudeQuests" rootProject.name = "AQuest"
dependencyResolutionManagement { dependencyResolutionManagement {
repositories { repositories {

View File

@ -1,5 +1,6 @@
package com.alttd.altitudequests; package com.alttd.altitudequests;
import com.alttd.altitudequests.commands.CommandManager;
import com.alttd.altitudequests.config.Config; import com.alttd.altitudequests.config.Config;
import com.alttd.altitudequests.config.DatabaseConfig; import com.alttd.altitudequests.config.DatabaseConfig;
import com.alttd.altitudequests.config.LocalConfig; import com.alttd.altitudequests.config.LocalConfig;
@ -29,6 +30,7 @@ public final class AQuests extends JavaPlugin {
LocalConfig.reload(); LocalConfig.reload();
registerEvents(); registerEvents();
CommandManager commandManager = new CommandManager();
Logger.info("--------------------------------------------------"); Logger.info("--------------------------------------------------");
Logger.info("AQuest started"); Logger.info("AQuest started");

View File

@ -1,23 +1,22 @@
package com.alttd.altitudequests.commands.subcommands; package com.alttd.altitudequests.commands.subcommands;
import com.alttd.altitudequests.commands.SubCommand; import com.alttd.altitudequests.commands.SubCommand;
import com.alttd.altitudequests.config.Config;
import com.alttd.altitudequests.config.LocalConfig; import com.alttd.altitudequests.config.LocalConfig;
import com.alttd.altitudequests.config.MessagesConfig; import com.alttd.altitudequests.config.MessagesConfig;
import com.alttd.altitudequests.util.Logger;
import com.alttd.altitudequests.util.Utilities; import com.alttd.altitudequests.util.Utilities;
import net.kyori.adventure.text.minimessage.Template;
import net.kyori.adventure.text.minimessage.template.TemplateResolver;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.DyeColor; import org.bukkit.DyeColor;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.*; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.entity.Wolf;
import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.CreatureSpawnEvent;
import java.text.ParseException; import java.util.ArrayList;
import java.util.*; import java.util.List;
import java.util.UUID;
public class CommandCreateScruff extends SubCommand { public class CommandCreateScruff extends SubCommand {

View File

@ -18,7 +18,10 @@ public class LocalConfig extends AbstractConfig{
public static UUID activeNPC = null; public static UUID activeNPC = null;
private static void loadActiveNPC() { private static void loadActiveNPC() {
activeNPC = UUID.fromString(config.getString("active-npc", null)); String string = config.getString("active-npc", null);
if (string == null)
return;
activeNPC = UUID.fromString(string);
} }
public static void removeActiveNPC() { public static void removeActiveNPC() {

View File

@ -20,7 +20,7 @@ public class MineBlocks implements Listener {
if (quest == null || quest.isDone()) if (quest == null || quest.isDone())
return; return;
if (quest instanceof MineQuest mineQuest) if (quest instanceof MineQuest mineQuest)
mineQuest.mine(event.getBlock()); mineQuest.mine(event.getBlock(), player);
} }
} }

View File

@ -0,0 +1,15 @@
package com.alttd.altitudequests.events;
import com.alttd.altitudequests.objects.QuestCompleteEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
public class QuestComplete implements Listener {
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onQuestComplete(QuestCompleteEvent event) {
event.getPlayer().sendMiniMessage("<green>You completed a quest gj.</green>", null);
}
}

View File

@ -0,0 +1,39 @@
package com.alttd.altitudequests.objects;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;
public class QuestCompleteEvent extends Event{
private static final HandlerList handlers = new HandlerList();
final private Player player;
final private Quest quest;
final boolean daily;
public QuestCompleteEvent(Player player, Quest quest, boolean daily) {
this.player = player;
this.quest = quest;
this.daily = daily;
}
public Player getPlayer() {
return player;
}
public Quest getQuest() {
return quest;
}
public boolean isDaily() {
return daily;
}
public @NotNull HandlerList getHandlers() {
return handlers;
}
public static HandlerList getHandlerList() {
return handlers;
}
}

View File

@ -3,7 +3,9 @@ package com.alttd.altitudequests.objects.quests;
import com.alttd.altitudequests.config.QuestsConfig; import com.alttd.altitudequests.config.QuestsConfig;
import com.alttd.altitudequests.objects.MineQuestObject; import com.alttd.altitudequests.objects.MineQuestObject;
import com.alttd.altitudequests.objects.Quest; import com.alttd.altitudequests.objects.Quest;
import com.alttd.altitudequests.objects.QuestCompleteEvent;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import java.util.Optional; import java.util.Optional;
@ -34,11 +36,14 @@ public class MineQuest extends Quest {
return isDone; return isDone;
} }
public void mine(Block block) { public void mine(Block block, Player player) {
if (!isDone && !block.getType().equals(mineQuestObject.getMaterial())) if (!isDone && !block.getType().equals(mineQuestObject.getMaterial()))
return; return;
mined += 1; mined += 1;
if (mined == mineQuestObject.getAmount()) if (mined == mineQuestObject.getAmount()) {
isDone = true; isDone = true;
QuestCompleteEvent event = new QuestCompleteEvent(player, this, true);
event.callEvent();
}
} }
} }

View File

@ -1,6 +1,6 @@
name: AltitudeQuests name: AQuests
version: '${version}' version: '${version}'
main: com.alttd.altitudequests.AltitudeQuests main: com.alttd.altitudequests.AQuests
api-version: 1.18 api-version: 1.18
authors: [ Teriuihi ] authors: [ Teriuihi ]
description: A plugin to run quests on a server description: A plugin to run quests on a server