idk what i did
This commit is contained in:
parent
d900e6f639
commit
724c9b01a8
|
|
@ -12,13 +12,14 @@ import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class LogoutEvent implements Listener {
|
public class LogoutEvent implements Listener {
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPlayerQuit(PlayerQuitEvent event) {
|
public void onPlayerQuit(PlayerQuitEvent event) {
|
||||||
UUID uuid = event.getPlayer().getUniqueId();
|
UUID uuid = event.getPlayer().getUniqueId();
|
||||||
|
|
||||||
new BukkitRunnable() {
|
new BukkitRunnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,9 @@ public abstract class Quest {
|
||||||
this.variant = variant;
|
this.variant = variant;
|
||||||
this.isDone = rewardReceived;
|
this.isDone = rewardReceived;
|
||||||
this.rewardReceived = rewardReceived;
|
this.rewardReceived = rewardReceived;
|
||||||
|
if (variant == null) {
|
||||||
|
Logger.warning("Created % quest without a variant for %", this.getClass().getName(), uuid.toString());
|
||||||
|
}
|
||||||
if (variant != null && amount == -1)
|
if (variant != null && amount == -1)
|
||||||
this.amount = variant.calculateAmount(loadQuestsDoneThisMonth(uuid));
|
this.amount = variant.calculateAmount(loadQuestsDoneThisMonth(uuid));
|
||||||
else
|
else
|
||||||
|
|
@ -107,7 +110,7 @@ public abstract class Quest {
|
||||||
Quest.weeklyQuest = newQuest;
|
Quest.weeklyQuest = newQuest;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static HashSet<UUID> queriedUsers = new HashSet<>();
|
private static final HashSet<UUID> queriedUsers = new HashSet<>();
|
||||||
public static void tryLoadDailyQuest(UUID uuid) {
|
public static void tryLoadDailyQuest(UUID uuid) {
|
||||||
if (queriedUsers.contains(uuid) || dailyQuests.containsKey(uuid))
|
if (queriedUsers.contains(uuid) || dailyQuests.containsKey(uuid))
|
||||||
return;
|
return;
|
||||||
|
|
@ -152,6 +155,16 @@ public abstract class Quest {
|
||||||
Class<? extends Quest> aClass = any.get();
|
Class<? extends Quest> aClass = any.get();
|
||||||
Constructor<? extends Quest> constructor;
|
Constructor<? extends Quest> constructor;
|
||||||
try {
|
try {
|
||||||
|
if (Config.DEBUG) {
|
||||||
|
Logger.info("quest: %, uuid: %, step1: %, step2: %, variant: %, amount: %, turnedIn:%",
|
||||||
|
quest,
|
||||||
|
uuid.toString(),
|
||||||
|
String.valueOf(step_1_progress),
|
||||||
|
String.valueOf(step_2_progress),
|
||||||
|
quest_variant,
|
||||||
|
String.valueOf(amount),
|
||||||
|
String.valueOf(turnedIn));
|
||||||
|
}
|
||||||
constructor = aClass.getConstructor(UUID.class, int.class, int.class, String.class, int.class, boolean.class);
|
constructor = aClass.getConstructor(UUID.class, int.class, int.class, String.class, int.class, boolean.class);
|
||||||
Quest quest1 = constructor.newInstance(uuid, step_1_progress, step_2_progress, quest_variant, amount, turnedIn);
|
Quest quest1 = constructor.newInstance(uuid, step_1_progress, step_2_progress, quest_variant, amount, turnedIn);
|
||||||
dailyQuests.put(uuid, quest1);
|
dailyQuests.put(uuid, quest1);
|
||||||
|
|
@ -207,11 +220,17 @@ public abstract class Quest {
|
||||||
|
|
||||||
public void checkDone(Player player) {
|
public void checkDone(Player player) {
|
||||||
checkDone();
|
checkDone();
|
||||||
if (!isDone)
|
if (!isDone())
|
||||||
return;
|
return;
|
||||||
saveDone();
|
final Quest quest = this;
|
||||||
QuestCompleteEvent event = new QuestCompleteEvent(player, this, true);
|
new BukkitRunnable() {
|
||||||
event.callEvent();
|
@Override
|
||||||
|
public void run() {
|
||||||
|
saveDone();
|
||||||
|
QuestCompleteEvent event = new QuestCompleteEvent(player, quest, true);
|
||||||
|
event.callEvent();
|
||||||
|
}
|
||||||
|
}.runTaskAsynchronously(AQuest.getInstance());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveDone() {
|
private void saveDone() {
|
||||||
|
|
@ -226,6 +245,9 @@ public abstract class Quest {
|
||||||
statement.setInt(2, calendar.get(Calendar.YEAR));
|
statement.setInt(2, calendar.get(Calendar.YEAR));
|
||||||
statement.setInt(3, calendar.get(Calendar.MONTH));
|
statement.setInt(3, calendar.get(Calendar.MONTH));
|
||||||
statement.setInt(4, calendar.get(Calendar.DAY_OF_MONTH));
|
statement.setInt(4, calendar.get(Calendar.DAY_OF_MONTH));
|
||||||
|
statement.executeUpdate();
|
||||||
|
if (Config.DEBUG)
|
||||||
|
Logger.info("% finished their quest", uuid.toString());
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
Logger.severe("Error while trying to create quest log table");
|
Logger.severe("Error while trying to create quest log table");
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package com.alttd.altitudequests.objects;
|
package com.alttd.altitudequests.objects;
|
||||||
|
|
||||||
|
import com.alttd.altitudequests.config.Config;
|
||||||
|
import com.alttd.altitudequests.util.Logger;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
|
|
||||||
|
|
@ -43,7 +45,9 @@ public abstract class Variant {
|
||||||
double difficultyOffset = ((rangeMax - rangeMin) / (double) getDaysInMonth());
|
double difficultyOffset = ((rangeMax - rangeMin) / (double) getDaysInMonth());
|
||||||
int min = Math.max(rangeMin, rangeMin + (int) (difficultyOffset * (questsCompleted - 5)));
|
int min = Math.max(rangeMin, rangeMin + (int) (difficultyOffset * (questsCompleted - 5)));
|
||||||
int max = Math.min(rangeMax, rangeMin + (int) (difficultyOffset * (questsCompleted + 5)));
|
int max = Math.min(rangeMax, rangeMin + (int) (difficultyOffset * (questsCompleted + 5)));
|
||||||
return new Random().nextInt(min, max);
|
if (Config.DEBUG)
|
||||||
|
Logger.info("variant: %, min: %, max: %", internalName, String.valueOf(min), String.valueOf(max));
|
||||||
|
return min == max ? min : new Random().nextInt(min, max);
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getDaysInMonth() {
|
private int getDaysInMonth() {
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.alttd.altitudequests.config.Config;
|
||||||
import com.alttd.altitudequests.config.QuestsConfig;
|
import com.alttd.altitudequests.config.QuestsConfig;
|
||||||
import com.alttd.altitudequests.database.Database;
|
import com.alttd.altitudequests.database.Database;
|
||||||
import com.alttd.altitudequests.objects.Quest;
|
import com.alttd.altitudequests.objects.Quest;
|
||||||
|
import com.alttd.altitudequests.objects.Variant;
|
||||||
import com.alttd.altitudequests.objects.variants.BreedMobsQuestObject;
|
import com.alttd.altitudequests.objects.variants.BreedMobsQuestObject;
|
||||||
import com.alttd.altitudequests.util.Logger;
|
import com.alttd.altitudequests.util.Logger;
|
||||||
import com.alttd.altitudequests.util.Utilities;
|
import com.alttd.altitudequests.util.Utilities;
|
||||||
|
|
@ -18,6 +19,7 @@ import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class BreedMobsQuest extends Quest {
|
public class BreedMobsQuest extends Quest {
|
||||||
|
|
||||||
|
|
@ -46,6 +48,7 @@ public class BreedMobsQuest extends Quest {
|
||||||
this.breedMobsQuestObject = null;
|
this.breedMobsQuestObject = null;
|
||||||
if (breedMobsQuestObject == null) {
|
if (breedMobsQuestObject == null) {
|
||||||
Logger.warning("Tried to create breedMobQuest but unable to find variant: %.", variant);
|
Logger.warning("Tried to create breedMobQuest but unable to find variant: %.", variant);
|
||||||
|
Logger.warning("Possible variants: %", QuestsConfig.BREED_MOB_QUEST.stream().map(Variant::getInternalName).collect(Collectors.joining(", ")));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
checkDone();
|
checkDone();
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.alttd.altitudequests.config.Config;
|
||||||
import com.alttd.altitudequests.config.QuestsConfig;
|
import com.alttd.altitudequests.config.QuestsConfig;
|
||||||
import com.alttd.altitudequests.database.Database;
|
import com.alttd.altitudequests.database.Database;
|
||||||
import com.alttd.altitudequests.objects.Quest;
|
import com.alttd.altitudequests.objects.Quest;
|
||||||
|
import com.alttd.altitudequests.objects.Variant;
|
||||||
import com.alttd.altitudequests.objects.variants.CollectDropsQuestObject;
|
import com.alttd.altitudequests.objects.variants.CollectDropsQuestObject;
|
||||||
import com.alttd.altitudequests.util.Logger;
|
import com.alttd.altitudequests.util.Logger;
|
||||||
import com.alttd.altitudequests.util.Utilities;
|
import com.alttd.altitudequests.util.Utilities;
|
||||||
|
|
@ -21,6 +22,7 @@ import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class CollectDropsQuest extends Quest {
|
public class CollectDropsQuest extends Quest {
|
||||||
|
|
||||||
|
|
@ -49,6 +51,7 @@ public class CollectDropsQuest extends Quest {
|
||||||
this.collectDropsQuestObject = null;
|
this.collectDropsQuestObject = null;
|
||||||
if (collectDropsQuestObject == null) {
|
if (collectDropsQuestObject == null) {
|
||||||
Logger.warning("Tried to create collectDropsQuest but unable to find variant: %.", variant);
|
Logger.warning("Tried to create collectDropsQuest but unable to find variant: %.", variant);
|
||||||
|
Logger.warning("Possible variants: %", QuestsConfig.COLLECT_DROPS_QUEST.stream().map(Variant::getInternalName).collect(Collectors.joining(", ")));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
checkDone();
|
checkDone();
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.alttd.altitudequests.config.Config;
|
||||||
import com.alttd.altitudequests.config.QuestsConfig;
|
import com.alttd.altitudequests.config.QuestsConfig;
|
||||||
import com.alttd.altitudequests.database.Database;
|
import com.alttd.altitudequests.database.Database;
|
||||||
import com.alttd.altitudequests.objects.Quest;
|
import com.alttd.altitudequests.objects.Quest;
|
||||||
|
import com.alttd.altitudequests.objects.Variant;
|
||||||
import com.alttd.altitudequests.objects.variants.KillMobsQuestObject;
|
import com.alttd.altitudequests.objects.variants.KillMobsQuestObject;
|
||||||
import com.alttd.altitudequests.util.Logger;
|
import com.alttd.altitudequests.util.Logger;
|
||||||
import com.alttd.altitudequests.util.Utilities;
|
import com.alttd.altitudequests.util.Utilities;
|
||||||
|
|
@ -18,6 +19,7 @@ import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class KillMobsQuest extends Quest {
|
public class KillMobsQuest extends Quest {
|
||||||
|
|
||||||
|
|
@ -46,6 +48,7 @@ public class KillMobsQuest extends Quest {
|
||||||
this.killMobsQuestObject = null;
|
this.killMobsQuestObject = null;
|
||||||
if (killMobsQuestObject == null) {
|
if (killMobsQuestObject == null) {
|
||||||
Logger.warning("Tried to create killMobsQuest but unable to find variant: %.", variant);
|
Logger.warning("Tried to create killMobsQuest but unable to find variant: %.", variant);
|
||||||
|
Logger.warning("Possible variants: %", QuestsConfig.KILL_MOB_QUEST.stream().map(Variant::getInternalName).collect(Collectors.joining(", ")));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
checkDone();
|
checkDone();
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.alttd.altitudequests.objects.quests;
|
||||||
import com.alttd.altitudequests.config.Config;
|
import com.alttd.altitudequests.config.Config;
|
||||||
import com.alttd.altitudequests.config.QuestsConfig;
|
import com.alttd.altitudequests.config.QuestsConfig;
|
||||||
import com.alttd.altitudequests.database.Database;
|
import com.alttd.altitudequests.database.Database;
|
||||||
|
import com.alttd.altitudequests.objects.Variant;
|
||||||
import com.alttd.altitudequests.objects.variants.MineQuestObject;
|
import com.alttd.altitudequests.objects.variants.MineQuestObject;
|
||||||
import com.alttd.altitudequests.objects.Quest;
|
import com.alttd.altitudequests.objects.Quest;
|
||||||
import com.alttd.altitudequests.util.Logger;
|
import com.alttd.altitudequests.util.Logger;
|
||||||
|
|
@ -18,6 +19,7 @@ import org.bukkit.inventory.PlayerInventory;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class MineQuest extends Quest {
|
public class MineQuest extends Quest {
|
||||||
|
|
||||||
|
|
@ -47,6 +49,7 @@ public class MineQuest extends Quest {
|
||||||
this.mineQuestObject = null;
|
this.mineQuestObject = null;
|
||||||
if (mineQuestObject == null) {
|
if (mineQuestObject == null) {
|
||||||
Logger.warning("Tried to create MineQuest but unable to find variant: %.", variant);
|
Logger.warning("Tried to create MineQuest but unable to find variant: %.", variant);
|
||||||
|
Logger.warning("Possible variants: %", QuestsConfig.MINE_QUESTS.stream().map(Variant::getInternalName).collect(Collectors.joining(", ")));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
checkDone();
|
checkDone();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user