From b069121ecdde9fb8a709db5d183d744460d1e9fd Mon Sep 17 00:00:00 2001 From: Krakenied Date: Tue, 13 May 2025 16:58:10 +0200 Subject: Cleanup & bump dependencies to fix compilation --- bukkit/build.gradle.kts | 14 +++--- .../quests/bukkit/BukkitQuestsPlugin.java | 16 +++--- .../type/dependent/BedWars1058BedBreakTask.java | 34 +++++-------- .../type/dependent/BedWars1058FinalKillTask.java | 36 ++++++-------- .../type/dependent/BedWars1058LoseTask.java | 57 ++++++++++++---------- .../type/dependent/BedWars1058WinTask.java | 57 ++++++++++++---------- bukkit/src/main/resources/plugin.yml | 2 +- 7 files changed, 103 insertions(+), 113 deletions(-) (limited to 'bukkit') diff --git a/bukkit/build.gradle.kts b/bukkit/build.gradle.kts index 9921bafb..98a3c22f 100644 --- a/bukkit/build.gradle.kts +++ b/bukkit/build.gradle.kts @@ -17,7 +17,7 @@ repositories { maven("https://repo.papermc.io/repository/maven-public/") // Paper (adventure-bom snapshots) maven("https://s01.oss.sonatype.org/content/repositories/snapshots/") - // ASkyBlock, BentoBox, bStats, Citizens + // ASkyBlock, BedWars1058, BentoBox, bStats, Citizens maven("https://repo.codemc.io/repository/maven-public/") // AuthLib maven("https://libraries.minecraft.net/") @@ -51,8 +51,6 @@ repositories { maven("https://repo.bg-software.com/repository/api/") // ZNPCsPlus maven("https://repo.pyr.lol/snapshots") - // BedWars1058 - maven("https://repo.andrei1058.dev/releases/") // bungeecord-chat, HikariCP, hppc, JetBrains Annotations, slf4j mavenCentral() @@ -69,6 +67,8 @@ dependencies { compileOnlyPlugin("com.wasteofplastic:askyblock:3.0.9.4") // AuthLib compileOnlyPlugin("com.mojang:authlib:1.5.21") + // BedWars1058 + compileOnlyPlugin("com.andrei1058.bedwars:bedwars-api:22.01") // BentoBox compileOnly("world.bentobox:bentobox:2.5.4-SNAPSHOT") compileOnly("world.bentobox:level:2.16.1-SNAPSHOT") @@ -77,7 +77,7 @@ dependencies { // CoreProtect compileOnlyPlugin("net.coreprotect:coreprotect:21.2") // CustomFishing - compileOnlyPlugin("com.github.Xiao-MoMi:Custom-Fishing:2.2.20") + compileOnlyPlugin("com.github.Xiao-MoMi:Custom-Fishing:2.3.3") // EcoBosses, EcoMobs compileOnlyPlugin("com.willfp:EcoBosses:9.14.0") compileOnlyPlugin("com.willfp:EcoMobs:10.0.0-b1") @@ -108,7 +108,7 @@ dependencies { // PlayerPoints compileOnlyPlugin("org.black_ixx:playerpoints:3.2.5") // SCore - compileOnlyPlugin("com.github.Ssomar-Developement:SCore:4.24.3.5") + compileOnlyPlugin("com.github.Ssomar-Developement:SCore:5.25.3.9") // ShopGUIPlus compileOnlyPlugin("com.github.brcdev-minecraft:shopgui-api:3.0.0") // Slimefun4 @@ -120,13 +120,11 @@ dependencies { // Vault compileOnlyPlugin("com.github.MilkBowl:VaultAPI:1.7.1") // VotingPlugin - compileOnlyPlugin("com.bencodez:votingplugin:6.17.2") + compileOnlyPlugin("com.bencodez:votingplugin:6.18.4") // WildStacker compileOnlyPlugin("com.bgsoftware:WildStackerAPI:2023.3") // ZNPCsPlus compileOnlyPlugin("lol.pyr:znpcsplus-api:2.0.0-SNAPSHOT") - // BedWars1058 - compileOnlyPlugin("com.andrei1058.bedwars:bedwars-api:24.9") // IridiumSkyblock, PyroFishingPro, uSkyBlock compileOnlyLibs("libs", listOf("*.jar")) diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java index d2f26d23..1e6c2360 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java @@ -105,6 +105,10 @@ import com.leonardobishop.quests.bukkit.tasktype.type.TamingTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.TradingTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.WalkingTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ASkyBlockLevelTaskType; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058BedBreakTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058FinalKillTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058LoseTask; +import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058WinTask; import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BentoBoxLevelTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CitizensDeliverTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.dependent.CitizensInteractTaskType; @@ -131,10 +135,6 @@ import com.leonardobishop.quests.bukkit.tasktype.type.dependent.VotingPluginVote import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ZNPCsPlusDeliverTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.dependent.ZNPCsPlusInteractTaskType; import com.leonardobishop.quests.bukkit.tasktype.type.dependent.uSkyBlockLevelTaskType; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058BedBreakTask; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058FinalKillTask; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058WinTask; -import com.leonardobishop.quests.bukkit.tasktype.type.dependent.BedWars1058LoseTask; import com.leonardobishop.quests.bukkit.util.CompatUtils; import com.leonardobishop.quests.bukkit.util.FormatUtils; import com.leonardobishop.quests.bukkit.util.LogHistory; @@ -481,6 +481,10 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests { // Register task types with enabled plugin compatibility requirement taskTypeManager.registerTaskType(() -> new ASkyBlockLevelTaskType(this), () -> CompatUtils.isPluginEnabled("ASkyBlock")); + taskTypeManager.registerTaskType(() -> new BedWars1058BedBreakTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested + taskTypeManager.registerTaskType(() -> new BedWars1058FinalKillTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested + taskTypeManager.registerTaskType(() -> new BedWars1058LoseTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested + taskTypeManager.registerTaskType(() -> new BedWars1058WinTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // not tested taskTypeManager.registerTaskType(() -> new BentoBoxLevelTaskType(this), () -> CompatUtils.isPluginEnabled("BentoBox") && CompatUtils.classExists("world.bentobox.level.events.IslandLevelCalculatedEvent")); taskTypeManager.registerTaskType(() -> new CitizensDeliverTaskType(this), () -> CompatUtils.isPluginEnabled("Citizens")); taskTypeManager.registerTaskType(() -> new CitizensInteractTaskType(this), () -> CompatUtils.isPluginEnabled("Citizens")); @@ -505,10 +509,6 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests { taskTypeManager.registerTaskType(() -> new VotingPluginVoteType(this), () -> CompatUtils.isPluginEnabled("VotingPlugin")); // not tested taskTypeManager.registerTaskType(() -> new ZNPCsPlusDeliverTaskType(this), () -> CompatUtils.isPluginEnabled("ZNPCsPlus")); taskTypeManager.registerTaskType(() -> new ZNPCsPlusInteractTaskType(this), () -> CompatUtils.isPluginEnabled("ZNPCsPlus")); - taskTypeManager.registerTaskType(() -> new BedWars1058BedBreakTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); - taskTypeManager.registerTaskType(() -> new BedWars1058FinalKillTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); - taskTypeManager.registerTaskType(() -> new BedWars1058WinTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); - taskTypeManager.registerTaskType(() -> new BedWars1058LoseTask(this), () -> CompatUtils.isPluginEnabled("BedWars1058")); // Register task types with enabled specific version plugin compatibility requirement taskTypeManager.registerTaskType(() -> new IridiumSkyblockValueTaskType(this), () -> { // TODO FIX diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BedBreakTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BedBreakTask.java index 600ce31e..7232ce9c 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BedBreakTask.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058BedBreakTask.java @@ -1,10 +1,7 @@ package com.leonardobishop.quests.bukkit.tasktype.type.dependent; import com.andrei1058.bedwars.api.events.player.PlayerBedBreakEvent; -import com.google.common.collect.HashBasedTable; -import com.google.common.collect.Table; import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; -import com.leonardobishop.quests.bukkit.item.QuestItem; import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; import com.leonardobishop.quests.bukkit.util.TaskUtils; import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; @@ -19,7 +16,6 @@ import org.bukkit.event.EventPriority; public final class BedWars1058BedBreakTask extends BukkitTaskType { private final BukkitQuestsPlugin plugin; - private final Table fixedQuestItemCache = HashBasedTable.create(); public BedWars1058BedBreakTask(BukkitQuestsPlugin plugin) { super("bedwars1058_bedbreak", TaskUtils.TASK_ATTRIBUTION_STRING, "Break a set amount of beds in BedWars1058."); @@ -29,14 +25,12 @@ public final class BedWars1058BedBreakTask extends BukkitTaskType { super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount")); } - @Override - public void onReady() { - fixedQuestItemCache.clear(); - } - @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerBedBreak(PlayerBedBreakEvent event) { Player player = event.getPlayer(); + if (player.hasMetadata("NPC")) { + return; + } QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); if (qPlayer == null) { @@ -48,22 +42,18 @@ public final class BedWars1058BedBreakTask extends BukkitTaskType { Task task = pendingTask.task(); TaskProgress taskProgress = pendingTask.taskProgress(); - super.debug("Player break a bed in BedWars", quest.getId(), task.getId(), player.getUniqueId()); - - Runnable increment = () -> { - int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); - super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), player.getUniqueId()); + super.debug("Player broke a bed in BedWars", quest.getId(), task.getId(), player.getUniqueId()); - int amount = (int) task.getConfigValue("amount"); - if (progress >= amount) { - super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); - taskProgress.setCompleted(true); - } + int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); + super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), player.getUniqueId()); - TaskUtils.sendTrackAdvancement(player, quest, task, pendingTask, amount); - }; + int amount = (int) task.getConfigValue("amount"); + if (progress >= amount) { + super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); + taskProgress.setCompleted(true); + } - increment.run(); + TaskUtils.sendTrackAdvancement(player, quest, task, pendingTask, amount); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058FinalKillTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058FinalKillTask.java index 5bfb441e..da9844f3 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058FinalKillTask.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058FinalKillTask.java @@ -12,9 +12,8 @@ import com.leonardobishop.quests.common.quest.Task; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; -public final class BedWars1058FinalKillTask extends BukkitTaskType implements Listener { +public final class BedWars1058FinalKillTask extends BukkitTaskType { private final BukkitQuestsPlugin plugin; @@ -28,41 +27,38 @@ public final class BedWars1058FinalKillTask extends BukkitTaskType implements Li @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerKill(PlayerKillEvent event) { - Player killer = event.getKiller(); - if (killer == null) { + final PlayerKillEvent.PlayerKillCause cause = event.getCause(); + if (!cause.isFinalKill()) { return; } - if (!event.getCause().isFinalKill()) { + Player killer = event.getKiller(); + if (killer == null || killer.hasMetadata("NPC")) { return; } - QPlayer qPlayer = plugin.getPlayerManager().getPlayer(killer.getUniqueId()); - if (qPlayer == null) { + QPlayer qKiller = plugin.getPlayerManager().getPlayer(killer.getUniqueId()); + if (qKiller == null) { return; } - for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(killer, qPlayer, this, TaskConstraintSet.ALL)) { + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(killer, qKiller, this, TaskConstraintSet.ALL)) { Quest quest = pendingTask.quest(); Task task = pendingTask.task(); TaskProgress taskProgress = pendingTask.taskProgress(); super.debug("Player got a final kill", quest.getId(), task.getId(), killer.getUniqueId()); - Runnable increment = () -> { - int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); - super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), killer.getUniqueId()); - - int amount = (int) task.getConfigValue("amount"); - if (progress >= amount) { - super.debug("Marking task as complete", quest.getId(), task.getId(), killer.getUniqueId()); - taskProgress.setCompleted(true); - } + int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); + super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), killer.getUniqueId()); - TaskUtils.sendTrackAdvancement(killer, quest, task, pendingTask, amount); - }; + int amount = (int) task.getConfigValue("amount"); + if (progress >= amount) { + super.debug("Marking task as complete", quest.getId(), task.getId(), killer.getUniqueId()); + taskProgress.setCompleted(true); + } - increment.run(); + TaskUtils.sendTrackAdvancement(killer, quest, task, pendingTask, amount); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058LoseTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058LoseTask.java index 55b30a98..77c84144 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058LoseTask.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058LoseTask.java @@ -13,11 +13,11 @@ import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; +import java.util.List; import java.util.UUID; -public final class BedWars1058LoseTask extends BukkitTaskType implements Listener { +public final class BedWars1058LoseTask extends BukkitTaskType { private final BukkitQuestsPlugin plugin; @@ -31,41 +31,44 @@ public final class BedWars1058LoseTask extends BukkitTaskType implements Listene @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onGameEnd(GameEndEvent event) { + final List loserUniqueIds = event.getLosers(); - for (UUID uuid : event.getLosers()) { - Player player = Bukkit.getPlayer(uuid); + for (UUID loserUniqueId : loserUniqueIds) { + Player loser = Bukkit.getPlayer(loserUniqueId); - if (player == null) { - return; - } - - QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); - if (qPlayer == null) { - return; + if (loser != null) { + this.handle(loser); } + } + } - for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) { - Quest quest = pendingTask.quest(); - Task task = pendingTask.task(); - TaskProgress taskProgress = pendingTask.taskProgress(); + private void handle(final Player loser) { + if (loser.hasMetadata("NPC")) { + return; + } - super.debug("Player lost a BedWars game", quest.getId(), task.getId(), player.getUniqueId()); + QPlayer qLoser = plugin.getPlayerManager().getPlayer(loser.getUniqueId()); + if (qLoser == null) { + return; + } - Runnable increment = () -> { - int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); - super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), player.getUniqueId()); + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(loser, qLoser, this, TaskConstraintSet.ALL)) { + Quest quest = pendingTask.quest(); + Task task = pendingTask.task(); + TaskProgress taskProgress = pendingTask.taskProgress(); - int amount = (int) task.getConfigValue("amount"); - if (progress >= amount) { - super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); - taskProgress.setCompleted(true); - } + super.debug("Player lost a BedWars game", quest.getId(), task.getId(), loser.getUniqueId()); - TaskUtils.sendTrackAdvancement(player, quest, task, pendingTask, amount); - }; + int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); + super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), loser.getUniqueId()); - increment.run(); + int amount = (int) task.getConfigValue("amount"); + if (progress >= amount) { + super.debug("Marking task as complete", quest.getId(), task.getId(), loser.getUniqueId()); + taskProgress.setCompleted(true); } + + TaskUtils.sendTrackAdvancement(loser, quest, task, pendingTask, amount); } } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058WinTask.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058WinTask.java index 8e2a445f..f4ec338b 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058WinTask.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/BedWars1058WinTask.java @@ -13,11 +13,11 @@ import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; -import org.bukkit.event.Listener; +import java.util.List; import java.util.UUID; -public final class BedWars1058WinTask extends BukkitTaskType implements Listener { +public final class BedWars1058WinTask extends BukkitTaskType { private final BukkitQuestsPlugin plugin; @@ -31,41 +31,44 @@ public final class BedWars1058WinTask extends BukkitTaskType implements Listener @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onGameEnd(GameEndEvent event) { + final List winnerUniqueIds = event.getLosers(); - for (UUID uuid : event.getWinners()) { - Player player = Bukkit.getPlayer(uuid); + for (UUID winnerUniqueId : winnerUniqueIds) { + Player winner = Bukkit.getPlayer(winnerUniqueId); - if (player == null) { - return; - } - - QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); - if (qPlayer == null) { - return; + if (winner != null) { + this.handle(winner); } + } + } - for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) { - Quest quest = pendingTask.quest(); - Task task = pendingTask.task(); - TaskProgress taskProgress = pendingTask.taskProgress(); + private void handle(final Player winner) { + if (winner.hasMetadata("NPC")) { + return; + } - super.debug("Player won a BedWars game", quest.getId(), task.getId(), player.getUniqueId()); + QPlayer qWinner = plugin.getPlayerManager().getPlayer(winner.getUniqueId()); + if (qWinner == null) { + return; + } - Runnable increment = () -> { - int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); - super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), player.getUniqueId()); + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(winner, qWinner, this, TaskConstraintSet.ALL)) { + Quest quest = pendingTask.quest(); + Task task = pendingTask.task(); + TaskProgress taskProgress = pendingTask.taskProgress(); - int amount = (int) task.getConfigValue("amount"); - if (progress >= amount) { - super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId()); - taskProgress.setCompleted(true); - } + super.debug("Player won a BedWars game", quest.getId(), task.getId(), winner.getUniqueId()); - TaskUtils.sendTrackAdvancement(player, quest, task, pendingTask, amount); - }; + int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress); + super.debug("Incrementing task progress (now " + progress + ")", quest.getId(), task.getId(), winner.getUniqueId()); - increment.run(); + int amount = (int) task.getConfigValue("amount"); + if (progress >= amount) { + super.debug("Marking task as complete", quest.getId(), task.getId(), winner.getUniqueId()); + taskProgress.setCompleted(true); } + + TaskUtils.sendTrackAdvancement(winner, quest, task, pendingTask, amount); } } } diff --git a/bukkit/src/main/resources/plugin.yml b/bukkit/src/main/resources/plugin.yml index 95fcac3f..6e15f2f0 100644 --- a/bukkit/src/main/resources/plugin.yml +++ b/bukkit/src/main/resources/plugin.yml @@ -8,6 +8,7 @@ website: https://github.com/LMBishop/Quests author: "LMBishop & contributors" softdepend: - ASkyBlock +- BedWars1058 - BentoBox - Citizens - CMI @@ -34,7 +35,6 @@ softdepend: - VotingPlugin - WildStacker - ZNPCsPlus -- BedWars1058 prefix: Quests api-version: "1.13" # allows new API features but Quests will still work pre-1.13 folia-supported: true -- cgit v1.2.3-70-g09d2