idk what i did

This commit is contained in:
Teriuihi 2022-07-13 03:48:16 +02:00
parent d900e6f639
commit 724c9b01a8
7 changed files with 46 additions and 7 deletions

View File

@ -12,13 +12,14 @@ import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.scheduler.BukkitRunnable;
import java.util.ArrayList;
import java.util.UUID;
public class LogoutEvent implements Listener {
@EventHandler
public void onPlayerQuit(PlayerQuitEvent event) {
UUID uuid = event.getPlayer().getUniqueId();
new BukkitRunnable() {
@Override
public void run() {

View File

@ -55,6 +55,9 @@ public abstract class Quest {
this.variant = variant;
this.isDone = 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)
this.amount = variant.calculateAmount(loadQuestsDoneThisMonth(uuid));
else
@ -107,7 +110,7 @@ public abstract class Quest {
Quest.weeklyQuest = newQuest;
}
private static HashSet<UUID> queriedUsers = new HashSet<>();
private static final HashSet<UUID> queriedUsers = new HashSet<>();
public static void tryLoadDailyQuest(UUID uuid) {
if (queriedUsers.contains(uuid) || dailyQuests.containsKey(uuid))
return;
@ -152,6 +155,16 @@ public abstract class Quest {
Class<? extends Quest> aClass = any.get();
Constructor<? extends Quest> constructor;
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);
Quest quest1 = constructor.newInstance(uuid, step_1_progress, step_2_progress, quest_variant, amount, turnedIn);
dailyQuests.put(uuid, quest1);
@ -207,11 +220,17 @@ public abstract class Quest {
public void checkDone(Player player) {
checkDone();
if (!isDone)
if (!isDone())
return;
saveDone();
QuestCompleteEvent event = new QuestCompleteEvent(player, this, true);
event.callEvent();
final Quest quest = this;
new BukkitRunnable() {
@Override
public void run() {
saveDone();
QuestCompleteEvent event = new QuestCompleteEvent(player, quest, true);
event.callEvent();
}
}.runTaskAsynchronously(AQuest.getInstance());
}
private void saveDone() {
@ -226,6 +245,9 @@ public abstract class Quest {
statement.setInt(2, calendar.get(Calendar.YEAR));
statement.setInt(3, calendar.get(Calendar.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) {
e.printStackTrace();
Logger.severe("Error while trying to create quest log table");

View File

@ -1,5 +1,7 @@
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.minimessage.MiniMessage;
@ -43,7 +45,9 @@ public abstract class Variant {
double difficultyOffset = ((rangeMax - rangeMin) / (double) getDaysInMonth());
int min = Math.max(rangeMin, 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() {

View File

@ -4,6 +4,7 @@ import com.alttd.altitudequests.config.Config;
import com.alttd.altitudequests.config.QuestsConfig;
import com.alttd.altitudequests.database.Database;
import com.alttd.altitudequests.objects.Quest;
import com.alttd.altitudequests.objects.Variant;
import com.alttd.altitudequests.objects.variants.BreedMobsQuestObject;
import com.alttd.altitudequests.util.Logger;
import com.alttd.altitudequests.util.Utilities;
@ -18,6 +19,7 @@ import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
public class BreedMobsQuest extends Quest {
@ -46,6 +48,7 @@ public class BreedMobsQuest extends Quest {
this.breedMobsQuestObject = null;
if (breedMobsQuestObject == null) {
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;
}
checkDone();

View File

@ -4,6 +4,7 @@ import com.alttd.altitudequests.config.Config;
import com.alttd.altitudequests.config.QuestsConfig;
import com.alttd.altitudequests.database.Database;
import com.alttd.altitudequests.objects.Quest;
import com.alttd.altitudequests.objects.Variant;
import com.alttd.altitudequests.objects.variants.CollectDropsQuestObject;
import com.alttd.altitudequests.util.Logger;
import com.alttd.altitudequests.util.Utilities;
@ -21,6 +22,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.UUID;
import java.util.stream.Collectors;
public class CollectDropsQuest extends Quest {
@ -49,6 +51,7 @@ public class CollectDropsQuest extends Quest {
this.collectDropsQuestObject = null;
if (collectDropsQuestObject == null) {
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;
}
checkDone();

View File

@ -4,6 +4,7 @@ import com.alttd.altitudequests.config.Config;
import com.alttd.altitudequests.config.QuestsConfig;
import com.alttd.altitudequests.database.Database;
import com.alttd.altitudequests.objects.Quest;
import com.alttd.altitudequests.objects.Variant;
import com.alttd.altitudequests.objects.variants.KillMobsQuestObject;
import com.alttd.altitudequests.util.Logger;
import com.alttd.altitudequests.util.Utilities;
@ -18,6 +19,7 @@ import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
public class KillMobsQuest extends Quest {
@ -46,6 +48,7 @@ public class KillMobsQuest extends Quest {
this.killMobsQuestObject = null;
if (killMobsQuestObject == null) {
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;
}
checkDone();

View File

@ -3,6 +3,7 @@ package com.alttd.altitudequests.objects.quests;
import com.alttd.altitudequests.config.Config;
import com.alttd.altitudequests.config.QuestsConfig;
import com.alttd.altitudequests.database.Database;
import com.alttd.altitudequests.objects.Variant;
import com.alttd.altitudequests.objects.variants.MineQuestObject;
import com.alttd.altitudequests.objects.Quest;
import com.alttd.altitudequests.util.Logger;
@ -18,6 +19,7 @@ import org.bukkit.inventory.PlayerInventory;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.*;
import java.util.stream.Collectors;
public class MineQuest extends Quest {
@ -47,6 +49,7 @@ public class MineQuest extends Quest {
this.mineQuestObject = null;
if (mineQuestObject == null) {
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;
}
checkDone();