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 {
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 {
repositories {

View File

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

View File

@ -1,23 +1,22 @@
package com.alttd.altitudequests.commands.subcommands;
import com.alttd.altitudequests.commands.SubCommand;
import com.alttd.altitudequests.config.Config;
import com.alttd.altitudequests.config.LocalConfig;
import com.alttd.altitudequests.config.MessagesConfig;
import com.alttd.altitudequests.util.Logger;
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.DyeColor;
import org.bukkit.Location;
import org.bukkit.World;
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 java.text.ParseException;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class CommandCreateScruff extends SubCommand {

View File

@ -18,7 +18,10 @@ public class LocalConfig extends AbstractConfig{
public static UUID activeNPC = null;
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() {

View File

@ -20,7 +20,7 @@ public class MineBlocks implements Listener {
if (quest == null || quest.isDone())
return;
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.objects.MineQuestObject;
import com.alttd.altitudequests.objects.Quest;
import com.alttd.altitudequests.objects.QuestCompleteEvent;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import java.util.Optional;
@ -34,11 +36,14 @@ public class MineQuest extends Quest {
return isDone;
}
public void mine(Block block) {
public void mine(Block block, Player player) {
if (!isDone && !block.getType().equals(mineQuestObject.getMaterial()))
return;
mined += 1;
if (mined == mineQuestObject.getAmount())
if (mined == mineQuestObject.getAmount()) {
isDone = true;
QuestCompleteEvent event = new QuestCompleteEvent(player, this, true);
event.callEvent();
}
}
}

View File

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