Order NPC QuestLink list by QuestId.
This commit is contained in:
@@ -260,6 +260,10 @@ SaveDroppedItemInterval = 60
|
||||
# Default: False
|
||||
ClearDroppedItemTable = False
|
||||
|
||||
# Order NPC QuestLink list by QuestId.
|
||||
# Retail: False (but ugly)
|
||||
OrderQuestListByQuestId = True
|
||||
|
||||
# Delete invalid quest from players.
|
||||
# Default: False
|
||||
AutoDeleteInvalidQuestData = False
|
||||
|
@@ -17,9 +17,12 @@
|
||||
package handlers.bypasshandlers;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.handler.IBypassHandler;
|
||||
import com.l2jmobius.gameserver.instancemanager.QuestManager;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
@@ -94,6 +97,16 @@ public class QuestLink implements IBypassHandler
|
||||
.collect(Collectors.toSet());
|
||||
//@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)
|
||||
{
|
||||
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 int SAVE_DROPPED_ITEM_INTERVAL;
|
||||
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 ENABLE_STORY_QUEST_BUFF_REWARD;
|
||||
public static boolean PRECISE_DROP_CALCULATION;
|
||||
@@ -1644,6 +1645,7 @@ public final class Config
|
||||
EMPTY_DROPPED_ITEM_TABLE_AFTER_LOAD = General.getBoolean("EmptyDroppedItemTableAfterLoad", false);
|
||||
SAVE_DROPPED_ITEM_INTERVAL = General.getInt("SaveDroppedItemInterval", 60) * 60000;
|
||||
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);
|
||||
ENABLE_STORY_QUEST_BUFF_REWARD = General.getBoolean("StoryQuestRewardBuff", true);
|
||||
MULTIPLE_ITEM_DROP = General.getBoolean("MultipleItemDrop", true);
|
||||
|
Reference in New Issue
Block a user