From 0b7bd2f00978645c59ba2cc593fdc832402fc61a Mon Sep 17 00:00:00 2001 From: Kam Date: Mon, 15 May 2023 15:55:41 -0400 Subject: [PATCH] Add Update Tracked Quest Frequency for ITEM QUESTs --- .../java/noppes/npcs/ScriptPlayerEventHandler.java | 12 ++++++++---- src/main/java/noppes/npcs/config/ConfigMain.java | 12 ++++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java b/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java index bb466542a..3cc967326 100644 --- a/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java +++ b/src/main/java/noppes/npcs/ScriptPlayerEventHandler.java @@ -37,6 +37,8 @@ import noppes.npcs.entity.EntityNPCInterface; import noppes.npcs.scripted.NpcAPI; import noppes.npcs.scripted.item.ScriptCustomItem; +import static noppes.npcs.config.ConfigMain.TrackedQuestUpdateFrequency; + public class ScriptPlayerEventHandler { public ScriptPlayerEventHandler() { } @@ -73,14 +75,16 @@ public class ScriptPlayerEventHandler { PlayerDataController.instance.getPlayerData(player).questData.untrackQuest(); } - if (player.ticksExisted%20 == 0 && !PlayerDataController.instance.getPlayerData(player).skinOverlays.overlayList.isEmpty()) { + if (player.ticksExisted % 20 == 0 && !PlayerDataController.instance.getPlayerData(player).skinOverlays.overlayList.isEmpty()) { PlayerDataController.instance.getPlayerData(player).skinOverlays.updateClient(); } - if (player.ticksExisted%40 == 0) { + if (player.ticksExisted % (TrackedQuestUpdateFrequency * 20) == 0) { PlayerQuestData questData = playerData.questData; - if (questData.getTrackedQuest() != null && ((Quest) questData.getTrackedQuest()).type == EnumQuestType.Item) { - NoppesUtilPlayer.sendTrackedQuestData((EntityPlayerMP) event.player); + if(questData != null){ + if (questData.getTrackedQuest() != null && ((Quest) questData.getTrackedQuest()).type == EnumQuestType.Item) { + NoppesUtilPlayer.sendTrackedQuestData((EntityPlayerMP) event.player); + } } } } diff --git a/src/main/java/noppes/npcs/config/ConfigMain.java b/src/main/java/noppes/npcs/config/ConfigMain.java index bcf745f89..7e6e6bed7 100644 --- a/src/main/java/noppes/npcs/config/ConfigMain.java +++ b/src/main/java/noppes/npcs/config/ConfigMain.java @@ -15,6 +15,7 @@ public class ConfigMain public final static String GENERAL = "General"; public final static String NPC = "NPC"; + public final static String UPDATE = "Update"; /** * General Main Properties @@ -87,6 +88,13 @@ public class ConfigMain public static Property NpcUseOpCommandsProperty; public static boolean NpcUseOpCommands = false; + /** + * Update Properties + **/ + + public static Property TrackedQuestUpdateFrequencyProperty; + public static int TrackedQuestUpdateFrequency = 5; + public static void init(File configFile) { config = new Configuration(configFile); @@ -161,6 +169,10 @@ public class ConfigMain SkinOverlayLimitProperty = config.get(NPC, "Skin Overlay Limit", 10, "The maximum number of overlays any npc/player can hold."); SkinOverlayLimit = SkinOverlayLimitProperty.getInt(10); + // Update + TrackedQuestUpdateFrequencyProperty = config.get(UPDATE, "Tracked Quest Update Frequency", 5, "How often in seconds to update a players tracked quest. [Only applies to Item Quest currently]"); + TrackedQuestUpdateFrequency = TrackedQuestUpdateFrequencyProperty.getInt(5); + // Convert to Legacy if(CustomNpcs.legacyExist){ EnableUpdateChecker = LegacyConfig.EnableUpdateChecker;