diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/datatables/xml/BoatData.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/datatables/xml/BoatData.java index 0453446f7f..f6b09958ae 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/datatables/xml/BoatData.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/datatables/xml/BoatData.java @@ -17,7 +17,9 @@ package org.l2jmobius.gameserver.datatables.xml; import java.io.File; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.logging.Logger; @@ -64,10 +66,8 @@ public class BoatData implements IXmlReader try { - int id; - int index; final StatSet set = new StatSet(); - final Map> paths = new HashMap<>(); + final Map> paths = new HashMap<>(); final Node n = doc.getFirstChild(); for (Node node = n.getFirstChild(); node != null; node = node.getNextSibling()) @@ -134,9 +134,7 @@ public class BoatData implements IXmlReader } else if ("path".equalsIgnoreCase(node.getNodeName())) { - index = 0; - id = Integer.parseInt(node.getAttributes().getNamedItem("id").getNodeValue()); - paths.put(id, new HashMap()); + final List pathList = new ArrayList<>(); for (Node b = node.getFirstChild(); b != null; b = b.getNextSibling()) { if (!"point".equalsIgnoreCase(b.getNodeName())) @@ -159,8 +157,9 @@ public class BoatData implements IXmlReader point.z = set.getInt("z"); point.time = set.getInt("time"); - paths.get(id).put(index++, point); + pathList.add(point); } + paths.put(Integer.parseInt(node.getAttributes().getNamedItem("id").getNodeValue()), pathList); } } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/BoatInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/BoatInstance.java index 285d771cb4..529eefabf8 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/BoatInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/BoatInstance.java @@ -17,7 +17,7 @@ package org.l2jmobius.gameserver.model.actor.instance; import java.util.Collection; -import java.util.Map; +import java.util.List; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -386,12 +386,12 @@ public class BoatInstance extends Creature } } - public void setPathA(int pathId, int ticketId, int ntx, int nty, int ntz, String announcer, String sysmess10, String sysmess5, String sysmess1, String sysmess0, String sysmessb, Map path) + public void setPathA(int pathId, int ticketId, int ntx, int nty, int ntz, String announcer, String sysmess10, String sysmess5, String sysmess1, String sysmess0, String sysmessb, List path) { pathA = new BoatPathHolder(pathId, ticketId, ntx, nty, ntz, announcer, sysmess10, sysmess5, sysmess1, sysmess0, sysmessb, path); } - public void setPathB(int pathId, int ticketId, int ntx, int nty, int ntz, String announcer, String sysmess10, String sysmess5, String sysmess1, String sysmess0, String sysmessb, Map path) + public void setPathB(int pathId, int ticketId, int ntx, int nty, int ntz, String announcer, String sysmess10, String sysmess5, String sysmess1, String sysmess0, String sysmessb, List path) { pathB = new BoatPathHolder(pathId, ticketId, ntx, nty, ntz, announcer, sysmess10, sysmess5, sysmess1, sysmess0, sysmessb, path); } diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/holders/BoatPathHolder.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/holders/BoatPathHolder.java index b5a66f23aa..b76973ce7e 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/holders/BoatPathHolder.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/holders/BoatPathHolder.java @@ -17,7 +17,7 @@ package org.l2jmobius.gameserver.model.holders; import java.util.Collection; -import java.util.Map; +import java.util.List; import java.util.logging.Logger; import org.l2jmobius.gameserver.model.actor.instance.BoatInstance; @@ -31,7 +31,7 @@ public class BoatPathHolder { protected static final Logger LOGGER = Logger.getLogger(BoatPathHolder.class.getName()); - private final Map _path; + private final List _path; private final int _max; public int ticketId; public int ntx; @@ -54,7 +54,7 @@ public class BoatPathHolder public int time; } - public BoatPathHolder(int pathId, int pTicketId, int pNtx, int pNty, int pNtz, String pNpc, String pSysmess10, String pSysmess5, String pSysmess1, String pSysmess0, String pSysmessb, Map path) + public BoatPathHolder(int pathId, int pTicketId, int pNtx, int pNty, int pNtz, String pNpc, String pSysmess10, String pSysmess5, String pSysmess1, String pSysmess0, String pSysmessb, List path) { ticketId = pTicketId; ntx = pNtx;