Made the book more configurable

This commit is contained in:
Teriuihi 2022-06-03 01:06:24 +02:00
parent c0cb9cae98
commit 696bc20c7e
7 changed files with 70 additions and 18 deletions

View File

@ -24,13 +24,13 @@ public final class Config extends AbstractConfig {
public static List<String> QUEST_PAGES = List.of(""" public static List<String> QUEST_PAGES = List.of("""
<bold><gold>Hey <player></gold></bold> <bold><gold>Hey <player></gold></bold>
Here is a quick summary of your quest progress so far! Active quest summary:
* Quest: <quest> * Quest: <quest>
* Variant: <variant> * Type: <variant>
* Items obtained: <step_1_progress>/<step_1_total> * <step_1>: <step_1_progress>/<step_1_total>
* Items turned in: <step_2_progress>/<step_2_total> * <step_2>: <step_2_progress>/<step_2_total>
<click:run_command:/aquest turnin><gold>Click here to turn in more items</gold></click> <click:run_command:/aquest turnin><turn_in_text></click>
"""); """);
private static void loadBook() { private static void loadBook() {
QUEST_BOOK_AUTHOR = config.getString("book.author", QUEST_BOOK_AUTHOR); QUEST_BOOK_AUTHOR = config.getString("book.author", QUEST_BOOK_AUTHOR);

View File

@ -1,6 +1,5 @@
package com.alttd.altitudequests.config;; package com.alttd.altitudequests.config;;
import com.alttd.altitudequests.objects.quests.CollectDropsQuest;
import com.alttd.altitudequests.objects.variants.BreedMobsQuestObject; import com.alttd.altitudequests.objects.variants.BreedMobsQuestObject;
import com.alttd.altitudequests.objects.variants.CollectDropsQuestObject; import com.alttd.altitudequests.objects.variants.CollectDropsQuestObject;
import com.alttd.altitudequests.objects.variants.KillMobsQuestObject; import com.alttd.altitudequests.objects.variants.KillMobsQuestObject;
@ -29,7 +28,10 @@ public class QuestsConfig extends AbstractConfig {
} }
public static List<MineQuestObject> MINE_QUESTS = new ArrayList<>(); public static List<MineQuestObject> MINE_QUESTS = new ArrayList<>();
public static String MINE_QUEST_NAME = "<green>Mine quest</green>"; public static String MINE_QUEST_NAME = "<green>Mining</green>";
public static String MINE_STEP_1 = "Mined";
public static String MINE_STEP_2 = "Turned in";
public static String MINE_TURN_IN = "<gold>Click here to turn in your <block></gold>";
private static void loadMineQuests() { private static void loadMineQuests() {
MINE_QUESTS.clear(); MINE_QUESTS.clear();
@ -54,10 +56,16 @@ public class QuestsConfig extends AbstractConfig {
} }
} }
MINE_QUEST_NAME = config.getString("mining.name", MINE_QUEST_NAME); MINE_QUEST_NAME = config.getString("mining.name", MINE_QUEST_NAME);
MINE_STEP_1 = config.getString("mining.step-1", MINE_STEP_1);
MINE_STEP_2 = config.getString("mining.step-2", MINE_STEP_2);
MINE_TURN_IN = config.getString("mining.turn-in", MINE_TURN_IN);
} }
public static List<KillMobsQuestObject> KILL_MOB_QUEST = new ArrayList<>(); public static List<KillMobsQuestObject> KILL_MOB_QUEST = new ArrayList<>();
public static String KILL_MOB_QUEST_NAME = "<green>Kill mobs quest</green>"; public static String KILL_MOB_QUEST_NAME = "<green>Kill mobs</green>";
public static String KILL_MOB_STEP_1 = "Killed";
public static String KILL_MOB_STEP_2 = "Confirmed";
public static String KILL_MOB_TURN_IN = "<gold>Click here to confirm the killed <mob>s</gold>";
private static void loadKillMobQuests() { private static void loadKillMobQuests() {
KILL_MOB_QUEST.clear(); KILL_MOB_QUEST.clear();
ConfigurationSection configurationSection = config.getConfigurationSection("kill_mobs.possible_tasks"); ConfigurationSection configurationSection = config.getConfigurationSection("kill_mobs.possible_tasks");
@ -81,10 +89,16 @@ public class QuestsConfig extends AbstractConfig {
} }
} }
KILL_MOB_QUEST_NAME = config.getString("kill_mobs.name", KILL_MOB_QUEST_NAME); KILL_MOB_QUEST_NAME = config.getString("kill_mobs.name", KILL_MOB_QUEST_NAME);
KILL_MOB_STEP_1 = config.getString("kill_mobs.step-1", KILL_MOB_STEP_1);
KILL_MOB_STEP_2 = config.getString("kill_mobs.step-2", KILL_MOB_STEP_2);
KILL_MOB_TURN_IN = config.getString("kill_mobs.turn-in", KILL_MOB_TURN_IN);
} }
public static List<CollectDropsQuestObject> COLLECT_DROPS_QUEST = new ArrayList<>(); public static List<CollectDropsQuestObject> COLLECT_DROPS_QUEST = new ArrayList<>();
public static String COLLECT_DROPS_QUEST_NAME = "<green>Collect drops quest</green>"; public static String COLLECT_DROPS_QUEST_NAME = "<green>Collect drops quest</green>";
public static String COLLECT_DROPS_STEP_1 = "Obtained";
public static String COLLECT_DROPS_STEP_2 = "Turned in";
public static String COLLECT_DROPS_TURN_IN = "<gold>Click here to turn in your <item></gold>";
private static void loadCollectQuests() { private static void loadCollectQuests() {
COLLECT_DROPS_QUEST.clear(); COLLECT_DROPS_QUEST.clear();
ConfigurationSection configurationSection = config.getConfigurationSection("collect_drops.possible_tasks"); ConfigurationSection configurationSection = config.getConfigurationSection("collect_drops.possible_tasks");
@ -108,10 +122,16 @@ public class QuestsConfig extends AbstractConfig {
} }
} }
COLLECT_DROPS_QUEST_NAME = config.getString("collect_drops.name", COLLECT_DROPS_QUEST_NAME); COLLECT_DROPS_QUEST_NAME = config.getString("collect_drops.name", COLLECT_DROPS_QUEST_NAME);
COLLECT_DROPS_STEP_1 = config.getString("collect_drops.step-1", COLLECT_DROPS_STEP_1);
COLLECT_DROPS_STEP_2 = config.getString("collect_drops.step-2", COLLECT_DROPS_STEP_2);
COLLECT_DROPS_TURN_IN = config.getString("collect_drops.turn-in", COLLECT_DROPS_TURN_IN);
} }
public static List<BreedMobsQuestObject> BREED_MOB_QUEST = new ArrayList<>(); public static List<BreedMobsQuestObject> BREED_MOB_QUEST = new ArrayList<>();
public static String BREED_MOB_QUEST_NAME = "<green>Breed mobs quest</green>"; public static String BREED_MOB_QUEST_NAME = "<green>Breed mobs quest</green>";
public static String BREED_STEP_1 = "Bred";
public static String BREED_STEP_2 = "Confirmed";
public static String BREED_TURN_IN = "<gold>Click here to confirm the baby <mob>s</gold>";
private static void loadBreedMobQuests() { private static void loadBreedMobQuests() {
BREED_MOB_QUEST.clear(); BREED_MOB_QUEST.clear();
ConfigurationSection configurationSection = config.getConfigurationSection("breed_mobs.possible_tasks"); ConfigurationSection configurationSection = config.getConfigurationSection("breed_mobs.possible_tasks");
@ -135,5 +155,8 @@ public class QuestsConfig extends AbstractConfig {
} }
} }
BREED_MOB_QUEST_NAME = config.getString("breed_mobs.name", BREED_MOB_QUEST_NAME); BREED_MOB_QUEST_NAME = config.getString("breed_mobs.name", BREED_MOB_QUEST_NAME);
BREED_STEP_1 = config.getString("breed_mobs.step-1", BREED_STEP_1);
BREED_STEP_2 = config.getString("breed_mobs.step-2", BREED_STEP_2);
BREED_TURN_IN = config.getString("breed_mobs.turn-in", BREED_TURN_IN);
} }
} }

View File

@ -97,7 +97,7 @@ public class Database {
"quest_variant VARCHAR(36) NOT NULL, " + "quest_variant VARCHAR(36) NOT NULL, " +
"step_1_progress INT NOT NULL, " + "step_1_progress INT NOT NULL, " +
"step_2_progress INT NOT NULL, " + "step_2_progress INT NOT NULL, " +
"PRIMARY KEY (UUID, quest)" + "PRIMARY KEY (UUID)" +
")"; ")";
getDatabase().getConnection().prepareStatement(sql).executeUpdate(); getDatabase().getConnection().prepareStatement(sql).executeUpdate();
} catch (SQLException e) { } catch (SQLException e) {

View File

@ -81,14 +81,21 @@ public class BreedMobsQuest extends Quest {
@Override @Override
public TagResolver getTagResolvers() { public TagResolver getTagResolvers() {
return TagResolver.resolver( TagResolver resolver = TagResolver.resolver(
Placeholder.unparsed("mob", breedMobsQuestObject.getEntityType().name()), Placeholder.unparsed("mob", breedMobsQuestObject.getEntityType().name()),
Placeholder.parsed("step_1_progress", getStep1() == breedMobsQuestObject.getAmount() ? Placeholder.parsed("step_1_progress", getStep1() == breedMobsQuestObject.getAmount() ?
"<green>" + getStep1() + "</green>" : "<red>" + getStep1() + "</red>"), "<green>" + getStep1() + "</green>" : "<red>" + getStep1() + "</red>"),
Placeholder.parsed("step_1_total", String.valueOf(breedMobsQuestObject.getAmount())), Placeholder.parsed("step_1_total", String.valueOf(breedMobsQuestObject.getAmount())),
Placeholder.parsed("step_2_progress", getStep2() == breedMobsQuestObject.getAmount() ? Placeholder.parsed("step_2_progress", getStep2() == breedMobsQuestObject.getAmount() ?
"<green>" + getStep2() + "</green>" : "<red>" + getStep2() + "</red>"), "<green>" + getStep2() + "</green>" : "<red>" + getStep2() + "</red>"),
Placeholder.parsed("step_2_total", String.valueOf(breedMobsQuestObject.getAmount())) Placeholder.parsed("step_2_total", String.valueOf(breedMobsQuestObject.getAmount())),
Placeholder.unparsed("step_1", QuestsConfig.BREED_STEP_1),
Placeholder.unparsed("step_2", QuestsConfig.BREED_STEP_2)
);
Component turnInText = MiniMessage.miniMessage().deserialize(QuestsConfig.BREED_TURN_IN, resolver);
return TagResolver.resolver(
resolver,
Placeholder.component("turn_in_text", turnInText)
); );
} }

View File

@ -85,14 +85,22 @@ public class CollectDropsQuest extends Quest {
@Override @Override
public TagResolver getTagResolvers() { public TagResolver getTagResolvers() {
return TagResolver.resolver( TagResolver resolver = TagResolver.resolver(
Placeholder.unparsed("item", collectDropsQuestObject.getMaterial().name()), Placeholder.unparsed("item", collectDropsQuestObject.getMaterial().name()),
Placeholder.parsed("step_1_progress", getStep1() == collectDropsQuestObject.getAmount() ? Placeholder.parsed("step_1_progress", getStep1() == collectDropsQuestObject.getAmount() ?
"<green>" + getStep1() + "</green>" : "<red>" + getStep1() + "</red>"), "<green>" + getStep1() + "</green>" : "<red>" + getStep1() + "</red>"),
Placeholder.parsed("step_1_total", String.valueOf(collectDropsQuestObject.getAmount())), Placeholder.parsed("step_1_total", String.valueOf(collectDropsQuestObject.getAmount())),
Placeholder.parsed("step_2_progress", getStep2() == collectDropsQuestObject.getAmount() ? Placeholder.parsed("step_2_progress", getStep2() == collectDropsQuestObject.getAmount() ?
"<green>" + getStep2() + "</green>" : "<red>" + getStep2() + "</red>"), "<green>" + getStep2() + "</green>" : "<red>" + getStep2() + "</red>"),
Placeholder.parsed("step_2_total", String.valueOf(collectDropsQuestObject.getAmount())) Placeholder.parsed("step_2_total", String.valueOf(collectDropsQuestObject.getAmount())),
Placeholder.unparsed("step_1", QuestsConfig.COLLECT_DROPS_STEP_1),
Placeholder.unparsed("step_2", QuestsConfig.COLLECT_DROPS_STEP_2),
Placeholder.unparsed("turn_in_text", QuestsConfig.COLLECT_DROPS_TURN_IN)
);
Component turnInText = MiniMessage.miniMessage().deserialize(QuestsConfig.COLLECT_DROPS_TURN_IN, resolver);
return TagResolver.resolver(
resolver,
Placeholder.component("turn_in_text", turnInText)
); );
} }

View File

@ -81,14 +81,21 @@ public class KillMobsQuest extends Quest {
@Override @Override
public TagResolver getTagResolvers() { public TagResolver getTagResolvers() {
return TagResolver.resolver( TagResolver resolver = TagResolver.resolver(
Placeholder.unparsed("mob", killMobsQuestObject.getEntityType().name()), Placeholder.unparsed("mob", killMobsQuestObject.getEntityType().name()),
Placeholder.parsed("step_1_progress", getStep1() == killMobsQuestObject.getAmount() ? Placeholder.parsed("step_1_progress", getStep1() == killMobsQuestObject.getAmount() ?
"<green>" + getStep1() + "</green>" : "<red>" + getStep1() + "</red>"), "<green>" + getStep1() + "</green>" : "<red>" + getStep1() + "</red>"),
Placeholder.parsed("step_1_total", String.valueOf(killMobsQuestObject.getAmount())), Placeholder.parsed("step_1_total", String.valueOf(killMobsQuestObject.getAmount())),
Placeholder.parsed("step_2_progress", getStep2() == killMobsQuestObject.getAmount() ? Placeholder.parsed("step_2_progress", getStep2() == killMobsQuestObject.getAmount() ?
"<green>" + getStep2() + "</green>" : "<red>" + getStep2() + "</red>"), "<green>" + getStep2() + "</green>" : "<red>" + getStep2() + "</red>"),
Placeholder.parsed("step_2_total", String.valueOf(killMobsQuestObject.getAmount())) Placeholder.parsed("step_2_total", String.valueOf(killMobsQuestObject.getAmount())),
Placeholder.unparsed("step_1", QuestsConfig.KILL_MOB_STEP_1),
Placeholder.unparsed("step_2", QuestsConfig.KILL_MOB_STEP_2)
);
Component turnInText = MiniMessage.miniMessage().deserialize(QuestsConfig.KILL_MOB_TURN_IN, resolver);
return TagResolver.resolver(
resolver,
Placeholder.component("turn_in_text", turnInText)
); );
} }

View File

@ -82,15 +82,22 @@ public class MineQuest extends Quest {
@Override @Override
public TagResolver getTagResolvers() { public TagResolver getTagResolvers() {
return TagResolver.resolver( TagResolver resolver = TagResolver.resolver(
Placeholder.unparsed("block", mineQuestObject.getMaterial().name()), Placeholder.unparsed("block", mineQuestObject.getMaterial().name()),
Placeholder.parsed("step_1_progress", getStep1() == mineQuestObject.getAmount() ? Placeholder.parsed("step_1_progress", getStep1() == mineQuestObject.getAmount() ?
"<green>" + getStep1() + "</green>" : "<red>" + getStep1() + "</red>"), "<green>" + getStep1() + "</green>" : "<red>" + getStep1() + "</red>"),
Placeholder.parsed("step_1_total", String.valueOf(mineQuestObject.getAmount())), Placeholder.parsed("step_1_total", String.valueOf(mineQuestObject.getAmount())),
Placeholder.parsed("step_2_progress", getStep2() == mineQuestObject.getAmount() ? Placeholder.parsed("step_2_progress", getStep2() == mineQuestObject.getAmount() ?
"<green>" + getStep2() + "</green>" : "<red>" + getStep2() + "</red>"), "<green>" + getStep2() + "</green>" : "<red>" + getStep2() + "</red>"),
Placeholder.parsed("step_2_total", String.valueOf(mineQuestObject.getAmount())) Placeholder.parsed("step_2_total", String.valueOf(mineQuestObject.getAmount())),
); Placeholder.unparsed("step_1", QuestsConfig.MINE_STEP_1),
Placeholder.unparsed("step_2", QuestsConfig.MINE_STEP_2)
);
Component turnInText = MiniMessage.miniMessage().deserialize(QuestsConfig.MINE_TURN_IN, resolver);
return TagResolver.resolver(
resolver,
Placeholder.component("turn_in_text", turnInText)
);
} }
@Override @Override