Order NPC QuestLink list by QuestId.
This commit is contained in:
@@ -260,6 +260,10 @@ SaveDroppedItemInterval = 60
|
|||||||
# Default: False
|
# Default: False
|
||||||
ClearDroppedItemTable = False
|
ClearDroppedItemTable = False
|
||||||
|
|
||||||
|
# Order NPC QuestLink list by QuestId.
|
||||||
|
# Retail: False (but ugly)
|
||||||
|
OrderQuestListByQuestId = True
|
||||||
|
|
||||||
# Delete invalid quest from players.
|
# Delete invalid quest from players.
|
||||||
# Default: False
|
# Default: False
|
||||||
AutoDeleteInvalidQuestData = False
|
AutoDeleteInvalidQuestData = False
|
||||||
|
@@ -17,9 +17,12 @@
|
|||||||
package handlers.bypasshandlers;
|
package handlers.bypasshandlers;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.TreeMap;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import com.l2jmobius.Config;
|
||||||
import com.l2jmobius.gameserver.handler.IBypassHandler;
|
import com.l2jmobius.gameserver.handler.IBypassHandler;
|
||||||
import com.l2jmobius.gameserver.instancemanager.QuestManager;
|
import com.l2jmobius.gameserver.instancemanager.QuestManager;
|
||||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||||
@@ -94,6 +97,16 @@ public class QuestLink implements IBypassHandler
|
|||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
//@formatter:on
|
//@formatter:on
|
||||||
|
|
||||||
|
if (Config.ORDER_QUEST_LIST_BY_QUESTID)
|
||||||
|
{
|
||||||
|
final Map<Integer, Quest> orderedQuests = new TreeMap<>(); // Use TreeMap to order quests
|
||||||
|
for (Quest q : quests)
|
||||||
|
{
|
||||||
|
orderedQuests.put(q.getId(), q);
|
||||||
|
}
|
||||||
|
quests = orderedQuests.values();
|
||||||
|
}
|
||||||
|
|
||||||
for (Quest quest : quests)
|
for (Quest quest : quests)
|
||||||
{
|
{
|
||||||
final QuestState qs = player.getQuestState(quest.getScriptName());
|
final QuestState qs = player.getQuestState(quest.getScriptName());
|
||||||
|
@@ -424,6 +424,7 @@ public final class Config
|
|||||||
public static boolean EMPTY_DROPPED_ITEM_TABLE_AFTER_LOAD;
|
public static boolean EMPTY_DROPPED_ITEM_TABLE_AFTER_LOAD;
|
||||||
public static int SAVE_DROPPED_ITEM_INTERVAL;
|
public static int SAVE_DROPPED_ITEM_INTERVAL;
|
||||||
public static boolean CLEAR_DROPPED_ITEM_TABLE;
|
public static boolean CLEAR_DROPPED_ITEM_TABLE;
|
||||||
|
public static boolean ORDER_QUEST_LIST_BY_QUESTID;
|
||||||
public static boolean AUTODELETE_INVALID_QUEST_DATA;
|
public static boolean AUTODELETE_INVALID_QUEST_DATA;
|
||||||
public static boolean ENABLE_STORY_QUEST_BUFF_REWARD;
|
public static boolean ENABLE_STORY_QUEST_BUFF_REWARD;
|
||||||
public static boolean PRECISE_DROP_CALCULATION;
|
public static boolean PRECISE_DROP_CALCULATION;
|
||||||
@@ -1644,6 +1645,7 @@ public final class Config
|
|||||||
EMPTY_DROPPED_ITEM_TABLE_AFTER_LOAD = General.getBoolean("EmptyDroppedItemTableAfterLoad", false);
|
EMPTY_DROPPED_ITEM_TABLE_AFTER_LOAD = General.getBoolean("EmptyDroppedItemTableAfterLoad", false);
|
||||||
SAVE_DROPPED_ITEM_INTERVAL = General.getInt("SaveDroppedItemInterval", 60) * 60000;
|
SAVE_DROPPED_ITEM_INTERVAL = General.getInt("SaveDroppedItemInterval", 60) * 60000;
|
||||||
CLEAR_DROPPED_ITEM_TABLE = General.getBoolean("ClearDroppedItemTable", false);
|
CLEAR_DROPPED_ITEM_TABLE = General.getBoolean("ClearDroppedItemTable", false);
|
||||||
|
ORDER_QUEST_LIST_BY_QUESTID = General.getBoolean("OrderQuestListByQuestId", true);
|
||||||
AUTODELETE_INVALID_QUEST_DATA = General.getBoolean("AutoDeleteInvalidQuestData", false);
|
AUTODELETE_INVALID_QUEST_DATA = General.getBoolean("AutoDeleteInvalidQuestData", false);
|
||||||
ENABLE_STORY_QUEST_BUFF_REWARD = General.getBoolean("StoryQuestRewardBuff", true);
|
ENABLE_STORY_QUEST_BUFF_REWARD = General.getBoolean("StoryQuestRewardBuff", true);
|
||||||
MULTIPLE_ITEM_DROP = General.getBoolean("MultipleItemDrop", true);
|
MULTIPLE_ITEM_DROP = General.getBoolean("MultipleItemDrop", true);
|
||||||
|
Reference in New Issue
Block a user