Removed stream usage from DailyMissionData.

This commit is contained in:
MobiusDevelopment 2023-01-08 11:20:11 +00:00
parent 7f1d8a5dc2
commit 42ec5d7188
23 changed files with 506 additions and 345 deletions

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -35,12 +35,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -53,7 +55,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -98,23 +108,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -36,12 +36,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -54,7 +56,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -103,23 +113,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)

View File

@ -20,10 +20,10 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
import java.util.stream.Collectors;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -36,12 +36,14 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.ItemHolder;
/** /**
* @author Sdw * @author Sdw, Mobius
*/ */
public class DailyMissionData implements IXmlReader public class DailyMissionData implements IXmlReader
{ {
private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName()); private static final Logger LOGGER = Logger.getLogger(DailyMissionData.class.getName());
private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>(); private final Map<Integer, List<DailyMissionDataHolder>> _dailyMissionRewards = new LinkedHashMap<>();
private final List<DailyMissionDataHolder> _dailyMissionData = new ArrayList<>();
private boolean _isAvailable; private boolean _isAvailable;
protected DailyMissionData() protected DailyMissionData()
@ -54,7 +56,15 @@ public class DailyMissionData implements IXmlReader
{ {
_dailyMissionRewards.clear(); _dailyMissionRewards.clear();
parseDatapackFile("data/DailyMission.xml"); parseDatapackFile("data/DailyMission.xml");
_dailyMissionData.clear();
for (List<DailyMissionDataHolder> missionList : _dailyMissionRewards.values())
{
_dailyMissionData.addAll(missionList);
}
_isAvailable = !_dailyMissionRewards.isEmpty(); _isAvailable = !_dailyMissionRewards.isEmpty();
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards."); LOGGER.info(getClass().getSimpleName() + ": Loaded " + _dailyMissionRewards.size() + " one day rewards.");
} }
@ -103,23 +113,20 @@ public class DailyMissionData implements IXmlReader
public Collection<DailyMissionDataHolder> getDailyMissionData() public Collection<DailyMissionDataHolder> getDailyMissionData()
{ {
//@formatter:off return _dailyMissionData;
return _dailyMissionRewards.values()
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
//@formatter:on
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(Player player) public Collection<DailyMissionDataHolder> getDailyMissionData(Player player)
{ {
//@formatter:off final List<DailyMissionDataHolder> missionData = new LinkedList<>();
return _dailyMissionRewards.values() for (DailyMissionDataHolder mission : _dailyMissionData)
.stream() {
.flatMap(List::stream) if (mission.isDisplayable(player))
.filter(o -> o.isDisplayable(player)) {
.collect(Collectors.toList()); missionData.add(mission);
//@formatter:on }
}
return missionData;
} }
public Collection<DailyMissionDataHolder> getDailyMissionData(int id) public Collection<DailyMissionDataHolder> getDailyMissionData(int id)