Use simple array to store appearance item data.

This commit is contained in:
MobiusDevelopment 2020-10-28 17:04:16 +00:00
parent f1e959afc2
commit 223001ea41
17 changed files with 272 additions and 153 deletions

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**

View File

@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.data.xml.impl; package org.l2jmobius.gameserver.data.xml.impl;
import java.io.File; import java.io.File;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.w3c.dom.Document; 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 static final Logger LOGGER = Logger.getLogger(AppearanceItemData.class.getName());
private final Map<Integer, AppearanceStone> _stones = new HashMap<>(); private AppearanceStone[] _stones;
private final Map<Integer, AppearanceStone> _stoneMap = new HashMap<>();
protected AppearanceItemData() protected AppearanceItemData()
{ {
@ -51,7 +54,14 @@ public class AppearanceItemData implements IXmlReader
public void load() public void load()
{ {
parseDatapackFile("data/AppearanceStones.xml"); parseDatapackFile("data/AppearanceStones.xml");
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stones.size() + " stones.");
_stones = new AppearanceStone[Collections.max(_stoneMap.keySet()) + 1];
for (Entry<Integer, AppearanceStone> stone : _stoneMap.entrySet())
{
_stones[stone.getKey()] = stone.getValue();
}
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _stoneMap.size() + " stones.");
//@formatter:off //@formatter:off
/* /*
@ -70,6 +80,8 @@ public class AppearanceItemData implements IXmlReader
} }
*/ */
//@formatter:on //@formatter:on
_stoneMap.clear();
} }
@Override @Override
@ -126,7 +138,7 @@ public class AppearanceItemData implements IXmlReader
} }
if (ItemTable.getInstance().getTemplate(stone.getId()) != null) if (ItemTable.getInstance().getTemplate(stone.getId()) != null)
{ {
_stones.put(stone.getId(), stone); _stoneMap.put(stone.getId(), stone);
} }
else else
{ {
@ -138,14 +150,9 @@ public class AppearanceItemData implements IXmlReader
} }
} }
public int getLoadedElementsCount()
{
return _stones.size();
}
public AppearanceStone getStone(int stone) public AppearanceStone getStone(int stone)
{ {
return _stones.get(stone); return _stones[stone];
} }
/** /**