|
@@ -26,147 +26,151 @@ import net.sf.l2j.gameserver.model.entity.Auction;
|
|
|
|
|
|
public class AuctionManager
|
|
|
{
|
|
|
- protected static final Logger _log = Logger.getLogger(AuctionManager.class.getName());
|
|
|
- private static AuctionManager _instance;
|
|
|
- private List<Auction> _auctions;
|
|
|
+ protected static final Logger _log = Logger.getLogger(AuctionManager.class.getName());
|
|
|
+ private static AuctionManager _instance;
|
|
|
+ private List<Auction> _auctions;
|
|
|
private static final String[] ITEM_INIT_DATA =
|
|
|
+ {
|
|
|
+ "(23, 0, 'NPC', 'NPC Clan', 'ClanHall', 23, 0, 'Onyx Hall', 1, 20000000, 0, 1164841200000)", "(24, 0, 'NPC', 'NPC Clan', 'ClanHall', 24, 0, 'Topaz Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
+ "(25, 0, 'NPC', 'NPC Clan', 'ClanHall', 25, 0, 'Ruby Hall', 1, 20000000, 0, 1164841200000)", "(26, 0, 'NPC', 'NPC Clan', 'ClanHall', 26, 0, 'Crystal Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
+ "(27, 0, 'NPC', 'NPC Clan', 'ClanHall', 27, 0, 'Onyx Hall', 1, 20000000, 0, 1164841200000)", "(28, 0, 'NPC', 'NPC Clan', 'ClanHall', 28, 0, 'Sapphire Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
+ "(29, 0, 'NPC', 'NPC Clan', 'ClanHall', 29, 0, 'Moonstone Hall', 1, 20000000, 0, 1164841200000)", "(30, 0, 'NPC', 'NPC Clan', 'ClanHall', 30, 0, 'Emerald Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
+ "(31, 0, 'NPC', 'NPC Clan', 'ClanHall', 31, 0, 'The Atramental Barracks', 1, 8000000, 0, 1164841200000)", "(32, 0, 'NPC', 'NPC Clan', 'ClanHall', 32, 0, 'The Scarlet Barracks', 1, 8000000, 0, 1164841200000)",
|
|
|
+ "(33, 0, 'NPC', 'NPC Clan', 'ClanHall', 33, 0, 'The Viridian Barracks', 1, 8000000, 0, 1164841200000)", "(36, 0, 'NPC', 'NPC Clan', 'ClanHall', 36, 0, 'The Golden Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(37, 0, 'NPC', 'NPC Clan', 'ClanHall', 37, 0, 'The Silver Chamber', 1, 50000000, 0, 1164841200000)", "(38, 0, 'NPC', 'NPC Clan', 'ClanHall', 38, 0, 'The Mithril Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(39, 0, 'NPC', 'NPC Clan', 'ClanHall', 39, 0, 'Silver Manor', 1, 50000000, 0, 1164841200000)", "(40, 0, 'NPC', 'NPC Clan', 'ClanHall', 40, 0, 'Gold Manor', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(41, 0, 'NPC', 'NPC Clan', 'ClanHall', 41, 0, 'The Bronze Chamber', 1, 50000000, 0, 1164841200000)", "(42, 0, 'NPC', 'NPC Clan', 'ClanHall', 42, 0, 'The Golden Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(43, 0, 'NPC', 'NPC Clan', 'ClanHall', 43, 0, 'The Silver Chamber', 1, 50000000, 0, 1164841200000)", "(44, 0, 'NPC', 'NPC Clan', 'ClanHall', 44, 0, 'The Mithril Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(45, 0, 'NPC', 'NPC Clan', 'ClanHall', 45, 0, 'The Bronze Chamber', 1, 50000000, 0, 1164841200000)", "(46, 0, 'NPC', 'NPC Clan', 'ClanHall', 46, 0, 'Silver Manor', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(47, 0, 'NPC', 'NPC Clan', 'ClanHall', 47, 0, 'Moonstone Hall', 1, 50000000, 0, 1164841200000)", "(48, 0, 'NPC', 'NPC Clan', 'ClanHall', 48, 0, 'Onyx Hall', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(49, 0, 'NPC', 'NPC Clan', 'ClanHall', 49, 0, 'Emerald Hall', 1, 50000000, 0, 1164841200000)", "(50, 0, 'NPC', 'NPC Clan', 'ClanHall', 50, 0, 'Sapphire Hall', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(51, 0, 'NPC', 'NPC Clan', 'ClanHall', 51, 0, 'Mont Chamber', 1, 50000000, 0, 1164841200000)", "(52, 0, 'NPC', 'NPC Clan', 'ClanHall', 52, 0, 'Astaire Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(53, 0, 'NPC', 'NPC Clan', 'ClanHall', 53, 0, 'Aria Chamber', 1, 50000000, 0, 1164841200000)", "(54, 0, 'NPC', 'NPC Clan', 'ClanHall', 54, 0, 'Yiana Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(55, 0, 'NPC', 'NPC Clan', 'ClanHall', 55, 0, 'Roien Chamber', 1, 50000000, 0, 1164841200000)", "(56, 0, 'NPC', 'NPC Clan', 'ClanHall', 56, 0, 'Luna Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(57, 0, 'NPC', 'NPC Clan', 'ClanHall', 57, 0, 'Traban Chamber', 1, 50000000, 0, 1164841200000)", "(58, 0, 'NPC', 'NPC Clan', 'ClanHall', 58, 0, 'Eisen Hall', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(59, 0, 'NPC', 'NPC Clan', 'ClanHall', 59, 0, 'Heavy Metal Hall', 1, 50000000, 0, 1164841200000)", "(60, 0, 'NPC', 'NPC Clan', 'ClanHall', 60, 0, 'Molten Ore Hall', 1, 50000000, 0, 1164841200000)",
|
|
|
+ "(61, 0, 'NPC', 'NPC Clan', 'ClanHall', 61, 0, 'Titan Hall', 1, 50000000, 0, 1164841200000)"
|
|
|
+ };
|
|
|
+ private static final Integer[] ItemInitDataId =
|
|
|
+ {
|
|
|
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61
|
|
|
+ };
|
|
|
+
|
|
|
+ public static final AuctionManager getInstance()
|
|
|
+ {
|
|
|
+ if (_instance == null)
|
|
|
{
|
|
|
- "(23, 0, 'NPC', 'NPC Clan', 'ClanHall', 23, 0, 'Onyx Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
- "(24, 0, 'NPC', 'NPC Clan', 'ClanHall', 24, 0, 'Topaz Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
- "(25, 0, 'NPC', 'NPC Clan', 'ClanHall', 25, 0, 'Ruby Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
- "(26, 0, 'NPC', 'NPC Clan', 'ClanHall', 26, 0, 'Crystal Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
- "(27, 0, 'NPC', 'NPC Clan', 'ClanHall', 27, 0, 'Onyx Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
- "(28, 0, 'NPC', 'NPC Clan', 'ClanHall', 28, 0, 'Sapphire Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
- "(29, 0, 'NPC', 'NPC Clan', 'ClanHall', 29, 0, 'Moonstone Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
- "(30, 0, 'NPC', 'NPC Clan', 'ClanHall', 30, 0, 'Emerald Hall', 1, 20000000, 0, 1164841200000)",
|
|
|
- "(31, 0, 'NPC', 'NPC Clan', 'ClanHall', 31, 0, 'The Atramental Barracks', 1, 8000000, 0, 1164841200000)",
|
|
|
- "(32, 0, 'NPC', 'NPC Clan', 'ClanHall', 32, 0, 'The Scarlet Barracks', 1, 8000000, 0, 1164841200000)",
|
|
|
- "(33, 0, 'NPC', 'NPC Clan', 'ClanHall', 33, 0, 'The Viridian Barracks', 1, 8000000, 0, 1164841200000)",
|
|
|
- "(36, 0, 'NPC', 'NPC Clan', 'ClanHall', 36, 0, 'The Golden Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(37, 0, 'NPC', 'NPC Clan', 'ClanHall', 37, 0, 'The Silver Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(38, 0, 'NPC', 'NPC Clan', 'ClanHall', 38, 0, 'The Mithril Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(39, 0, 'NPC', 'NPC Clan', 'ClanHall', 39, 0, 'Silver Manor', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(40, 0, 'NPC', 'NPC Clan', 'ClanHall', 40, 0, 'Gold Manor', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(41, 0, 'NPC', 'NPC Clan', 'ClanHall', 41, 0, 'The Bronze Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(42, 0, 'NPC', 'NPC Clan', 'ClanHall', 42, 0, 'The Golden Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(43, 0, 'NPC', 'NPC Clan', 'ClanHall', 43, 0, 'The Silver Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(44, 0, 'NPC', 'NPC Clan', 'ClanHall', 44, 0, 'The Mithril Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(45, 0, 'NPC', 'NPC Clan', 'ClanHall', 45, 0, 'The Bronze Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(46, 0, 'NPC', 'NPC Clan', 'ClanHall', 46, 0, 'Silver Manor', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(47, 0, 'NPC', 'NPC Clan', 'ClanHall', 47, 0, 'Moonstone Hall', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(48, 0, 'NPC', 'NPC Clan', 'ClanHall', 48, 0, 'Onyx Hall', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(49, 0, 'NPC', 'NPC Clan', 'ClanHall', 49, 0, 'Emerald Hall', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(50, 0, 'NPC', 'NPC Clan', 'ClanHall', 50, 0, 'Sapphire Hall', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(51, 0, 'NPC', 'NPC Clan', 'ClanHall', 51, 0, 'Mont Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(52, 0, 'NPC', 'NPC Clan', 'ClanHall', 52, 0, 'Astaire Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(53, 0, 'NPC', 'NPC Clan', 'ClanHall', 53, 0, 'Aria Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(54, 0, 'NPC', 'NPC Clan', 'ClanHall', 54, 0, 'Yiana Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(55, 0, 'NPC', 'NPC Clan', 'ClanHall', 55, 0, 'Roien Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(56, 0, 'NPC', 'NPC Clan', 'ClanHall', 56, 0, 'Luna Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(57, 0, 'NPC', 'NPC Clan', 'ClanHall', 57, 0, 'Traban Chamber', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(58, 0, 'NPC', 'NPC Clan', 'ClanHall', 58, 0, 'Eisen Hall', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(59, 0, 'NPC', 'NPC Clan', 'ClanHall', 59, 0, 'Heavy Metal Hall', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(60, 0, 'NPC', 'NPC Clan', 'ClanHall', 60, 0, 'Molten Ore Hall', 1, 50000000, 0, 1164841200000)",
|
|
|
- "(61, 0, 'NPC', 'NPC Clan', 'ClanHall', 61, 0, 'Titan Hall', 1, 50000000, 0, 1164841200000)"
|
|
|
- };
|
|
|
- private static final Integer[] ItemInitDataId =
|
|
|
- {
|
|
|
- 23,24,25,26,27,28,29,30,31,32,33,36,37,38,39,40,41,42,43,44,45,46,47,48
|
|
|
- ,49,50,51,52,53,54,55,56,57,58,59,60,61
|
|
|
- };
|
|
|
- public static final AuctionManager getInstance()
|
|
|
- {
|
|
|
- if (_instance == null)
|
|
|
- {
|
|
|
- _log.info("Initializing AuctionManager");
|
|
|
- _instance = new AuctionManager();
|
|
|
- }
|
|
|
- return _instance;
|
|
|
- }
|
|
|
- public AuctionManager()
|
|
|
- {
|
|
|
- _auctions = new FastList<Auction>();
|
|
|
- load();
|
|
|
- }
|
|
|
- public void reload()
|
|
|
- {
|
|
|
- _auctions.clear();
|
|
|
- load();
|
|
|
- }
|
|
|
- private final void load()
|
|
|
- {
|
|
|
- java.sql.Connection con = null;
|
|
|
- try
|
|
|
- {
|
|
|
- PreparedStatement statement;
|
|
|
- ResultSet rs;
|
|
|
- con = L2DatabaseFactory.getInstance().getConnection();
|
|
|
- statement = con.prepareStatement("SELECT id FROM auction ORDER BY id");
|
|
|
- rs = statement.executeQuery();
|
|
|
- while (rs.next())
|
|
|
- _auctions.add(new Auction(rs.getInt("id")));
|
|
|
- statement.close();
|
|
|
- _log.info("Loaded: " + getAuctions().size() + " auction(s)");
|
|
|
- }
|
|
|
- catch (Exception e)
|
|
|
- {
|
|
|
- _log.warning("Exception: AuctionManager.load(): " + e.getMessage());
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
- finally {try { con.close(); } catch (Exception e) {}}
|
|
|
- }
|
|
|
- public final Auction getAuction(int auctionId)
|
|
|
- {
|
|
|
- int index = getAuctionIndex(auctionId);
|
|
|
- if (index >= 0)
|
|
|
- return getAuctions().get(index);
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- public final int getAuctionIndex(int auctionId)
|
|
|
- {
|
|
|
- Auction auction;
|
|
|
- for (int i = 0; i < getAuctions().size(); i++)
|
|
|
- {
|
|
|
- auction = getAuctions().get(i);
|
|
|
- if (auction != null && auction.getId() == auctionId)
|
|
|
- return i;
|
|
|
- }
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- public final List<Auction> getAuctions()
|
|
|
- {
|
|
|
- return _auctions;
|
|
|
- }
|
|
|
- /** Init Clan NPC aution */
|
|
|
- public void initNPC(int id){
|
|
|
- java.sql.Connection con = null;
|
|
|
- int i = 0;
|
|
|
- for(i=0;i<ItemInitDataId.length;i++)
|
|
|
- if(ItemInitDataId[i] == id)
|
|
|
- break;
|
|
|
- if(i>=ItemInitDataId.length){
|
|
|
- _log.warning("Clan Hall auction not found for Id :"+id);
|
|
|
- return;
|
|
|
- }
|
|
|
- try
|
|
|
- {
|
|
|
- con = L2DatabaseFactory.getInstance().getConnection();
|
|
|
- PreparedStatement statement;
|
|
|
- statement = con.prepareStatement("INSERT INTO `auction` VALUES "+ITEM_INIT_DATA[i]);
|
|
|
- statement.execute();
|
|
|
- statement.close();
|
|
|
- _auctions.add(new Auction(id));
|
|
|
- }
|
|
|
- catch (Exception e)
|
|
|
- {
|
|
|
- _log.log(Level.SEVERE, "Exception: Auction.initNPC(): " + e.getMessage(),e);
|
|
|
- }
|
|
|
- finally
|
|
|
- {
|
|
|
- try { con.close(); } catch (Exception e) {}
|
|
|
- }
|
|
|
+ _log.info("Initializing AuctionManager");
|
|
|
+ _instance = new AuctionManager();
|
|
|
+ }
|
|
|
+ return _instance;
|
|
|
+ }
|
|
|
+
|
|
|
+ public AuctionManager()
|
|
|
+ {
|
|
|
+ _auctions = new FastList<Auction>();
|
|
|
+ load();
|
|
|
+ }
|
|
|
+
|
|
|
+ public void reload()
|
|
|
+ {
|
|
|
+ _auctions.clear();
|
|
|
+ load();
|
|
|
+ }
|
|
|
+
|
|
|
+ private final void load()
|
|
|
+ {
|
|
|
+ java.sql.Connection con = null;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ PreparedStatement statement;
|
|
|
+ ResultSet rs;
|
|
|
+ con = L2DatabaseFactory.getInstance().getConnection();
|
|
|
+ statement = con.prepareStatement("SELECT id FROM auction ORDER BY id");
|
|
|
+ rs = statement.executeQuery();
|
|
|
+ while (rs.next())
|
|
|
+ _auctions.add(new Auction(rs.getInt("id")));
|
|
|
+ statement.close();
|
|
|
+ _log.info("Loaded: " + getAuctions().size() + " auction(s)");
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ _log.warning("Exception: AuctionManager.load(): " + e.getMessage());
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ finally
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ con.close();
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public final Auction getAuction(int auctionId)
|
|
|
+ {
|
|
|
+ int index = getAuctionIndex(auctionId);
|
|
|
+ if (index >= 0)
|
|
|
+ return getAuctions().get(index);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ public final int getAuctionIndex(int auctionId)
|
|
|
+ {
|
|
|
+ Auction auction;
|
|
|
+ for (int i = 0; i < getAuctions().size(); i++)
|
|
|
+ {
|
|
|
+ auction = getAuctions().get(i);
|
|
|
+ if (auction != null && auction.getId() == auctionId)
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ public final List<Auction> getAuctions()
|
|
|
+ {
|
|
|
+ return _auctions;
|
|
|
+ }
|
|
|
+
|
|
|
+ /** Init Clan NPC aution */
|
|
|
+ public void initNPC(int id)
|
|
|
+ {
|
|
|
+ java.sql.Connection con = null;
|
|
|
+ int i = 0;
|
|
|
+ for (i = 0; i < ItemInitDataId.length; i++)
|
|
|
+ if (ItemInitDataId[i] == id)
|
|
|
+ break;
|
|
|
+ if (i >= ItemInitDataId.length)
|
|
|
+ {
|
|
|
+ _log.warning("Clan Hall auction not found for Id :" + id);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ try
|
|
|
+ {
|
|
|
+ con = L2DatabaseFactory.getInstance().getConnection();
|
|
|
+ PreparedStatement statement;
|
|
|
+ statement = con.prepareStatement("INSERT INTO `auction` VALUES " + ITEM_INIT_DATA[i]);
|
|
|
+ statement.execute();
|
|
|
+ statement.close();
|
|
|
+ _auctions.add(new Auction(id));
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ _log.log(Level.SEVERE, "Exception: Auction.initNPC(): " + e.getMessage(), e);
|
|
|
+ }
|
|
|
+ finally
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ con.close();
|
|
|
+ }
|
|
|
+ catch (Exception e)
|
|
|
+ {
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|