diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index 0f1e4e2b93..e2ad5651c6 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index 0f1e4e2b93..e2ad5651c6 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index 0f1e4e2b93..e2ad5651c6 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index 0f1e4e2b93..e2ad5651c6 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index da63553d83..f63b614467 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index da63553d83..f63b614467 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index da63553d83..f63b614467 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index da63553d83..f63b614467 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index da63553d83..f63b614467 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index 0f1e4e2b93..e2ad5651c6 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index 0f1e4e2b93..e2ad5651c6 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index da63553d83..f63b614467 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index da63553d83..f63b614467 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index da63553d83..f63b614467 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index da63553d83..f63b614467 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index 0f1e4e2b93..e2ad5651c6 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /** diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java index da63553d83..f63b614467 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/data/xml/impl/AppearanceItemData.java @@ -17,8 +17,10 @@ package org.l2jmobius.gameserver.data.xml.impl; import java.io.File; +import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import java.util.logging.Logger; import org.w3c.dom.Document; @@ -40,7 +42,8 @@ public class AppearanceItemData implements IXmlReader { private static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName()); - private final Map _stones = new HashMap<>(); + private AppearanceStone[] _stones; + private final Map _stoneMap = new HashMap<>(); protected AppearanceItemData() { @@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader public void load() { parseDatapackFile("data/AppearanceStones.xml"); - LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones."); + + _stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1]; + for (Entry stone : _stoneMap.entrySet()) + { + _stones[stone.getKey()] = stone.getValue(); + } + + LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones."); //@formatter:off /* @@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader } */ //@formatter:on + + _stoneMap.clear(); } @Override @@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader } if (ItemTable.getInstance().getTemplate(stone.getId()) != null) { - _stones.put(stone.getId(), stone); + _stoneMap.put(stone.getId(), stone); } else { @@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader } } - public int getLoadedElementsCount() - { - return _stones.size(); - } - public AppearanceStone getStone(int stone) { - return _stones.get(stone); + return _stones[stone]; } /**