浏览代码

BETA: Some misc changes:
* Loggers review:
* Added getClass().getSimpleName() as prefix.
* Added some missing loggers.
* Removed useless spammy debug logs.
* !L2Manor:
* Moved to datatables as ManorData.
* XML Reading to DocumentParser.
* Other:
* Some trove -> Java maps or Javolution (When thread-safety is needed)

Rumen Nikiforov 12 年之前
父节点
当前提交
69daf9c498
共有 100 个文件被更改,包括 1298 次插入1886 次删除
  1. 13 15
      L2J_Server_BETA/java/com/l2jserver/gameserver/GameServer.java
  2. 2 11
      L2J_Server_BETA/java/com/l2jserver/gameserver/ItemsAutoDestroy.java
  3. 1 82
      L2J_Server_BETA/java/com/l2jserver/gameserver/LoginServerThread.java
  4. 3 32
      L2J_Server_BETA/java/com/l2jserver/gameserver/SevenSigns.java
  5. 6 84
      L2J_Server_BETA/java/com/l2jserver/gameserver/SevenSignsFestival.java
  6. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/Shutdown.java
  7. 0 24
      L2J_Server_BETA/java/com/l2jserver/gameserver/TradeController.java
  8. 2 20
      L2J_Server_BETA/java/com/l2jserver/gameserver/ai/L2PlayerAI.java
  9. 5 6
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/AdminTable.java
  10. 1 3
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/ArmorSetsData.java
  11. 21 37
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/AugmentationData.java
  12. 9 12
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/CharNameTable.java
  13. 7 7
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/CharSummonTable.java
  14. 2 2
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/CharTemplateTable.java
  15. 7 30
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/ClanTable.java
  16. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/DoorTable.java
  17. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/EnchantGroupsData.java
  18. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/EnchantHPBonusData.java
  19. 1 9
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/EventDroplist.java
  20. 2 2
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/HelperBuffTable.java
  21. 16 17
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/HerbDropTable.java
  22. 6 2
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/ItemTable.java
  23. 0 110
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/LevelUpData.java
  24. 364 0
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/ManorData.java
  25. 3 3
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/MerchantPriceConfigTable.java
  26. 21 23
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/MultiSell.java
  27. 6 5
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/NpcBufferTable.java
  28. 7 8
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/NpcTable.java
  29. 2 2
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/NpcWalkerRoutesData.java
  30. 23 9
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/OfflineTradersTable.java
  31. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/PetDataTable.java
  32. 2 2
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/PetNameTable.java
  33. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/RecipeData.java
  34. 25 19
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/SkillTable.java
  35. 14 14
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/SpawnTable.java
  36. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/StaticObjects.java
  37. 7 7
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/SummonItemsData.java
  38. 19 25
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/SummonSkillsTable.java
  39. 13 13
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/TeleportLocationTable.java
  40. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/TerritoryTable.java
  41. 11 11
      L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/UITable.java
  42. 2 3
      L2J_Server_BETA/java/com/l2jserver/gameserver/engines/DocumentEngine.java
  43. 13 13
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/AirShipManager.java
  44. 58 68
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/AntiFeedManager.java
  45. 9 9
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/AuctionManager.java
  46. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/CHSiegeManager.java
  47. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/CastleManager.java
  48. 14 10
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/CastleManorManager.java
  49. 2 2
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/ClanHallManager.java
  50. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/CoupleManager.java
  51. 10 28
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/CursedWeaponsManager.java
  52. 1 3
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/DayNightSpawnManager.java
  53. 8 5
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/DimensionalRiftManager.java
  54. 5 5
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/DuelManager.java
  55. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/FortManager.java
  56. 0 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/FortSiegeGuardManager.java
  57. 35 28
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/FourSepulchersManager.java
  58. 5 6
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/GlobalVariablesManager.java
  59. 38 18
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/GraciaSeedsManager.java
  60. 14 14
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/GrandBossManager.java
  61. 8 11
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/HellboundManager.java
  62. 2 6
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/InstanceManager.java
  63. 10 10
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/ItemAuctionManager.java
  64. 54 66
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/ItemsOnGroundManager.java
  65. 21 21
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/MailManager.java
  66. 0 9
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/MapRegionManager.java
  67. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/MercTicketManager.java
  68. 3 3
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/PetitionManager.java
  69. 6 7
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/QuestManager.java
  70. 21 18
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/RaidBossPointsManager.java
  71. 12 12
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/RaidBossSpawnManager.java
  72. 6 6
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/SiegeGuardManager.java
  73. 10 10
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/SiegeManager.java
  74. 33 33
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/TerritoryWarManager.java
  75. 9 10
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/TransformationManager.java
  76. 10 15
      L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/ZoneManager.java
  77. 1 28
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/AutoChatHandler.java
  78. 0 20
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/AutoSpawnHandler.java
  79. 0 464
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/L2Manor.java
  80. 96 0
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/L2Seed.java
  81. 4 17
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Attackable.java
  82. 17 56
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Character.java
  83. 9 55
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
  84. 2 23
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/entity/Castle.java
  85. 1 17
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/entity/ClanHall.java
  86. 0 16
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/entity/Fort.java
  87. 7 4
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/entity/Instance.java
  88. 0 3
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/entity/clanhall/AuctionableHall.java
  89. 9 0
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/items/L2Item.java
  90. 7 2
      L2J_Server_BETA/java/com/l2jserver/gameserver/network/clientpackets/Action.java
  91. 2 2
      L2J_Server_BETA/java/com/l2jserver/gameserver/network/clientpackets/RequestProcureCropList.java
  92. 4 4
      L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowCropInfo.java
  93. 9 9
      L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowCropSetting.java
  94. 9 9
      L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowManorDefaultInfo.java
  95. 4 4
      L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowSeedInfo.java
  96. 10 10
      L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowSeedSetting.java
  97. 5 6
      L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowSellCropList.java
  98. 0 5
      L2J_Server_BETA/java/com/l2jserver/gameserver/taskmanager/Task.java
  99. 25 23
      L2J_Server_BETA/java/com/l2jserver/gameserver/taskmanager/TaskManager.java
  100. 24 0
      L2J_Server_BETA/java/com/l2jserver/util/CloseShieldedInputStream.java

+ 13 - 15
L2J_Server_BETA/java/com/l2jserver/gameserver/GameServer.java

@@ -57,7 +57,7 @@ import com.l2jserver.gameserver.datatables.HerbDropTable;
 import com.l2jserver.gameserver.datatables.HitConditionBonus;
 import com.l2jserver.gameserver.datatables.HitConditionBonus;
 import com.l2jserver.gameserver.datatables.InitialEquipmentData;
 import com.l2jserver.gameserver.datatables.InitialEquipmentData;
 import com.l2jserver.gameserver.datatables.ItemTable;
 import com.l2jserver.gameserver.datatables.ItemTable;
-import com.l2jserver.gameserver.datatables.LevelUpData;
+import com.l2jserver.gameserver.datatables.ManorData;
 import com.l2jserver.gameserver.datatables.MerchantPriceConfigTable;
 import com.l2jserver.gameserver.datatables.MerchantPriceConfigTable;
 import com.l2jserver.gameserver.datatables.MultiSell;
 import com.l2jserver.gameserver.datatables.MultiSell;
 import com.l2jserver.gameserver.datatables.NpcBufferTable;
 import com.l2jserver.gameserver.datatables.NpcBufferTable;
@@ -113,7 +113,6 @@ import com.l2jserver.gameserver.instancemanager.WalkingManager;
 import com.l2jserver.gameserver.instancemanager.ZoneManager;
 import com.l2jserver.gameserver.instancemanager.ZoneManager;
 import com.l2jserver.gameserver.model.AutoChatHandler;
 import com.l2jserver.gameserver.model.AutoChatHandler;
 import com.l2jserver.gameserver.model.AutoSpawnHandler;
 import com.l2jserver.gameserver.model.AutoSpawnHandler;
-import com.l2jserver.gameserver.model.L2Manor;
 import com.l2jserver.gameserver.model.L2World;
 import com.l2jserver.gameserver.model.L2World;
 import com.l2jserver.gameserver.model.PartyMatchRoomList;
 import com.l2jserver.gameserver.model.PartyMatchRoomList;
 import com.l2jserver.gameserver.model.PartyMatchWaitingList;
 import com.l2jserver.gameserver.model.PartyMatchWaitingList;
@@ -176,22 +175,22 @@ public class GameServer
 		long serverLoadStart = System.currentTimeMillis();
 		long serverLoadStart = System.currentTimeMillis();
 		
 		
 		gameServer = this;
 		gameServer = this;
-		_log.finest("used mem:" + getUsedMemoryMB() + "MB");
+		_log.finest(getClass().getSimpleName() + ": used mem:" + getUsedMemoryMB() + "MB");
 		
 		
 		if (Config.SERVER_VERSION != null)
 		if (Config.SERVER_VERSION != null)
 		{
 		{
-			_log.info("L2J Server Version:    " + Config.SERVER_VERSION);
+			_log.info(getClass().getSimpleName() + ": L2J Server Version:    " + Config.SERVER_VERSION);
 		}
 		}
 		if (Config.DATAPACK_VERSION != null)
 		if (Config.DATAPACK_VERSION != null)
 		{
 		{
-			_log.info("L2J Datapack Version:  " + Config.DATAPACK_VERSION);
+			_log.info(getClass().getSimpleName() + ": L2J Datapack Version:  " + Config.DATAPACK_VERSION);
 		}
 		}
 		
 		
 		_idFactory = IdFactory.getInstance();
 		_idFactory = IdFactory.getInstance();
 		
 		
 		if (!_idFactory.isInitialized())
 		if (!_idFactory.isInitialized())
 		{
 		{
-			_log.severe("Could not read object IDs from DB. Please Check Your Data.");
+			_log.severe(getClass().getSimpleName() + ": Could not read object IDs from DB. Please Check Your Data.");
 			throw new Exception("Could not initialize the ID factory");
 			throw new Exception("Could not initialize the ID factory");
 		}
 		}
 		
 		
@@ -242,7 +241,6 @@ public class GameServer
 		HitConditionBonus.getInstance();
 		HitConditionBonus.getInstance();
 		CharTemplateTable.getInstance();
 		CharTemplateTable.getInstance();
 		CharNameTable.getInstance();
 		CharNameTable.getInstance();
-		LevelUpData.getInstance();
 		AdminTable.getInstance();
 		AdminTable.getInstance();
 		RaidBossPointsManager.getInstance();
 		RaidBossPointsManager.getInstance();
 		PetDataTable.getInstance();
 		PetDataTable.getInstance();
@@ -286,7 +284,7 @@ public class GameServer
 		TerritoryWarManager.getInstance();
 		TerritoryWarManager.getInstance();
 		CastleManorManager.getInstance();
 		CastleManorManager.getInstance();
 		MercTicketManager.getInstance();
 		MercTicketManager.getInstance();
-		L2Manor.getInstance();
+		ManorData.getInstance();
 		
 		
 		printSection("Olympiad");
 		printSection("Olympiad");
 		Olympiad.getInstance();
 		Olympiad.getInstance();
@@ -314,14 +312,14 @@ public class GameServer
 		
 		
 		try
 		try
 		{
 		{
-			_log.info("Loading Server Scripts");
+			_log.info(getClass().getSimpleName() + ": Loading Server Scripts");
 			File scripts = new File(Config.DATAPACK_ROOT, "data/scripts.cfg");
 			File scripts = new File(Config.DATAPACK_ROOT, "data/scripts.cfg");
 			if(!Config.ALT_DEV_NO_HANDLERS || !Config.ALT_DEV_NO_QUESTS)
 			if(!Config.ALT_DEV_NO_HANDLERS || !Config.ALT_DEV_NO_QUESTS)
 				L2ScriptEngineManager.getInstance().executeScriptList(scripts);
 				L2ScriptEngineManager.getInstance().executeScriptList(scripts);
 		}
 		}
 		catch (IOException ioe)
 		catch (IOException ioe)
 		{
 		{
-			_log.severe("Failed loading scripts.cfg, no script going to be loaded");
+			_log.severe(getClass().getSimpleName() + ": Failed loading scripts.cfg, no script going to be loaded");
 		}
 		}
 		
 		
 		QuestManager.getInstance().report();
 		QuestManager.getInstance().report();
@@ -370,7 +368,7 @@ public class GameServer
 		KnownListUpdateTaskManager.getInstance();
 		KnownListUpdateTaskManager.getInstance();
 		
 		
 		if ((Config.OFFLINE_TRADE_ENABLE || Config.OFFLINE_CRAFT_ENABLE) && Config.RESTORE_OFFLINERS)
 		if ((Config.OFFLINE_TRADE_ENABLE || Config.OFFLINE_CRAFT_ENABLE) && Config.RESTORE_OFFLINERS)
-			OfflineTradersTable.restoreOfflineTraders();
+			OfflineTradersTable.getInstance().restoreOfflineTraders();
 		
 		
 		if (Config.DEADLOCK_DETECTOR)
 		if (Config.DEADLOCK_DETECTOR)
 		{
 		{
@@ -386,7 +384,7 @@ public class GameServer
 		// allocation pool
 		// allocation pool
 		long freeMem = (Runtime.getRuntime().maxMemory() - Runtime.getRuntime().totalMemory() + Runtime.getRuntime().freeMemory()) / 1048576;
 		long freeMem = (Runtime.getRuntime().maxMemory() - Runtime.getRuntime().totalMemory() + Runtime.getRuntime().freeMemory()) / 1048576;
 		long totalMem = Runtime.getRuntime().maxMemory() / 1048576;
 		long totalMem = Runtime.getRuntime().maxMemory() / 1048576;
-		_log.info("GameServer Started, free memory " + freeMem + " Mb of " + totalMem + " Mb");
+		_log.info(getClass().getSimpleName() + ": Started, free memory " + freeMem + " Mb of " + totalMem + " Mb");
 		Toolkit.getDefaultToolkit().beep();
 		Toolkit.getDefaultToolkit().beep();
 		
 		
 		_loginThread = LoginServerThread.getInstance();
 		_loginThread = LoginServerThread.getInstance();
@@ -413,7 +411,7 @@ public class GameServer
 			}
 			}
 			catch (UnknownHostException e1)
 			catch (UnknownHostException e1)
 			{
 			{
-				_log.log(Level.SEVERE, "WARNING: The GameServer bind address is invalid, using all avaliable IPs. Reason: " + e1.getMessage(), e1);
+				_log.log(Level.SEVERE, getClass().getSimpleName() + ": WARNING: The GameServer bind address is invalid, using all avaliable IPs. Reason: " + e1.getMessage(), e1);
 			}
 			}
 		}
 		}
 		
 		
@@ -423,7 +421,7 @@ public class GameServer
 		}
 		}
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
-			_log.log(Level.SEVERE, "FATAL: Failed to open server socket. Reason: " + e.getMessage(), e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": FATAL: Failed to open server socket. Reason: " + e.getMessage(), e);
 			System.exit(1);
 			System.exit(1);
 		}
 		}
 		_selectorThread.start();
 		_selectorThread.start();
@@ -465,7 +463,7 @@ public class GameServer
 		}
 		}
 		else
 		else
 		{
 		{
-			_log.info("Telnet server is currently disabled.");
+			_log.info(GameServer.class.getSimpleName() + ": Telnet server is currently disabled.");
 		}
 		}
 	}
 	}
 	
 	

+ 2 - 11
L2J_Server_BETA/java/com/l2jserver/gameserver/ItemsAutoDestroy.java

@@ -15,7 +15,6 @@
 package com.l2jserver.gameserver;
 package com.l2jserver.gameserver;
 
 
 import java.util.List;
 import java.util.List;
-import java.util.logging.Logger;
 
 
 import javolution.util.FastList;
 import javolution.util.FastList;
 
 
@@ -26,9 +25,7 @@ import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
 import com.l2jserver.gameserver.model.items.type.L2EtcItemType;
 import com.l2jserver.gameserver.model.items.type.L2EtcItemType;
 
 
 public class ItemsAutoDestroy
 public class ItemsAutoDestroy
-{
-	private static final Logger _log = Logger.getLogger(ItemsAutoDestroy.class.getName());
-	
+{	
 	protected List<L2ItemInstance> _items = null;
 	protected List<L2ItemInstance> _items = null;
 	protected static long _sleep;
 	protected static long _sleep;
 	
 	
@@ -54,9 +51,6 @@ public class ItemsAutoDestroy
 	
 	
 	public synchronized void removeItems()
 	public synchronized void removeItems()
 	{
 	{
-		if (Config.DEBUG)
-			_log.info("[ItemsAutoDestroy] : " + _items.size() + " items to check.");
-		
 		if (_items.isEmpty())
 		if (_items.isEmpty())
 			return;
 			return;
 		
 		
@@ -98,10 +92,7 @@ public class ItemsAutoDestroy
 						ItemsOnGroundManager.getInstance().removeObject(item);
 						ItemsOnGroundManager.getInstance().removeObject(item);
 				}
 				}
 			}
 			}
-		}
-		
-		if (Config.DEBUG)
-			_log.info("[ItemsAutoDestroy] : " + _items.size() + " items remaining.");
+		}		
 	}
 	}
 	
 	
 	protected class CheckItemsForDestroy extends Thread
 	protected class CheckItemsForDestroy extends Thread

+ 1 - 82
L2J_Server_BETA/java/com/l2jserver/gameserver/LoginServerThread.java

@@ -211,19 +211,11 @@ public class LoginServerThread extends Thread
 						break;
 						break;
 					}
 					}
 					
 					
-					if (Config.DEBUG)
-					{
-						_log.warning("[C]\n" + Util.printData(incoming));
-					}
 					int packetType = incoming[0] & 0xff;
 					int packetType = incoming[0] & 0xff;
 					switch (packetType)
 					switch (packetType)
 					{
 					{
 						case 0x00:
 						case 0x00:
 							InitLS init = new InitLS(incoming);
 							InitLS init = new InitLS(incoming);
-							if (Config.DEBUG)
-							{
-								_log.info("Init received");
-							}
 							if (init.getRevision() != REVISION)
 							if (init.getRevision() != REVISION)
 							{
 							{
 								// TODO: revision mismatch
 								// TODO: revision mismatch
@@ -236,10 +228,6 @@ public class LoginServerThread extends Thread
 								BigInteger modulus = new BigInteger(init.getRSAKey());
 								BigInteger modulus = new BigInteger(init.getRSAKey());
 								RSAPublicKeySpec kspec1 = new RSAPublicKeySpec(modulus, RSAKeyGenParameterSpec.F4);
 								RSAPublicKeySpec kspec1 = new RSAPublicKeySpec(modulus, RSAKeyGenParameterSpec.F4);
 								_publicKey = (RSAPublicKey) kfac.generatePublic(kspec1);
 								_publicKey = (RSAPublicKey) kfac.generatePublic(kspec1);
-								if (Config.DEBUG)
-								{
-									_log.info("RSA key set up");
-								}
 							}
 							}
 							
 							
 							catch (GeneralSecurityException e)
 							catch (GeneralSecurityException e)
@@ -250,22 +238,10 @@ public class LoginServerThread extends Thread
 							// send the blowfish key through the rsa encryption
 							// send the blowfish key through the rsa encryption
 							BlowFishKey bfk = new BlowFishKey(_blowfishKey, _publicKey);
 							BlowFishKey bfk = new BlowFishKey(_blowfishKey, _publicKey);
 							sendPacket(bfk);
 							sendPacket(bfk);
-							if (Config.DEBUG)
-							{
-								_log.info("Sent new blowfish key");
-							}
 							// now, only accept packet with the new encryption
 							// now, only accept packet with the new encryption
 							_blowfish = new NewCrypt(_blowfishKey);
 							_blowfish = new NewCrypt(_blowfishKey);
-							if (Config.DEBUG)
-							{
-								_log.info("Changed blowfish key");
-							}
 							AuthRequest ar = new AuthRequest(_requestID, _acceptAlternate, _hexID, _gamePort, _reserveHost, _maxPlayer, _subnets, _hosts);
 							AuthRequest ar = new AuthRequest(_requestID, _acceptAlternate, _hexID, _gamePort, _reserveHost, _maxPlayer, _subnets, _hosts);
 							sendPacket(ar);
 							sendPacket(ar);
-							if (Config.DEBUG)
-							{
-								_log.info("Sent AuthRequest to login");
-							}
 							break;
 							break;
 						case 0x01:
 						case 0x01:
 							LoginServerFail lsf = new LoginServerFail(incoming);
 							LoginServerFail lsf = new LoginServerFail(incoming);
@@ -338,10 +314,6 @@ public class LoginServerThread extends Thread
 							{
 							{
 								if (par.isAuthed())
 								if (par.isAuthed())
 								{
 								{
-									if (Config.DEBUG)
-									{
-										_log.info("Login accepted player " + wcToRemove.account + " waited(" + (GameTimeController.getGameTicks() - wcToRemove.timestamp) + "ms)");
-									}
 									PlayerInGame pig = new PlayerInGame(par.getAccount());
 									PlayerInGame pig = new PlayerInGame(par.getAccount());
 									sendPacket(pig);
 									sendPacket(pig);
 									wcToRemove.gameClient.setState(GameClientState.AUTHED);
 									wcToRemove.gameClient.setState(GameClientState.AUTHED);
@@ -376,10 +348,7 @@ public class LoginServerThread extends Thread
 			}
 			}
 			catch (UnknownHostException e)
 			catch (UnknownHostException e)
 			{
 			{
-				if (Config.DEBUG)
-				{
-					_log.log(Level.WARNING, "", e);
-				}
+				_log.log(Level.WARNING, "", e);	
 			}
 			}
 			catch (SocketException e)
 			catch (SocketException e)
 			{
 			{
@@ -423,10 +392,6 @@ public class LoginServerThread extends Thread
 	 */
 	 */
 	public void addWaitingClientAndSendRequest(String acc, L2GameClient client, SessionKey key)
 	public void addWaitingClientAndSendRequest(String acc, L2GameClient client, SessionKey key)
 	{
 	{
-		if (Config.DEBUG)
-		{
-			_log.info(String.valueOf(key));
-		}
 		WaitingClient wc = new WaitingClient(acc, client, key);
 		WaitingClient wc = new WaitingClient(acc, client, key);
 		synchronized (_waitingClients)
 		synchronized (_waitingClients)
 		{
 		{
@@ -440,10 +405,6 @@ public class LoginServerThread extends Thread
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
 			_log.warning("Error while sending player auth request");
 			_log.warning("Error while sending player auth request");
-			if (Config.DEBUG)
-			{
-				_log.log(Level.WARNING, "", e);
-			}
 		}
 		}
 	}
 	}
 	
 	
@@ -488,10 +449,6 @@ public class LoginServerThread extends Thread
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
 			_log.warning("Error while sending logout packet to login");
 			_log.warning("Error while sending logout packet to login");
-			if (Config.DEBUG)
-			{
-				_log.log(Level.WARNING, "", e);
-			}
 		}
 		}
 		finally
 		finally
 		{
 		{
@@ -523,10 +480,6 @@ public class LoginServerThread extends Thread
 		}
 		}
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
-			if (Config.DEBUG)
-			{
-				_log.log(Level.WARNING, "", e);
-			}
 		}
 		}
 	}
 	}
 	
 	
@@ -544,10 +497,6 @@ public class LoginServerThread extends Thread
 		}
 		}
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
-			if (Config.DEBUG)
-			{
-				_log.log(Level.WARNING, "", e);
-			}
 		}
 		}
 	}
 	}
 	
 	
@@ -566,10 +515,6 @@ public class LoginServerThread extends Thread
 		}
 		}
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
-			if (Config.DEBUG)
-			{
-				_log.log(Level.WARNING, "", e);
-			}
 		}
 		}
 	}
 	}
 	
 	
@@ -588,10 +533,6 @@ public class LoginServerThread extends Thread
 		}
 		}
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
-			if (Config.DEBUG)
-			{
-				_log.log(Level.WARNING, "", e);
-			}
 		}
 		}
 	}
 	}
 	
 	
@@ -658,10 +599,6 @@ public class LoginServerThread extends Thread
 		}
 		}
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
-			if (Config.DEBUG)
-			{
-				_log.log(Level.WARNING, "", e);
-			}
 		}
 		}
 	}
 	}
 	
 	
@@ -674,10 +611,6 @@ public class LoginServerThread extends Thread
 	{
 	{
 		byte[] data = sl.getContent();
 		byte[] data = sl.getContent();
 		NewCrypt.appendChecksum(data);
 		NewCrypt.appendChecksum(data);
-		if (Config.DEBUG)
-		{
-			_log.finest("[S]\n" + Util.printData(data));
-		}
 		_blowfish.crypt(data, 0, data.length);
 		_blowfish.crypt(data, 0, data.length);
 		
 		
 		int len = data.length + 2;
 		int len = data.length + 2;
@@ -724,10 +657,6 @@ public class LoginServerThread extends Thread
 		}
 		}
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
-			if (Config.DEBUG)
-			{
-				_log.log(Level.WARNING, "", e);
-			}
 		}
 		}
 	}
 	}
 	
 	
@@ -744,10 +673,6 @@ public class LoginServerThread extends Thread
 		}
 		}
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
-			if (Config.DEBUG)
-			{
-				_log.log(Level.WARNING, "", e);
-			}
 		}
 		}
 	}
 	}
 	
 	
@@ -767,10 +692,6 @@ public class LoginServerThread extends Thread
 		}
 		}
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
-			if (Config.DEBUG)
-			{
-				_log.log(Level.WARNING, "", e);
-			}
 		}
 		}
 	}
 	}
 	
 	
@@ -860,7 +781,6 @@ public class LoginServerThread extends Thread
 	
 	
 	private static class WaitingClient
 	private static class WaitingClient
 	{
 	{
-		public int timestamp;
 		public String account;
 		public String account;
 		public L2GameClient gameClient;
 		public L2GameClient gameClient;
 		public SessionKey session;
 		public SessionKey session;
@@ -874,7 +794,6 @@ public class LoginServerThread extends Thread
 		public WaitingClient(String acc, L2GameClient client, SessionKey key)
 		public WaitingClient(String acc, L2GameClient client, SessionKey key)
 		{
 		{
 			account = acc;
 			account = acc;
-			timestamp = GameTimeController.getGameTicks();
 			gameClient = client;
 			gameClient = client;
 			session = key;
 			session = key;
 		}
 		}

+ 3 - 32
L2J_Server_BETA/java/com/l2jserver/gameserver/SevenSigns.java

@@ -766,10 +766,6 @@ public class SevenSigns
 					sevenDat.set("blue_stones", rs.getInt("blue_stones"));
 					sevenDat.set("blue_stones", rs.getInt("blue_stones"));
 					sevenDat.set("ancient_adena_amount", rs.getDouble("ancient_adena_amount"));
 					sevenDat.set("ancient_adena_amount", rs.getDouble("ancient_adena_amount"));
 					sevenDat.set("contribution_score", rs.getDouble("contribution_score"));
 					sevenDat.set("contribution_score", rs.getDouble("contribution_score"));
-					
-					if (Config.DEBUG)
-						_log.info("SevenSigns: Loaded data from DB for char ID " + charObjId + " (" + sevenDat.getString("cabal") + ")");
-					
 					_signsPlayerData.put(charObjId, sevenDat);
 					_signsPlayerData.put(charObjId, sevenDat);
 				}
 				}
 			}
 			}
@@ -816,10 +812,7 @@ public class SevenSigns
 	 * Should be called on period change and shutdown only.
 	 * Should be called on period change and shutdown only.
 	 */
 	 */
 	public void saveSevenSignsData()
 	public void saveSevenSignsData()
-	{
-		if (Config.DEBUG)
-			_log.info("SevenSigns: Saving data to disk.");
-		
+	{	
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 			PreparedStatement ps = con.prepareStatement(UPDATE_PLAYER))
 			PreparedStatement ps = con.prepareStatement(UPDATE_PLAYER))
 		{
 		{
@@ -835,10 +828,6 @@ public class SevenSigns
 				ps.setInt(8, sevenDat.getInteger("charId"));
 				ps.setInt(8, sevenDat.getInteger("charId"));
 				ps.execute();
 				ps.execute();
 				ps.clearParameters();
 				ps.clearParameters();
-				if (Config.DEBUG)
-				{
-					_log.info("SevenSigns: Updated data in database for char ID " + sevenDat.getInteger("charId") + " (" + sevenDat.getString("cabal") + ")");
-				}
 			}
 			}
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
@@ -902,8 +891,6 @@ public class SevenSigns
 			_lastSave = Calendar.getInstance();
 			_lastSave = Calendar.getInstance();
 			ps.setLong(18 + SevenSignsFestival.FESTIVAL_COUNT, _lastSave.getTimeInMillis());
 			ps.setLong(18 + SevenSignsFestival.FESTIVAL_COUNT, _lastSave.getTimeInMillis());
 			ps.execute();
 			ps.execute();
-			if (Config.DEBUG)
-				_log.info("SevenSigns: Updated data in database.");
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
@@ -916,10 +903,7 @@ public class SevenSigns
 	 * Primarily used when beginning a new cycle, and should otherwise never be called.
 	 * Primarily used when beginning a new cycle, and should otherwise never be called.
 	 */
 	 */
 	protected void resetPlayerData()
 	protected void resetPlayerData()
-	{
-		if (Config.DEBUG)
-			_log.info("SevenSigns: Resetting player data for new event period.");
-		
+	{	
 		int charObjId;
 		int charObjId;
 		
 		
 		// Reset each player's contribution data as well as seal and cabal.
 		// Reset each player's contribution data as well as seal and cabal.
@@ -979,9 +963,6 @@ public class SevenSigns
 				ps.setString(2, getCabalShortName(chosenCabal));
 				ps.setString(2, getCabalShortName(chosenCabal));
 				ps.setInt(3, chosenSeal);
 				ps.setInt(3, chosenSeal);
 				ps.execute();
 				ps.execute();
-				
-				if (Config.DEBUG)
-					_log.info("SevenSigns: Inserted data in DB for char ID " + currPlayerData.getInteger("charId") + " (" + currPlayerData.getString("cabal") + ")");
 			}
 			}
 			catch (SQLException e)
 			catch (SQLException e)
 			{
 			{
@@ -1187,17 +1168,7 @@ public class SevenSigns
 	 * Should only ever called at the beginning of a new cycle.
 	 * Should only ever called at the beginning of a new cycle.
 	 */
 	 */
 	protected void calcNewSealOwners()
 	protected void calcNewSealOwners()
-	{
-		if (Config.DEBUG)
-		{
-			_log.info("SevenSigns: (Avarice) Dawn = " + _signsDawnSealTotals.get(SEAL_AVARICE) + ", Dusk = "
-					+ _signsDuskSealTotals.get(SEAL_AVARICE));
-			_log.info("SevenSigns: (Gnosis) Dawn = " + _signsDawnSealTotals.get(SEAL_GNOSIS) + ", Dusk = "
-					+ _signsDuskSealTotals.get(SEAL_GNOSIS));
-			_log.info("SevenSigns: (Strife) Dawn = " + _signsDawnSealTotals.get(SEAL_STRIFE) + ", Dusk = "
-					+ _signsDuskSealTotals.get(SEAL_STRIFE));
-		}
-		
+	{	
 		for (Integer currSeal : _signsDawnSealTotals.keySet())
 		for (Integer currSeal : _signsDawnSealTotals.keySet())
 		{
 		{
 			int prevSealOwner = _signsSealOwners.get(currSeal);
 			int prevSealOwner = _signsSealOwners.get(currSeal);

+ 6 - 84
L2J_Server_BETA/java/com/l2jserver/gameserver/SevenSignsFestival.java

@@ -932,10 +932,7 @@ public class SevenSignsFestival implements SpawnListener
 	 * and past high score data from the database.
 	 * and past high score data from the database.
 	 */
 	 */
 	protected void restoreFestivalData()
 	protected void restoreFestivalData()
-	{
-		if (Config.DEBUG)
-			_log.info("SevenSignsFestival: Restoring festival data. Current SS Cycle: " + _signsCycle);
-		
+	{	
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 			Statement s = con.createStatement();
 			Statement s = con.createStatement();
 			ResultSet rs = s.executeQuery("SELECT festivalId, cabal, cycle, date, score, members " + "FROM seven_signs_festival"))
 			ResultSet rs = s.executeQuery("SELECT festivalId, cabal, cycle, date, score, members " + "FROM seven_signs_festival"))
@@ -954,10 +951,6 @@ public class SevenSignsFestival implements SpawnListener
 				festivalDat.set("score", rs.getInt("score"));
 				festivalDat.set("score", rs.getInt("score"));
 				festivalDat.set("members", rs.getString("members"));
 				festivalDat.set("members", rs.getString("members"));
 				
 				
-				if (Config.DEBUG)
-					_log.info("SevenSignsFestival: Loaded data from DB for (Cycle = " + festivalCycle + ", Oracle = " + cabal
-							+ ", Festival = " + getFestivalName(festivalId));
-				
 				if (cabal.equals("dawn"))
 				if (cabal.equals("dawn"))
 					festivalId += FESTIVAL_COUNT;
 					festivalId += FESTIVAL_COUNT;
 				
 				
@@ -1006,8 +999,6 @@ public class SevenSignsFestival implements SpawnListener
 		{
 		{
 			_log.log(Level.SEVERE, "SevenSignsFestival: Failed to load configuration: " + e.getMessage(), e);
 			_log.log(Level.SEVERE, "SevenSignsFestival: Failed to load configuration: " + e.getMessage(), e);
 		}
 		}
-		if (Config.DEBUG)
-			_log.info("SevenSignsFestival: Loaded data from database.");
 	}
 	}
 	
 	
 	/**
 	/**
@@ -1019,10 +1010,7 @@ public class SevenSignsFestival implements SpawnListener
 	 * @param updateSettings
 	 * @param updateSettings
 	 */
 	 */
 	public void saveFestivalData(boolean updateSettings)
 	public void saveFestivalData(boolean updateSettings)
-	{
-		if (Config.DEBUG)
-			_log.info("SevenSignsFestival: Saving festival data to disk.");
-		
+	{	
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 			PreparedStatement psUpdate = con.prepareStatement("UPDATE seven_signs_festival SET date=?, score=?, members=? WHERE cycle=? AND cabal=? AND festivalId=?");
 			PreparedStatement psUpdate = con.prepareStatement("UPDATE seven_signs_festival SET date=?, score=?, members=? WHERE cycle=? AND cabal=? AND festivalId=?");
 			PreparedStatement psInsert = con.prepareStatement("INSERT INTO seven_signs_festival (festivalId, cabal, cycle, date, score, members) VALUES (?,?,?,?,?,?)"))
 			PreparedStatement psInsert = con.prepareStatement("INSERT INTO seven_signs_festival (festivalId, cabal, cycle, date, score, members) VALUES (?,?,?,?,?,?)"))
@@ -1047,8 +1035,6 @@ public class SevenSignsFestival implements SpawnListener
 					// otherwise continue with the next record to store.
 					// otherwise continue with the next record to store.
 					if (psUpdate.executeUpdate() > 0)
 					if (psUpdate.executeUpdate() > 0)
 					{
 					{
-						if (Config.DEBUG)
-							_log.info("SevenSignsFestival: Updated data in DB (Cycle = " + festivalCycle + ", Cabal = " + cabal + ", FestID = " + festivalId + ")");
 						continue;
 						continue;
 					}
 					}
 					
 					
@@ -1060,9 +1046,6 @@ public class SevenSignsFestival implements SpawnListener
 					psInsert.setString(6, festivalDat.getString("members"));
 					psInsert.setString(6, festivalDat.getString("members"));
 					psInsert.execute();
 					psInsert.execute();
 					psInsert.clearParameters();
 					psInsert.clearParameters();
-					
-					if (Config.DEBUG)
-						_log.info("SevenSignsFestival: Inserted data in DB (Cycle = " + festivalCycle + ", Cabal = " + cabal + ", FestID = " + festivalId + ")");
 				}
 				}
 			}
 			}
 		}
 		}
@@ -1368,10 +1351,6 @@ public class SevenSignsFestival implements SpawnListener
 					continue;
 					continue;
 				participants.add(player.getObjectId());
 				participants.add(player.getObjectId());
 			}
 			}
-			
-			if (Config.DEBUG)
-				_log.info("SevenSignsFestival: " + festivalParty.getMembers().size() + " have signed up to the "
-						+ SevenSigns.getCabalShortName(oracle) + " " + getFestivalName(festivalId) + " festival.");
 		}
 		}
 		
 		
 		if (oracle == SevenSigns.CABAL_DAWN)
 		if (oracle == SevenSigns.CABAL_DAWN)
@@ -1460,10 +1439,6 @@ public class SevenSignsFestival implements SpawnListener
 			currData = new StatsSet();
 			currData = new StatsSet();
 			currData.set("score", 0);
 			currData.set("score", 0);
 			currData.set("members", "");
 			currData.set("members", "");
-			
-			if (Config.DEBUG)
-				_log.info("SevenSignsFestival: Data missing for " + SevenSigns.getCabalName(oracle) + ", FestivalID = " + festivalId
-						+ " (Current Cycle " + _signsCycle + ")");
 		}
 		}
 		
 		
 		return currData;
 		return currData;
@@ -1559,10 +1534,6 @@ public class SevenSignsFestival implements SpawnListener
 			currFestData.set("score", offeringScore);
 			currFestData.set("score", offeringScore);
 			currFestData.set("members", Util.implodeString(partyMembers, ","));
 			currFestData.set("members", Util.implodeString(partyMembers, ","));
 			
 			
-			if (Config.DEBUG)
-				_log.info("SevenSignsFestival: " + player.getName() + "'s party has the highest score (" + offeringScore + ") so far for "
-						+ SevenSigns.getCabalName(oracle) + " in " + getFestivalName(festivalId));
-			
 			// Only add the score to the cabal's overall if it's higher than the other cabal's score.
 			// Only add the score to the cabal's overall if it's higher than the other cabal's score.
 			if (offeringScore > otherCabalHighScore)
 			if (offeringScore > otherCabalHighScore)
 			{
 			{
@@ -1570,10 +1541,6 @@ public class SevenSignsFestival implements SpawnListener
 				
 				
 				// Give this cabal the festival points, while deducting them from the other.
 				// Give this cabal the festival points, while deducting them from the other.
 				SevenSigns.getInstance().addFestivalScore(oracle, contribPoints);
 				SevenSigns.getInstance().addFestivalScore(oracle, contribPoints);
-				
-				if (Config.DEBUG)
-					_log.info("SevenSignsFestival: This is the highest score overall so far for the " + getFestivalName(festivalId)
-							+ " festival!");
 			}
 			}
 			
 			
 			saveFestivalData(true);
 			saveFestivalData(true);
@@ -1715,18 +1682,12 @@ public class SevenSignsFestival implements SpawnListener
 		
 		
 		// If the spawned NPC ID matches the ones we need, assign their instances.
 		// If the spawned NPC ID matches the ones we need, assign their instances.
 		if (npcId == 31127)
 		if (npcId == 31127)
-		{
-			if (Config.DEBUG)
-				_log.warning("SevenSignsFestival: Instance found for NPC ID 31127 (" + npc.getObjectId() + ").");
-			
+		{	
 			_dawnChatGuide = npc;
 			_dawnChatGuide = npc;
 		}
 		}
 		
 		
 		if (npcId == 31137)
 		if (npcId == 31137)
-		{
-			if (Config.DEBUG)
-				_log.warning("SevenSignsFestival: Instance found for NPC ID 31137 (" + npc.getObjectId() + ").");
-			
+		{	
 			_duskChatGuide = npc;
 			_duskChatGuide = npc;
 		}
 		}
 	}
 	}
@@ -1768,10 +1729,6 @@ public class SevenSignsFestival implements SpawnListener
 				if (SevenSigns.getInstance().getMilliToPeriodChange() < Config.ALT_FESTIVAL_CYCLE_LENGTH)
 				if (SevenSigns.getInstance().getMilliToPeriodChange() < Config.ALT_FESTIVAL_CYCLE_LENGTH)
 					return;
 					return;
 				
 				
-				if (Config.DEBUG)
-					_log.info("SevenSignsFestival: Festival manager initialized. Those wishing to participate have " + getMinsToNextFestival()
-							+ " minute(s) to sign up.");
-				
 				else if (getMinsToNextFestival() == 2)
 				else if (getMinsToNextFestival() == 2)
 					sendMessageToAll("Festival Guide", NpcStringId.THE_MAIN_EVENT_WILL_START_IN_2_MINUTES_PLEASE_REGISTER_NOW);
 					sendMessageToAll("Festival Guide", NpcStringId.THE_MAIN_EVENT_WILL_START_IN_2_MINUTES_PLEASE_REGISTER_NOW);
 				
 				
@@ -1843,10 +1800,6 @@ public class SevenSignsFestival implements SpawnListener
 				setNextFestivalStart(Config.ALT_FESTIVAL_CYCLE_LENGTH);
 				setNextFestivalStart(Config.ALT_FESTIVAL_CYCLE_LENGTH);
 				sendMessageToAll("Festival Guide", NpcStringId.THE_MAIN_EVENT_IS_NOW_STARTING);
 				sendMessageToAll("Festival Guide", NpcStringId.THE_MAIN_EVENT_IS_NOW_STARTING);
 				
 				
-				if (Config.DEBUG)
-					_log.info("SevenSignsFestival: The current set of festivals will begin in " + (Config.ALT_FESTIVAL_FIRST_SPAWN / 60000)
-							+ " minute(s).");
-				
 				// Stand by for a short length of time before starting the festival.
 				// Stand by for a short length of time before starting the festival.
 				try
 				try
 				{
 				{
@@ -1869,10 +1822,6 @@ public class SevenSignsFestival implements SpawnListener
 					festivalInst.sendMessageToParticipants(NpcStringId.THE_MAIN_EVENT_IS_NOW_STARTING);
 					festivalInst.sendMessageToParticipants(NpcStringId.THE_MAIN_EVENT_IS_NOW_STARTING);
 				}
 				}
 				
 				
-				if (Config.DEBUG)
-					_log.info("SevenSignsFestival: Each of the festivals will end in " + (Config.ALT_FESTIVAL_LENGTH / 60000)
-							+ " minutes. New participants can signup then.");
-				
 				// After a short time period, move all idle spawns to the center of the arena.
 				// After a short time period, move all idle spawns to the center of the arena.
 				try
 				try
 				{
 				{
@@ -1969,9 +1918,6 @@ public class SevenSignsFestival implements SpawnListener
 				_festivalInitialized = false;
 				_festivalInitialized = false;
 				
 				
 				sendMessageToAll("Festival Witch", NpcStringId.THAT_WILL_DO_ILL_MOVE_YOU_TO_THE_OUTSIDE_SOON);
 				sendMessageToAll("Festival Witch", NpcStringId.THAT_WILL_DO_ILL_MOVE_YOU_TO_THE_OUTSIDE_SOON);
-				
-				if (Config.DEBUG)
-					_log.info("SevenSignsFestival: The next set of festivals begin in " + getMinsToNextFestival() + " minute(s).");
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
@@ -2059,10 +2005,6 @@ public class SevenSignsFestival implements SpawnListener
 		{
 		{
 			boolean isPositive;
 			boolean isPositive;
 			
 			
-			if (Config.DEBUG)
-				_log.info("SevenSignsFestival: Initializing festival for " + SevenSigns.getCabalShortName(_cabal) + " ("
-						+ getFestivalName(_levelRange) + ")");
-			
 			// Teleport all players to arena and notify them.
 			// Teleport all players to arena and notify them.
 			if (_participants != null && !_participants.isEmpty())
 			if (_participants != null && !_participants.isEmpty())
 			{
 			{
@@ -2130,10 +2072,6 @@ public class SevenSignsFestival implements SpawnListener
 				
 				
 				SpawnTable.getInstance().addNewSpawn(npcSpawn, false);
 				SpawnTable.getInstance().addNewSpawn(npcSpawn, false);
 				_witchInst = npcSpawn.doSpawn();
 				_witchInst = npcSpawn.doSpawn();
-				
-				if (Config.DEBUG)
-					_log.fine("SevenSignsFestival: Spawned the Festival Witch " + npcSpawn.getNpcid() + " at " + _witchSpawn._x + " "
-							+ _witchSpawn._y + " " + _witchSpawn._z);
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
@@ -2153,11 +2091,7 @@ public class SevenSignsFestival implements SpawnListener
 		}
 		}
 		
 		
 		protected void festivalStart()
 		protected void festivalStart()
-		{
-			if (Config.DEBUG)
-				_log.info("SevenSignsFestival: Starting festival for " + SevenSigns.getCabalShortName(_cabal) + " ("
-						+ getFestivalName(_levelRange) + ")");
-			
+		{	
 			spawnFestivalMonsters(FESTIVAL_DEFAULT_RESPAWN, 0);
 			spawnFestivalMonsters(FESTIVAL_DEFAULT_RESPAWN, 0);
 		}
 		}
 		
 		
@@ -2165,10 +2099,6 @@ public class SevenSignsFestival implements SpawnListener
 		{
 		{
 			boolean isPositive;
 			boolean isPositive;
 			
 			
-			if (Config.DEBUG)
-				_log.info("SevenSignsFestival: Moving spawns to arena center for festival " + SevenSigns.getCabalShortName(_cabal) + " ("
-						+ getFestivalName(_levelRange) + ")");
-			
 			for (L2FestivalMonsterInstance festivalMob : _npcInsts)
 			for (L2FestivalMonsterInstance festivalMob : _npcInsts)
 			{
 			{
 				if (festivalMob.isDead())
 				if (festivalMob.isDead())
@@ -2278,10 +2208,6 @@ public class SevenSignsFestival implements SpawnListener
 						festivalMob.setOfferingBonus(5);
 						festivalMob.setOfferingBonus(5);
 					
 					
 					_npcInsts.add(festivalMob);
 					_npcInsts.add(festivalMob);
-					
-					if (Config.DEBUG)
-						_log.fine("SevenSignsFestival: Spawned NPC ID " + currSpawn._npcId + " at " + currSpawn._x + " " + currSpawn._y
-								+ " " + currSpawn._z);
 				}
 				}
 				catch (Exception e)
 				catch (Exception e)
 				{
 				{
@@ -2316,11 +2242,7 @@ public class SevenSignsFestival implements SpawnListener
 		}
 		}
 
 
 		protected void festivalEnd()
 		protected void festivalEnd()
-		{
-			if (Config.DEBUG)
-				_log.info("SevenSignsFestival: Ending festival for " + SevenSigns.getCabalShortName(_cabal) + " ("
-						+ getFestivalName(_levelRange) + ")");
-			
+		{	
 			if (_participants != null && !_participants.isEmpty())
 			if (_participants != null && !_participants.isEmpty())
 			{
 			{
 				for (int participantObjId : _participants)
 				for (int participantObjId : _participants)

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/Shutdown.java

@@ -216,7 +216,7 @@ public class Shutdown extends Thread
 			{
 			{
 				if ((Config.OFFLINE_TRADE_ENABLE || Config.OFFLINE_CRAFT_ENABLE) && Config.RESTORE_OFFLINERS)
 				if ((Config.OFFLINE_TRADE_ENABLE || Config.OFFLINE_CRAFT_ENABLE) && Config.RESTORE_OFFLINERS)
 				{
 				{
-					OfflineTradersTable.storeOffliners();
+					OfflineTradersTable.getInstance().storeOffliners();
 					_log.info("Offline Traders Table: Offline shops stored("+tc.getEstimatedTimeAndRestartCounter()+"ms).");
 					_log.info("Offline Traders Table: Offline shops stored("+tc.getEstimatedTimeAndRestartCounter()+"ms).");
 				}
 				}
 			}
 			}

+ 0 - 24
L2J_Server_BETA/java/com/l2jserver/gameserver/TradeController.java

@@ -96,18 +96,6 @@ public class TradeController
 								price = ItemTable.getInstance().getTemplate(itemId).getReferencePrice();
 								price = ItemTable.getInstance().getTemplate(itemId).getReferencePrice();
 							}
 							}
 							
 							
-							if (Config.DEBUG)
-							{
-								// debug
-								double diff = ((double) (price)) / ItemTable.getInstance().getTemplate(itemId).getReferencePrice();
-								if (diff < 0.8 || diff > 1.2)
-								{
-									_log.severe("PRICING DEBUG: TradeListId: " + buy1.getListId() + " -  ItemId: " + itemId + " ("
-											+ ItemTable.getInstance().getTemplate(itemId).getName() + ") diff: " + diff + " - Price: " + price
-											+ " - Reference: " + ItemTable.getInstance().getTemplate(itemId).getReferencePrice());
-								}
-							}
-							
 							item.setPrice(price);
 							item.setPrice(price);
 							
 							
 							item.setRestoreDelay(time);
 							item.setRestoreDelay(time);
@@ -185,18 +173,6 @@ public class TradeController
 							price = ItemTable.getInstance().getTemplate(itemId).getReferencePrice();
 							price = ItemTable.getInstance().getTemplate(itemId).getReferencePrice();
 						}
 						}
 						
 						
-						if (Config.DEBUG)
-						{
-							// debug
-							double diff = ((double) (price)) / ItemTable.getInstance().getTemplate(itemId).getReferencePrice();
-							if (diff < 0.8 || diff > 1.2)
-							{
-								_log.severe("PRICING DEBUG: TradeListId: " + buy1.getListId() + " -  ItemId: " + itemId + " ("
-										+ ItemTable.getInstance().getTemplate(itemId).getName() + ") diff: " + diff + " - Price: " + price
-										+ " - Reference: " + ItemTable.getInstance().getTemplate(itemId).getReferencePrice());
-							}
-						}
-						
 						item.setPrice(price);
 						item.setPrice(price);
 						
 						
 						item.setRestoreDelay(time);
 						item.setRestoreDelay(time);

+ 2 - 20
L2J_Server_BETA/java/com/l2jserver/gameserver/ai/L2PlayerAI.java

@@ -22,7 +22,6 @@ import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_MOVE_TO;
 import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_PICK_UP;
 import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_PICK_UP;
 import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_REST;
 import static com.l2jserver.gameserver.ai.CtrlIntention.AI_INTENTION_REST;
 
 
-import com.l2jserver.Config;
 import com.l2jserver.gameserver.model.L2CharPosition;
 import com.l2jserver.gameserver.model.L2CharPosition;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Character;
@@ -64,13 +63,8 @@ public class L2PlayerAI extends L2PlayableAI
 	 *
 	 *
 	 */
 	 */
 	@Override
 	@Override
-	synchronized void changeIntention(CtrlIntention intention, Object arg0, Object arg1)
-	{
-		/*
-		 if (Config.DEBUG)
-		 _log.warning("L2PlayerAI: changeIntention -> " + intention + " " + arg0 + " " + arg1);
-		 */
-		
+	protected synchronized void changeIntention(CtrlIntention intention, Object arg0, Object arg1)
+	{	
 		// do nothing unless CAST intention
 		// do nothing unless CAST intention
 		// however, forget interrupted actions when starting to use an offensive skill
 		// however, forget interrupted actions when starting to use an offensive skill
 		if (intention != AI_INTENTION_CAST || (arg0 != null && ((L2Skill) arg0).isOffensive()))
 		if (intention != AI_INTENTION_CAST || (arg0 != null && ((L2Skill) arg0).isOffensive()))
@@ -152,10 +146,6 @@ public class L2PlayerAI extends L2PlayableAI
 			}
 			}
 			else
 			else
 			{
 			{
-				/*
-				 if (Config.DEBUG)
-				 _log.warning("L2PlayerAI: no previous intention set... Setting it to IDLE");
-				 */
 				// set intention to idle if skill doesn't change intention.
 				// set intention to idle if skill doesn't change intention.
 				setIntention(AI_INTENTION_IDLE);
 				setIntention(AI_INTENTION_IDLE);
 			}
 			}
@@ -251,9 +241,6 @@ public class L2PlayerAI extends L2PlayableAI
 	private void thinkCast()
 	private void thinkCast()
 	{
 	{
 		L2Character target = getCastTarget();
 		L2Character target = getCastTarget();
-		if (Config.DEBUG)
-			_log.warning(getClass().getSimpleName() + ": thinkCast -> Start");
-		
 		if (_skill.getTargetType() == L2TargetType.TARGET_GROUND && _actor instanceof L2PcInstance)
 		if (_skill.getTargetType() == L2TargetType.TARGET_GROUND && _actor instanceof L2PcInstance)
 		{
 		{
 			if (maybeMoveToPosition(((L2PcInstance) _actor).getCurrentSkillWorldPosition(), _actor.getMagicalAttackRange(_skill)))
 			if (maybeMoveToPosition(((L2PcInstance) _actor).getCurrentSkillWorldPosition(), _actor.getMagicalAttackRange(_skill)))
@@ -331,11 +318,6 @@ public class L2PlayerAI extends L2PlayableAI
 		if (_thinking && getIntention() != AI_INTENTION_CAST) // casting must always continue
 		if (_thinking && getIntention() != AI_INTENTION_CAST) // casting must always continue
 			return;
 			return;
 		
 		
-		/*
-		 if (Config.DEBUG)
-		 _log.warning("L2PlayerAI: onEvtThink -> Check intention");
-		 */
-		
 		_thinking = true;
 		_thinking = true;
 		try
 		try
 		{
 		{

+ 5 - 6
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/AdminTable.java

@@ -14,7 +14,6 @@
  */
  */
 package com.l2jserver.gameserver.datatables;
 package com.l2jserver.gameserver.datatables;
 
 
-import java.io.File;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
@@ -61,9 +60,9 @@ public class AdminTable extends DocumentParser
 	{
 	{
 		_accessLevels.clear();
 		_accessLevels.clear();
 		_adminCommandAccessRights.clear();
 		_adminCommandAccessRights.clear();
-		parseFile(new File(Config.DATAPACK_ROOT, "config/accessLevels.xml"));
+		parseDatapackFile("config/accessLevels.xml");
 		_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _accessLevels.size() + " Access Levels");
 		_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _accessLevels.size() + " Access Levels");
-		parseFile(new File(Config.DATAPACK_ROOT, "config/adminCommands.xml"));
+		parseDatapackFile("config/adminCommands.xml");
 		_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _adminCommandAccessRights.size() + " Access Commands");
 		_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _adminCommandAccessRights.size() + " Access Commands");
 	}
 	}
 	
 	
@@ -167,11 +166,11 @@ public class AdminTable extends DocumentParser
 			{
 			{
 				acar = new L2AdminCommandAccessRight(adminCommand, true, accessLevel.getLevel());
 				acar = new L2AdminCommandAccessRight(adminCommand, true, accessLevel.getLevel());
 				_adminCommandAccessRights.put(adminCommand, acar);
 				_adminCommandAccessRights.put(adminCommand, acar);
-				_log.info("AdminCommandAccessRights: No rights defined for admin command " + adminCommand + " auto setting accesslevel: " + accessLevel.getLevel() + " !");
+				_log.info(getClass().getSimpleName() + ": No rights defined for admin command " + adminCommand + " auto setting accesslevel: " + accessLevel.getLevel() + " !");
 			}
 			}
 			else
 			else
 			{
 			{
-				_log.info("AdminCommandAccessRights: No rights defined for admin command " + adminCommand + " !");
+				_log.info(getClass().getSimpleName() + ": No rights defined for admin command " + adminCommand + " !");
 				return false;
 				return false;
 			}
 			}
 		}
 		}
@@ -188,7 +187,7 @@ public class AdminTable extends DocumentParser
 		L2AdminCommandAccessRight acar = _adminCommandAccessRights.get(command);
 		L2AdminCommandAccessRight acar = _adminCommandAccessRights.get(command);
 		if (acar == null)
 		if (acar == null)
 		{
 		{
-			_log.info("AdminCommandAccessRights: No rights defined for admin command " + command + ".");
+			_log.info(getClass().getSimpleName() + ": No rights defined for admin command " + command + ".");
 			return false;
 			return false;
 		}
 		}
 		return acar.getRequireConfirm();
 		return acar.getRequireConfirm();

+ 1 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/ArmorSetsData.java

@@ -14,14 +14,12 @@
  */
  */
 package com.l2jserver.gameserver.datatables;
 package com.l2jserver.gameserver.datatables;
 
 
-import java.io.File;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map;
 
 
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 import org.w3c.dom.Node;
 
 
-import com.l2jserver.Config;
 import com.l2jserver.gameserver.engines.DocumentParser;
 import com.l2jserver.gameserver.engines.DocumentParser;
 import com.l2jserver.gameserver.model.L2ArmorSet;
 import com.l2jserver.gameserver.model.L2ArmorSet;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
@@ -45,7 +43,7 @@ public final class ArmorSetsData extends DocumentParser
 	public void load()
 	public void load()
 	{
 	{
 		_armorSets.clear();
 		_armorSets.clear();
-		parseDirectory(new File(Config.DATAPACK_ROOT, "data/stats/armorsets"));
+		parseDirectory("data/stats/armorsets");
 		_log.info(getClass().getSimpleName() + ": Loaded " + _armorSets.size() + " Armor sets.");
 		_log.info(getClass().getSimpleName() + ": Loaded " + _armorSets.size() + " Armor sets.");
 	}
 	}
 	
 	

+ 21 - 37
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/AugmentationData.java

@@ -14,11 +14,11 @@
  */
  */
 package com.l2jserver.gameserver.datatables;
 package com.l2jserver.gameserver.datatables;
 
 
-import gnu.trove.map.hash.TIntObjectHashMap;
-
 import java.io.File;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 import java.util.StringTokenizer;
 import java.util.StringTokenizer;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
@@ -33,6 +33,7 @@ import org.w3c.dom.Node;
 
 
 import com.l2jserver.Config;
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.model.L2Augmentation;
 import com.l2jserver.gameserver.model.L2Augmentation;
+import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.items.L2Item;
 import com.l2jserver.gameserver.model.items.L2Item;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.stats.Stats;
 import com.l2jserver.gameserver.model.stats.Stats;
@@ -47,11 +48,6 @@ public class AugmentationData
 {
 {
 	private static final Logger _log = Logger.getLogger(AugmentationData.class.getName());
 	private static final Logger _log = Logger.getLogger(AugmentationData.class.getName());
 	
 	
-	public static final AugmentationData getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
 	// stats
 	// stats
 	private static final int STAT_START = 1;
 	private static final int STAT_START = 1;
 	private static final int STAT_END = 14560;
 	private static final int STAT_END = 14560;
@@ -109,7 +105,7 @@ public class AugmentationData
 	private final List<List<Integer>> _redSkills = new ArrayList<>(10);
 	private final List<List<Integer>> _redSkills = new ArrayList<>(10);
 	private final List<List<Integer>> _yellowSkills = new ArrayList<>(10);
 	private final List<List<Integer>> _yellowSkills = new ArrayList<>(10);
 	
 	
-	private final TIntObjectHashMap<AugmentationSkill> _allSkills = new TIntObjectHashMap<>();
+	private final Map<Integer, SkillHolder> _allSkills = new HashMap<>();
 	
 	
 	protected AugmentationData()
 	protected AugmentationData()
 	{		
 	{		
@@ -181,31 +177,14 @@ public class AugmentationData
 		load();
 		load();
 		
 		
 		// Use size*4: since theres 4 blocks of stat-data with equivalent size
 		// Use size*4: since theres 4 blocks of stat-data with equivalent size
-		_log.info("AugmentationData: Loaded: " + (_augStats.get(0).size() * 4) + " augmentation stats.");
-		_log.info("AugmentationData: Loaded: " + (_augAccStats.get(0).size() * 4) + " accessory augmentation stats.");
+		_log.info(getClass().getSimpleName() + ": Loaded: " + (_augStats.get(0).size() * 4) + " augmentation stats.");
+		_log.info(getClass().getSimpleName() + ": Loaded: " + (_augAccStats.get(0).size() * 4) + " accessory augmentation stats.");
 		for (int i = 0; i < 10; i++)
 		for (int i = 0; i < 10; i++)
 		{
 		{
-			_log.info("AugmentationData: Loaded: " + _blueSkills.get(i).size() + " blue, " + _purpleSkills.get(i).size() + " purple and " + _redSkills.get(i).size() + " red skills for lifeStoneLevel " + i);
+			_log.info(getClass().getSimpleName() + ": Loaded: " + _blueSkills.get(i).size() + " blue, " + _purpleSkills.get(i).size() + " purple and " + _redSkills.get(i).size() + " red skills for lifeStoneLevel " + i);
 		}
 		}
 	}
 	}
-	
-	public static class AugmentationSkill
-	{
-		private final int _skillId;
-		private final int _skillLevel;
-		
-		public AugmentationSkill(int skillId, int skillLevel)
-		{
-			_skillId = skillId;
-			_skillLevel = skillLevel;
-		}
 		
 		
-		public L2Skill getSkill()
-		{
-			return SkillTable.getInstance().getInfo(_skillId, _skillLevel);
-		}
-	}
-	
 	public static class AugmentationStat
 	public static class AugmentationStat
 	{
 	{
 		private final Stats _stat;
 		private final Stats _stat;
@@ -346,19 +325,19 @@ public class AugmentationData
 								_redSkills.get(k).add(augmentationId);
 								_redSkills.get(k).add(augmentationId);
 							}
 							}
 							
 							
-							_allSkills.put(augmentationId, new AugmentationSkill(skillId, skillLvL));
+							_allSkills.put(augmentationId, new SkillHolder(skillId, skillLvL));
 						}
 						}
 					}
 					}
 				}
 				}
 			}
 			}
 			if (badAugmantData != 0)
 			if (badAugmantData != 0)
 			{
 			{
-				_log.info("AugmentationData: " + badAugmantData + " bad skill(s) were skipped.");
+				_log.info(getClass().getSimpleName() + ": " + badAugmantData + " bad skill(s) were skipped.");
 			}
 			}
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Error parsing augmentation_skillmap.xml.", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error parsing augmentation_skillmap.xml.", e);
 			return;
 			return;
 		}
 		}
 		
 		
@@ -376,7 +355,7 @@ public class AugmentationData
 				{
 				{
 					if (Config.DEBUG)
 					if (Config.DEBUG)
 					{
 					{
-						_log.info("The augmentation stat data file " + i + " is missing.");
+						_log.info(getClass().getSimpleName() + ": The augmentation stat data file " + i + " is missing.");
 					}
 					}
 					return;
 					return;
 				}
 				}
@@ -438,7 +417,7 @@ public class AugmentationData
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
-				_log.log(Level.SEVERE, "Error parsing augmentation_stats" + i + ".xml.", e);
+				_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error parsing augmentation_stats" + i + ".xml.", e);
 				return;
 				return;
 			}
 			}
 			
 			
@@ -454,7 +433,7 @@ public class AugmentationData
 				{
 				{
 					if (Config.DEBUG)
 					if (Config.DEBUG)
 					{
 					{
-						_log.info("The jewel augmentation stat data file " + i + " is missing.");
+						_log.info(getClass().getSimpleName() + ": The jewel augmentation stat data file " + i + " is missing.");
 					}
 					}
 					return;
 					return;
 				}
 				}
@@ -516,7 +495,7 @@ public class AugmentationData
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
-				_log.log(Level.SEVERE, "Error parsing jewel augmentation_stats" + i + ".xml.", e);
+				_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error parsing jewel augmentation_stats" + i + ".xml.", e);
 				return;
 				return;
 			}
 			}
 		}
 		}
@@ -761,7 +740,7 @@ public class AugmentationData
 		{
 		{
 			// second augmentation (skill)
 			// second augmentation (skill)
 			stat34 = base + Rnd.get(skillsLength);
 			stat34 = base + Rnd.get(skillsLength);
-			if (_allSkills.contains(stat34))
+			if (_allSkills.containsKey(stat34))
 			{
 			{
 				skill = _allSkills.get(stat34).getSkill();
 				skill = _allSkills.get(stat34).getSkill();
 			}
 			}
@@ -937,7 +916,7 @@ public class AugmentationData
 	 */
 	 */
 	public L2Skill getAugSkillById(int augmentationId)
 	public L2Skill getAugSkillById(int augmentationId)
 	{
 	{
-		final AugmentationSkill temp = _allSkills.get(augmentationId);
+		final SkillHolder temp = _allSkills.get(augmentationId);
 		if (temp == null)
 		if (temp == null)
 		{
 		{
 			return null;
 			return null;
@@ -946,6 +925,11 @@ public class AugmentationData
 		return temp.getSkill();
 		return temp.getSkill();
 	}
 	}
 	
 	
+	public static final AugmentationData getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final AugmentationData _instance = new AugmentationData();
 		protected static final AugmentationData _instance = new AugmentationData();

+ 9 - 12
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/CharNameTable.java

@@ -25,11 +25,10 @@ import java.util.Map.Entry;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
-import javolution.util.FastMap;
-
 import com.l2jserver.Config;
 import com.l2jserver.Config;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.util.L2FastMap;
 
 
 /**
 /**
  * This class ...
  * This class ...
@@ -40,13 +39,11 @@ public class CharNameTable
 {
 {
 	private static Logger _log = Logger.getLogger(CharNameTable.class.getName());
 	private static Logger _log = Logger.getLogger(CharNameTable.class.getName());
 	
 	
-	private final Map<Integer, String> _chars;
-	private final Map<Integer, Integer> _accessLevels;
+	private final Map<Integer, String> _chars = new L2FastMap<>();
+	private final Map<Integer, Integer> _accessLevels = new L2FastMap<>();
 	
 	
 	protected CharNameTable()
 	protected CharNameTable()
 	{
 	{
-		_chars = new FastMap<>();
-		_accessLevels = new FastMap<>();
 		if (Config.CACHE_CHAR_NAMES)
 		if (Config.CACHE_CHAR_NAMES)
 			loadAll();
 			loadAll();
 	}
 	}
@@ -116,7 +113,7 @@ public class CharNameTable
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Could not check existing char name: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Could not check existing char name: " + e.getMessage(), e);
 		}
 		}
 		
 		
 		if (id > 0)
 		if (id > 0)
@@ -157,7 +154,7 @@ public class CharNameTable
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Could not check existing char id: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Could not check existing char id: " + e.getMessage(), e);
 		}
 		}
 		
 		
 		if (name != null && !name.isEmpty())
 		if (name != null && !name.isEmpty())
@@ -192,7 +189,7 @@ public class CharNameTable
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Could not check existing charname: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Could not check existing charname: " + e.getMessage(), e);
 		}
 		}
 		return result;
 		return result;
 	}
 	}
@@ -214,7 +211,7 @@ public class CharNameTable
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Could not check existing char number: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Could not check existing char number: " + e.getMessage(), e);
 		}
 		}
 		return number;
 		return number;
 	}
 	}
@@ -239,9 +236,9 @@ public class CharNameTable
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Could not load char name: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Could not load char name: " + e.getMessage(), e);
 		}
 		}
-		_log.info(getClass().getSimpleName()+": Loaded "+_chars.size()+" char names.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + _chars.size() + " char names.");
 	}
 	}
 	
 	
 	private static class SingletonHolder
 	private static class SingletonHolder

+ 7 - 7
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/CharSummonTable.java

@@ -75,7 +75,7 @@ public class CharSummonTable
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
-				_log.log(Level.SEVERE, "Error while loading saved summons", e);
+				_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error while loading saved summons", e);
 			}
 			}
 		}
 		}
 		
 		
@@ -92,7 +92,7 @@ public class CharSummonTable
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
-				_log.log(Level.SEVERE, "Error while loading saved summons", e);
+				_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error while loading saved summons", e);
 			}
 			}
 		}
 		}
 	}
 	}
@@ -125,7 +125,7 @@ public class CharSummonTable
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Failed to store summon [SummonId: " + summon.getNpcId() + "] from Char [CharId: " + summon.getOwner().getObjectId() + "] data", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Failed to store summon [SummonId: " + summon.getNpcId() + "] from Char [CharId: " + summon.getOwner().getObjectId() + "] data", e);
 		}
 		}
 			
 			
 	}
 	}
@@ -161,7 +161,7 @@ public class CharSummonTable
 					summonTemplate = NpcTable.getInstance().getTemplate(skill.getNpcId());
 					summonTemplate = NpcTable.getInstance().getTemplate(skill.getNpcId());
 					if (summonTemplate == null)
 					if (summonTemplate == null)
 					{
 					{
-						_log.warning("[CharSummonTable] Summon attemp for nonexisting Skill ID:" + skillId);
+						_log.warning(getClass().getSimpleName() + ": Summon attemp for nonexisting Skill ID:" + skillId);
 						return;
 						return;
 					}
 					}
 					
 					
@@ -189,7 +189,7 @@ public class CharSummonTable
 					if (summon.getLevel() >= ExperienceTable.getInstance().getMaxPetLevel())
 					if (summon.getLevel() >= ExperienceTable.getInstance().getMaxPetLevel())
 					{
 					{
 						summon.getStat().setExp(ExperienceTable.getInstance().getExpForLevel(ExperienceTable.getInstance().getMaxPetLevel()-1));
 						summon.getStat().setExp(ExperienceTable.getInstance().getExpForLevel(ExperienceTable.getInstance().getMaxPetLevel()-1));
-						_log.warning("Summon (" + summon.getName() + ") NpcID: " + summon.getNpcId() + " has a level above "+ExperienceTable.getInstance().getMaxPetLevel()+". Please rectify.");
+						_log.warning(getClass().getSimpleName() + ": Summon (" + summon.getName() + ") NpcID: " + summon.getNpcId() + " has a level above "+ExperienceTable.getInstance().getMaxPetLevel()+". Please rectify.");
 					}
 					}
 					else
 					else
 					{
 					{
@@ -211,7 +211,7 @@ public class CharSummonTable
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "[CharSummonTable]: Summon cannot be restored: ", e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Summon cannot be restored: ", e);
 		}
 		}
 	}
 	}
 	
 	
@@ -226,7 +226,7 @@ public class CharSummonTable
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "[CharSummonTable]: Summon cannot be removed: ", e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Summon cannot be removed: ", e);
 		}
 		}
 	}
 	}
 	
 	

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/CharTemplateTable.java

@@ -93,11 +93,11 @@ public final class CharTemplateTable
 				final L2PcTemplate ct = new L2PcTemplate(set);
 				final L2PcTemplate ct = new L2PcTemplate(set);
 				_charTemplates.put(ClassId.getClassId(cId), ct);
 				_charTemplates.put(ClassId.getClassId(cId), ct);
 			}
 			}
-			_log.info("CharTemplateTable: Loaded " + _charTemplates.size() + " Character Templates.");
+			_log.info(getClass().getSimpleName() + ": Loaded " + _charTemplates.size() + " Character Templates.");
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.SEVERE, "Failed loading char templates", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Failed loading char templates", e);
 		}
 		}
 	}
 	}
 	
 	

+ 7 - 30
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/ClanTable.java

@@ -105,7 +105,7 @@ public class ClanTable
 		{
 		{
 			_log.log(Level.SEVERE, "Error restoring ClanTable.", e);
 			_log.log(Level.SEVERE, "Error restoring ClanTable.", e);
 		}
 		}
-		_log.info("Restored " + clanCount + " clans from the database.");
+		_log.info(getClass().getSimpleName() + ": Restored " + clanCount + " clans from the database.");
 		allianceCheck();
 		allianceCheck();
 		restorewars();
 		restorewars();
 	}
 	}
@@ -149,7 +149,7 @@ public class ClanTable
 		
 		
 		if (Config.DEBUG)
 		if (Config.DEBUG)
 		{
 		{
-			_log.fine(player.getObjectId() + "(" + player.getName() + ") requested a clan creation.");
+			_log.fine(getClass().getSimpleName() + ": " + player.getObjectId() + "(" + player.getName() + ") requested a clan creation.");
 		}
 		}
 		
 		
 		if (10 > player.getLevel())
 		if (10 > player.getLevel())
@@ -197,11 +197,6 @@ public class ClanTable
 		player.setPledgeClass(L2ClanMember.calculatePledgeClass(player));
 		player.setPledgeClass(L2ClanMember.calculatePledgeClass(player));
 		player.setClanPrivileges(L2Clan.CP_ALL);
 		player.setClanPrivileges(L2Clan.CP_ALL);
 		
 		
-		if (Config.DEBUG)
-		{
-			_log.fine("New clan created: " + clan.getClanId() + " " + clan.getName());
-		}
-		
 		_clans.put(Integer.valueOf(clan.getClanId()), clan);
 		_clans.put(Integer.valueOf(clan.getClanId()), clan);
 		
 		
 		// should be update packet only
 		// should be update packet only
@@ -338,15 +333,10 @@ public class ClanTable
 					hall.free();
 					hall.free();
 				}
 				}
 			}
 			}
-			
-			if (Config.DEBUG)
-			{
-				_log.fine("clan removed in db: " + clanId);
-			}
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Error removing clan from DB.", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error removing clan from DB.", e);
 		}
 		}
 	}
 	}
 	
 	
@@ -406,7 +396,7 @@ public class ClanTable
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Error storing clan wars data.", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error storing clan wars data.", e);
 		}
 		}
 		
 		
 		// SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_BEGUN);
 		// SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_BEGUN);
@@ -437,16 +427,6 @@ public class ClanTable
 		clan2.deleteAttackerClan(clan1);
 		clan2.deleteAttackerClan(clan1);
 		clan1.broadcastClanStatus();
 		clan1.broadcastClanStatus();
 		clan2.broadcastClanStatus();
 		clan2.broadcastClanStatus();
-		// for(L2ClanMember player: clan1.getMembers())
-		// {
-		// if(player.getPlayerInstance()!=null)
-		// player.getPlayerInstance().setWantsPeace(0);
-		// }
-		// for(L2ClanMember player: clan2.getMembers())
-		// {
-		// if(player.getPlayerInstance()!=null)
-		// player.getPlayerInstance().setWantsPeace(0);
-		// }
 		
 		
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 			PreparedStatement ps = con.prepareStatement("DELETE FROM clan_wars WHERE clan1=? AND clan2=?"))
 			PreparedStatement ps = con.prepareStatement("DELETE FROM clan_wars WHERE clan1=? AND clan2=?"))
@@ -457,7 +437,7 @@ public class ClanTable
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Error removing clan wars data.", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error removing clan wars data.", e);
 		}
 		}
 		
 		
 		// SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_ENDED);
 		// SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_ENDED);
@@ -467,9 +447,6 @@ public class ClanTable
 		msg = SystemMessage.getSystemMessage(SystemMessageId.CLAN_S1_HAS_DECIDED_TO_STOP);
 		msg = SystemMessage.getSystemMessage(SystemMessageId.CLAN_S1_HAS_DECIDED_TO_STOP);
 		msg.addString(clan1.getName());
 		msg.addString(clan1.getName());
 		clan2.broadcastToOnlineMembers(msg);
 		clan2.broadcastToOnlineMembers(msg);
-		// msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_ENDED);
-		// msg.addString(clan1.getName());
-		// clan2.broadcastToOnlineMembers(msg);
 	}
 	}
 	
 	
 	public void checkSurrender(L2Clan clan1, L2Clan clan2)
 	public void checkSurrender(L2Clan clan1, L2Clan clan2)
@@ -512,13 +489,13 @@ public class ClanTable
 				}
 				}
 				else
 				else
 				{
 				{
-					_log.log(Level.WARNING, "[ClanTable]: restorewars one of clans is null clan1:" + clan1 + " clan2:" + clan2);
+					_log.log(Level.WARNING, getClass().getSimpleName() + ": restorewars one of clans is null clan1:" + clan1 + " clan2:" + clan2);
 				}
 				}
 			}
 			}
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Error restoring clan wars data.", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error restoring clan wars data.", e);
 		}
 		}
 	}
 	}
 	
 	

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/DoorTable.java

@@ -82,7 +82,7 @@ public class DoorTable extends DocumentParser
 			}
 			}
 		}
 		}
 		
 		
-		_log.info("DoorTable: Loaded " + _doors.size() + " Door Templates for " + _regions.size() + " regions.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + _doors.size() + " Door Templates for " + _regions.size() + " regions.");
 	}
 	}
 	
 	
 	public void insertCollisionData(StatsSet set)
 	public void insertCollisionData(StatsSet set)

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/EnchantGroupsData.java

@@ -138,7 +138,7 @@ public class EnchantGroupsData extends DocumentParser
 			
 			
 			return _enchantSkillGroups.get(group).getEnchantGroupDetails().size();
 			return _enchantSkillGroups.get(group).getEnchantGroupDetails().size();
 		}
 		}
-		_log.log(Level.SEVERE, "Error while loading generating enchant skill id: " + skillId + "; route: " + route + "; missing group: " + group);
+		_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error while loading generating enchant skill id: " + skillId + "; route: " + route + "; missing group: " + group);
 		return 0;
 		return 0;
 	}
 	}
 	
 	

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/EnchantHPBonusData.java

@@ -37,7 +37,7 @@ public class EnchantHPBonusData extends DocumentParser
 {
 {
 	private final Map<Integer, List<Integer>> _armorHPBonuses = new HashMap<>();
 	private final Map<Integer, List<Integer>> _armorHPBonuses = new HashMap<>();
 	
 	
-	private static final float fullArmorModifier = 1.5f; // TODO: Config?
+	private static final float fullArmorModifier = 1.5f; // TODO: Move it to config!
 	
 	
 	/**
 	/**
 	 * Instantiates a new enchant hp bonus data.
 	 * Instantiates a new enchant hp bonus data.

+ 1 - 9
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/EventDroplist.java

@@ -16,11 +16,9 @@ package com.l2jserver.gameserver.datatables;
 
 
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
-import java.util.logging.Logger;
 
 
 import javolution.util.FastList;
 import javolution.util.FastList;
 
 
-import com.l2jserver.Config;
 import com.l2jserver.gameserver.script.DateRange;
 import com.l2jserver.gameserver.script.DateRange;
 import com.l2jserver.gameserver.script.EventDrop;
 import com.l2jserver.gameserver.script.EventDrop;
 
 
@@ -31,9 +29,7 @@ import com.l2jserver.gameserver.script.EventDrop;
  * Each Special Event has a start and end date to stop to drop extra Items automatically.
  * Each Special Event has a start and end date to stop to drop extra Items automatically.
  */
  */
 public class EventDroplist
 public class EventDroplist
-{
-	private static Logger _log = Logger.getLogger(EventDroplist.class.getName());
-	
+{	
 	/**
 	/**
 	 * The table containing all DataDrop object
 	 * The table containing all DataDrop object
 	 */
 	 */
@@ -98,10 +94,6 @@ public class EventDroplist
 		final Date currentDate = new Date();
 		final Date currentDate = new Date();
 		for (DateDrop drop : _allNpcDateDrops)
 		for (DateDrop drop : _allNpcDateDrops)
 		{
 		{
-			if (Config.DEBUG)
-			{
-				_log.info(drop._dateRange.toString() + " Now: " + currentDate);
-			}
 			if (drop._dateRange.isWithinRange(currentDate))
 			if (drop._dateRange.isWithinRange(currentDate))
 			{
 			{
 				list.add(drop);
 				list.add(drop);

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/HelperBuffTable.java

@@ -134,11 +134,11 @@ public class HelperBuffTable
 				L2HelperBuff template = new L2HelperBuff(helperBuffDat);
 				L2HelperBuff template = new L2HelperBuff(helperBuffDat);
 				_helperBuff.add(template);
 				_helperBuff.add(template);
 			}
 			}
-			_log.info("Helper Buff Table: Loaded " + _helperBuff.size() + " Templates.");
+			_log.info(getClass().getSimpleName() + ": Loaded " + _helperBuff.size() + " Templates.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Table helper_buff_list not found : Update your DataPack! Error : " + e.getMessage(), e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Table helper_buff_list not found : Update your DataPack! Error : " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	

+ 16 - 17
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/HerbDropTable.java

@@ -14,16 +14,16 @@
  */
  */
 package com.l2jserver.gameserver.datatables;
 package com.l2jserver.gameserver.datatables;
 
 
-import gnu.trove.map.hash.TIntObjectHashMap;
-
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
-import javolution.util.FastList;
-
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.model.L2DropCategory;
 import com.l2jserver.gameserver.model.L2DropCategory;
 import com.l2jserver.gameserver.model.L2DropData;
 import com.l2jserver.gameserver.model.L2DropData;
@@ -37,16 +37,10 @@ public class HerbDropTable
 {
 {
 	private static Logger _log = Logger.getLogger(HerbDropTable.class.getName());
 	private static Logger _log = Logger.getLogger(HerbDropTable.class.getName());
 	
 	
-	private TIntObjectHashMap<FastList<L2DropCategory>> _herbGroups;
-	
-	public static HerbDropTable getInstance()
-	{
-		return SingletonHolder._instance;
-	}
+	private Map<Integer, List<L2DropCategory>> _herbGroups = new HashMap<>();
 	
 	
 	protected HerbDropTable()
 	protected HerbDropTable()
 	{
 	{
-		_herbGroups = new TIntObjectHashMap<>();
 		restoreData();
 		restoreData();
 	}
 	}
 	
 	
@@ -62,12 +56,12 @@ public class HerbDropTable
 			while (dropData.next())
 			while (dropData.next())
 			{
 			{
 				int groupId = dropData.getInt("groupId");
 				int groupId = dropData.getInt("groupId");
-				FastList<L2DropCategory> category;
-				if (_herbGroups.contains(groupId))
+				List<L2DropCategory> category;
+				if (_herbGroups.containsKey(groupId))
 					category = _herbGroups.get(groupId);
 					category = _herbGroups.get(groupId);
 				else
 				else
 				{
 				{
-					category = new FastList<>();
+					category = new ArrayList<>();
 					_herbGroups.put(groupId, category);
 					_herbGroups.put(groupId, category);
 				}
 				}
 				
 				
@@ -82,7 +76,7 @@ public class HerbDropTable
 				
 				
 				if (ItemTable.getInstance().getTemplate(dropDat.getItemId()) == null)
 				if (ItemTable.getInstance().getTemplate(dropDat.getItemId()) == null)
 				{
 				{
-					_log.warning("Herb Drop data for undefined item template! GroupId: " + groupId+" itemId: "+dropDat.getItemId());
+					_log.warning(getClass().getSimpleName() + ": Data for undefined item template! GroupId: " + groupId+" itemId: "+dropDat.getItemId());
 					continue;
 					continue;
 				}
 				}
 				
 				
@@ -106,15 +100,20 @@ public class HerbDropTable
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "HerbDroplistGroupsTable: Error reading Herb dropdata. ", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error reading Herb dropdata. ", e);
 		}
 		}
 	}
 	}
 	
 	
-	public FastList<L2DropCategory> getHerbDroplist(int groupId)
+	public List<L2DropCategory> getHerbDroplist(int groupId)
 	{
 	{
 		return _herbGroups.get(groupId);
 		return _herbGroups.get(groupId);
 	}
 	}
 	
 	
+	public static HerbDropTable getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final HerbDropTable _instance = new HerbDropTable();
 		protected static final HerbDropTable _instance = new HerbDropTable();

+ 6 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/ItemTable.java

@@ -212,6 +212,10 @@ public class ItemTable
 				_weapons.put(item.getItemId(), (L2Weapon) item);
 				_weapons.put(item.getItemId(), (L2Weapon) item);
 		}
 		}
 		buildFastLookupTable(highest);
 		buildFastLookupTable(highest);
+		_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _etcItems.size() + " Etc Items");
+		_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _armors.size() + " Armor Items");
+		_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _weapons.size() + " Weapon Items");
+		_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + (_etcItems.size() + _armors.size() + _weapons.size())  + " Items in total.");
 	}
 	}
 	
 	
 	/**
 	/**
@@ -221,7 +225,7 @@ public class ItemTable
 	private void buildFastLookupTable(int size)
 	private void buildFastLookupTable(int size)
 	{
 	{
 		// Create a FastLookUp Table called _allTemplates of size : value of the highest item ID
 		// Create a FastLookUp Table called _allTemplates of size : value of the highest item ID
-		_log.info("Highest item id used:" + size);
+		_log.info(getClass().getSimpleName() + ": Highest item id used:" + size);
 		_allTemplates = new L2Item[size + 1];
 		_allTemplates = new L2Item[size + 1];
 		
 		
 		// Insert armor item in Fast Look Up Table
 		// Insert armor item in Fast Look Up Table
@@ -304,7 +308,7 @@ public class ItemTable
 		}
 		}
 		
 		
 		if (Config.DEBUG)
 		if (Config.DEBUG)
-			_log.fine("ItemTable: Item created  oid:" + item.getObjectId() + " itemid:" + itemId);
+			_log.fine(getClass().getSimpleName() + ": Item created  oid:" + item.getObjectId() + " itemid:" + itemId);
 		
 		
 		// Add the L2ItemInstance object to _allObjects of L2world
 		// Add the L2ItemInstance object to _allObjects of L2world
 		L2World.getInstance().storeObject(item);
 		L2World.getInstance().storeObject(item);

+ 0 - 110
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/LevelUpData.java

@@ -1,110 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later
- * version.
- * 
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package com.l2jserver.gameserver.datatables;
-
-import gnu.trove.map.hash.TIntObjectHashMap;
-
-import java.sql.Connection;
-import java.sql.ResultSet;
-import java.sql.Statement;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import com.l2jserver.L2DatabaseFactory;
-import com.l2jserver.gameserver.model.L2LvlupData;
-import com.l2jserver.gameserver.model.base.ClassId;
-
-/**
- * This class ...
- *
- * @author NightMarez
- * @version $Revision: 1.3.2.4.2.3 $ $Date: 2005/03/27 15:29:18 $
- */
-public class LevelUpData
-{
-	private static final String SELECT_ALL = "SELECT classid, defaulthpbase, defaulthpadd, defaulthpmod, defaultcpbase, defaultcpadd, defaultcpmod, defaultmpbase, defaultmpadd, defaultmpmod, class_lvl FROM lvlupgain";
-	private static final String CLASS_LVL = "class_lvl";
-	private static final String MP_MOD = "defaultmpmod";
-	private static final String MP_ADD = "defaultmpadd";
-	private static final String MP_BASE = "defaultmpbase";
-	private static final String HP_MOD = "defaulthpmod";
-	private static final String HP_ADD = "defaulthpadd";
-	private static final String HP_BASE = "defaulthpbase";
-	private static final String CP_MOD = "defaultcpmod";
-	private static final String CP_ADD = "defaultcpadd";
-	private static final String CP_BASE = "defaultcpbase";
-	private static final String CLASS_ID = "classid";
-	
-	private static Logger _log = Logger.getLogger(LevelUpData.class.getName());
-	
-	private TIntObjectHashMap<L2LvlupData> _lvlTable;
-	
-	public static LevelUpData getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
-	protected LevelUpData()
-	{
-		_lvlTable = new TIntObjectHashMap<>();
-		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
-			Statement s = con.createStatement();
-			ResultSet rs = s.executeQuery(SELECT_ALL))
-		{
-			L2LvlupData lvlDat;
-			while (rs.next())
-			{
-				lvlDat = new L2LvlupData();
-				lvlDat.setClassid(rs.getInt(CLASS_ID));
-				lvlDat.setClassLvl(rs.getInt(CLASS_LVL));
-				lvlDat.setClassHpBase(rs.getFloat(HP_BASE));
-				lvlDat.setClassHpAdd(rs.getFloat(HP_ADD));
-				lvlDat.setClassHpModifier(rs.getFloat(HP_MOD));
-				lvlDat.setClassCpBase(rs.getFloat(CP_BASE));
-				lvlDat.setClassCpAdd(rs.getFloat(CP_ADD));
-				lvlDat.setClassCpModifier(rs.getFloat(CP_MOD));
-				lvlDat.setClassMpBase(rs.getFloat(MP_BASE));
-				lvlDat.setClassMpAdd(rs.getFloat(MP_ADD));
-				lvlDat.setClassMpModifier(rs.getFloat(MP_MOD));
-				
-				_lvlTable.put(lvlDat.getClassid(), lvlDat);
-			}
-		}
-		catch (Exception e)
-		{
-			_log.log(Level.SEVERE, "Error loading Level Up data.", e);
-		}
-		_log.info("LevelUpData: Loaded " + _lvlTable.size() + " Character Level Up Templates.");
-	}
-	
-	/**
-	 * @param classId
-	 * @return
-	 */
-	public L2LvlupData getTemplate(int classId)
-	{
-		return _lvlTable.get(classId);
-	}
-	
-	public L2LvlupData getTemplate(ClassId classId)
-	{
-		return _lvlTable.get(classId.getId());
-	}
-	
-	private static class SingletonHolder
-	{
-		protected static final LevelUpData _instance = new LevelUpData();
-	}
-}

+ 364 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/ManorData.java

@@ -0,0 +1,364 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jserver.gameserver.datatables;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+import com.l2jserver.gameserver.engines.DocumentParser;
+import com.l2jserver.gameserver.model.L2Seed;
+import com.l2jserver.gameserver.model.StatsSet;
+import com.l2jserver.gameserver.model.items.L2Item;
+import com.l2jserver.util.L2FastMap;
+
+/**
+ * Service class for manor
+ * @author l3x, UnAfraid
+ */
+public class ManorData extends DocumentParser
+{
+	private static Logger _log = Logger.getLogger(ManorData.class.getName());
+	
+	private static Map<Integer, L2Seed> _seeds;
+	
+	protected ManorData()
+	{
+		_seeds = new L2FastMap<>(true);
+		load();
+	}
+	
+	@Override
+	public void load()
+	{
+		_seeds.clear();
+		parseDatapackFile("data/seeds.xml");
+		_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _seeds.size() + " Seeds");
+	}
+	
+	@Override
+	protected void parseDocument()
+	{
+		Document doc = getCurrentDocument();
+		doc.getDocumentElement().normalize();
+		StatsSet set;
+		for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
+		{
+			if ("list".equalsIgnoreCase(n.getNodeName()))
+			{
+				// castle
+				for (Node d = n.getFirstChild(); d != null; d = d.getNextSibling())
+				{
+					if ("castle".equalsIgnoreCase(d.getNodeName()))
+					{
+						int castleId = parseInt(d.getAttributes(), "id");
+						// crop
+						for (Node c = d.getFirstChild(); c != null; c = c.getNextSibling())
+						{
+							if ("crop".equalsIgnoreCase(c.getNodeName()))
+							{
+								set = new StatsSet();
+								set.set("cropId", parseString(c.getAttributes(), "id"));
+								set.set("castleId", castleId);
+								
+								for (Node a = c.getFirstChild(); a != null; a = a.getNextSibling())
+								{
+									switch (a.getNodeName())
+									{
+										case "seed_id":
+										case "mature_id":
+										case "reward1":
+										case "reward2":
+										case "alternative":
+										case "level":
+										case "limit_seed":
+										case "limit_crops":
+										{
+											set.set(a.getNodeName(), parseString(a.getAttributes(), "val"));
+											break;
+										}
+									}
+								}
+								
+								L2Seed seed = new L2Seed(set);
+								_seeds.put(seed.getSeedId(), seed);
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+	
+	public Collection<L2Seed> getSeedsData()
+	{
+		return _seeds.values();
+	}
+	
+	public List<Integer> getAllCrops()
+	{
+		List<Integer> crops = new ArrayList<>();
+		
+		for (L2Seed seed : getSeedsData())
+		{
+			if (!crops.contains(seed.getCropId()) && (seed.getCropId() != 0) && !crops.contains(seed.getCropId()))
+			{
+				crops.add(seed.getCropId());
+			}
+		}
+		
+		return crops;
+	}
+	
+	public int getSeedBasicPrice(int seedId)
+	{
+		final L2Item seedItem = ItemTable.getInstance().getTemplate(seedId);
+		if (seedItem != null)
+		{
+			return seedItem.getReferencePrice();
+		}
+		return 0;
+	}
+	
+	public int getSeedBasicPriceByCrop(int cropId)
+	{
+		for (L2Seed seed : getSeedsData())
+		{
+			if (seed.getCropId() == cropId)
+			{
+				return getSeedBasicPrice(seed.getSeedId());
+			}
+		}
+		return 0;
+	}
+	
+	public int getCropBasicPrice(int cropId)
+	{
+		final L2Item cropItem = ItemTable.getInstance().getTemplate(cropId);
+		if (cropItem != null)
+		{
+			return cropItem.getReferencePrice();
+		}
+		return 0;
+	}
+	
+	public int getMatureCrop(int cropId)
+	{
+		for (L2Seed seed : getSeedsData())
+		{
+			if (seed.getCropId() == cropId)
+			{
+				return seed.getMatureId();
+			}
+		}
+		return 0;
+	}
+	
+	/**
+	 * Returns price which lord pays to buy one seed
+	 * @param seedId
+	 * @return seed price
+	 */
+	public long getSeedBuyPrice(int seedId)
+	{
+		long buyPrice = getSeedBasicPrice(seedId);
+		return (buyPrice > 0 ? buyPrice : 1);
+	}
+	
+	public int getSeedMinLevel(int seedId)
+	{
+		L2Seed seed = _seeds.get(seedId);
+		
+		if (seed != null)
+		{
+			return seed.getLevel() - 5;
+		}
+		return -1;
+	}
+	
+	public int getSeedMaxLevel(int seedId)
+	{
+		L2Seed seed = _seeds.get(seedId);
+		
+		if (seed != null)
+		{
+			return seed.getLevel() + 5;
+		}
+		return -1;
+	}
+	
+	public int getSeedLevelByCrop(int cropId)
+	{
+		for (L2Seed seed : getSeedsData())
+		{
+			if (seed.getCropId() == cropId)
+			{
+				return seed.getLevel();
+			}
+		}
+		return 0;
+	}
+	
+	public int getSeedLevel(int seedId)
+	{
+		L2Seed seed = _seeds.get(seedId);
+		
+		if (seed != null)
+		{
+			return seed.getLevel();
+		}
+		return -1;
+	}
+	
+	public boolean isAlternative(int seedId)
+	{
+		L2Seed seed = _seeds.get(seedId);
+		
+		if (seed != null)
+		{
+			return seed.isAlternative();
+		}
+		return false;
+	}
+	
+	public int getCropType(int seedId)
+	{
+		L2Seed seed = _seeds.get(seedId);
+		
+		if (seed != null)
+		{
+			return seed.getCropId();
+		}
+		return -1;
+	}
+	
+	public int getRewardItem(int cropId, int type)
+	{
+		for (L2Seed seed : getSeedsData())
+		{
+			if (seed.getCropId() == cropId)
+			{
+				return seed.getReward(type); // there can be several seeds with same crop, but reward should be the same for all.
+			}
+		}
+		return -1;
+	}
+	
+	public int getRewardItemBySeed(int seedId, int type)
+	{
+		L2Seed seed = _seeds.get(seedId);
+		
+		if (seed != null)
+		{
+			return seed.getReward(type);
+		}
+		return 0;
+	}
+	
+	/**
+	 * Return all crops which can be purchased by given castle
+	 * @param castleId
+	 * @return
+	 */
+	public List<Integer> getCropsForCastle(int castleId)
+	{
+		List<Integer> crops = new ArrayList<>();
+		
+		for (L2Seed seed : getSeedsData())
+		{
+			if ((seed.getCastleId() == castleId) && !crops.contains(seed.getCropId()))
+			{
+				crops.add(seed.getCropId());
+			}
+		}
+		
+		return crops;
+	}
+	
+	/**
+	 * Return list of seed ids, which belongs to castle with given id
+	 * @param castleId - id of the castle
+	 * @return seedIds - list of seed ids
+	 */
+	public List<Integer> getSeedsForCastle(int castleId)
+	{
+		List<Integer> seedsID = new ArrayList<>();
+		
+		for (L2Seed seed : getSeedsData())
+		{
+			if ((seed.getCastleId() == castleId) && !seedsID.contains(seed.getSeedId()))
+			{
+				seedsID.add(seed.getSeedId());
+			}
+		}
+		
+		return seedsID;
+	}
+	
+	/**
+	 * Returns castle id where seed can be sowned<br>
+	 * @param seedId
+	 * @return castleId
+	 */
+	public int getCastleIdForSeed(int seedId)
+	{
+		L2Seed seed = _seeds.get(seedId);
+		
+		if (seed != null)
+		{
+			return seed.getCastleId();
+		}
+		return 0;
+	}
+	
+	public int getSeedSaleLimit(int seedId)
+	{
+		L2Seed seed = _seeds.get(seedId);
+		
+		if (seed != null)
+		{
+			return seed.getSeedLimit();
+		}
+		return 0;
+	}
+	
+	public int getCropPuchaseLimit(int cropId)
+	{
+		for (L2Seed seed : getSeedsData())
+		{
+			if (seed.getCropId() == cropId)
+			{
+				return seed.getCropLimit();
+			}
+		}
+		return 0;
+	}
+	
+	public static ManorData getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
+	private static class SingletonHolder
+	{
+		protected static final ManorData _instance = new ManorData();
+	}
+}

+ 3 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/MerchantPriceConfigTable.java

@@ -160,12 +160,12 @@ public class MerchantPriceConfigTable implements InstanceListManager
 	{
 	{
 		try
 		try
 		{
 		{
-			this.loadXML();
-			_log.info("MerchantPriceConfigTable: Loaded " + _mpcs.size() + " merchant price configs.");
+			loadXML();
+			_log.info(getClass().getSimpleName() + ": Loaded " + _mpcs.size() + " merchant price configs.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Failed loading MerchantPriceConfigTable. Reason: " + e.getMessage(), e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Failed loading MerchantPriceConfigTable. Reason: " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	

+ 21 - 23
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/MultiSell.java

@@ -14,11 +14,11 @@
  */
  */
 package com.l2jserver.gameserver.datatables;
 package com.l2jserver.gameserver.datatables;
 
 
-import gnu.trove.iterator.TIntObjectIterator;
-import gnu.trove.map.hash.TIntObjectHashMap;
-
 import java.io.File;
 import java.io.File;
+import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
@@ -46,24 +46,18 @@ import com.l2jserver.util.file.filter.XMLFilter;
 
 
 public class MultiSell
 public class MultiSell
 {
 {
+	private static final Logger _log = Logger.getLogger(MultiSell.class.getName());
+
 	public static final int PAGE_SIZE = 40;
 	public static final int PAGE_SIZE = 40;
 	
 	
 	public static final int PC_BANG_POINTS = -100;
 	public static final int PC_BANG_POINTS = -100;
 	public static final int CLAN_REPUTATION = -200;
 	public static final int CLAN_REPUTATION = -200;
 	public static final int FAME = -300;
 	public static final int FAME = -300;
-	
-	private static final Logger _log = Logger.getLogger(MultiSell.class.getName());
-	
-	private final TIntObjectHashMap<ListContainer> _entries;
-	
-	public static MultiSell getInstance()
-	{
-		return SingletonHolder._instance;
-	}
+		
+	private final Map<Integer, ListContainer> _entries = new HashMap<>();
 	
 	
 	protected MultiSell()
 	protected MultiSell()
 	{
 	{
-		_entries = new TIntObjectHashMap<>();
 		load();
 		load();
 	}
 	}
 	
 	
@@ -106,7 +100,7 @@ public class MultiSell
 		ListContainer template = _entries.get(listId);
 		ListContainer template = _entries.get(listId);
 		if (template == null)
 		if (template == null)
 		{
 		{
-			_log.warning("[MultiSell] can't find list id: " + listId + " requested by player: " + player.getName() + ", npcId:" + (npc != null ? npc.getNpcId() : 0));
+			_log.warning(getClass().getSimpleName() + ": can't find list id: " + listId + " requested by player: " + player.getName() + ", npcId:" + (npc != null ? npc.getNpcId() : 0));
 			return;
 			return;
 		}
 		}
 		
 		
@@ -232,7 +226,7 @@ public class MultiSell
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
-				_log.log(Level.SEVERE, "Error loading file " + f, e);
+				_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error loading file " + f, e);
 				continue;
 				continue;
 			}
 			}
 			
 			
@@ -244,11 +238,11 @@ public class MultiSell
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
-				_log.log(Level.SEVERE, "Error in file " + f, e);
+				_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error in file " + f, e);
 			}
 			}
 		}
 		}
 		verify();
 		verify();
-		_log.log(Level.INFO, "MultiSell: Loaded " + _entries.size() + " lists.");
+		_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded " + _entries.size() + " lists.");
 	}
 	}
 	
 	
 	private final ListContainer parseDocument(Document doc)
 	private final ListContainer parseDocument(Document doc)
@@ -367,7 +361,7 @@ public class MultiSell
 		File dir = new File(Config.DATAPACK_ROOT, dirname);
 		File dir = new File(Config.DATAPACK_ROOT, dirname);
 		if (!dir.exists())
 		if (!dir.exists())
 		{
 		{
-			_log.log(Level.WARNING, "Dir " + dir.getAbsolutePath() + " not exists");
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Dir " + dir.getAbsolutePath() + " not exists");
 			return;
 			return;
 		}
 		}
 		
 		
@@ -379,23 +373,22 @@ public class MultiSell
 	private final void verify()
 	private final void verify()
 	{
 	{
 		ListContainer list;
 		ListContainer list;
-		final TIntObjectIterator<ListContainer> iter = _entries.iterator();
+		final Iterator<ListContainer> iter = _entries.values().iterator();
 		while (iter.hasNext())
 		while (iter.hasNext())
 		{
 		{
-			iter.advance();
-			list = iter.value();
+			list = iter.next();
 			
 			
 			for (Entry ent : list.getEntries())
 			for (Entry ent : list.getEntries())
 			{
 			{
 				for (Ingredient ing : ent.getIngredients())
 				for (Ingredient ing : ent.getIngredients())
 				{
 				{
 					if (!verifyIngredient(ing))
 					if (!verifyIngredient(ing))
-						_log.warning("[MultiSell] can't find ingredient with itemId: " + ing.getItemId() + " in list: " + list.getListId());
+						_log.warning(getClass().getSimpleName() + ": can't find ingredient with itemId: " + ing.getItemId() + " in list: " + list.getListId());
 				}
 				}
 				for (Ingredient ing : ent.getProducts())
 				for (Ingredient ing : ent.getProducts())
 				{
 				{
 					if (!verifyIngredient(ing))
 					if (!verifyIngredient(ing))
-						_log.warning("[MultiSell] can't find product with itemId: " + ing.getItemId() + " in list: " + list.getListId());
+						_log.warning(getClass().getSimpleName() + ": can't find product with itemId: " + ing.getItemId() + " in list: " + list.getListId());
 				}
 				}
 			}
 			}
 		}
 		}
@@ -416,6 +409,11 @@ public class MultiSell
 		return false;
 		return false;
 	}
 	}
 	
 	
+	public static MultiSell getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final MultiSell _instance = new MultiSell();
 		protected static final MultiSell _instance = new MultiSell();

+ 6 - 5
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/NpcBufferTable.java

@@ -15,12 +15,13 @@
 package com.l2jserver.gameserver.datatables;
 package com.l2jserver.gameserver.datatables;
 
 
 import gnu.trove.map.hash.TIntIntHashMap;
 import gnu.trove.map.hash.TIntIntHashMap;
-import gnu.trove.map.hash.TIntObjectHashMap;
 
 
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.sql.Statement;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
@@ -31,7 +32,7 @@ public class NpcBufferTable
 {
 {
 	private static Logger _log = Logger.getLogger(NpcBufferTable.class.getName());
 	private static Logger _log = Logger.getLogger(NpcBufferTable.class.getName());
 	
 	
-	private final TIntObjectHashMap<NpcBufferSkills> _buffers = new TIntObjectHashMap<>();
+	private final Map<Integer, NpcBufferSkills> _buffers = new HashMap<>();
 	
 	
 	private static class NpcBufferSkills
 	private static class NpcBufferSkills
 	{
 	{
@@ -114,7 +115,7 @@ public class NpcBufferTable
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.SEVERE, "NpcBufferTable: Error reading npc_buffer table: " + e.getMessage(), e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error reading npc_buffer table: " + e.getMessage(), e);
 		}
 		}
 		
 		
 		if (Config.CUSTOM_NPCBUFFER_TABLES)
 		if (Config.CUSTOM_NPCBUFFER_TABLES)
@@ -159,10 +160,10 @@ public class NpcBufferTable
 			}
 			}
 			catch (SQLException e)
 			catch (SQLException e)
 			{
 			{
-				_log.log(Level.SEVERE, "NpcBufferTable: Error reading custom_npc_buffer table: " + e.getMessage(), e);
+				_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error reading custom_npc_buffer table: " + e.getMessage(), e);
 			}
 			}
 		}
 		}
-		_log.info("NpcBufferSkillIdsTable: Loaded " + _buffers.size() + " buffers and " + skillCount + " skills.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + _buffers.size() + " buffers and " + skillCount + " skills.");
 	}
 	}
 	
 	
 	public int[] getSkillInfo(int npcId, int buffGroup)
 	public int[] getSkillInfo(int npcId, int buffGroup)

+ 7 - 8
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/NpcTable.java

@@ -14,13 +14,12 @@
  */
  */
 package com.l2jserver.gameserver.datatables;
 package com.l2jserver.gameserver.datatables;
 
 
-import gnu.trove.map.hash.TIntObjectHashMap;
-
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Map.Entry;
@@ -45,7 +44,7 @@ public class NpcTable
 {
 {
 	private static final Logger _log = Logger.getLogger(NpcTable.class.getName());
 	private static final Logger _log = Logger.getLogger(NpcTable.class.getName());
 	
 	
-	private static final TIntObjectHashMap<L2NpcTemplate> _npcs = new TIntObjectHashMap<>();
+	private static final Map<Integer, L2NpcTemplate> _npcs = new HashMap<>();
 	
 	
 	// SQL Queries
 	// SQL Queries
 	private static final String SELECT_NPC_ALL = "SELECT * FROM npc ORDER BY id";
 	private static final String SELECT_NPC_ALL = "SELECT * FROM npc ORDER BY id";
@@ -357,7 +356,7 @@ public class NpcTable
 	 */
 	 */
 	public L2NpcTemplate getTemplateByName(String name)
 	public L2NpcTemplate getTemplateByName(String name)
 	{
 	{
-		for (L2NpcTemplate npcTemplate : _npcs.values(new L2NpcTemplate[0]))
+		for (L2NpcTemplate npcTemplate : _npcs.values())
 		{
 		{
 			if (npcTemplate.getName().equalsIgnoreCase(name))
 			if (npcTemplate.getName().equalsIgnoreCase(name))
 			{
 			{
@@ -377,7 +376,7 @@ public class NpcTable
 		final List<L2NpcTemplate> list = new ArrayList<>();
 		final List<L2NpcTemplate> list = new ArrayList<>();
 		for (int lvl : lvls)
 		for (int lvl : lvls)
 		{
 		{
-			for (L2NpcTemplate t : _npcs.values(new L2NpcTemplate[0]))
+			for (L2NpcTemplate t : _npcs.values())
 			{
 			{
 				if (t.getLevel() == lvl)
 				if (t.getLevel() == lvl)
 				{
 				{
@@ -398,7 +397,7 @@ public class NpcTable
 		final List<L2NpcTemplate> list = new ArrayList<>();
 		final List<L2NpcTemplate> list = new ArrayList<>();
 		for (int lvl : lvls)
 		for (int lvl : lvls)
 		{
 		{
-			for (L2NpcTemplate t : _npcs.values(new L2NpcTemplate[0]))
+			for (L2NpcTemplate t : _npcs.values())
 			{
 			{
 				if ((t.getLevel() == lvl) && t.isType("L2Monster"))
 				if ((t.getLevel() == lvl) && t.isType("L2Monster"))
 				{
 				{
@@ -419,7 +418,7 @@ public class NpcTable
 		final List<L2NpcTemplate> list = new ArrayList<>();
 		final List<L2NpcTemplate> list = new ArrayList<>();
 		for (String letter : letters)
 		for (String letter : letters)
 		{
 		{
-			for (L2NpcTemplate t : _npcs.values(new L2NpcTemplate[0]))
+			for (L2NpcTemplate t : _npcs.values())
 			{
 			{
 				if (t.getName().startsWith(letter) && t.isType("L2Npc"))
 				if (t.getName().startsWith(letter) && t.isType("L2Npc"))
 				{
 				{
@@ -440,7 +439,7 @@ public class NpcTable
 		final List<L2NpcTemplate> list = new ArrayList<>();
 		final List<L2NpcTemplate> list = new ArrayList<>();
 		for (String classType : classTypes)
 		for (String classType : classTypes)
 		{
 		{
-			for (L2NpcTemplate t : _npcs.values(new L2NpcTemplate[0]))
+			for (L2NpcTemplate t : _npcs.values())
 			{
 			{
 				if (t.isType(classType))
 				if (t.isType(classType))
 				{
 				{

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/NpcWalkerRoutesData.java

@@ -87,7 +87,7 @@ public class NpcWalkerRoutesData extends DocumentParser
 								npcString = NpcStringId.getNpcStringId(node.getNodeValue());
 								npcString = NpcStringId.getNpcStringId(node.getNodeValue());
 								if (npcString == null)
 								if (npcString == null)
 								{
 								{
-									_log.log(Level.WARNING, "NpcWalkerRoutersTable: Unknown npcstring '" + node.getNodeValue() + ".");
+									_log.log(Level.WARNING, getClass().getSimpleName() + ": Unknown npcstring '" + node.getNodeValue() + ".");
 									continue;
 									continue;
 								}
 								}
 							}
 							}
@@ -99,7 +99,7 @@ public class NpcWalkerRoutesData extends DocumentParser
 									npcString = NpcStringId.getNpcStringId(parseInt(node));
 									npcString = NpcStringId.getNpcStringId(parseInt(node));
 									if (npcString == null)
 									if (npcString == null)
 									{
 									{
-										_log.log(Level.WARNING, "NpcWalkerRoutersTable: Unknown npcstring '" + node.getNodeValue() + ".");
+										_log.log(Level.WARNING, getClass().getSimpleName() + ": Unknown npcstring '" + node.getNodeValue() + ".");
 										continue;
 										continue;
 									}
 									}
 								}
 								}

+ 23 - 9
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/OfflineTradersTable.java

@@ -45,7 +45,7 @@ public class OfflineTradersTable
 	private static final String LOAD_OFFLINE_STATUS = "SELECT * FROM character_offline_trade";
 	private static final String LOAD_OFFLINE_STATUS = "SELECT * FROM character_offline_trade";
 	private static final String LOAD_OFFLINE_ITEMS = "SELECT * FROM character_offline_trade_items WHERE charId = ?";
 	private static final String LOAD_OFFLINE_ITEMS = "SELECT * FROM character_offline_trade_items WHERE charId = ?";
 	
 	
-	public static void storeOffliners()
+	public void storeOffliners()
 	{
 	{
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 			PreparedStatement stm1 = con.prepareStatement(CLEAR_OFFLINE_TABLE);
 			PreparedStatement stm1 = con.prepareStatement(CLEAR_OFFLINE_TABLE);
@@ -122,20 +122,20 @@ public class OfflineTradersTable
 				}
 				}
 				catch (Exception e)
 				catch (Exception e)
 				{
 				{
-					_log.log(Level.WARNING, "OfflineTradersTable[storeTradeItems()]: Error while saving offline trader: " + pc.getObjectId() + " " + e, e);
+					_log.log(Level.WARNING, getClass().getSimpleName() + ": Error while saving offline trader: " + pc.getObjectId() + " " + e, e);
 				}
 				}
 			}
 			}
-			_log.info("Offline traders stored.");
+			_log.info(getClass().getSimpleName() + ": Offline traders stored.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING,"OfflineTradersTable[storeTradeItems()]: Error while saving offline traders: " + e,e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error while saving offline traders: " + e,e);
 		}
 		}
 	}
 	}
 	
 	
-	public static void restoreOfflineTraders()
+	public void restoreOfflineTraders()
 	{
 	{
-		_log.info("Loading offline traders...");
+		_log.info(getClass().getSimpleName() + ": Loading offline traders...");
 		int nTraders = 0;
 		int nTraders = 0;
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 			Statement stm = con.createStatement();
 			Statement stm = con.createStatement();
@@ -220,7 +220,7 @@ public class OfflineTradersTable
 				}
 				}
 				catch (Exception e)
 				catch (Exception e)
 				{
 				{
-					_log.log(Level.WARNING, "OfflineTradersTable[loadOffliners()]: Error loading trader: "+player,e);
+					_log.log(Level.WARNING, getClass().getSimpleName() + ": Error loading trader: "+player,e);
 					if (player != null)
 					if (player != null)
 					{
 					{
 						player.deleteMe();
 						player.deleteMe();
@@ -228,7 +228,7 @@ public class OfflineTradersTable
 				}
 				}
 			}
 			}
 			
 			
-			_log.info("Loaded: " +nTraders+ " offline trader(s)");
+			_log.info(getClass().getSimpleName() + ": Loaded: " +nTraders+ " offline trader(s)");
 			
 			
 			try (Statement stm1 = con.createStatement())
 			try (Statement stm1 = con.createStatement())
 			{
 			{
@@ -238,7 +238,21 @@ public class OfflineTradersTable
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "OfflineTradersTable[loadOffliners()]: Error while loading offline traders: ",e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error while loading offline traders: ",e);
 		}
 		}
 	}
 	}
+	
+	/**
+	 * Gets the single instance of OfflineTradersTable.
+	 * @return single instance of OfflineTradersTable
+	 */
+	public static OfflineTradersTable getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
+	private static class SingletonHolder
+	{
+		protected static final OfflineTradersTable _instance = new OfflineTradersTable();
+	}
 }
 }

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/PetDataTable.java

@@ -147,7 +147,7 @@ public final class PetDataTable extends DocumentParser
 	{
 	{
 		if (!_pets.containsKey(petId))
 		if (!_pets.containsKey(petId))
 		{
 		{
-			_log.info("Missing pet data for npcid: " + petId);
+			_log.info(getClass().getSimpleName() + ": Missing pet data for npcid: " + petId);
 		}
 		}
 		return _pets.get(petId);
 		return _pets.get(petId);
 	}
 	}

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/PetNameTable.java

@@ -58,7 +58,7 @@ public class PetNameTable
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Could not check existing petname:" + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Could not check existing petname:" + e.getMessage(), e);
 		}
 		}
 		return result;
 		return result;
 	}
 	}
@@ -77,7 +77,7 @@ public class PetNameTable
 		}
 		}
 		catch (PatternSyntaxException e) // case of illegal pattern
 		catch (PatternSyntaxException e) // case of illegal pattern
 		{
 		{
-			_log.warning("ERROR : Pet name pattern of config is wrong!");
+			_log.warning(getClass().getSimpleName() + ": Pet name pattern of config is wrong!");
 			pattern = Pattern.compile(".*");
 			pattern = Pattern.compile(".*");
 		}
 		}
 		Matcher regexp = pattern.matcher(name);
 		Matcher regexp = pattern.matcher(name);

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/RecipeData.java

@@ -251,7 +251,7 @@ public class RecipeData extends DocumentParser
 		L2RecipeList recipeList = _recipes.get(id);
 		L2RecipeList recipeList = _recipes.get(id);
 		if ((recipeList == null) || (recipeList.getRecipes().length == 0))
 		if ((recipeList == null) || (recipeList.getRecipes().length == 0))
 		{
 		{
-			player.sendMessage("No recipe for: " + id);
+			player.sendMessage(getClass().getSimpleName() + ": No recipe for: " + id);
 			player.isInCraftMode(false);
 			player.isInCraftMode(false);
 			return null;
 			return null;
 		}
 		}

+ 25 - 19
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/SkillTable.java

@@ -16,10 +16,13 @@ package com.l2jserver.gameserver.datatables;
 
 
 import gnu.trove.list.array.TIntArrayList;
 import gnu.trove.list.array.TIntArrayList;
 import gnu.trove.map.hash.TIntIntHashMap;
 import gnu.trove.map.hash.TIntIntHashMap;
-import gnu.trove.map.hash.TIntObjectHashMap;
 
 
+import java.util.HashMap;
+import java.util.Map;
+import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
+import com.l2jserver.Config;
 import com.l2jserver.gameserver.engines.DocumentEngine;
 import com.l2jserver.gameserver.engines.DocumentEngine;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2Skill;
@@ -31,20 +34,12 @@ public class SkillTable
 {
 {
 	private static Logger _log = Logger.getLogger(SkillTable.class.getName());
 	private static Logger _log = Logger.getLogger(SkillTable.class.getName());
 	
 	
-	private final TIntObjectHashMap<L2Skill> _skills;
-	private final TIntIntHashMap _skillMaxLevel;
-	private final TIntArrayList _enchantable;
-	
-	public static SkillTable getInstance()
-	{
-		return SingletonHolder._instance;
-	}
+	private final Map<Integer, L2Skill> _skills = new HashMap<>();
+	private final TIntIntHashMap _skillMaxLevel = new TIntIntHashMap();
+	private final TIntArrayList _enchantable = new TIntArrayList();
 	
 	
 	protected SkillTable()
 	protected SkillTable()
 	{
 	{
-		_skills = new TIntObjectHashMap<>();
-		_skillMaxLevel = new TIntIntHashMap();
-		_enchantable = new TIntArrayList();
 		load();
 		load();
 	}
 	}
 	
 	
@@ -61,7 +56,7 @@ public class SkillTable
 		DocumentEngine.getInstance().loadAllSkills(_skills);
 		DocumentEngine.getInstance().loadAllSkills(_skills);
 		
 		
 		_skillMaxLevel.clear();
 		_skillMaxLevel.clear();
-		for (final L2Skill skill : _skills.values(new L2Skill[0]))
+		for (final L2Skill skill : _skills.values())
 		{
 		{
 			final int skillId = skill.getId();
 			final int skillId = skill.getId();
 			final int skillLvl = skill.getLevel();
 			final int skillLvl = skill.getLevel();
@@ -118,9 +113,15 @@ public class SkillTable
 		final int maxLvl = _skillMaxLevel.get(skillId);
 		final int maxLvl = _skillMaxLevel.get(skillId);
 		// requested level too high
 		// requested level too high
 		if (maxLvl > 0 && level > maxLvl)
 		if (maxLvl > 0 && level > maxLvl)
+		{
+			if (Config.DEBUG)
+			{
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": call to unexisting skill level id: " + skillId + " requested level: " + level + " max level: " + maxLvl, new Throwable());
+			}
 			return _skills.get(getSkillHashCode(skillId, maxLvl));
 			return _skills.get(getSkillHashCode(skillId, maxLvl));
+		}
 		
 		
-		_log.warning("No skill info found for skill id " + skillId + " and skill level " + level + ".");
+		_log.warning(getClass().getSimpleName() + ": No skill info found for skill id " + skillId + " and skill level " + level + ".");
 		return null;
 		return null;
 	}
 	}
 	
 	
@@ -156,11 +157,6 @@ public class SkillTable
 		return temp;
 		return temp;
 	}
 	}
 	
 	
-	private static class SingletonHolder
-	{
-		protected static final SkillTable _instance = new SkillTable();
-	}
-	
 	/**
 	/**
 	 * Enum to hold some important references to frequently used (hardcoded) skills in core
 	 * Enum to hold some important references to frequently used (hardcoded) skills in core
 	 * 
 	 * 
@@ -197,4 +193,14 @@ public class SkillTable
 			return _holder.getSkill();
 			return _holder.getSkill();
 		}
 		}
 	}
 	}
+	
+	public static SkillTable getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
+	private static class SingletonHolder
+	{
+		protected static final SkillTable _instance = new SkillTable();
+	}
 }
 }

+ 14 - 14
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/SpawnTable.java

@@ -44,11 +44,6 @@ public class SpawnTable
 	private int _npcSpawnCount;
 	private int _npcSpawnCount;
 	private int _customSpawnCount;
 	private int _customSpawnCount;
 	
 	
-	public static SpawnTable getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
 	protected SpawnTable()
 	protected SpawnTable()
 	{
 	{
 		_spawntable.shared();
 		_spawntable.shared();
@@ -120,7 +115,7 @@ public class SpawnTable
 				}
 				}
 				else
 				else
 				{
 				{
-					_log.warning("SpawnTable: Data missing in NPC table for ID: " + rset.getInt("npc_templateid") + ".");
+					_log.warning(getClass().getSimpleName() + ": Data missing in NPC table for ID: " + rset.getInt("npc_templateid") + ".");
 				}
 				}
 			}
 			}
 			rset.close();
 			rset.close();
@@ -129,10 +124,10 @@ public class SpawnTable
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
 			// problem with initializing spawn, go to next one
 			// problem with initializing spawn, go to next one
-			_log.log(Level.WARNING, "SpawnTable: Spawn could not be initialized: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Spawn could not be initialized: " + e.getMessage(), e);
 		}
 		}
 		
 		
-		_log.info("SpawnTable: Loaded " + _spawntable.size() + " Npc Spawn Locations.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + _spawntable.size() + " npc spawns.");
 		
 		
 		if (Config.CUSTOM_SPAWNLIST_TABLE)
 		if (Config.CUSTOM_SPAWNLIST_TABLE)
 		{
 		{
@@ -194,7 +189,7 @@ public class SpawnTable
 					}
 					}
 					else
 					else
 					{
 					{
-						_log.warning("CustomSpawnTable: Data missing in NPC table for ID: " + rset.getInt("npc_templateid") + ".");
+						_log.warning(getClass().getSimpleName() + ": Data missing in NPC table for ID: " + rset.getInt("npc_templateid") + ".");
 					}
 					}
 				}
 				}
 				rset.close();
 				rset.close();
@@ -205,12 +200,12 @@ public class SpawnTable
 				// problem with initializing spawn, go to next one
 				// problem with initializing spawn, go to next one
 				_log.log(Level.WARNING, "CustomSpawnTable: Spawn could not be initialized: " + e.getMessage(), e);
 				_log.log(Level.WARNING, "CustomSpawnTable: Spawn could not be initialized: " + e.getMessage(), e);
 			}
 			}
-			_log.info("CustomSpawnTable: Loaded " + _customSpawnCount + " Npc Spawn Locations.");
+			_log.info(getClass().getSimpleName() + ": Loaded " + _customSpawnCount + " custom npc spawns.");
 			
 			
 		}
 		}
 		
 		
 		if (Config.DEBUG)
 		if (Config.DEBUG)
-			_log.fine("SpawnTable: Spawning completed, total number of NPCs in the world: " + (_npcSpawnCount + _customSpawnCount));
+			_log.fine(getClass().getSimpleName() + ": Spawning completed, total number of NPCs in the world: " + (_npcSpawnCount + _customSpawnCount));
 		
 		
 	}
 	}
 	
 	
@@ -242,7 +237,7 @@ public class SpawnTable
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
 				// problem with storing spawn
 				// problem with storing spawn
-				_log.log(Level.WARNING, "SpawnTable: Could not store spawn in the DB:" + e.getMessage(), e);
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": Could not store spawn in the DB:" + e.getMessage(), e);
 			}
 			}
 		}
 		}
 	}
 	}
@@ -267,7 +262,7 @@ public class SpawnTable
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
 				// problem with deleting spawn
 				// problem with deleting spawn
-				_log.log(Level.WARNING, "SpawnTable: Spawn " + spawn + " could not be removed from DB: " + e.getMessage(), e);
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": Spawn " + spawn + " could not be removed from DB: " + e.getMessage(), e);
 			}
 			}
 		}
 		}
 	}
 	}
@@ -316,7 +311,12 @@ public class SpawnTable
 		}
 		}
 		
 		
 		if (index == 0)
 		if (index == 0)
-			activeChar.sendMessage("No current spawns found.");
+			activeChar.sendMessage(getClass().getSimpleName() + ": No current spawns found.");
+	}
+	
+	public static SpawnTable getInstance()
+	{
+		return SingletonHolder._instance;
 	}
 	}
 	
 	
 	private static class SingletonHolder
 	private static class SingletonHolder

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/StaticObjects.java

@@ -48,7 +48,7 @@ public final class StaticObjects extends DocumentParser
 	{
 	{
 		_staticObjects.clear();
 		_staticObjects.clear();
 		parseDatapackFile("data/staticObjects.xml");
 		parseDatapackFile("data/staticObjects.xml");
-		_log.info("StaticObject: Loaded " + _staticObjects.size() + " StaticObject Templates.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + _staticObjects.size() + " StaticObject Templates.");
 	}
 	}
 	
 	
 	@Override
 	@Override

+ 7 - 7
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/SummonItemsData.java

@@ -14,9 +14,9 @@
  */
  */
 package com.l2jserver.gameserver.datatables;
 package com.l2jserver.gameserver.datatables;
 
 
-import gnu.trove.map.hash.TIntObjectHashMap;
-
 import java.io.File;
 import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Scanner;
 import java.util.Scanner;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
@@ -29,7 +29,7 @@ import com.l2jserver.gameserver.model.L2SummonItem;
 public class SummonItemsData
 public class SummonItemsData
 {
 {
 	protected static final Logger _log = Logger.getLogger(SummonItemsData.class.getName());
 	protected static final Logger _log = Logger.getLogger(SummonItemsData.class.getName());
-	private final TIntObjectHashMap<L2SummonItem> _summonitems = new TIntObjectHashMap<>();
+	private final Map<Integer, L2SummonItem> _summonitems = new HashMap<>();
 	
 	
 	public static SummonItemsData getInstance()
 	public static SummonItemsData getInstance()
 	{
 	{
@@ -75,7 +75,7 @@ public class SummonItemsData
 				}
 				}
 				catch (Exception e)
 				catch (Exception e)
 				{
 				{
-					_log.warning("Summon items data: Error in line " + lineCount + " -> incomplete/invalid data or wrong seperator!");
+					_log.warning(getClass().getSimpleName() + ": Error in line " + lineCount + " -> incomplete/invalid data or wrong seperator!");
 					_log.warning("		" + line);
 					_log.warning("		" + line);
 					ok = false;
 					ok = false;
 				}
 				}
@@ -89,11 +89,11 @@ public class SummonItemsData
 				_summonitems.put(itemID, summonitem);
 				_summonitems.put(itemID, summonitem);
 			}
 			}
 			
 			
-			_log.info("Summon items data: Loaded " + _summonitems.size() + " summon items.");
+			_log.info(getClass().getSimpleName() + ": Loaded " + _summonitems.size() + " summon items.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.warning("Summon items data: Can not find '" + Config.DATAPACK_ROOT + "/data/summon_items.csv'");
+			_log.warning(getClass().getSimpleName() + ": Can not find '" + Config.DATAPACK_ROOT + "/data/summon_items.csv'");
 			return;
 			return;
 		}
 		}
 	}
 	}
@@ -108,7 +108,7 @@ public class SummonItemsData
 		int size = _summonitems.size();
 		int size = _summonitems.size();
 		int[] result = new int[size];
 		int[] result = new int[size];
 		int i = 0;
 		int i = 0;
-		for (L2SummonItem si : _summonitems.values(new L2SummonItem[0]))
+		for (L2SummonItem si : _summonitems.values())
 		{
 		{
 			result[i++] = si.getItemId();
 			result[i++] = si.getItemId();
 		}
 		}

+ 19 - 25
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/SummonSkillsTable.java

@@ -17,41 +17,30 @@ package com.l2jserver.gameserver.datatables;
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
-import javolution.util.FastList;
-import javolution.util.FastMap;
-
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.model.actor.L2Summon;
 import com.l2jserver.gameserver.model.actor.L2Summon;
 
 
 public class SummonSkillsTable
 public class SummonSkillsTable
 {
 {
 	private static Logger _log = Logger.getLogger(SummonSkillsTable.class.getName());
 	private static Logger _log = Logger.getLogger(SummonSkillsTable.class.getName());
-	private FastMap<Integer, Map<Integer, L2PetSkillLearn>> _skillTrees;
-	
-	public static SummonSkillsTable getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
-	public void reload()
-	{
-		_skillTrees.clear();
-		load();
-	}
+	private Map<Integer, Map<Integer, L2PetSkillLearn>> _skillTrees = new HashMap<>();
 	
 	
 	protected SummonSkillsTable()
 	protected SummonSkillsTable()
 	{
 	{
-		_skillTrees = new FastMap<>();
 		load();
 		load();
 	}
 	}
 	
 	
-	private void load()
+	public void load()
 	{
 	{
+		_skillTrees.clear();
 		int npcId = 0;
 		int npcId = 0;
 		int count = 0;
 		int count = 0;
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
@@ -64,7 +53,7 @@ public class SummonSkillsTable
 			PreparedStatement statement2 = con.prepareStatement("SELECT minLvl, skillId, skillLvl FROM pets_skills where templateId=? ORDER BY skillId, skillLvl");
 			PreparedStatement statement2 = con.prepareStatement("SELECT minLvl, skillId, skillLvl FROM pets_skills where templateId=? ORDER BY skillId, skillLvl");
 			while (petlist.next())
 			while (petlist.next())
 			{
 			{
-				map = new FastMap<>();
+				map = new HashMap<>();
 				npcId = petlist.getInt("id");
 				npcId = petlist.getInt("id");
 				statement2.setInt(1, npcId);
 				statement2.setInt(1, npcId);
 				ResultSet skilltree = statement2.executeQuery();
 				ResultSet skilltree = statement2.executeQuery();
@@ -83,7 +72,7 @@ public class SummonSkillsTable
 				skilltree.close();
 				skilltree.close();
 				
 				
 				count += map.size();
 				count += map.size();
-				_log.fine("PetSkillsTable: skill tree for pet " + npcId + " has " + map.size() + " skills");
+				_log.fine(getClass().getSimpleName() + ": skill tree for pet " + npcId + " has " + map.size() + " skills");
 			}
 			}
 			statement2.close();
 			statement2.close();
 			petlist.close();
 			petlist.close();
@@ -91,9 +80,9 @@ public class SummonSkillsTable
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Error while creating pet skill tree (Pet ID " + npcId + "): " + e.getMessage(), e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error while creating pet skill tree (Pet ID " + npcId + "): " + e.getMessage(), e);
 		}
 		}
-		_log.info("PetSkillsTable: Loaded " + count + " skills.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + count + " skills.");
 	}
 	}
 	
 	
 	public int getAvailableLevel(L2Summon cha, int skillId)
 	public int getAvailableLevel(L2Summon cha, int skillId)
@@ -101,7 +90,7 @@ public class SummonSkillsTable
 		int lvl = 0;
 		int lvl = 0;
 		if (!_skillTrees.containsKey(cha.getNpcId()))
 		if (!_skillTrees.containsKey(cha.getNpcId()))
 		{
 		{
-			_log.warning("Pet id " + cha.getNpcId() + " does not have any skills assigned.");
+			_log.warning(getClass().getSimpleName() + ": Pet id " + cha.getNpcId() + " does not have any skills assigned.");
 			return lvl;
 			return lvl;
 		}
 		}
 		Collection<L2PetSkillLearn> skills = _skillTrees.get(cha.getNpcId()).values();
 		Collection<L2PetSkillLearn> skills = _skillTrees.get(cha.getNpcId()).values();
@@ -135,12 +124,12 @@ public class SummonSkillsTable
 		return lvl;
 		return lvl;
 	}
 	}
 	
 	
-	public FastList<Integer> getAvailableSkills(L2Summon cha)
+	public List<Integer> getAvailableSkills(L2Summon cha)
 	{
 	{
-		FastList<Integer> skillIds = new FastList<>();
+		List<Integer> skillIds = new ArrayList<>();
 		if (!_skillTrees.containsKey(cha.getNpcId()))
 		if (!_skillTrees.containsKey(cha.getNpcId()))
 		{
 		{
-			_log.warning("Pet id " + cha.getNpcId() + " does not have any skills assigned.");
+			_log.warning(getClass().getSimpleName() + ": Pet id " + cha.getNpcId() + " does not have any skills assigned.");
 			return skillIds;
 			return skillIds;
 		}
 		}
 		Collection<L2PetSkillLearn> skills = _skillTrees.get(cha.getNpcId()).values();
 		Collection<L2PetSkillLearn> skills = _skillTrees.get(cha.getNpcId()).values();
@@ -182,6 +171,11 @@ public class SummonSkillsTable
 		}
 		}
 	}
 	}
 	
 	
+	public static SummonSkillsTable getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final SummonSkillsTable _instance = new SummonSkillsTable();
 		protected static final SummonSkillsTable _instance = new SummonSkillsTable();

+ 13 - 13
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/TeleportLocationTable.java

@@ -14,11 +14,11 @@
  */
  */
 package com.l2jserver.gameserver.datatables;
 package com.l2jserver.gameserver.datatables;
 
 
-import gnu.trove.map.hash.TIntObjectHashMap;
-
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
 import java.sql.Statement;
 import java.sql.Statement;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
@@ -35,12 +35,7 @@ public class TeleportLocationTable
 {
 {
 	private static Logger _log = Logger.getLogger(TeleportLocationTable.class.getName());
 	private static Logger _log = Logger.getLogger(TeleportLocationTable.class.getName());
 	
 	
-	private TIntObjectHashMap<L2TeleportLocation> _teleports;
-	
-	public static TeleportLocationTable getInstance()
-	{
-		return SingletonHolder._instance;
-	}
+	private Map<Integer, L2TeleportLocation> _teleports = new HashMap<>();
 	
 	
 	protected TeleportLocationTable()
 	protected TeleportLocationTable()
 	{
 	{
@@ -49,7 +44,7 @@ public class TeleportLocationTable
 	
 	
 	public void reloadAll()
 	public void reloadAll()
 	{
 	{
-		_teleports = new TIntObjectHashMap<>();
+		_teleports.clear();
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
 			Statement s = con.createStatement();
 			Statement s = con.createStatement();
 			ResultSet rs = s.executeQuery("SELECT id, loc_x, loc_y, loc_z, price, fornoble, itemId FROM teleport"))
 			ResultSet rs = s.executeQuery("SELECT id, loc_x, loc_y, loc_z, price, fornoble, itemId FROM teleport"))
@@ -69,11 +64,11 @@ public class TeleportLocationTable
 				
 				
 				_teleports.put(teleport.getTeleId(), teleport);
 				_teleports.put(teleport.getTeleId(), teleport);
 			}
 			}
-			_log.info("TeleportLocationTable: Loaded " + _teleports.size() + " Teleport Location Templates.");
+			_log.info(getClass().getSimpleName() + ": Loaded " + _teleports.size() + " Teleport Location Templates.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Error loading Teleport Table.", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error loading Teleport Table.", e);
 		}
 		}
 		
 		
 		if (Config.CUSTOM_TELEPORT_TABLE)
 		if (Config.CUSTOM_TELEPORT_TABLE)
@@ -100,12 +95,12 @@ public class TeleportLocationTable
 				_cTeleCount = _teleports.size() - _cTeleCount;
 				_cTeleCount = _teleports.size() - _cTeleCount;
 				if (_cTeleCount > 0)
 				if (_cTeleCount > 0)
 				{
 				{
-					_log.info("TeleportLocationTable: Loaded " + _cTeleCount + " Custom Teleport Location Templates.");
+					_log.info(getClass().getSimpleName() + ": Loaded " + _cTeleCount + " Custom Teleport Location Templates.");
 				}
 				}
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
-				_log.log(Level.WARNING, "Error while creating custom teleport table " + e.getMessage(), e);
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": Error while creating custom teleport table " + e.getMessage(), e);
 			}
 			}
 		}
 		}
 	}
 	}
@@ -119,6 +114,11 @@ public class TeleportLocationTable
 		return _teleports.get(id);
 		return _teleports.get(id);
 	}
 	}
 	
 	
+	public static TeleportLocationTable getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final TeleportLocationTable _instance = new TeleportLocationTable();
 		protected static final TeleportLocationTable _instance = new TeleportLocationTable();

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/TerritoryTable.java

@@ -70,7 +70,7 @@ public class TerritoryTable
 			Integer terr = row[0];
 			Integer terr = row[0];
 			if (terr == null)
 			if (terr == null)
 			{
 			{
-				_log.warning("Null territory!");
+				_log.warning(getClass().getSimpleName() + ": Null territory!");
 				continue;
 				continue;
 			}
 			}
 			
 			

+ 11 - 11
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/UITable.java

@@ -40,17 +40,12 @@ public class UITable
 	private Map<Integer, List<ActionKey>> _storedKeys = new HashMap<>();
 	private Map<Integer, List<ActionKey>> _storedKeys = new HashMap<>();
 	private Map<Integer, List<Integer>> _storedCategories = new HashMap<>();
 	private Map<Integer, List<Integer>> _storedCategories = new HashMap<>();
 	
 	
-	public static UITable getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
 	protected UITable()
 	protected UITable()
 	{
 	{
 		parseCatData();
 		parseCatData();
 		parseKeyData();
 		parseKeyData();
-		_log.info("UITable: Loaded " + _storedCategories.size() + " Categories.");
-		_log.info("UITable: Loaded " + _storedKeys.size() + " Keys.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + _storedCategories.size() + " Categories.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + _storedKeys.size() + " Keys.");
 	}
 	}
 	
 	
 	private void parseCatData()
 	private void parseCatData()
@@ -76,11 +71,11 @@ public class UITable
 		}
 		}
 		catch (FileNotFoundException e)
 		catch (FileNotFoundException e)
 		{
 		{
-			_log.warning("uicats_en.csv is missing in data folder");
+			_log.warning(getClass().getSimpleName() + ": uicats_en.csv is missing in data folder");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Error while creating UI Default Categories table " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error while creating UI Default Categories table " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -111,11 +106,11 @@ public class UITable
 		}
 		}
 		catch (FileNotFoundException e)
 		catch (FileNotFoundException e)
 		{
 		{
-			_log.warning("uikeys_en.csv is missing in data folder");
+			_log.warning(getClass().getSimpleName() + ": uikeys_en.csv is missing in data folder");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Error while creating UI Default Keys table " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error while creating UI Default Keys table " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -154,6 +149,11 @@ public class UITable
 		return _storedKeys;
 		return _storedKeys;
 	}
 	}
 	
 	
+	public static UITable getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final UITable _instance = new UITable();
 		protected static final UITable _instance = new UITable();

+ 2 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/engines/DocumentEngine.java

@@ -14,10 +14,9 @@
  */
  */
 package com.l2jserver.gameserver.engines;
 package com.l2jserver.gameserver.engines;
 
 
-import gnu.trove.map.hash.TIntObjectHashMap;
-
 import java.io.File;
 import java.io.File;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
 import javolution.util.FastList;
 import javolution.util.FastList;
@@ -82,7 +81,7 @@ public class DocumentEngine
 		return doc.getSkills();
 		return doc.getSkills();
 	}
 	}
 	
 	
-	public void loadAllSkills(final TIntObjectHashMap<L2Skill> allSkills)
+	public void loadAllSkills(final Map<Integer, L2Skill> allSkills)
 	{
 	{
 		int count = 0;
 		int count = 0;
 		for (File file : _skillFiles)
 		for (File file : _skillFiles)

+ 13 - 13
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/AirShipManager.java

@@ -14,13 +14,13 @@
  */
  */
 package com.l2jserver.gameserver.instancemanager;
 package com.l2jserver.gameserver.instancemanager;
 
 
-import gnu.trove.map.hash.TIntObjectHashMap;
-
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.sql.Statement;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
@@ -43,14 +43,9 @@ public class AirShipManager
 	private static final String UPDATE_DB = "UPDATE airships SET fuel=? WHERE owner_id=?";
 	private static final String UPDATE_DB = "UPDATE airships SET fuel=? WHERE owner_id=?";
 	
 	
 	private L2CharTemplate _airShipTemplate = null;
 	private L2CharTemplate _airShipTemplate = null;
-	private TIntObjectHashMap<StatsSet> _airShipsInfo = new TIntObjectHashMap<>();
-	private TIntObjectHashMap<L2AirShipInstance> _airShips = new TIntObjectHashMap<>();
-	private TIntObjectHashMap<AirShipTeleportList> _teleports = new TIntObjectHashMap<>();
-	
-	public static final AirShipManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
+	private Map<Integer, StatsSet> _airShipsInfo = new HashMap<>();
+	private Map<Integer, L2AirShipInstance> _airShips = new HashMap<>();
+	private Map<Integer, AirShipTeleportList> _teleports = new HashMap<>();
 	
 	
 	protected AirShipManager()
 	protected AirShipManager()
 	{
 	{
@@ -156,12 +151,12 @@ public class AirShipManager
 	
 	
 	public boolean hasAirShipLicense(int ownerId)
 	public boolean hasAirShipLicense(int ownerId)
 	{
 	{
-		return _airShipsInfo.contains(ownerId);
+		return _airShipsInfo.containsKey(ownerId);
 	}
 	}
 	
 	
 	public void registerLicense(int ownerId)
 	public void registerLicense(int ownerId)
 	{
 	{
-		if (!_airShipsInfo.contains(ownerId))
+		if (!_airShipsInfo.containsKey(ownerId))
 		{
 		{
 			final StatsSet info = new StatsSet();
 			final StatsSet info = new StatsSet();
 			info.set("fuel", 600);
 			info.set("fuel", 600);
@@ -213,7 +208,7 @@ public class AirShipManager
 			return;
 			return;
 		
 		
 		int dockId = ship.getDockId();
 		int dockId = ship.getDockId();
-		if (!_teleports.contains(dockId))
+		if (!_teleports.containsKey(dockId))
 			return;
 			return;
 		
 		
 		final AirShipTeleportList all = _teleports.get(dockId);
 		final AirShipTeleportList all = _teleports.get(dockId);
@@ -306,6 +301,11 @@ public class AirShipManager
 		}
 		}
 	}
 	}
 	
 	
+	public static final AirShipManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final AirShipManager _instance = new AirShipManager();
 		protected static final AirShipManager _instance = new AirShipManager();

+ 58 - 68
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/AntiFeedManager.java

@@ -14,17 +14,17 @@
  */
  */
 package com.l2jserver.gameserver.instancemanager;
 package com.l2jserver.gameserver.instancemanager;
 
 
-import gnu.trove.map.hash.TIntObjectHashMap;
-import gnu.trove.procedure.TObjectProcedure;
-
 import java.util.Map;
 import java.util.Map;
 
 
 import javolution.util.FastMap;
 import javolution.util.FastMap;
 
 
 import com.l2jserver.Config;
 import com.l2jserver.Config;
+import com.l2jserver.gameserver.model.IL2Procedure;
 import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.network.L2GameClient;
 import com.l2jserver.gameserver.network.L2GameClient;
+import com.l2jserver.util.L2FastMap;
+import com.l2jserver.util.L2HashMap;
 
 
 public class AntiFeedManager
 public class AntiFeedManager
 {
 {
@@ -32,19 +32,12 @@ public class AntiFeedManager
 	public static final int OLYMPIAD_ID = 1;
 	public static final int OLYMPIAD_ID = 1;
 	public static final int TVT_ID = 2;
 	public static final int TVT_ID = 2;
 	public static final int L2EVENT_ID = 3;
 	public static final int L2EVENT_ID = 3;
-
-	private final Map<Integer,Long> _lastDeathTimes;
-	private final TIntObjectHashMap<Map<Integer, Connections>> _eventIPs;
-
-	public static final AntiFeedManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
+	
+	private final Map<Integer, Long> _lastDeathTimes = new L2FastMap<>(true);
+	private final L2HashMap<Integer, Map<Integer, Connections>> _eventIPs = new L2HashMap<>();
 	
 	
 	protected AntiFeedManager()
 	protected AntiFeedManager()
 	{
 	{
-		_lastDeathTimes = new FastMap<Integer,Long>().shared();
-		_eventIPs = new TIntObjectHashMap<>();
 	}
 	}
 	
 	
 	/**
 	/**
@@ -74,29 +67,25 @@ public class AntiFeedManager
 		if (targetPlayer == null)
 		if (targetPlayer == null)
 			return false;
 			return false;
 		
 		
-		if (Config.L2JMOD_ANTIFEED_INTERVAL > 0
-				&& _lastDeathTimes.containsKey(targetPlayer.getObjectId()))
+		if (Config.L2JMOD_ANTIFEED_INTERVAL > 0 && _lastDeathTimes.containsKey(targetPlayer.getObjectId()))
 			return (System.currentTimeMillis() - _lastDeathTimes.get(targetPlayer.getObjectId())) > Config.L2JMOD_ANTIFEED_INTERVAL;
 			return (System.currentTimeMillis() - _lastDeathTimes.get(targetPlayer.getObjectId())) > Config.L2JMOD_ANTIFEED_INTERVAL;
+		
+		if (Config.L2JMOD_ANTIFEED_DUALBOX && attacker != null)
+		{
+			final L2PcInstance attackerPlayer = attacker.getActingPlayer();
+			if (attackerPlayer == null)
+				return false;
 			
 			
-			if (Config.L2JMOD_ANTIFEED_DUALBOX && attacker != null)
-			{
-				final L2PcInstance attackerPlayer = attacker.getActingPlayer();
-				if (attackerPlayer == null)
-					return false;
-				
-				final L2GameClient targetClient = targetPlayer.getClient();
-				final L2GameClient attackerClient = attackerPlayer.getClient();
-				if (targetClient == null
-						|| attackerClient == null
-						|| targetClient.isDetached()
-						|| attackerClient.isDetached())
-					// unable to check ip address
-					return !Config.L2JMOD_ANTIFEED_DISCONNECTED_AS_DUALBOX;
-				
-				return !targetClient.getConnectionAddress().equals(attackerClient.getConnectionAddress());
-			}
+			final L2GameClient targetClient = targetPlayer.getClient();
+			final L2GameClient attackerClient = attackerPlayer.getClient();
+			if (targetClient == null || attackerClient == null || targetClient.isDetached() || attackerClient.isDetached())
+				// unable to check ip address
+				return !Config.L2JMOD_ANTIFEED_DISCONNECTED_AS_DUALBOX;
 			
 			
-			return true;
+			return !targetClient.getConnectionAddress().equals(attackerClient.getConnectionAddress());
+		}
+		
+		return true;
 	}
 	}
 	
 	
 	/**
 	/**
@@ -106,10 +95,9 @@ public class AntiFeedManager
 	{
 	{
 		_lastDeathTimes.clear();
 		_lastDeathTimes.clear();
 	}
 	}
-
+	
 	/**
 	/**
-	 * Register new event for dualbox check.
-	 * Should be called only once.
+	 * Register new event for dualbox check. Should be called only once.
 	 * @param eventId
 	 * @param eventId
 	 */
 	 */
 	public final void registerEvent(int eventId)
 	public final void registerEvent(int eventId)
@@ -117,45 +105,42 @@ public class AntiFeedManager
 		if (!_eventIPs.containsKey(eventId))
 		if (!_eventIPs.containsKey(eventId))
 			_eventIPs.put(eventId, new FastMap<Integer, Connections>());
 			_eventIPs.put(eventId, new FastMap<Integer, Connections>());
 	}
 	}
-
+	
 	/**
 	/**
-	 * 
 	 * @param eventId
 	 * @param eventId
 	 * @param player
 	 * @param player
 	 * @param max
 	 * @param max
-	 * @return If number of all simultaneous connections from player's IP address lower than max
-	 * then increment connection count and return true.<br>
-	 * False if number of all simultaneous connections from player's IP address higher than max.
+	 * @return If number of all simultaneous connections from player's IP address lower than max then increment connection count and return true.<br>
+	 *         False if number of all simultaneous connections from player's IP address higher than max.
 	 */
 	 */
 	public final boolean tryAddPlayer(int eventId, L2PcInstance player, int max)
 	public final boolean tryAddPlayer(int eventId, L2PcInstance player, int max)
 	{
 	{
 		return tryAddClient(eventId, player.getClient(), max);
 		return tryAddClient(eventId, player.getClient(), max);
 	}
 	}
-
+	
 	/**
 	/**
-	 * 
 	 * @param eventId
 	 * @param eventId
 	 * @param client
 	 * @param client
 	 * @param max
 	 * @param max
 	 * @return If number of all simultaneous connections from player's IP address lower than max then increment connection count and return true.<br>
 	 * @return If number of all simultaneous connections from player's IP address lower than max then increment connection count and return true.<br>
-	 * False if number of all simultaneous connections from player's IP address higher than max.
+	 *         False if number of all simultaneous connections from player's IP address higher than max.
 	 */
 	 */
 	public final boolean tryAddClient(int eventId, L2GameClient client, int max)
 	public final boolean tryAddClient(int eventId, L2GameClient client, int max)
 	{
 	{
 		if (client == null)
 		if (client == null)
 			return false; // unable to determine IP address
 			return false; // unable to determine IP address
-
+			
 		final Map<Integer, Connections> event = _eventIPs.get(eventId);
 		final Map<Integer, Connections> event = _eventIPs.get(eventId);
 		if (event == null)
 		if (event == null)
 			return false; // no such event registered
 			return false; // no such event registered
-
+			
 		final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
 		final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
 		int limit = max;
 		int limit = max;
 		if (Config.L2JMOD_DUALBOX_CHECK_WHITELIST.containsKey(addrHash))
 		if (Config.L2JMOD_DUALBOX_CHECK_WHITELIST.containsKey(addrHash))
 		{
 		{
 			limit += Config.L2JMOD_DUALBOX_CHECK_WHITELIST.get(addrHash);
 			limit += Config.L2JMOD_DUALBOX_CHECK_WHITELIST.get(addrHash);
 		}
 		}
-
+		
 		Connections conns;
 		Connections conns;
 		synchronized (event)
 		synchronized (event)
 		{
 		{
@@ -166,10 +151,10 @@ public class AntiFeedManager
 				event.put(addrHash, conns);
 				event.put(addrHash, conns);
 			}
 			}
 		}
 		}
-
+		
 		return conns.testAndIncrement(limit);
 		return conns.testAndIncrement(limit);
 	}
 	}
-
+	
 	/**
 	/**
 	 * Decreasing number of active connection from player's IP address
 	 * Decreasing number of active connection from player's IP address
 	 * @param eventId
 	 * @param eventId
@@ -181,25 +166,25 @@ public class AntiFeedManager
 		final L2GameClient client = player.getClient();
 		final L2GameClient client = player.getClient();
 		if (client == null)
 		if (client == null)
 			return false; // unable to determine IP address
 			return false; // unable to determine IP address
-
+			
 		final Map<Integer, Connections> event = _eventIPs.get(eventId);
 		final Map<Integer, Connections> event = _eventIPs.get(eventId);
 		if (event == null)
 		if (event == null)
 			return false; // no such event registered
 			return false; // no such event registered
-
+			
 		final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
 		final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
 		Connections conns = event.get(addrHash);
 		Connections conns = event.get(addrHash);
 		if (conns == null)
 		if (conns == null)
 			return false; // address not registered
 			return false; // address not registered
-
+			
 		synchronized (event)
 		synchronized (event)
 		{
 		{
 			if (conns.testAndDecrement())
 			if (conns.testAndDecrement())
 				event.remove(addrHash);
 				event.remove(addrHash);
 		}
 		}
-
+		
 		return true;
 		return true;
 	}
 	}
-
+	
 	/**
 	/**
 	 * Remove player connection IP address from all registered events lists.
 	 * Remove player connection IP address from all registered events lists.
 	 * @param client
 	 * @param client
@@ -208,11 +193,11 @@ public class AntiFeedManager
 	{
 	{
 		if (client == null)
 		if (client == null)
 			return;
 			return;
-
+		
 		final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
 		final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
-		_eventIPs.forEachValue(new DisconnectProcedure(addrHash));
+		_eventIPs.executeForEachValue(new DisconnectProcedure(addrHash));
 	}
 	}
-
+	
 	/**
 	/**
 	 * Clear all entries for this eventId.
 	 * Clear all entries for this eventId.
 	 * @param eventId
 	 * @param eventId
@@ -223,7 +208,7 @@ public class AntiFeedManager
 		if (event != null)
 		if (event != null)
 			event.clear();
 			event.clear();
 	}
 	}
-
+	
 	/**
 	/**
 	 * @param player
 	 * @param player
 	 * @param max
 	 * @param max
@@ -233,7 +218,7 @@ public class AntiFeedManager
 	{
 	{
 		return getLimit(player.getClient(), max);
 		return getLimit(player.getClient(), max);
 	}
 	}
-
+	
 	/**
 	/**
 	 * @param client
 	 * @param client
 	 * @param max
 	 * @param max
@@ -243,7 +228,7 @@ public class AntiFeedManager
 	{
 	{
 		if (client == null)
 		if (client == null)
 			return max;
 			return max;
-
+		
 		final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
 		final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
 		int limit = max;
 		int limit = max;
 		if (Config.L2JMOD_DUALBOX_CHECK_WHITELIST.containsKey(addrHash))
 		if (Config.L2JMOD_DUALBOX_CHECK_WHITELIST.containsKey(addrHash))
@@ -256,10 +241,10 @@ public class AntiFeedManager
 	protected static final class Connections
 	protected static final class Connections
 	{
 	{
 		private int _num = 0;
 		private int _num = 0;
-
+		
 		/**
 		/**
 		 * and false if maximum number is reached.
 		 * and false if maximum number is reached.
-		 * @param max 
+		 * @param max
 		 * @return true if successfully incremented number of connections
 		 * @return true if successfully incremented number of connections
 		 */
 		 */
 		public final synchronized boolean testAndIncrement(int max)
 		public final synchronized boolean testAndIncrement(int max)
@@ -271,7 +256,7 @@ public class AntiFeedManager
 			}
 			}
 			return false;
 			return false;
 		}
 		}
-
+		
 		/**
 		/**
 		 * @return true if all connections are removed
 		 * @return true if all connections are removed
 		 */
 		 */
@@ -279,20 +264,20 @@ public class AntiFeedManager
 		{
 		{
 			if (_num > 0)
 			if (_num > 0)
 				_num--;
 				_num--;
-
+			
 			return _num == 0;
 			return _num == 0;
 		}
 		}
 	}
 	}
-
-	private static final class DisconnectProcedure implements TObjectProcedure<Map<Integer, Connections>>
+	
+	private static final class DisconnectProcedure implements IL2Procedure<Map<Integer, Connections>>
 	{
 	{
 		private final Integer _addrHash;
 		private final Integer _addrHash;
-
+		
 		public DisconnectProcedure(Integer addrHash)
 		public DisconnectProcedure(Integer addrHash)
 		{
 		{
 			_addrHash = addrHash;
 			_addrHash = addrHash;
 		}
 		}
-
+		
 		@Override
 		@Override
 		public final boolean execute(Map<Integer, Connections> event)
 		public final boolean execute(Map<Integer, Connections> event)
 		{
 		{
@@ -309,6 +294,11 @@ public class AntiFeedManager
 		}
 		}
 	}
 	}
 	
 	
+	public static final AntiFeedManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final AntiFeedManager _instance = new AntiFeedManager();
 		protected static final AntiFeedManager _instance = new AntiFeedManager();

+ 9 - 9
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/AuctionManager.java

@@ -17,19 +17,18 @@ package com.l2jserver.gameserver.instancemanager;
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
-import javolution.util.FastList;
-
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.model.entity.Auction;
 import com.l2jserver.gameserver.model.entity.Auction;
 
 
 public class AuctionManager
 public class AuctionManager
 {
 {
 	protected static final Logger _log = Logger.getLogger(AuctionManager.class.getName());
 	protected static final Logger _log = Logger.getLogger(AuctionManager.class.getName());
-	private List<Auction> _auctions;
+	private List<Auction> _auctions = new ArrayList<>();
 	
 	
 	private static final String[] ITEM_INIT_DATA =
 	private static final String[] ITEM_INIT_DATA =
 	{
 	{
@@ -86,7 +85,6 @@ public class AuctionManager
 	
 	
 	protected AuctionManager()
 	protected AuctionManager()
 	{
 	{
-		_auctions = new FastList<>();
 		load();
 		load();
 	}
 	}
 	
 	
@@ -103,14 +101,16 @@ public class AuctionManager
 			PreparedStatement statement = con.prepareStatement("SELECT id FROM auction ORDER BY id");
 			PreparedStatement statement = con.prepareStatement("SELECT id FROM auction ORDER BY id");
 			ResultSet rs = statement.executeQuery();
 			ResultSet rs = statement.executeQuery();
 			while (rs.next())
 			while (rs.next())
+			{
 				_auctions.add(new Auction(rs.getInt("id")));
 				_auctions.add(new Auction(rs.getInt("id")));
+			}
 			rs.close();
 			rs.close();
 			statement.close();
 			statement.close();
-			_log.info("Loaded: " + getAuctions().size() + " auction(s)");
+			_log.info(getClass().getSimpleName() + ": Loaded: " + getAuctions().size() + " auction(s)");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Exception: AuctionManager.load(): " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Exception: AuctionManager.load(): " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -153,7 +153,7 @@ public class AuctionManager
 		}
 		}
 		if (i >= ItemInitDataId.length || ItemInitDataId[i] != id)
 		if (i >= ItemInitDataId.length || ItemInitDataId[i] != id)
 		{
 		{
-			_log.warning("Clan Hall auction not found for Id :" + id);
+			_log.warning(getClass().getSimpleName() + ": Clan Hall auction not found for Id :" + id);
 			return;
 			return;
 		}
 		}
 		
 		
@@ -163,11 +163,11 @@ public class AuctionManager
 			statement.execute();
 			statement.execute();
 			statement.close();
 			statement.close();
 			_auctions.add(new Auction(id));
 			_auctions.add(new Auction(id));
-			_log.info("Created auction for ClanHall: " + id);
+			_log.info(getClass().getSimpleName() + ": Created auction for ClanHall: " + id);
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Exception: Auction.initNPC(): " + e.getMessage(), e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Exception: Auction.initNPC(): " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/CHSiegeManager.java

@@ -76,7 +76,7 @@ public final class CHSiegeManager
 				_siegableHalls.put(id, hall);
 				_siegableHalls.put(id, hall);
 				ClanHallManager.addClanHall(hall);
 				ClanHallManager.addClanHall(hall);
 			}
 			}
-			_log.info("CHSiegeManager: Loaded " + _siegableHalls.size() + " conquerable clan halls.");
+			_log.info(getClass().getSimpleName() + ": Loaded " + _siegableHalls.size() + " conquerable clan halls.");
 			rs.close();
 			rs.close();
 			statement.close();
 			statement.close();
 		}
 		}

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/CastleManager.java

@@ -255,7 +255,7 @@ public class CastleManager implements InstanceListManager
 			rs.close();
 			rs.close();
 			statement.close();
 			statement.close();
 			
 			
-			_log.info("Loaded: " + getCastles().size() + " castles");
+			_log.info(getClass().getSimpleName() + ": Loaded: " + getCastles().size() + " castles");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{

+ 14 - 10
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/CastleManorManager.java

@@ -17,7 +17,9 @@ package com.l2jserver.gameserver.instancemanager;
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
+import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Calendar;
+import java.util.List;
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.ScheduledFuture;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
@@ -28,8 +30,8 @@ import com.l2jserver.Config;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.datatables.ClanTable;
 import com.l2jserver.gameserver.datatables.ClanTable;
+import com.l2jserver.gameserver.datatables.ManorData;
 import com.l2jserver.gameserver.model.L2Clan;
 import com.l2jserver.gameserver.model.L2Clan;
-import com.l2jserver.gameserver.model.L2Manor;
 import com.l2jserver.gameserver.model.L2World;
 import com.l2jserver.gameserver.model.L2World;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.entity.Castle;
 import com.l2jserver.gameserver.model.entity.Castle;
@@ -258,7 +260,7 @@ public class CastleManorManager
 				castle.setCropProcure(procureNext, PERIOD_NEXT);
 				castle.setCropProcure(procureNext, PERIOD_NEXT);
 				
 				
 				if (!procure.isEmpty() || !procureNext.isEmpty() || !production.isEmpty() || !productionNext.isEmpty())
 				if (!procure.isEmpty() || !procureNext.isEmpty() || !production.isEmpty() || !productionNext.isEmpty())
-					_log.info(castle.getName() + ": Data loaded");
+					_log.info(getClass().getSimpleName() + ": " + castle.getName() + ": Data loaded");
 			}
 			}
 			statementProduction.close();
 			statementProduction.close();
 			statementProcure.close();
 			statementProcure.close();
@@ -412,7 +414,7 @@ public class CastleManorManager
 					}
 					}
 					if (count > 0)
 					if (count > 0)
 					{
 					{
-						cwh.addItem("Manor", L2Manor.getInstance().getMatureCrop(crop.getId()), count, null, null);
+						cwh.addItem("Manor", ManorData.getInstance().getMatureCrop(crop.getId()), count, null, null);
 					}
 					}
 				}
 				}
 				// reserved and not used money giving back to treasury
 				// reserved and not used money giving back to treasury
@@ -498,7 +500,7 @@ public class CastleManorManager
 				{
 				{
 					if (crop.getStartAmount() > 0)
 					if (crop.getStartAmount() > 0)
 					{
 					{
-						if (cwh.getItemByItemId(L2Manor.getInstance().getMatureCrop(crop.getId())) == null)
+						if (cwh.getItemByItemId(ManorData.getInstance().getMatureCrop(crop.getId())) == null)
 							slots++;
 							slots++;
 					}
 					}
 				}
 				}
@@ -528,10 +530,10 @@ public class CastleManorManager
 		}
 		}
 	}
 	}
 	
 	
-	private FastList<SeedProduction> getNewSeedsList(int castleId)
+	private List<SeedProduction> getNewSeedsList(int castleId)
 	{
 	{
-		FastList<SeedProduction> seeds = new FastList<>();
-		FastList<Integer> seedsIds = L2Manor.getInstance().getSeedsForCastle(castleId);
+		List<SeedProduction> seeds = new ArrayList<>();
+		List<Integer> seedsIds = ManorData.getInstance().getSeedsForCastle(castleId);
 		for (int sd : seedsIds)
 		for (int sd : seedsIds)
 		{
 		{
 			seeds.add(new SeedProduction(sd));
 			seeds.add(new SeedProduction(sd));
@@ -539,12 +541,14 @@ public class CastleManorManager
 		return seeds;
 		return seeds;
 	}
 	}
 	
 	
-	private FastList<CropProcure> getNewCropsList(int castleId)
+	private List<CropProcure> getNewCropsList(int castleId)
 	{
 	{
-		FastList<CropProcure> crops = new FastList<>();
-		FastList<Integer> cropsIds = L2Manor.getInstance().getCropsForCastle(castleId);
+		List<CropProcure> crops = new ArrayList<>();
+		List<Integer> cropsIds = ManorData.getInstance().getCropsForCastle(castleId);
 		for (int cr : cropsIds)
 		for (int cr : cropsIds)
+		{
 			crops.add(new CropProcure(cr));
 			crops.add(new CropProcure(cr));
+		}
 		
 		
 		return crops;
 		return crops;
 	}
 	}

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/ClanHallManager.java

@@ -117,8 +117,8 @@ public final class ClanHallManager
 			
 			
 			rs.close();
 			rs.close();
 			statement.close();
 			statement.close();
-			_log.info("Loaded: " + getClanHalls().size() + " clan halls");
-			_log.info("Loaded: " + getFreeClanHalls().size() + " free clan halls");
+			_log.info(getClass().getSimpleName() + ": Loaded: " + getClanHalls().size() + " clan halls");
+			_log.info(getClass().getSimpleName() + ": Loaded: " + getFreeClanHalls().size() + " free clan halls");
 			_loaded = true;
 			_loaded = true;
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/CoupleManager.java

@@ -68,7 +68,7 @@ public class CoupleManager
 			rs.close();
 			rs.close();
 			statement.close();
 			statement.close();
 			
 			
-			_log.info("Loaded: " + getCouples().size() + " couples(s)");
+			_log.info(getClass().getSimpleName() + ": Loaded: " + getCouples().size() + " couples(s)");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{

+ 10 - 28
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/CursedWeaponsManager.java

@@ -51,17 +51,13 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 import com.l2jserver.gameserver.util.Broadcast;
 import com.l2jserver.gameserver.util.Broadcast;
 
 
 /**
 /**
+ * UnAfraid: TODO: Rewrite with DocumentParser 
  * @author Micht
  * @author Micht
  */
  */
 public class CursedWeaponsManager
 public class CursedWeaponsManager
 {
 {
 	private static final Logger _log = Logger.getLogger(CursedWeaponsManager.class.getName());
 	private static final Logger _log = Logger.getLogger(CursedWeaponsManager.class.getName());
 	
 	
-	public static final CursedWeaponsManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
 	private Map<Integer, CursedWeapon> _cursedWeapons;
 	private Map<Integer, CursedWeapon> _cursedWeapons;
 	
 	
 	protected CursedWeaponsManager()
 	protected CursedWeaponsManager()
@@ -79,7 +75,7 @@ public class CursedWeaponsManager
 		load();
 		load();
 		restore();
 		restore();
 		controlPlayers();
 		controlPlayers();
-		_log.info("Loaded : " + _cursedWeapons.size() + " cursed weapon(s).");
+		_log.info(getClass().getSimpleName() + ": Loaded : " + _cursedWeapons.size() + " cursed weapon(s).");
 	}
 	}
 	
 	
 	public final void reload()
 	public final void reload()
@@ -89,8 +85,6 @@ public class CursedWeaponsManager
 	
 	
 	private final void load()
 	private final void load()
 	{
 	{
-		if (Config.DEBUG)
-			_log.info("  Parsing ... ");
 		try
 		try
 		{
 		{
 			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
 			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
@@ -100,8 +94,7 @@ public class CursedWeaponsManager
 			File file = new File(Config.DATAPACK_ROOT + "/data/cursedWeapons.xml");
 			File file = new File(Config.DATAPACK_ROOT + "/data/cursedWeapons.xml");
 			if (!file.exists())
 			if (!file.exists())
 			{
 			{
-				if (Config.DEBUG)
-					_log.info("NO FILE");
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't find data/" + file.getName());
 				return;
 				return;
 			}
 			}
 			
 			
@@ -163,9 +156,6 @@ public class CursedWeaponsManager
 					}
 					}
 				}
 				}
 			}
 			}
-			
-			if (Config.DEBUG)
-				_log.info("OK");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -177,8 +167,6 @@ public class CursedWeaponsManager
 	
 	
 	private final void restore()
 	private final void restore()
 	{
 	{
-		if (Config.DEBUG)
-			_log.info("  Restoring ... ");
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		{
 		{
 			// Retrieve the L2PcInstance from the characters table of the database
 			// Retrieve the L2PcInstance from the characters table of the database
@@ -204,9 +192,6 @@ public class CursedWeaponsManager
 			
 			
 			rset.close();
 			rset.close();
 			statement.close();
 			statement.close();
-			
-			if (Config.DEBUG)
-				_log.info("OK");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -215,10 +200,7 @@ public class CursedWeaponsManager
 	}
 	}
 	
 	
 	private final void controlPlayers()
 	private final void controlPlayers()
-	{
-		if (Config.DEBUG)
-			_log.info("  Checking players ... ");
-		
+	{		
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		{
 		{
 			// TODO: See comments below...
 			// TODO: See comments below...
@@ -279,13 +261,8 @@ public class CursedWeaponsManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			if (Config.DEBUG)
-				_log.log(Level.WARNING, "Could not check CursedWeapons data: " + e.getMessage(), e);
-			return;
+			_log.log(Level.WARNING, "Could not check CursedWeapons data: " + e.getMessage(), e);
 		}
 		}
-		
-		if (Config.DEBUG)
-			_log.info("DONE");
 	}
 	}
 	
 	
 	public synchronized void checkDrop(L2Attackable attackable, L2PcInstance player)
 	public synchronized void checkDrop(L2Attackable attackable, L2PcInstance player)
@@ -444,6 +421,11 @@ public class CursedWeaponsManager
 		}
 		}
 	}
 	}
 	
 	
+	public static final CursedWeaponsManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final CursedWeaponsManager _instance = new CursedWeaponsManager();
 		protected static final CursedWeaponsManager _instance = new CursedWeaponsManager();

+ 1 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/DayNightSpawnManager.java

@@ -50,9 +50,7 @@ public class DayNightSpawnManager
 	{
 	{
 		_dayCreatures = new ArrayList<>();
 		_dayCreatures = new ArrayList<>();
 		_nightCreatures = new ArrayList<>();
 		_nightCreatures = new ArrayList<>();
-		_bosses = new FastMap<>();
-		
-		_log.info("DayNightSpawnManager: Day/Night handler initialized");
+		_bosses = new FastMap<>();		
 	}
 	}
 	
 	
 	public void addDayCreature(L2Spawn spawnDat)
 	public void addDayCreature(L2Spawn spawnDat)

+ 8 - 5
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/DimensionalRiftManager.java

@@ -19,7 +19,6 @@ import gnu.trove.map.hash.TByteObjectHashMap;
 import java.awt.Polygon;
 import java.awt.Polygon;
 import java.awt.Shape;
 import java.awt.Shape;
 import java.io.File;
 import java.io.File;
-import java.io.IOException;
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
@@ -67,6 +66,7 @@ public class DimensionalRiftManager
 	{
 	{
 		loadRooms();
 		loadRooms();
 		loadSpawns();
 		loadSpawns();
+		// UnAfraid: TODO: Move that quest to datapack lol!!!
 		new Quest(635, "RiftQuest", "Dummy Quest shown in players' questlist when inside the rift");
 		new Quest(635, "RiftQuest", "Dummy Quest shown in players' questlist when inside the rift");
 	}
 	}
 	
 	
@@ -120,7 +120,7 @@ public class DimensionalRiftManager
 		for (byte b : _rooms.keys())
 		for (byte b : _rooms.keys())
 			roomSize += _rooms.get(b).keys().length;
 			roomSize += _rooms.get(b).keys().length;
 		
 		
-		_log.info("DimensionalRiftManager: Loaded " + typeSize + " room types with " + roomSize + " rooms.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + typeSize + " room types with " + roomSize + " rooms.");
 	}
 	}
 	
 	
 	public void loadSpawns()
 	public void loadSpawns()
@@ -132,9 +132,12 @@ public class DimensionalRiftManager
 			factory.setValidating(false);
 			factory.setValidating(false);
 			factory.setIgnoringComments(true);
 			factory.setIgnoringComments(true);
 			
 			
-			File file = new File(Config.DATAPACK_ROOT + "/data/dimensionalRift.xml");
+			File file = new File(Config.DATAPACK_ROOT, "data/dimensionalRift.xml");
 			if (!file.exists())
 			if (!file.exists())
-				throw new IOException();
+			{
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't find data/" + file.getName());
+				return;
+			}
 			
 			
 			Document doc = factory.newDocumentBuilder().parse(file);
 			Document doc = factory.newDocumentBuilder().parse(file);
 			NamedNodeMap attrs;
 			NamedNodeMap attrs;
@@ -222,7 +225,7 @@ public class DimensionalRiftManager
 		{
 		{
 			_log.log(Level.WARNING, "Error on loading dimensional rift spawns: " + e.getMessage(), e);
 			_log.log(Level.WARNING, "Error on loading dimensional rift spawns: " + e.getMessage(), e);
 		}
 		}
-		_log.info("DimensionalRiftManager: Loaded " + countGood + " dimensional rift spawns, " + countBad + " errors.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + countGood + " dimensional rift spawns, " + countBad + " errors.");
 	}
 	}
 	
 	
 	public void reload()
 	public void reload()

+ 5 - 5
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/DuelManager.java

@@ -23,11 +23,6 @@ import com.l2jserver.gameserver.network.serverpackets.L2GameServerPacket;
 
 
 public class DuelManager
 public class DuelManager
 {	
 {	
-	public static final DuelManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
 	private FastList<Duel> _duels;
 	private FastList<Duel> _duels;
 	private int _currentDuelId = 0x90;
 	private int _currentDuelId = 0x90;
 	
 	
@@ -200,6 +195,11 @@ public class DuelManager
 		}
 		}
 	}
 	}
 	
 	
+	public static final DuelManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final DuelManager _instance = new DuelManager();
 		protected static final DuelManager _instance = new DuelManager();

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/FortManager.java

@@ -165,7 +165,7 @@ public class FortManager implements InstanceListManager
 			rs.close();
 			rs.close();
 			statement.close();
 			statement.close();
 			
 			
-			_log.info("Loaded: " + getForts().size() + " fortress");
+			_log.info(getClass().getSimpleName() + ": Loaded: " + getForts().size() + " fortress");
 			for (Fort fort : getForts())
 			for (Fort fort : getForts())
 			{
 			{
 				fort.getSiege().getSiegeGuardManager().loadSiegeGuard();
 				fort.getSiege().getSiegeGuardManager().loadSiegeGuard();

+ 0 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/FortSiegeGuardManager.java

@@ -32,7 +32,6 @@ import com.l2jserver.gameserver.model.entity.Fort;
 
 
 public class FortSiegeGuardManager
 public class FortSiegeGuardManager
 {
 {
-	
 	private static final Logger _log = Logger.getLogger(FortSiegeGuardManager.class.getName());
 	private static final Logger _log = Logger.getLogger(FortSiegeGuardManager.class.getName());
 	
 	
 	private Fort _fort;
 	private Fort _fort;

+ 35 - 28
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/FourSepulchersManager.java

@@ -44,6 +44,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2SepulcherMonsterInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2SepulcherNpcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2SepulcherNpcInstance;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
 import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.model.quest.QuestState;
 import com.l2jserver.gameserver.network.NpcStringId;
 import com.l2jserver.gameserver.network.NpcStringId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.SystemMessageId;
@@ -59,7 +60,7 @@ public class FourSepulchersManager
 {
 {
 	protected static final Logger _log = Logger.getLogger(FourSepulchersManager.class.getName());
 	protected static final Logger _log = Logger.getLogger(FourSepulchersManager.class.getName());
 	
 	
-	private static final String QUEST_ID = "620_FourGoblets";
+	private static final int QUEST_ID = 620;
 	
 	
 	private static final int ENTRANCE_PASS = 7075;
 	private static final int ENTRANCE_PASS = 7075;
 	private static final int USED_PASS = 7261;
 	private static final int USED_PASS = 7261;
@@ -143,11 +144,6 @@ public class FourSepulchersManager
 	
 	
 	protected byte _newCycleMin = 55;
 	protected byte _newCycleMin = 55;
 	
 	
-	public static final FourSepulchersManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
 	public void init()
 	public void init()
 	{
 	{
 		if (_changeCoolDownTimeTask != null)
 		if (_changeCoolDownTimeTask != null)
@@ -196,7 +192,7 @@ public class FourSepulchersManager
 		{
 		{
 			clean();
 			clean();
 			_changeEntryTimeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ChangeEntryTime(), 0);
 			_changeEntryTimeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ChangeEntryTime(), 0);
-			_log.info("FourSepulchersManager: Beginning in Entry time");
+			_log.info(getClass().getSimpleName() + ": Beginning in Entry time");
 		}
 		}
 		else if (currentTime >= _entryTimeEnd && currentTime < _warmUpTimeEnd) // warmup
 		else if (currentTime >= _entryTimeEnd && currentTime < _warmUpTimeEnd) // warmup
 			// time
 			// time
@@ -204,7 +200,7 @@ public class FourSepulchersManager
 		{
 		{
 			clean();
 			clean();
 			_changeWarmUpTimeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ChangeWarmUpTime(), 0);
 			_changeWarmUpTimeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ChangeWarmUpTime(), 0);
-			_log.info("FourSepulchersManager: Beginning in WarmUp time");
+			_log.info(getClass().getSimpleName() + ": Beginning in WarmUp time");
 		}
 		}
 		else if (currentTime >= _warmUpTimeEnd && currentTime < _attackTimeEnd) // attack
 		else if (currentTime >= _warmUpTimeEnd && currentTime < _attackTimeEnd) // attack
 			// time
 			// time
@@ -212,14 +208,14 @@ public class FourSepulchersManager
 		{
 		{
 			clean();
 			clean();
 			_changeAttackTimeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ChangeAttackTime(), 0);
 			_changeAttackTimeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ChangeAttackTime(), 0);
-			_log.info("FourSepulchersManager: Beginning in Attack time");
+			_log.info(getClass().getSimpleName() + ": Beginning in Attack time");
 		}
 		}
 		else
 		else
 			// else cooldown time and without cleanup because it's already
 			// else cooldown time and without cleanup because it's already
 			// implemented
 			// implemented
 		{
 		{
 			_changeCoolDownTimeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ChangeCoolDownTime(), 0);
 			_changeCoolDownTimeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ChangeCoolDownTime(), 0);
-			_log.info("FourSepulchersManager: Beginning in Cooldown time");
+			_log.info(getClass().getSimpleName() + ": Beginning in Cooldown time");
 		}
 		}
 	}
 	}
 	
 	
@@ -314,7 +310,7 @@ public class FourSepulchersManager
 				SpawnTable.getInstance().addNewSpawn(spawnDat, false);
 				SpawnTable.getInstance().addNewSpawn(spawnDat, false);
 				spawnDat.doSpawn();
 				spawnDat.doSpawn();
 				spawnDat.startRespawn();
 				spawnDat.startRespawn();
-				_log.info("FourSepulchersManager: spawned " + spawnDat.getTemplate().getName());
+				_log.info(getClass().getSimpleName() + ": spawned " + spawnDat.getTemplate().getName());
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
@@ -444,7 +440,7 @@ public class FourSepulchersManager
 			
 			
 			rset.close();
 			rset.close();
 			statement.close();
 			statement.close();
-			_log.info("FourSepulchersManager: loaded " + _mysteriousBoxSpawns.size() + " Mysterious-Box spawns.");
+			_log.info(getClass().getSimpleName() + ": loaded " + _mysteriousBoxSpawns.size() + " Mysterious-Box spawns.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -544,7 +540,7 @@ public class FourSepulchersManager
 			statement1.close();
 			statement1.close();
 			statement2.close();
 			statement2.close();
 			
 			
-			_log.info("FourSepulchersManager: loaded " + loaded + " Physical type monsters spawns.");
+			_log.info(getClass().getSimpleName() + ": loaded " + loaded + " Physical type monsters spawns.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -610,7 +606,7 @@ public class FourSepulchersManager
 			statement1.close();
 			statement1.close();
 			statement2.close();
 			statement2.close();
 			
 			
-			_log.info("FourSepulchersManager: loaded " + loaded + " Magical type monsters spawns.");
+			_log.info(getClass().getSimpleName() + ": loaded " + loaded + " Magical type monsters spawns.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -677,7 +673,7 @@ public class FourSepulchersManager
 			statement1.close();
 			statement1.close();
 			statement2.close();
 			statement2.close();
 			
 			
-			_log.info("FourSepulchersManager: loaded " + loaded + " Church of duke monsters spawns.");
+			_log.info(getClass().getSimpleName() + ": loaded " + loaded + " Church of duke monsters spawns.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -743,7 +739,7 @@ public class FourSepulchersManager
 			statement1.close();
 			statement1.close();
 			statement2.close();
 			statement2.close();
 			
 			
-			_log.info("FourSepulchersManager: loaded " + loaded + " Emperor's grave NPC spawns.");
+			_log.info(getClass().getSimpleName() + ": loaded " + loaded + " Emperor's grave NPC spawns.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -839,6 +835,12 @@ public class FourSepulchersManager
 	
 	
 	public synchronized void tryEntry(L2Npc npc, L2PcInstance player)
 	public synchronized void tryEntry(L2Npc npc, L2PcInstance player)
 	{
 	{
+		Quest hostQuest = QuestManager.getInstance().getQuest(QUEST_ID);
+		if (hostQuest == null)
+		{
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't find quest: " + QUEST_ID);
+			return;
+		}
 		int npcId = npc.getNpcId();
 		int npcId = npc.getNpcId();
 		switch (npcId)
 		switch (npcId)
 		{
 		{
@@ -881,7 +883,7 @@ public class FourSepulchersManager
 			
 			
 			for (L2PcInstance mem : player.getParty().getMembers())
 			for (L2PcInstance mem : player.getParty().getMembers())
 			{
 			{
-				QuestState qs = mem.getQuestState(QUEST_ID);
+				QuestState qs = mem.getQuestState(hostQuest.getName());
 				if (qs == null || (!qs.isStarted() && !qs.isCompleted()))
 				if (qs == null || (!qs.isStarted() && !qs.isCompleted()))
 				{
 				{
 					showHtmlFile(player, npcId + "-NS.htm", npc, mem);
 					showHtmlFile(player, npcId + "-NS.htm", npc, mem);
@@ -909,7 +911,7 @@ public class FourSepulchersManager
 			}
 			}
 			for (L2PcInstance mem : player.getParty().getMembers())
 			for (L2PcInstance mem : player.getParty().getMembers())
 			{
 			{
-				QuestState qs = mem.getQuestState(QUEST_ID);
+				QuestState qs = mem.getQuestState(hostQuest.getName());
 				if (qs == null || (!qs.isStarted() && !qs.isCompleted()))
 				if (qs == null || (!qs.isStarted() && !qs.isCompleted()))
 				{
 				{
 					showHtmlFile(player, npcId + "-NS.htm", npc, mem);
 					showHtmlFile(player, npcId + "-NS.htm", npc, mem);
@@ -930,7 +932,7 @@ public class FourSepulchersManager
 		}
 		}
 		else
 		else
 		{
 		{
-			QuestState qs = player.getQuestState(QUEST_ID);
+			QuestState qs = player.getQuestState(hostQuest.getName());
 			if (qs == null || (!qs.isStarted() && !qs.isCompleted()))
 			if (qs == null || (!qs.isStarted() && !qs.isCompleted()))
 			{
 			{
 				showHtmlFile(player, npcId + "-NS.htm", npc, player);
 				showHtmlFile(player, npcId + "-NS.htm", npc, player);
@@ -1374,7 +1376,7 @@ public class FourSepulchersManager
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
-				_log.log(Level.SEVERE, "FourSepulchersManager: Failed deleting mob.", e);
+				_log.log(Level.SEVERE, getClass().getSimpleName() + ": Failed deleting mob.", e);
 			}
 			}
 		}
 		}
 		_allMobs.clear();
 		_allMobs.clear();
@@ -1393,12 +1395,12 @@ public class FourSepulchersManager
 				}
 				}
 				else
 				else
 				{
 				{
-					_log.warning("FourSepulchersManager: Attempted to close undefined door. doorId: " + doorId);
+					_log.warning(getClass().getSimpleName() + ": Attempted to close undefined door. doorId: " + doorId);
 				}
 				}
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
-				_log.log(Level.SEVERE, "FourSepulchersManager: Failed closing door", e);
+				_log.log(Level.SEVERE, getClass().getSimpleName() + ": Failed closing door", e);
 			}
 			}
 		}
 		}
 	}
 	}
@@ -1499,12 +1501,12 @@ public class FourSepulchersManager
 			{
 			{
 				if (temp == null)
 				if (temp == null)
 				{
 				{
-					_log.warning("FourSepulchersManager: managerSay(): manager is null");
+					_log.warning(getClass().getSimpleName() + ": managerSay(): manager is null");
 					continue;
 					continue;
 				}
 				}
 				if (!(temp.getLastSpawn() instanceof L2SepulcherNpcInstance))
 				if (!(temp.getLastSpawn() instanceof L2SepulcherNpcInstance))
 				{
 				{
-					_log.warning("FourSepulchersManager: managerSay(): manager is not Sepulcher instance");
+					_log.warning(getClass().getSimpleName() + ": managerSay(): manager is not Sepulcher instance");
 					continue;
 					continue;
 				}
 				}
 				// hall not used right now, so its manager will not tell you
 				// hall not used right now, so its manager will not tell you
@@ -1525,12 +1527,12 @@ public class FourSepulchersManager
 			{
 			{
 				if (temp == null)
 				if (temp == null)
 				{
 				{
-					_log.warning("FourSepulchersManager: Something goes wrong in managerSay()...");
+					_log.warning(getClass().getSimpleName() + ": Something goes wrong in managerSay()...");
 					continue;
 					continue;
 				}
 				}
 				if (!(temp.getLastSpawn() instanceof L2SepulcherNpcInstance))
 				if (!(temp.getLastSpawn() instanceof L2SepulcherNpcInstance))
 				{
 				{
-					_log.warning("FourSepulchersManager: Something goes wrong in managerSay()...");
+					_log.warning(getClass().getSimpleName() + ": Something goes wrong in managerSay()...");
 					continue;
 					continue;
 				}
 				}
 				((L2SepulcherNpcInstance) temp.getLastSpawn()).sayInShout(msg1);
 				((L2SepulcherNpcInstance) temp.getLastSpawn()).sayInShout(msg1);
@@ -1666,7 +1668,7 @@ public class FourSepulchersManager
 					// looking for next shout time....
 					// looking for next shout time....
 					if (min % 5 == 0)// check if min can be divided by 5
 					if (min % 5 == 0)// check if min can be divided by 5
 					{
 					{
-						_log.info(Calendar.getInstance().getTime() + " Atk announce scheduled to " + min + " minute of this hour.");
+						_log.info(getClass().getSimpleName() + ": " + Calendar.getInstance().getTime() + " Atk announce scheduled to " + min + " minute of this hour.");
 						Calendar inter = Calendar.getInstance();
 						Calendar inter = Calendar.getInstance();
 						inter.set(Calendar.MINUTE, (int) min);
 						inter.set(Calendar.MINUTE, (int) min);
 						ThreadPoolManager.getInstance().scheduleGeneral(new ManagerSay(), inter.getTimeInMillis()
 						ThreadPoolManager.getInstance().scheduleGeneral(new ManagerSay(), inter.getTimeInMillis()
@@ -1714,7 +1716,7 @@ public class FourSepulchersManager
 			if (Calendar.getInstance().get(Calendar.MINUTE) > _newCycleMin && !_firstTimeRun)
 			if (Calendar.getInstance().get(Calendar.MINUTE) > _newCycleMin && !_firstTimeRun)
 				time.set(Calendar.HOUR, Calendar.getInstance().get(Calendar.HOUR) + 1);
 				time.set(Calendar.HOUR, Calendar.getInstance().get(Calendar.HOUR) + 1);
 			time.set(Calendar.MINUTE, _newCycleMin);
 			time.set(Calendar.MINUTE, _newCycleMin);
-			_log.info("FourSepulchersManager: Entry time: " + time.getTime());
+			_log.info(getClass().getSimpleName() + ": Entry time: " + time.getTime());
 			if (_firstTimeRun)
 			if (_firstTimeRun)
 				_firstTimeRun = false; // cooldown phase ends event hour, so it
 				_firstTimeRun = false; // cooldown phase ends event hour, so it
 			// will be not first run
 			// will be not first run
@@ -1744,6 +1746,11 @@ public class FourSepulchersManager
 		player.sendPacket(html);
 		player.sendPacket(html);
 	}
 	}
 	
 	
+	public static final FourSepulchersManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final FourSepulchersManager _instance = new FourSepulchersManager();
 		protected static final FourSepulchersManager _instance = new FourSepulchersManager();

+ 5 - 6
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/GlobalVariablesManager.java

@@ -18,11 +18,11 @@ import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
 import java.sql.Statement;
 import java.sql.Statement;
+import java.util.Map;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
-import javolution.util.FastMap;
-
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
+import com.l2jserver.util.L2FastMap;
 
 
 /**
 /**
  * @author Gigiikun
  * @author Gigiikun
@@ -34,11 +34,10 @@ public class GlobalVariablesManager
 	private static final String LOAD_VAR = "SELECT var,value FROM global_variables";
 	private static final String LOAD_VAR = "SELECT var,value FROM global_variables";
 	private static final String SAVE_VAR = "INSERT INTO global_variables (var,value) VALUES (?,?) ON DUPLICATE KEY UPDATE value=?";
 	private static final String SAVE_VAR = "INSERT INTO global_variables (var,value) VALUES (?,?) ON DUPLICATE KEY UPDATE value=?";
 	
 	
-	private final FastMap<String, String> _variablesMap = new FastMap<>();
+	private final Map<String, String> _variablesMap = new L2FastMap<>(true);
 	
 	
 	protected GlobalVariablesManager()
 	protected GlobalVariablesManager()
 	{
 	{
-		_variablesMap.shared();
 		loadVars();
 		loadVars();
 	}
 	}
 	
 	
@@ -59,7 +58,7 @@ public class GlobalVariablesManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.warning("GlobalVariablesManager: problem while loading variables: " + e);
+			_log.warning(getClass().getSimpleName() + ": problem while loading variables: " + e);
 		}
 		}
 	}
 	}
 	
 	
@@ -80,7 +79,7 @@ public class GlobalVariablesManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.warning("GlobalVariablesManager: problem while saving variables: " + e);
+			_log.warning(getClass().getSimpleName() + ": problem while saving variables: " + e);
 		}
 		}
 	}
 	}
 	
 	

+ 38 - 18
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/GraciaSeedsManager.java

@@ -24,7 +24,7 @@ import com.l2jserver.gameserver.model.quest.Quest;
 public class GraciaSeedsManager
 public class GraciaSeedsManager
 {
 {
 	protected static final Logger _log = Logger.getLogger(GraciaSeedsManager.class.getName());
 	protected static final Logger _log = Logger.getLogger(GraciaSeedsManager.class.getName());
-
+	
 	public static String qn = "EnergySeeds";
 	public static String qn = "EnergySeeds";
 	
 	
 	private static final byte SOITYPE = 2;
 	private static final byte SOITYPE = 2;
@@ -34,18 +34,18 @@ public class GraciaSeedsManager
 	private static final byte SODTYPE = 1;
 	private static final byte SODTYPE = 1;
 	private int _SoDTiatKilled = 0;
 	private int _SoDTiatKilled = 0;
 	private int _SoDState = 1;
 	private int _SoDState = 1;
-	private Calendar _SoDLastStateChangeDate;
-
+	private final Calendar _SoDLastStateChangeDate;
+	
 	protected GraciaSeedsManager()
 	protected GraciaSeedsManager()
 	{
 	{
 		_SoDLastStateChangeDate = Calendar.getInstance();
 		_SoDLastStateChangeDate = Calendar.getInstance();
 		loadData();
 		loadData();
 		handleSodStages();
 		handleSodStages();
 	}
 	}
-
+	
 	public void saveData(byte seedType)
 	public void saveData(byte seedType)
 	{
 	{
-		switch(seedType)
+		switch (seedType)
 		{
 		{
 			case SODTYPE:
 			case SODTYPE:
 				// Seed of Destruction
 				// Seed of Destruction
@@ -60,7 +60,7 @@ public class GraciaSeedsManager
 				// Seed of Annihilation
 				// Seed of Annihilation
 				break;
 				break;
 			default:
 			default:
-				_log.warning("GraciaSeedManager: Unknown SeedType in SaveData: " + seedType);
+				_log.warning(getClass().getSimpleName() + ": Unknown SeedType in SaveData: " + seedType);
 				break;
 				break;
 		}
 		}
 	}
 	}
@@ -80,10 +80,10 @@ public class GraciaSeedsManager
 			saveData(SODTYPE);
 			saveData(SODTYPE);
 		}
 		}
 	}
 	}
-
+	
 	private void handleSodStages()
 	private void handleSodStages()
 	{
 	{
-		switch(_SoDState)
+		switch (_SoDState)
 		{
 		{
 			case 1:
 			case 1:
 				// do nothing, players should kill Tiat a few times
 				// do nothing, players should kill Tiat a few times
@@ -92,43 +92,59 @@ public class GraciaSeedsManager
 				// Conquest Complete state, if too much time is passed than change to defense state
 				// Conquest Complete state, if too much time is passed than change to defense state
 				long timePast = System.currentTimeMillis() - _SoDLastStateChangeDate.getTimeInMillis();
 				long timePast = System.currentTimeMillis() - _SoDLastStateChangeDate.getTimeInMillis();
 				if (timePast >= Config.SOD_STAGE_2_LENGTH)
 				if (timePast >= Config.SOD_STAGE_2_LENGTH)
+				{
 					// change to Attack state because Defend statet is not implemented
 					// change to Attack state because Defend statet is not implemented
 					setSoDState(1, true);
 					setSoDState(1, true);
+				}
 				else
 				else
-					ThreadPoolManager.getInstance().scheduleEffect(new Runnable(){
+				{
+					ThreadPoolManager.getInstance().scheduleEffect(new Runnable()
+					{
 						@Override
 						@Override
 						public void run()
 						public void run()
 						{
 						{
 							setSoDState(1, true);
 							setSoDState(1, true);
 							Quest esQuest = QuestManager.getInstance().getQuest(qn);
 							Quest esQuest = QuestManager.getInstance().getQuest(qn);
 							if (esQuest == null)
 							if (esQuest == null)
-								_log.warning("GraciaSeedManager: missing EnergySeeds Quest!");
+							{
+								_log.warning(getClass().getSimpleName() + ": missing EnergySeeds Quest!");
+							}
 							else
 							else
+							{
 								esQuest.notifyEvent("StopSoDAi", null, null);
 								esQuest.notifyEvent("StopSoDAi", null, null);
-						}}, Config.SOD_STAGE_2_LENGTH - timePast);
+							}
+						}
+					}, Config.SOD_STAGE_2_LENGTH - timePast);
+				}
 				break;
 				break;
 			case 3:
 			case 3:
 				// not implemented
 				// not implemented
 				setSoDState(1, true);
 				setSoDState(1, true);
 				break;
 				break;
 			default:
 			default:
-				_log.warning("GraciaSeedManager: Unknown Seed of Destruction state(" + _SoDState + ")! ");
+				_log.warning(getClass().getSimpleName() + ": Unknown Seed of Destruction state(" + _SoDState + ")! ");
 		}
 		}
 	}
 	}
-
+	
 	public void increaseSoDTiatKilled()
 	public void increaseSoDTiatKilled()
 	{
 	{
 		if (_SoDState == 1)
 		if (_SoDState == 1)
 		{
 		{
 			_SoDTiatKilled++;
 			_SoDTiatKilled++;
 			if (_SoDTiatKilled >= Config.SOD_TIAT_KILL_COUNT)
 			if (_SoDTiatKilled >= Config.SOD_TIAT_KILL_COUNT)
+			{
 				setSoDState(2, false);
 				setSoDState(2, false);
+			}
 			saveData(SODTYPE);
 			saveData(SODTYPE);
 			Quest esQuest = QuestManager.getInstance().getQuest(qn);
 			Quest esQuest = QuestManager.getInstance().getQuest(qn);
 			if (esQuest == null)
 			if (esQuest == null)
-				_log.warning("GraciaSeedManager: missing EnergySeeds Quest!");
+			{
+				_log.warning(getClass().getSimpleName() + ": missing EnergySeeds Quest!");
+			}
 			else
 			else
+			{
 				esQuest.notifyEvent("StartSoDAi", null, null);
 				esQuest.notifyEvent("StartSoDAi", null, null);
+			}
 		}
 		}
 	}
 	}
 	
 	
@@ -139,27 +155,31 @@ public class GraciaSeedsManager
 	
 	
 	public void setSoDState(int value, boolean doSave)
 	public void setSoDState(int value, boolean doSave)
 	{
 	{
-		_log.info("GraciaSeedManager: New Seed of Destruction state -> " + value + ".");
+		_log.info(getClass().getSimpleName() + ": New Seed of Destruction state -> " + value + ".");
 		_SoDLastStateChangeDate.setTimeInMillis(System.currentTimeMillis());
 		_SoDLastStateChangeDate.setTimeInMillis(System.currentTimeMillis());
 		_SoDState = value;
 		_SoDState = value;
 		// reset number of Tiat kills
 		// reset number of Tiat kills
 		if (_SoDState == 1)
 		if (_SoDState == 1)
+		{
 			_SoDTiatKilled = 0;
 			_SoDTiatKilled = 0;
+		}
 		
 		
 		handleSodStages();
 		handleSodStages();
 		
 		
 		if (doSave)
 		if (doSave)
+		{
 			saveData(SODTYPE);
 			saveData(SODTYPE);
+		}
 	}
 	}
 	
 	
 	public long getSoDTimeForNextStateChange()
 	public long getSoDTimeForNextStateChange()
 	{
 	{
-		switch(_SoDState)
+		switch (_SoDState)
 		{
 		{
 			case 1:
 			case 1:
 				return -1;
 				return -1;
 			case 2:
 			case 2:
-				return (_SoDLastStateChangeDate.getTimeInMillis() + Config.SOD_STAGE_2_LENGTH - System.currentTimeMillis());
+				return ((_SoDLastStateChangeDate.getTimeInMillis() + Config.SOD_STAGE_2_LENGTH) - System.currentTimeMillis());
 			case 3:
 			case 3:
 				// not implemented yet
 				// not implemented yet
 				return -1;
 				return -1;
@@ -183,7 +203,7 @@ public class GraciaSeedsManager
 	{
 	{
 		return SingletonHolder._instance;
 		return SingletonHolder._instance;
 	}
 	}
-
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final GraciaSeedsManager _instance = new GraciaSeedsManager();
 		protected static final GraciaSeedsManager _instance = new GraciaSeedsManager();

+ 14 - 14
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/GrandBossManager.java

@@ -95,11 +95,6 @@ public class GrandBossManager
 	
 	
 	private L2FastList<L2BossZone> _zones;
 	private L2FastList<L2BossZone> _zones;
 	
 	
-	public static GrandBossManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
 	protected GrandBossManager()
 	protected GrandBossManager()
 	{
 	{
 		init();
 		init();
@@ -136,20 +131,20 @@ public class GrandBossManager
 				int status = rset.getInt("status");
 				int status = rset.getInt("status");
 				_bossStatus.put(bossId, status);
 				_bossStatus.put(bossId, status);
 				_storedInfo.put(bossId, info);
 				_storedInfo.put(bossId, info);
-				_log.info("GrandBossManager: " +NpcTable.getInstance().getTemplate(bossId).getName()+"(" +bossId+ ") status is "+ status+".");
+				_log.info(getClass().getSimpleName() + ": " +NpcTable.getInstance().getTemplate(bossId).getName()+"(" +bossId+ ") status is "+ status+".");
 				if (status > 0)
 				if (status > 0)
-					_log.info("GrandBossManager: Next spawn date of " +NpcTable.getInstance().getTemplate(bossId).getName()+" is "+ new Date(info.getLong("respawn_time"))+".");
+					_log.info(getClass().getSimpleName() + ": Next spawn date of " +NpcTable.getInstance().getTemplate(bossId).getName()+" is "+ new Date(info.getLong("respawn_time"))+".");
 				
 				
 				info = null;
 				info = null;
 			}
 			}
-			_log.info("GrandBossManager: Loaded " + _storedInfo.size() + " Instances");
+			_log.info(getClass().getSimpleName() + ": Loaded " + _storedInfo.size() + " Instances");
 			
 			
 			rset.close();
 			rset.close();
 			statement.close();
 			statement.close();
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "GrandBossManager: Could not load grandboss_data table: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Could not load grandboss_data table: " + e.getMessage(), e);
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -166,7 +161,7 @@ public class GrandBossManager
 		
 		
 		if (_zones == null)
 		if (_zones == null)
 		{
 		{
-			_log.warning("GrandBossManager: Could not read Grand Boss zone data");
+			_log.warning(getClass().getSimpleName() + ": Could not read Grand Boss zone data");
 			return;
 			return;
 		}
 		}
 		
 		
@@ -192,11 +187,11 @@ public class GrandBossManager
 			rset.close();
 			rset.close();
 			statement.close();
 			statement.close();
 			
 			
-			_log.info("GrandBossManager: Initialized " + _zones.size() + " Grand Boss Zones");
+			_log.info(getClass().getSimpleName() + ": Initialized " + _zones.size() + " Grand Boss Zones");
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "GrandBossManager: Could not load grandboss_list table: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Could not load grandboss_list table: " + e.getMessage(), e);
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -380,7 +375,7 @@ public class GrandBossManager
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "GrandBossManager: Couldn't store grandbosses to database:" + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't store grandbosses to database:" + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -426,7 +421,7 @@ public class GrandBossManager
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "GrandBossManager: Couldn't update grandbosses to database:" + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update grandbosses to database:" + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -449,6 +444,11 @@ public class GrandBossManager
 		return _zones;
 		return _zones;
 	}
 	}
 	
 	
+	public static GrandBossManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final GrandBossManager _instance = new GrandBossManager();
 		protected static final GrandBossManager _instance = new GrandBossManager();

+ 8 - 11
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/HellboundManager.java

@@ -17,12 +17,11 @@ package com.l2jserver.gameserver.instancemanager;
 import java.sql.Connection;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.ScheduledFuture;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
-import javolution.util.FastList;
-
 import com.l2jserver.Config;
 import com.l2jserver.Config;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ThreadPoolManager;
@@ -50,12 +49,10 @@ public class HellboundManager
 	private int _minTrust = 0;
 	private int _minTrust = 0;
 	
 	
 	private ScheduledFuture<?> _engine = null;
 	private ScheduledFuture<?> _engine = null;
-	private final List<HellboundSpawn> _population;
+	private final List<HellboundSpawn> _population = new ArrayList<>();
 	
 	
 	protected HellboundManager()
 	protected HellboundManager()
-	{
-		_population = new FastList<>();
-		
+	{	
 		loadData();
 		loadData();
 		loadSpawns();
 		loadSpawns();
 	}
 	}
@@ -218,11 +215,11 @@ public class HellboundManager
 		
 		
 		if (added > 0)
 		if (added > 0)
 		{
 		{
-			_log.info("HellboundManager: Spawned " + added + " NPCs.");
+			_log.info(getClass().getSimpleName() + ": Spawned " + added + " NPCs.");
 		}
 		}
 		if (deleted > 0)
 		if (deleted > 0)
 		{
 		{
-			_log.info("HellboundManager: Removed " + deleted + " NPCs.");
+			_log.info(getClass().getSimpleName() + ": Removed " + deleted + " NPCs.");
 		}
 		}
 	}
 	}
 	
 	
@@ -295,7 +292,7 @@ public class HellboundManager
 				}
 				}
 				else
 				else
 				{
 				{
-					_log.warning("HellboundManager: Data missing in NPC table for ID: " + rset.getInt("npc_templateid") + ".");
+					_log.warning(getClass().getSimpleName() + ": Data missing in NPC table for ID: " + rset.getInt("npc_templateid") + ".");
 				}
 				}
 			}
 			}
 			rset.close();
 			rset.close();
@@ -303,9 +300,9 @@ public class HellboundManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.warning("HellboundManager: problem while loading spawns: " + e);
+			_log.warning(getClass().getSimpleName() + ": problem while loading spawns: " + e);
 		}
 		}
-		_log.info("HellboundManager: Loaded " + _population.size() + " npc spawn locations.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + _population.size() + " npc spawn locations.");
 	}
 	}
 	
 	
 	public static final class HellboundSpawn extends L2Spawn
 	public static final class HellboundSpawn extends L2Spawn

+ 2 - 6
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/InstanceManager.java

@@ -51,14 +51,10 @@ public class InstanceManager extends DocumentParser
 	protected InstanceManager()
 	protected InstanceManager()
 	{
 	{
 		// Creates the multiverse.
 		// Creates the multiverse.
-		final Instance multiverse = new Instance(-1);
-		multiverse.setName("multiverse");
-		_instanceList.put(-1, multiverse);
+		_instanceList.put(-1, new Instance(-1, "multiverse"));
 		_log.info(getClass().getSimpleName() + ": Multiverse Instance created.");
 		_log.info(getClass().getSimpleName() + ": Multiverse Instance created.");
 		// Creates the universe.
 		// Creates the universe.
-		final Instance universe = new Instance(0);
-		universe.setName("universe");
-		_instanceList.put(0, universe);
+		_instanceList.put(0, new Instance(0, "universe"));
 		_log.info(getClass().getSimpleName() + ": Universe Instance created.");
 		_log.info(getClass().getSimpleName() + ": Universe Instance created.");
 		load();
 		load();
 	}
 	}

+ 10 - 10
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/ItemAuctionManager.java

@@ -43,11 +43,6 @@ public final class ItemAuctionManager
 {
 {
 	private static final Logger _log = Logger.getLogger(ItemAuctionManager.class.getName());
 	private static final Logger _log = Logger.getLogger(ItemAuctionManager.class.getName());
 	
 	
-	public static final ItemAuctionManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
 	private final TIntObjectHashMap<ItemAuctionInstance> _managerInstances;
 	private final TIntObjectHashMap<ItemAuctionInstance> _managerInstances;
 	private final AtomicInteger _auctionIds;
 	private final AtomicInteger _auctionIds;
 	
 	
@@ -58,7 +53,7 @@ public final class ItemAuctionManager
 		
 		
 		if (!Config.ALT_ITEM_AUCTION_ENABLED)
 		if (!Config.ALT_ITEM_AUCTION_ENABLED)
 		{
 		{
-			_log.log(Level.INFO, "ItemAuctionManager: Disabled by config.");
+			_log.log(Level.INFO, getClass().getSimpleName() + ": Disabled by config.");
 			return;
 			return;
 		}
 		}
 		
 		
@@ -71,13 +66,13 @@ public final class ItemAuctionManager
 		}
 		}
 		catch (final SQLException e)
 		catch (final SQLException e)
 		{
 		{
-			_log.log(Level.SEVERE, "ItemAuctionManager: Failed loading auctions.", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Failed loading auctions.", e);
 		}
 		}
 		
 		
 		final File file = new File(Config.DATAPACK_ROOT + "/data/ItemAuctions.xml");
 		final File file = new File(Config.DATAPACK_ROOT + "/data/ItemAuctions.xml");
 		if (!file.exists())
 		if (!file.exists())
 		{
 		{
-			_log.log(Level.WARNING, "ItemAuctionManager: Missing ItemAuctions.xml!");
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Missing ItemAuctions.xml!");
 			return;
 			return;
 		}
 		}
 		
 		
@@ -108,11 +103,11 @@ public final class ItemAuctionManager
 					}
 					}
 				}
 				}
 			}
 			}
-			_log.log(Level.INFO, "ItemAuctionManager: Loaded " + _managerInstances.size() + " instance(s).");
+			_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded " + _managerInstances.size() + " instance(s).");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "ItemAuctionManager: Failed loading auctions from xml.", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Failed loading auctions from xml.", e);
 		}
 		}
 	}
 	}
 	
 	
@@ -157,6 +152,11 @@ public final class ItemAuctionManager
 		}
 		}
 	}
 	}
 	
 	
+	public static final ItemAuctionManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final ItemAuctionManager _instance = new ItemAuctionManager();
 		protected static final ItemAuctionManager _instance = new ItemAuctionManager();

+ 54 - 66
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/ItemsOnGroundManager.java

@@ -36,18 +36,17 @@ import com.l2jserver.util.L2FastList;
  * @author DiezelMax, original idea.
  * @author DiezelMax, original idea.
  * @author Enforcer, actual build.
  * @author Enforcer, actual build.
  */
  */
-public class ItemsOnGroundManager
+public class ItemsOnGroundManager implements Runnable
 {
 {
-	static final Logger _log = Logger.getLogger(ItemsOnGroundManager.class.getName());
+	private static final Logger _log = Logger.getLogger(ItemsOnGroundManager.class.getName());
 	
 	
 	protected List<L2ItemInstance> _items = new L2FastList<>(true);
 	protected List<L2ItemInstance> _items = new L2FastList<>(true);
-	private final StoreInDb _task = new StoreInDb();
 	
 	
 	protected ItemsOnGroundManager()
 	protected ItemsOnGroundManager()
 	{
 	{
 		if (Config.SAVE_DROPPED_ITEM_INTERVAL > 0)
 		if (Config.SAVE_DROPPED_ITEM_INTERVAL > 0)
 		{
 		{
-			ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(_task, Config.SAVE_DROPPED_ITEM_INTERVAL, Config.SAVE_DROPPED_ITEM_INTERVAL);
+			ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(this, Config.SAVE_DROPPED_ITEM_INTERVAL, Config.SAVE_DROPPED_ITEM_INTERVAL);
 		}
 		}
 		load();
 		load();
 	}
 	}
@@ -88,7 +87,7 @@ public class ItemsOnGroundManager
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
-				_log.log(Level.SEVERE, "Error while updating table ItemsOnGround " + e.getMessage(), e);
+				_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error while updating table ItemsOnGround " + e.getMessage(), e);
 			}
 			}
 		}
 		}
 		
 		
@@ -139,11 +138,11 @@ public class ItemsOnGroundManager
 			rset.close();
 			rset.close();
 			statement.close();
 			statement.close();
 			
 			
-			_log.info("ItemsOnGroundManager: Loaded " + count + " items.");
+			_log.info(getClass().getSimpleName() + ": Loaded " + count + " items.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Error while loading ItemsOnGround " + e.getMessage(), e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error while loading ItemsOnGround " + e.getMessage(), e);
 		}
 		}
 		
 		
 		if (Config.EMPTY_DROPPED_ITEM_TABLE_AFTER_LOAD)
 		if (Config.EMPTY_DROPPED_ITEM_TABLE_AFTER_LOAD)
@@ -171,7 +170,7 @@ public class ItemsOnGroundManager
 	
 	
 	public void saveInDb()
 	public void saveInDb()
 	{
 	{
-		_task.run();
+		run();
 	}
 	}
 	
 	
 	public void cleanUp()
 	public void cleanUp()
@@ -189,77 +188,66 @@ public class ItemsOnGroundManager
 		}
 		}
 		catch (Exception e1)
 		catch (Exception e1)
 		{
 		{
-			_log.log(Level.SEVERE, "Error while cleaning table ItemsOnGround " + e1.getMessage(), e1);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error while cleaning table ItemsOnGround " + e1.getMessage(), e1);
 		}
 		}
 	}
 	}
 	
 	
-	protected class StoreInDb extends Thread
+
+	@Override
+	public synchronized void run()
 	{
 	{
-		@Override
-		public synchronized void run()
+		if (!Config.SAVE_DROPPED_ITEM)
 		{
 		{
-			if (!Config.SAVE_DROPPED_ITEM)
-			{
-				return;
-			}
-			
-			emptyTable();
+			return;
+		}
+		
+		emptyTable();
+		
+		if (_items.isEmpty())
+		{
+			return;
+		}
+		
+		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+		{
+			PreparedStatement statement = con.prepareStatement("INSERT INTO itemsonground(object_id,item_id,count,enchant_level,x,y,z,drop_time,equipable) VALUES(?,?,?,?,?,?,?,?,?)");
 			
 			
-			if (_items.isEmpty())
+			for (L2ItemInstance item : _items)
 			{
 			{
-				if (Config.DEBUG)
+				if (item == null)
 				{
 				{
-					_log.warning("ItemsOnGroundManager: nothing to save...");
+					continue;
 				}
 				}
-				return;
-			}
-			
-			try (Connection con = L2DatabaseFactory.getInstance().getConnection())
-			{
-				PreparedStatement statement = con.prepareStatement("INSERT INTO itemsonground(object_id,item_id,count,enchant_level,x,y,z,drop_time,equipable) VALUES(?,?,?,?,?,?,?,?,?)");
 				
 				
-				for (L2ItemInstance item : _items)
+				if (CursedWeaponsManager.getInstance().isCursed(item.getItemId()))
 				{
 				{
-					if (item == null)
-					{
-						continue;
-					}
-					
-					if (CursedWeaponsManager.getInstance().isCursed(item.getItemId()))
-					{
-						continue; // Cursed Items not saved to ground, prevent double save
-					}
-					
-					try
-					{
-						statement.setInt(1, item.getObjectId());
-						statement.setInt(2, item.getItemId());
-						statement.setLong(3, item.getCount());
-						statement.setInt(4, item.getEnchantLevel());
-						statement.setInt(5, item.getX());
-						statement.setInt(6, item.getY());
-						statement.setInt(7, item.getZ());
-						statement.setLong(8, (item.isProtected() ? -1 : item.getDropTime())); // item is protected or AutoDestroyed
-						statement.setLong(9, (item.isEquipable() ? 1 : 0)); // set equip-able
-						statement.execute();
-						statement.clearParameters();
-					}
-					catch (Exception e)
-					{
-						_log.log(Level.SEVERE, "Error while inserting into table ItemsOnGround: " + e.getMessage(), e);
-					}
+					continue; // Cursed Items not saved to ground, prevent double save
+				}
+				
+				try
+				{
+					statement.setInt(1, item.getObjectId());
+					statement.setInt(2, item.getItemId());
+					statement.setLong(3, item.getCount());
+					statement.setInt(4, item.getEnchantLevel());
+					statement.setInt(5, item.getX());
+					statement.setInt(6, item.getY());
+					statement.setInt(7, item.getZ());
+					statement.setLong(8, (item.isProtected() ? -1 : item.getDropTime())); // item is protected or AutoDestroyed
+					statement.setLong(9, (item.isEquipable() ? 1 : 0)); // set equip-able
+					statement.execute();
+					statement.clearParameters();
+				}
+				catch (Exception e)
+				{
+					_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error while inserting into table ItemsOnGround: " + e.getMessage(), e);
 				}
 				}
-				statement.close();
-			}
-			catch (SQLException e)
-			{
-				_log.log(Level.SEVERE, "SQL error while storing items on ground: " + e.getMessage(), e);
-			}
-			
-			if (Config.DEBUG)
-			{
-				_log.info(getClass().getSimpleName() + ": Saved " + _items.size() + " items on ground.");
 			}
 			}
+			statement.close();
+		}
+		catch (SQLException e)
+		{
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": SQL error while storing items on ground: " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	

+ 21 - 21
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/MailManager.java

@@ -18,7 +18,9 @@ import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.SQLException;
+import java.util.Collection;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
@@ -33,7 +35,7 @@ import com.l2jserver.gameserver.model.entity.Message;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.SystemMessageId;
 import com.l2jserver.gameserver.network.serverpackets.ExNoticePostArrived;
 import com.l2jserver.gameserver.network.serverpackets.ExNoticePostArrived;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
-import com.l2jserver.gameserver.util.L2TIntObjectHashMap;
+import com.l2jserver.util.L2FastMap;
 
 
 /**
 /**
  * @author Migi, DS<br>
  * @author Migi, DS<br>
@@ -42,12 +44,7 @@ public class MailManager
 {
 {
 	private static Logger _log = Logger.getLogger(MailManager.class.getName());
 	private static Logger _log = Logger.getLogger(MailManager.class.getName());
 	
 	
-	private L2TIntObjectHashMap<Message> _messages = new L2TIntObjectHashMap<>();
-	
-	public static MailManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
+	private Map<Integer, Message> _messages = new L2FastMap<>(true);
 	
 	
 	protected MailManager()
 	protected MailManager()
 	{
 	{
@@ -59,9 +56,7 @@ public class MailManager
 		int count = 0;
 		int count = 0;
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		{
 		{
-			PreparedStatement statement = con.prepareStatement("SELECT * FROM messages ORDER BY expiration");
-			// stmt2 = con.prepareStatement("SELECT * FROM attachments WHERE messageId = ?");
-			
+			PreparedStatement statement = con.prepareStatement("SELECT * FROM messages ORDER BY expiration");			
 			ResultSet rset1 = statement.executeQuery();
 			ResultSet rset1 = statement.executeQuery();
 			while (rset1.next())
 			while (rset1.next())
 			{
 			{
@@ -85,9 +80,9 @@ public class MailManager
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Mail Manager: Error loading from database:" + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error loading from database:" + e.getMessage(), e);
 		}
 		}
-		_log.info("Mail Manager: Successfully loaded " + count + " messages.");
+		_log.info(getClass().getSimpleName() + ": Successfully loaded " + count + " messages.");
 	}
 	}
 	
 	
 	public final Message getMessage(int msgId)
 	public final Message getMessage(int msgId)
@@ -95,9 +90,9 @@ public class MailManager
 		return _messages.get(msgId);
 		return _messages.get(msgId);
 	}
 	}
 	
 	
-	public final Message[] getMessages()
+	public final Collection<Message> getMessages()
 	{
 	{
-		return _messages.values(new Message[0]);
+		return _messages.values();
 	}
 	}
 	
 	
 	public final boolean hasUnreadPost(L2PcInstance player)
 	public final boolean hasUnreadPost(L2PcInstance player)
@@ -176,7 +171,7 @@ public class MailManager
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Mail Manager: Error saving message:" + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error saving message:" + e.getMessage(), e);
 		}
 		}
 		
 		
 		final L2PcInstance receiver = L2World.getInstance().getPlayer(msg.getReceiverId());
 		final L2PcInstance receiver = L2World.getInstance().getPlayer(msg.getReceiverId());
@@ -230,7 +225,7 @@ public class MailManager
 				}
 				}
 				catch (Exception e)
 				catch (Exception e)
 				{
 				{
-					_log.log(Level.WARNING, "Mail Manager: Error returning items:" + e.getMessage(), e);
+					_log.log(Level.WARNING, getClass().getSimpleName() + ": Error returning items:" + e.getMessage(), e);
 				}
 				}
 			}
 			}
 			deleteMessageInDb(msg.getId());
 			deleteMessageInDb(msg.getId());
@@ -248,7 +243,7 @@ public class MailManager
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Mail Manager: Error marking as read message:" + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error marking as read message:" + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -262,7 +257,7 @@ public class MailManager
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Mail Manager: Error marking as deleted by sender message:" + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error marking as deleted by sender message:" + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -276,7 +271,7 @@ public class MailManager
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Mail Manager: Error marking as deleted by receiver message:" + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error marking as deleted by receiver message:" + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -290,7 +285,7 @@ public class MailManager
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Mail Manager: Error removing attachments in message:" + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error removing attachments in message:" + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -304,13 +299,18 @@ public class MailManager
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Mail Manager: Error deleting message:" + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error deleting message:" + e.getMessage(), e);
 		}
 		}
 		
 		
 		_messages.remove(msgId);
 		_messages.remove(msgId);
 		IdFactory.getInstance().releaseId(msgId);
 		IdFactory.getInstance().releaseId(msgId);
 	}
 	}
 	
 	
+	public static MailManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final MailManager _instance = new MailManager();
 		protected static final MailManager _instance = new MailManager();

+ 0 - 9
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/MapRegionManager.java

@@ -176,11 +176,6 @@ public class MapRegionManager extends DocumentParser
 		{
 		{
 			return region.getLocId();
 			return region.getLocId();
 		}
 		}
-		
-		if (Config.DEBUG)
-		{
-			_log.warning(getClass().getSimpleName() + ": Player outside map regions at X,Y=" + locX + "," + locY);
-		}
 		return 0;
 		return 0;
 	}
 	}
 	
 	
@@ -482,10 +477,6 @@ public class MapRegionManager extends DocumentParser
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
 			// Port to the default respawn if no closest town found.
 			// Port to the default respawn if no closest town found.
-			if (Config.DEBUG)
-			{
-				_log.warning(getClass().getSimpleName() + ": Not defined respawn point for coords loc X=" + activeChar.getX() + " Y=" + activeChar.getY() + " Z=" + activeChar.getZ());
-			}
 			return _regions.get(defaultRespawn).getSpawnLoc();
 			return _regions.get(defaultRespawn).getSpawnLoc();
 		}
 		}
 	}
 	}

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/MercTicketManager.java

@@ -185,7 +185,7 @@ public class MercTicketManager
 			rs.close();
 			rs.close();
 			statement.close();
 			statement.close();
 			
 			
-			_log.info("Loaded: " + _droppedTickets.size() + " Mercenary Tickets");
+			_log.info(getClass().getSimpleName() + ": Loaded: " + _droppedTickets.size() + " Mercenary Tickets");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{

+ 3 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/PetitionManager.java

@@ -100,7 +100,7 @@ public final class PetitionManager
 			_id = IdFactory.getInstance().getNextId();
 			_id = IdFactory.getInstance().getNextId();
 			if (petitionType >= PetitionType.values().length)
 			if (petitionType >= PetitionType.values().length)
 			{
 			{
-				_log.warning("PetitionManager:Petition : invalid petition type (received type was +1) : " + petitionType);
+				_log.warning(getClass().getSimpleName() + ": Petition : invalid petition type (received type was +1) : " + petitionType);
 			}
 			}
 			_type = PetitionType.values()[petitionType];
 			_type = PetitionType.values()[petitionType];
 			_content = petitionText;
 			_content = petitionText;
@@ -241,7 +241,7 @@ public final class PetitionManager
 		int numPetitions = getPendingPetitionCount();
 		int numPetitions = getPendingPetitionCount();
 		
 		
 		getCompletedPetitions().clear();
 		getCompletedPetitions().clear();
-		_log.info("PetitionManager: Completed petition data cleared. " + numPetitions + " petition(s) removed.");
+		_log.info(getClass().getSimpleName() + ": Completed petition data cleared. " + numPetitions + " petition(s) removed.");
 	}
 	}
 	
 	
 	public void clearPendingPetitions()
 	public void clearPendingPetitions()
@@ -249,7 +249,7 @@ public final class PetitionManager
 		int numPetitions = getPendingPetitionCount();
 		int numPetitions = getPendingPetitionCount();
 		
 		
 		getPendingPetitions().clear();
 		getPendingPetitions().clear();
-		_log.info("PetitionManager: Pending petition queue cleared. " + numPetitions + " petition(s) removed.");
+		_log.info(getClass().getSimpleName() + ": Pending petition queue cleared. " + numPetitions + " petition(s) removed.");
 	}
 	}
 	
 	
 	public boolean acceptPetition(L2PcInstance respondingAdmin, int petitionId)
 	public boolean acceptPetition(L2PcInstance respondingAdmin, int petitionId)

+ 6 - 7
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/QuestManager.java

@@ -20,18 +20,17 @@ import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
-import javolution.util.FastMap;
-
 import com.l2jserver.Config;
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.model.quest.Quest;
 import com.l2jserver.gameserver.scripting.L2ScriptEngineManager;
 import com.l2jserver.gameserver.scripting.L2ScriptEngineManager;
 import com.l2jserver.gameserver.scripting.ScriptManager;
 import com.l2jserver.gameserver.scripting.ScriptManager;
+import com.l2jserver.util.L2FastMap;
 
 
 public class QuestManager extends ScriptManager<Quest>
 public class QuestManager extends ScriptManager<Quest>
 {
 {
 	protected static final Logger _log = Logger.getLogger(QuestManager.class.getName());
 	protected static final Logger _log = Logger.getLogger(QuestManager.class.getName());
 	
 	
-	private Map<String, Quest> _quests = new FastMap<>();
+	private Map<String, Quest> _quests = new L2FastMap<>(true);
 	
 	
 	protected QuestManager()
 	protected QuestManager()
 	{
 	{
@@ -65,7 +64,7 @@ public class QuestManager extends ScriptManager<Quest>
 	
 	
 	public final void reloadAllQuests()
 	public final void reloadAllQuests()
 	{
 	{
-		_log.info("Reloading all server scripts.");
+		_log.info(getClass().getSimpleName() + ": Reloading all server scripts.");
 		// unload all scripts
 		// unload all scripts
 		for (Quest quest : _quests.values())
 		for (Quest quest : _quests.values())
 		{
 		{
@@ -84,13 +83,13 @@ public class QuestManager extends ScriptManager<Quest>
 		}
 		}
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
-			_log.log(Level.SEVERE, "Failed loading scripts.cfg, no script going to be loaded!", e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Failed loading scripts.cfg, no script going to be loaded!", e);
 		}
 		}
 	}
 	}
 	
 	
 	public final void report()
 	public final void report()
 	{
 	{
-		_log.info("Loaded: " + _quests.size() + " quests");
+		_log.info(getClass().getSimpleName() + ": Loaded: " + _quests.size() + " quests");
 	}
 	}
 	
 	
 	public final void save()
 	public final void save()
@@ -136,7 +135,7 @@ public class QuestManager extends ScriptManager<Quest>
 		if (old != null)
 		if (old != null)
 		{
 		{
 			old.unload();
 			old.unload();
-			_log.info("Replaced: (" + old.getName() + ") with a new version (" + newQuest.getName() + ")");
+			_log.info(getClass().getSimpleName() + ": Replaced: (" + old.getName() + ") with a new version (" + newQuest.getName() + ")");
 			
 			
 		}
 		}
 		_quests.put(newQuest.getName(), newQuest);
 		_quests.put(newQuest.getName(), newQuest);

+ 21 - 18
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/RaidBossPointsManager.java

@@ -32,8 +32,8 @@ import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 
 
 /**
 /**
- * @author Kerberos
- * JIV update 24.8.10
+ * @author Kerberos, JIV
+ * @version 8/24/10
  */
  */
 public class RaidBossPointsManager
 public class RaidBossPointsManager
 {
 {
@@ -41,7 +41,8 @@ public class RaidBossPointsManager
 	
 	
 	private FastMap<Integer, Map<Integer, Integer>> _list;
 	private FastMap<Integer, Map<Integer, Integer>> _list;
 	
 	
-	private final Comparator<Map.Entry<Integer, Integer>> _comparator = new Comparator<Map.Entry<Integer, Integer>>(){
+	private final Comparator<Map.Entry<Integer, Integer>> _comparator = new Comparator<Map.Entry<Integer, Integer>>()
+	{
 		@Override
 		@Override
 		public int compare(Map.Entry<Integer, Integer> entry, Map.Entry<Integer, Integer> entry1)
 		public int compare(Map.Entry<Integer, Integer> entry, Map.Entry<Integer, Integer> entry1)
 		{
 		{
@@ -49,11 +50,6 @@ public class RaidBossPointsManager
 		}
 		}
 	};
 	};
 	
 	
-	public static final RaidBossPointsManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
 	public RaidBossPointsManager()
 	public RaidBossPointsManager()
 	{
 	{
 		init();
 		init();
@@ -66,7 +62,7 @@ public class RaidBossPointsManager
 		{
 		{
 			PreparedStatement statement = con.prepareStatement("SELECT `charId`,`boss_id`,`points` FROM `character_raid_points`");
 			PreparedStatement statement = con.prepareStatement("SELECT `charId`,`boss_id`,`points` FROM `character_raid_points`");
 			ResultSet rset = statement.executeQuery();
 			ResultSet rset = statement.executeQuery();
-			while(rset.next())
+			while (rset.next())
 			{
 			{
 				int charId = rset.getInt("charId");
 				int charId = rset.getInt("charId");
 				int bossId = rset.getInt("boss_id");
 				int bossId = rset.getInt("boss_id");
@@ -81,11 +77,11 @@ public class RaidBossPointsManager
 			}
 			}
 			rset.close();
 			rset.close();
 			statement.close();
 			statement.close();
-			_log.info(getClass().getSimpleName()+": Loaded "+_list.size()+" Characters Raid Points.");
+			_log.info(getClass().getSimpleName() + ": Loaded " + _list.size() + " Characters Raid Points.");
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "RaidPointsManager: Couldnt load raid points ", e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldnt load raid points ", e);
 		}
 		}
 	}
 	}
 	
 	
@@ -102,7 +98,7 @@ public class RaidBossPointsManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "could not update char raid points:", e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update char raid points for player: " + player, e);
 		}
 		}
 	}
 	}
 	
 	
@@ -110,7 +106,7 @@ public class RaidBossPointsManager
 	{
 	{
 		int ownerId = player.getObjectId();
 		int ownerId = player.getObjectId();
 		Map<Integer, Integer> tmpPoint = _list.get(ownerId);
 		Map<Integer, Integer> tmpPoint = _list.get(ownerId);
-		if(tmpPoint == null)
+		if (tmpPoint == null)
 		{
 		{
 			tmpPoint = new FastMap<>();
 			tmpPoint = new FastMap<>();
 			tmpPoint.put(bossId, points);
 			tmpPoint.put(bossId, points);
@@ -135,7 +131,7 @@ public class RaidBossPointsManager
 		if (tmpPoint == null || tmpPoint.isEmpty())
 		if (tmpPoint == null || tmpPoint.isEmpty())
 			return 0;
 			return 0;
 		
 		
-		for(int points : tmpPoint.values())
+		for (int points : tmpPoint.values())
 		{
 		{
 			totalPoints += points;
 			totalPoints += points;
 		}
 		}
@@ -158,7 +154,7 @@ public class RaidBossPointsManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "could not clean raid points: ", e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't clean raid points", e);
 		}
 		}
 	}
 	}
 	
 	
@@ -175,10 +171,10 @@ public class RaidBossPointsManager
 		Map<Integer, Integer> tmpRanking = new FastMap<>();
 		Map<Integer, Integer> tmpRanking = new FastMap<>();
 		Map<Integer, Integer> tmpPoints = new FastMap<>();
 		Map<Integer, Integer> tmpPoints = new FastMap<>();
 		
 		
-		for(int ownerId : _list.keySet())
+		for (int ownerId : _list.keySet())
 		{
 		{
 			int totalPoints = getPointsByOwnerId(ownerId);
 			int totalPoints = getPointsByOwnerId(ownerId);
-			if(totalPoints != 0)
+			if (totalPoints != 0)
 			{
 			{
 				tmpPoints.put(ownerId, totalPoints);
 				tmpPoints.put(ownerId, totalPoints);
 			}
 			}
@@ -188,12 +184,19 @@ public class RaidBossPointsManager
 		Collections.sort(list, _comparator);
 		Collections.sort(list, _comparator);
 		
 		
 		int ranking = 1;
 		int ranking = 1;
-		for(Map.Entry<Integer, Integer> entry : list)
+		for (Map.Entry<Integer, Integer> entry : list)
+		{
 			tmpRanking.put(entry.getKey(), ranking++);
 			tmpRanking.put(entry.getKey(), ranking++);
+		}
 		
 		
 		return tmpRanking;
 		return tmpRanking;
 	}
 	}
 	
 	
+	public static final RaidBossPointsManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final RaidBossPointsManager _instance = new RaidBossPointsManager();
 		protected static final RaidBossPointsManager _instance = new RaidBossPointsManager();

+ 12 - 12
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/RaidBossSpawnManager.java

@@ -99,20 +99,20 @@ public class RaidBossSpawnManager
 				}
 				}
 				else
 				else
 				{
 				{
-					_log.warning("RaidBossSpawnManager: Could not load raidboss #" + rset.getInt("boss_id") + " from DB");
+					_log.warning(getClass().getSimpleName() + ": Could not load raidboss #" + rset.getInt("boss_id") + " from DB");
 				}
 				}
 			}
 			}
 			
 			
-			_log.info("RaidBossSpawnManager: Loaded " + _bosses.size() + " Instances");
-			_log.info("RaidBossSpawnManager: Scheduled " + _schedules.size() + " Instances");
+			_log.info(getClass().getSimpleName() + ": Loaded " + _bosses.size() + " Instances");
+			_log.info(getClass().getSimpleName() + ": Scheduled " + _schedules.size() + " Instances");
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.warning("RaidBossSpawnManager: Couldnt load raidboss_spawnlist table");
+			_log.warning(getClass().getSimpleName() + ": Couldnt load raidboss_spawnlist table");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Error while initializing RaidBossSpawnManager: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error while initializing RaidBossSpawnManager: " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -152,7 +152,7 @@ public class RaidBossSpawnManager
 				
 				
 				_storedInfo.put(bossId, info);
 				_storedInfo.put(bossId, info);
 				
 				
-				_log.info("Spawning Raid Boss " + raidboss.getName());
+				_log.info(getClass().getSimpleName() + ": Spawning Raid Boss " + raidboss.getName());
 				
 				
 				_bosses.put(bossId, raidboss);
 				_bosses.put(bossId, raidboss);
 			}
 			}
@@ -187,7 +187,7 @@ public class RaidBossSpawnManager
 			{
 			{
 				Calendar time = Calendar.getInstance();
 				Calendar time = Calendar.getInstance();
 				time.setTimeInMillis(respawnTime);
 				time.setTimeInMillis(respawnTime);
-				_log.info("RaidBossSpawnManager: Updated " + boss.getName() + " respawn time to " + time.getTime());
+				_log.info(getClass().getSimpleName() + ": Updated " + boss.getName() + " respawn time to " + time.getTime());
 				
 				
 				ScheduledFuture<?> futureSpawn;
 				ScheduledFuture<?> futureSpawn;
 				futureSpawn = ThreadPoolManager.getInstance().scheduleGeneral(new SpawnSchedule(boss.getNpcId()), respawnDelay);
 				futureSpawn = ThreadPoolManager.getInstance().scheduleGeneral(new SpawnSchedule(boss.getNpcId()), respawnDelay);
@@ -284,7 +284,7 @@ public class RaidBossSpawnManager
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
 				// problem with storing spawn
 				// problem with storing spawn
-				_log.log(Level.WARNING, "RaidBossSpawnManager: Could not store raidboss #" + bossId + " in the DB:" + e.getMessage(), e);
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": Could not store raidboss #" + bossId + " in the DB:" + e.getMessage(), e);
 			}
 			}
 		}
 		}
 	}
 	}
@@ -334,7 +334,7 @@ public class RaidBossSpawnManager
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
 				// problem with deleting spawn
 				// problem with deleting spawn
-				_log.log(Level.WARNING, "RaidBossSpawnManager: Could not remove raidboss #" + bossId + " from DB: " + e.getMessage(), e);
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": Could not remove raidboss #" + bossId + " from DB: " + e.getMessage(), e);
 			}
 			}
 		}
 		}
 	}
 	}
@@ -381,13 +381,13 @@ public class RaidBossSpawnManager
 				}
 				}
 				catch (SQLException e)
 				catch (SQLException e)
 				{
 				{
-					_log.log(Level.WARNING, "RaidBossSpawnManager: Couldnt update raidboss_spawnlist table " + e.getMessage(), e);
+					_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldnt update raidboss_spawnlist table " + e.getMessage(), e);
 				}
 				}
 			}
 			}
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "SQL error while updating RaidBoss spawn to database: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": SQL error while updating RaidBoss spawn to database: " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -474,7 +474,7 @@ public class RaidBossSpawnManager
 		
 		
 		_storedInfo.put(raidboss.getNpcId(), info);
 		_storedInfo.put(raidboss.getNpcId(), info);
 		
 		
-		_log.info("Spawning Night Raid Boss " + raidboss.getName());
+		_log.info(getClass().getSimpleName() + ": Spawning Night Raid Boss " + raidboss.getName());
 		
 		
 		_bosses.put(raidboss.getNpcId(), raidboss);
 		_bosses.put(raidboss.getNpcId(), raidboss);
 	}
 	}

+ 6 - 6
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/SiegeGuardManager.java

@@ -114,7 +114,7 @@ public class SiegeGuardManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Error deleting hired siege guard at " + x + ',' + y + ',' + z + ": " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error deleting hired siege guard at " + x + ',' + y + ',' + z + ": " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -132,7 +132,7 @@ public class SiegeGuardManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Error deleting hired siege guard for castle " + getCastle().getName() + ": " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error deleting hired siege guard for castle " + getCastle().getName() + ": " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -162,7 +162,7 @@ public class SiegeGuardManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Error spawning siege guards for castle " + getCastle().getName(), e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error spawning siege guards for castle " + getCastle().getName(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -219,7 +219,7 @@ public class SiegeGuardManager
 				}
 				}
 				else
 				else
 				{
 				{
-					_log.warning("Missing npc data in npc table for id: " + rs.getInt("npcId"));
+					_log.warning(getClass().getSimpleName() + ": Missing npc data in npc table for id: " + rs.getInt("npcId"));
 				}
 				}
 			}
 			}
 			rs.close();
 			rs.close();
@@ -227,7 +227,7 @@ public class SiegeGuardManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Error loading siege guard for castle " + getCastle().getName() + ": " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error loading siege guard for castle " + getCastle().getName() + ": " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -258,7 +258,7 @@ public class SiegeGuardManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Error adding siege guard for castle " + getCastle().getName() + ": " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error adding siege guard for castle " + getCastle().getName() + ": " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	

+ 10 - 10
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/SiegeManager.java

@@ -46,11 +46,6 @@ public class SiegeManager
 {
 {
 	private static final Logger _log = Logger.getLogger(SiegeManager.class.getName());
 	private static final Logger _log = Logger.getLogger(SiegeManager.class.getName());
 	
 	
-	public static final SiegeManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
 	private int _attackerMaxClans = 500; // Max number of clans
 	private int _attackerMaxClans = 500; // Max number of clans
 	private int _attackerRespawnDelay = 0; // Time in ms. Changeable in siege.config
 	private int _attackerRespawnDelay = 0; // Time in ms. Changeable in siege.config
 	private int _defenderMaxClans = 500; // Max number of clans
 	private int _defenderMaxClans = 500; // Max number of clans
@@ -137,7 +132,7 @@ public class SiegeManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Exception: checkIsRegistered(): " + e.getMessage() ,e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Exception: checkIsRegistered(): " + e.getMessage() ,e);
 		}
 		}
 		return register;
 		return register;
 	}
 	}
@@ -160,7 +155,7 @@ public class SiegeManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Error while loading Territory War Manager settings!", e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error while loading Territory War Manager settings!", e);
 		}
 		}
 		
 		
 		// Siege setting
 		// Siege setting
@@ -202,7 +197,7 @@ public class SiegeManager
 				}
 				}
 				catch (Exception e)
 				catch (Exception e)
 				{
 				{
-					_log.warning("Error while loading control tower(s) for " + castle.getName() + " castle.");
+					_log.warning(getClass().getSimpleName() + ": Error while loading control tower(s) for " + castle.getName() + " castle.");
 				}
 				}
 			}
 			}
 			
 			
@@ -229,7 +224,7 @@ public class SiegeManager
 				}
 				}
 				catch (Exception e)
 				catch (Exception e)
 				{
 				{
-					_log.warning("Error while loading artefact(s) for " + castle.getName() + " castle.");
+					_log.warning(getClass().getSimpleName() + ": Error while loading artefact(s) for " + castle.getName() + " castle.");
 				}
 				}
 			}
 			}
 			
 			
@@ -256,7 +251,7 @@ public class SiegeManager
 				}
 				}
 				catch (Exception e)
 				catch (Exception e)
 				{
 				{
-					_log.warning("Error while loading artefact(s) for " + castle.getName() + " castle.");
+					_log.warning(getClass().getSimpleName() + ": Error while loading artefact(s) for " + castle.getName() + " castle.");
 				}
 				}
 			}
 			}
 			
 			
@@ -390,6 +385,11 @@ public class SiegeManager
 			return _location;
 			return _location;
 		}
 		}
 	}
 	}
+
+	public static final SiegeManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
 	
 	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{

+ 33 - 33
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/TerritoryWarManager.java

@@ -71,11 +71,6 @@ public class TerritoryWarManager implements Siegable
 	private static final String DELETE = "DELETE FROM territory_registrations WHERE castleId = ? and registeredId = ?";
 	private static final String DELETE = "DELETE FROM territory_registrations WHERE castleId = ? and registeredId = ?";
 	private static final String INSERT = "INSERT INTO territory_registrations (castleId, registeredId) values (?, ?)";
 	private static final String INSERT = "INSERT INTO territory_registrations (castleId, registeredId) values (?, ?)";
 	
 	
-	public static final TerritoryWarManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
 	public static String qn = "TerritoryWarSuperClass";
 	public static String qn = "TerritoryWarSuperClass";
 	public static int DEFENDERMAXCLANS; // Max number of clans
 	public static int DEFENDERMAXCLANS; // Max number of clans
 	public static int DEFENDERMAXPLAYERS; // Max number of individual player
 	public static int DEFENDERMAXPLAYERS; // Max number of individual player
@@ -424,7 +419,7 @@ public class TerritoryWarManager implements Siegable
 			}
 			}
 		}
 		}
 		else
 		else
-			_log.warning("TerritoryWarManager: Missing territory for new Ward owner: " + newOwnerId + ";" + territoryId);
+			_log.warning(getClass().getSimpleName() + ": Missing territory for new Ward owner: " + newOwnerId + ";" + territoryId);
 		return ret;
 		return ret;
 	}
 	}
 	
 	
@@ -647,12 +642,12 @@ public class TerritoryWarManager implements Siegable
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)
 			{
 			{
-				_log.log(Level.WARNING, "Territory War Manager: " + e.getMessage(), e);
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": " + e.getMessage(), e);
 			}
 			}
 		}
 		}
 		else
 		else
 		{
 		{
-			_log.warning("Territory War Manager: Data missing in NPC table for ID: " + npcId + ".");
+			_log.warning(getClass().getSimpleName() + ": Data missing in NPC table for ID: " + npcId + ".");
 		}
 		}
 		return null;
 		return null;
 	}
 	}
@@ -701,7 +696,7 @@ public class TerritoryWarManager implements Siegable
 		}
 		}
 		catch (IOException e)
 		catch (IOException e)
 		{
 		{
-			_log.log(Level.WARNING, "Error while loading Territory War Manager settings!", e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Error while loading Territory War Manager settings!", e);
 		}
 		}
 		
 		
 		// Siege setting
 		// Siege setting
@@ -741,7 +736,7 @@ public class TerritoryWarManager implements Siegable
 						_territoryList.get(castleId).addWardSpawnPlace(loc);
 						_territoryList.get(castleId).addWardSpawnPlace(loc);
 						break;
 						break;
 					default:
 					default:
-						_log.warning("Territory War Manager: Unknown npc type for " + rs.getInt("id"));
+						_log.warning(getClass().getSimpleName() + ": Unknown npc type for " + rs.getInt("id"));
 				}
 				}
 			}
 			}
 			
 			
@@ -750,7 +745,7 @@ public class TerritoryWarManager implements Siegable
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Territory War Manager: SpawnList error: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": SpawnList error: " + e.getMessage(), e);
 		}
 		}
 			
 			
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
@@ -787,7 +782,7 @@ public class TerritoryWarManager implements Siegable
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Territory War Manager: territory list error(): " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": territory list error(): " + e.getMessage(), e);
 		}
 		}
 			
 			
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
@@ -817,7 +812,7 @@ public class TerritoryWarManager implements Siegable
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.WARNING, "Territory War Manager: registration list error: " + e.getMessage(), e);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": registration list error: " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -825,7 +820,7 @@ public class TerritoryWarManager implements Siegable
 	{
 	{
 		if (_territoryList == null)
 		if (_territoryList == null)
 		{
 		{
-			_log.warning("TerritoryWarManager: TerritoryList is NULL!");
+			_log.warning(getClass().getSimpleName() + ": TerritoryList is NULL!");
 			return;
 			return;
 		}
 		}
 		FastList<Territory> activeTerritoryList = new FastList<>();
 		FastList<Territory> activeTerritoryList = new FastList<>();
@@ -838,7 +833,7 @@ public class TerritoryWarManager implements Siegable
 					activeTerritoryList.add(t);
 					activeTerritoryList.add(t);
 			}
 			}
 			else
 			else
-				_log.warning("TerritoryWarManager: Castle missing! CastleId: " + t.getCastleId());
+				_log.warning(getClass().getSimpleName() + ": Castle missing! CastleId: " + t.getCastleId());
 		}
 		}
 		
 		
 		if (activeTerritoryList.size() < 2)
 		if (activeTerritoryList.size() < 2)
@@ -863,7 +858,7 @@ public class TerritoryWarManager implements Siegable
 				castle.getZone().updateZoneStatusForCharactersInside();
 				castle.getZone().updateZoneStatusForCharactersInside();
 			}
 			}
 			else
 			else
-				_log.warning("TerritoryWarManager: Castle missing! CastleId: " + t.getCastleId());
+				_log.warning(getClass().getSimpleName() + ": Castle missing! CastleId: " + t.getCastleId());
 			if (fort != null)
 			if (fort != null)
 			{
 			{
 				t.changeNPCsSpawn(1, true);
 				t.changeNPCsSpawn(1, true);
@@ -873,7 +868,7 @@ public class TerritoryWarManager implements Siegable
 				fort.getZone().updateZoneStatusForCharactersInside();
 				fort.getZone().updateZoneStatusForCharactersInside();
 			}
 			}
 			else
 			else
-				_log.warning("TerritoryWarManager: Fort missing! FortId: " + t.getFortId());
+				_log.warning(getClass().getSimpleName() + ": Fort missing! FortId: " + t.getFortId());
 			for(TerritoryNPCSpawn ward : t.getOwnedWard())
 			for(TerritoryNPCSpawn ward : t.getOwnedWard())
 				if (ward.getNpc() != null && t.getOwnerClan() != null)
 				if (ward.getNpc() != null && t.getOwnerClan() != null)
 				{
 				{
@@ -904,7 +899,7 @@ public class TerritoryWarManager implements Siegable
 		_isTWInProgress = false;
 		_isTWInProgress = false;
 		if (_territoryList == null)
 		if (_territoryList == null)
 		{
 		{
-			_log.warning("TerritoryWarManager: TerritoryList is NULL!");
+			_log.warning(getClass().getSimpleName() + ": TerritoryList is NULL!");
 			return;
 			return;
 		}
 		}
 		FastList<Territory> activeTerritoryList = new FastList<>();
 		FastList<Territory> activeTerritoryList = new FastList<>();
@@ -917,7 +912,7 @@ public class TerritoryWarManager implements Siegable
 					activeTerritoryList.add(t);
 					activeTerritoryList.add(t);
 			}
 			}
 			else
 			else
-				_log.warning("TerritoryWarManager: Castle missing! CastleId: " + t.getCastleId());
+				_log.warning(getClass().getSimpleName() + ": Castle missing! CastleId: " + t.getCastleId());
 		}
 		}
 		
 		
 		if (activeTerritoryList.size() < 2)
 		if (activeTerritoryList.size() < 2)
@@ -947,7 +942,7 @@ public class TerritoryWarManager implements Siegable
 				castle.getZone().setSiegeInstance(null);
 				castle.getZone().setSiegeInstance(null);
 			}
 			}
 			else
 			else
-				_log.warning("TerritoryWarManager: Castle missing! CastleId: " + t.getCastleId());
+				_log.warning(getClass().getSimpleName() + ": Castle missing! CastleId: " + t.getCastleId());
 			
 			
 			if (fort != null)
 			if (fort != null)
 			{
 			{
@@ -957,7 +952,7 @@ public class TerritoryWarManager implements Siegable
 				fort.getZone().setSiegeInstance(null);
 				fort.getZone().setSiegeInstance(null);
 			}
 			}
 			else
 			else
-				_log.warning("TerritoryWarManager: Fort missing! FortId: " + t.getFortId());
+				_log.warning(getClass().getSimpleName() + ": Fort missing! FortId: " + t.getFortId());
 			
 			
 			if (t.getHQ() != null)
 			if (t.getHQ() != null)
 				t.getHQ().deleteMe();
 				t.getHQ().deleteMe();
@@ -991,7 +986,7 @@ public class TerritoryWarManager implements Siegable
 		Quest twQuest = QuestManager.getInstance().getQuest(qn);
 		Quest twQuest = QuestManager.getInstance().getQuest(qn);
 		if (twQuest == null)
 		if (twQuest == null)
 		{
 		{
-			_log.warning("TerritoryWarManager: missing main Quest!");
+			_log.warning(getClass().getSimpleName() + ": missing main Quest!");
 			return false;
 			return false;
 		}
 		}
 		for(int castleId : _registeredClans.keySet())
 		for(int castleId : _registeredClans.keySet())
@@ -1359,14 +1354,14 @@ public class TerritoryWarManager implements Siegable
 			for(int i = 0; i < _territoryWardSpawnPlaces.length; i++)
 			for(int i = 0; i < _territoryWardSpawnPlaces.length; i++)
 				if (_territoryWardSpawnPlaces[i] != null && _territoryWardSpawnPlaces[i].getNpc() == null)
 				if (_territoryWardSpawnPlaces[i] != null && _territoryWardSpawnPlaces[i].getNpc() == null)
 					return _territoryWardSpawnPlaces[i];
 					return _territoryWardSpawnPlaces[i];
-			_log.log(Level.WARNING, "TerritoryWarManager: no free Ward spawn found for territory: " + _territoryId);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": no free Ward spawn found for territory: " + _territoryId);
 			for(int i = 0; i < _territoryWardSpawnPlaces.length; i++)
 			for(int i = 0; i < _territoryWardSpawnPlaces.length; i++)
 				if (_territoryWardSpawnPlaces[i] == null)
 				if (_territoryWardSpawnPlaces[i] == null)
-					_log.log(Level.WARNING, "TerritoryWarManager: territory ward spawn place " + i + " is null!");
+					_log.log(Level.WARNING, getClass().getSimpleName() + ": territory ward spawn place " + i + " is null!");
 				else if (_territoryWardSpawnPlaces[i].getNpc() != null)
 				else if (_territoryWardSpawnPlaces[i].getNpc() != null)
-					_log.log(Level.WARNING, "TerritoryWarManager: territory ward spawn place " + i + " has npc name: " + _territoryWardSpawnPlaces[i].getNpc().getName());
+					_log.log(Level.WARNING, getClass().getSimpleName() + ": territory ward spawn place " + i + " has npc name: " + _territoryWardSpawnPlaces[i].getNpc().getName());
 				else
 				else
-					_log.log(Level.WARNING, "TerritoryWarManager: territory ward spawn place " + i + " is empty!");
+					_log.log(Level.WARNING, getClass().getSimpleName() + ": territory ward spawn place " + i + " is empty!");
 			return null;
 			return null;
 		}
 		}
 		
 		
@@ -1379,7 +1374,7 @@ public class TerritoryWarManager implements Siegable
 		{
 		{
 			if (type < 0 || type > 3)
 			if (type < 0 || type > 3)
 			{
 			{
-				_log.log(Level.WARNING, "TerritoryWarManager: wrong type(" + type + ") for NPCs spawn change!");
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": wrong type(" + type + ") for NPCs spawn change!");
 				return;
 				return;
 			}
 			}
 			for(TerritoryNPCSpawn twSpawn : _spawnList)
 			for(TerritoryNPCSpawn twSpawn : _spawnList)
@@ -1408,7 +1403,7 @@ public class TerritoryWarManager implements Siegable
 					wardSpawn._npcId = 0;
 					wardSpawn._npcId = 0;
 					return;
 					return;
 				}
 				}
-			_log.log(Level.WARNING, "TerritoryWarManager: cant delete wardId: " + wardId + " for territory: " + _territoryId);
+			_log.log(Level.WARNING, getClass().getSimpleName() + ": Can't delete wardId: " + wardId + " for territory: " + _territoryId);
 		}
 		}
 		
 		
 		public int getTerritoryId()
 		public int getTerritoryId()
@@ -1476,11 +1471,6 @@ public class TerritoryWarManager implements Siegable
 		}
 		}
 	}
 	}
 	
 	
-	private static class SingletonHolder
-	{
-		protected static final TerritoryWarManager _instance = new TerritoryWarManager();
-	}
-	
 	@Override
 	@Override
 	public void startSiege()
 	public void startSiege()
 	{
 	{
@@ -1582,4 +1572,14 @@ public class TerritoryWarManager implements Siegable
 	{
 	{
 		
 		
 	}
 	}
+	
+	public static final TerritoryWarManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
+	private static class SingletonHolder
+	{
+		protected static final TerritoryWarManager _instance = new TerritoryWarManager();
+	}
 }
 }

+ 9 - 10
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/TransformationManager.java

@@ -14,8 +14,8 @@
  */
  */
 package com.l2jserver.gameserver.instancemanager;
 package com.l2jserver.gameserver.instancemanager;
 
 
-import gnu.trove.map.hash.TIntObjectHashMap;
-
+import java.util.HashMap;
+import java.util.Map;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
 import com.l2jserver.gameserver.model.L2Transformation;
 import com.l2jserver.gameserver.model.L2Transformation;
@@ -28,21 +28,15 @@ public class TransformationManager
 {
 {
 	private static final Logger _log = Logger.getLogger(TransformationManager.class.getName());
 	private static final Logger _log = Logger.getLogger(TransformationManager.class.getName());
 	
 	
-	public static TransformationManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
-	private TIntObjectHashMap<L2Transformation> _transformations;
+	private Map<Integer, L2Transformation> _transformations = new HashMap<>();
 	
 	
 	protected TransformationManager()
 	protected TransformationManager()
 	{
 	{
-		_transformations = new TIntObjectHashMap<>();
 	}
 	}
 	
 	
 	public void report()
 	public void report()
 	{
 	{
-		_log.info("Loaded: " + _transformations.size() + " transformations.");
+		_log.info(getClass().getSimpleName() + ": Loaded: " + _transformations.size() + " transformations.");
 	}
 	}
 	
 	
 	public boolean transformPlayer(int id, L2PcInstance player)
 	public boolean transformPlayer(int id, L2PcInstance player)
@@ -67,6 +61,11 @@ public class TransformationManager
 		return _transformations.put(transformation.getId(), transformation);
 		return _transformations.put(transformation.getId(), transformation);
 	}
 	}
 	
 	
+	public static TransformationManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final TransformationManager _instance = new TransformationManager();
 		protected static final TransformationManager _instance = new TransformationManager();

+ 10 - 15
L2J_Server_BETA/java/com/l2jserver/gameserver/instancemanager/ZoneManager.java

@@ -26,7 +26,6 @@ import java.util.logging.Level;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 import org.w3c.dom.Node;
 
 
-import com.l2jserver.Config;
 import com.l2jserver.gameserver.engines.DocumentParser;
 import com.l2jserver.gameserver.engines.DocumentParser;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.L2World;
 import com.l2jserver.gameserver.model.L2World;
@@ -96,7 +95,7 @@ public class ZoneManager extends DocumentParser
 			}
 			}
 		}
 		}
 		GrandBossManager.getInstance().getZones().clear();
 		GrandBossManager.getInstance().getZones().clear();
-		_log.info("Removed zones in " + count + " regions.");
+		_log.info(getClass().getSimpleName() + ": Removed zones in " + count + " regions.");
 		
 		
 		// Load the zones
 		// Load the zones
 		load();
 		load();
@@ -170,7 +169,7 @@ public class ZoneManager extends DocumentParser
 						}
 						}
 						catch (Exception e)
 						catch (Exception e)
 						{
 						{
-							_log.warning("ZoneData: No such zone type: " + zoneType + " in file: " + getCurrentFile().getName());
+							_log.warning(getClass().getSimpleName() + ": ZoneData: No such zone type: " + zoneType + " in file: " + getCurrentFile().getName());
 							continue;
 							continue;
 						}
 						}
 						
 						
@@ -197,7 +196,7 @@ public class ZoneManager extends DocumentParser
 							
 							
 							if (coords == null || coords.length == 0)
 							if (coords == null || coords.length == 0)
 							{
 							{
-								_log.warning("ZoneData: missing data for zone: " + zoneId + " XML file: " + getCurrentFile().getName());
+								_log.warning(getClass().getSimpleName() + ": ZoneData: missing data for zone: " + zoneId + " XML file: " + getCurrentFile().getName());
 								continue;
 								continue;
 							}
 							}
 							
 							
@@ -212,7 +211,7 @@ public class ZoneManager extends DocumentParser
 									temp.setZone(new ZoneCuboid(coords[0][0], coords[1][0], coords[0][1], coords[1][1], minZ, maxZ));
 									temp.setZone(new ZoneCuboid(coords[0][0], coords[1][0], coords[0][1], coords[1][1], minZ, maxZ));
 								else
 								else
 								{
 								{
-									_log.warning("ZoneData: Missing cuboid vertex in sql data for zone: " + zoneId + " in file: " + getCurrentFile().getName());
+									_log.warning(getClass().getSimpleName() + ": ZoneData: Missing cuboid vertex in sql data for zone: " + zoneId + " in file: " + getCurrentFile().getName());
 									continue;
 									continue;
 								}
 								}
 							}
 							}
@@ -232,7 +231,7 @@ public class ZoneManager extends DocumentParser
 								}
 								}
 								else
 								else
 								{
 								{
-									_log.warning("ZoneData: Bad data for zone: " + zoneId + " in file: " + getCurrentFile().getName());
+									_log.warning(getClass().getSimpleName() + ": ZoneData: Bad data for zone: " + zoneId + " in file: " + getCurrentFile().getName());
 									continue;
 									continue;
 								}
 								}
 							}
 							}
@@ -246,14 +245,14 @@ public class ZoneManager extends DocumentParser
 									temp.setZone(new ZoneCylinder(coords[0][0], coords[0][1], minZ, maxZ, zoneRad));
 									temp.setZone(new ZoneCylinder(coords[0][0], coords[0][1], minZ, maxZ, zoneRad));
 								else
 								else
 								{
 								{
-									_log.warning("ZoneData: Bad data for zone: " + zoneId + " in file: " + getCurrentFile().getName());
+									_log.warning(getClass().getSimpleName() + ": ZoneData: Bad data for zone: " + zoneId + " in file: " + getCurrentFile().getName());
 									continue;
 									continue;
 								}
 								}
 							}
 							}
 						}
 						}
 						catch (Exception e)
 						catch (Exception e)
 						{
 						{
-							_log.log(Level.WARNING, "ZoneData: Failed to load zone " + zoneId + " coordinates: " + e.getMessage(), e);
+							_log.log(Level.WARNING, getClass().getSimpleName() + ": ZoneData: Failed to load zone " + zoneId + " coordinates: " + e.getMessage(), e);
 						}
 						}
 						
 						
 						// Check for additional parameters
 						// Check for additional parameters
@@ -286,7 +285,7 @@ public class ZoneManager extends DocumentParser
 							}
 							}
 						}
 						}
 						if (checkId(zoneId))
 						if (checkId(zoneId))
-							_log.config("Caution: Zone (" + zoneId + ") from file: " + getCurrentFile().getName() + " overrides previos definition.");
+							_log.config(getClass().getSimpleName() + ": Caution: Zone (" + zoneId + ") from file: " + getCurrentFile().getName() + " overrides previos definition.");
 						
 						
 						if (zoneName != null && !zoneName.isEmpty())
 						if (zoneName != null && !zoneName.isEmpty())
 							temp.setName(zoneName);
 							temp.setName(zoneName);
@@ -308,10 +307,6 @@ public class ZoneManager extends DocumentParser
 								
 								
 								if (temp.getZone().intersectsRectangle(ax, bx, ay, by))
 								if (temp.getZone().intersectsRectangle(ax, bx, ay, by))
 								{
 								{
-									if (Config.DEBUG)
-									{
-										_log.info("Zone (" + zoneId + ") added to: " + x + " " + y);
-									}
 									worldRegions[x][y].addZone(temp);
 									worldRegions[x][y].addZone(temp);
 								}
 								}
 							}
 							}
@@ -325,7 +320,7 @@ public class ZoneManager extends DocumentParser
 	@Override
 	@Override
 	public final void load()
 	public final void load()
 	{
 	{
-		_log.info("Loading zones...");
+		_log.info(getClass().getSimpleName() + ": Loading zones...");
 		_classZones.clear();
 		_classZones.clear();
 		
 		
 		long started = System.currentTimeMillis();
 		long started = System.currentTimeMillis();
@@ -333,7 +328,7 @@ public class ZoneManager extends DocumentParser
 		parseDirectory("data/zones");
 		parseDirectory("data/zones");
 		
 		
 		started = System.currentTimeMillis() - started;
 		started = System.currentTimeMillis() - started;
-		_log.info("Done: loaded " + _classZones.size() + " zone classes and " + getSize() + " zones in " + (started / 1000) + " seconds.");
+		_log.info(getClass().getSimpleName() + ": Loaded " + _classZones.size() + " zone classes and " + getSize() + " zones in " + (started / 1000) + " seconds.");
 	}
 	}
 	
 	
 	public int getSize()
 	public int getSize()

+ 1 - 28
L2J_Server_BETA/java/com/l2jserver/gameserver/model/AutoChatHandler.java

@@ -26,7 +26,6 @@ import java.util.logging.Logger;
 import javolution.util.FastList;
 import javolution.util.FastList;
 import javolution.util.FastMap;
 import javolution.util.FastMap;
 
 
-import com.l2jserver.Config;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.SevenSigns;
 import com.l2jserver.gameserver.SevenSigns;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ThreadPoolManager;
@@ -63,7 +62,6 @@ public class AutoChatHandler implements SpawnListener
 	
 	
 	private void restoreChatData()
 	private void restoreChatData()
 	{
 	{
-		int numLoaded = 0;
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		{
 		{
 			PreparedStatement statement = con.prepareStatement("SELECT * FROM auto_chat ORDER BY groupId ASC");
 			PreparedStatement statement = con.prepareStatement("SELECT * FROM auto_chat ORDER BY groupId ASC");
@@ -71,9 +69,7 @@ public class AutoChatHandler implements SpawnListener
 			
 			
 			PreparedStatement statement2 = con.prepareStatement("SELECT * FROM auto_chat_text WHERE groupId=?");
 			PreparedStatement statement2 = con.prepareStatement("SELECT * FROM auto_chat_text WHERE groupId=?");
 			while (rs.next())
 			while (rs.next())
-			{
-				numLoaded++;
-				
+			{				
 				statement2.setInt(1, rs.getInt("groupId"));
 				statement2.setInt(1, rs.getInt("groupId"));
 				try (ResultSet rs2 = statement2.executeQuery())
 				try (ResultSet rs2 = statement2.executeQuery())
 				{
 				{
@@ -93,9 +89,6 @@ public class AutoChatHandler implements SpawnListener
 			statement2.close();
 			statement2.close();
 			rs.close();
 			rs.close();
 			statement.close();
 			statement.close();
-			
-			if (Config.DEBUG)
-				_log.info("AutoChatHandler: Loaded " + numLoaded + " chat group(s) from the database.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -212,10 +205,6 @@ public class AutoChatHandler implements SpawnListener
 		
 		
 		_registeredChats.remove(chatInst.getNPCId());
 		_registeredChats.remove(chatInst.getNPCId());
 		chatInst.setActive(false);
 		chatInst.setActive(false);
-		
-		if (Config.DEBUG)
-			_log.info("AutoChatHandler: Removed auto chat for NPC ID " + chatInst.getNPCId());
-		
 		return true;
 		return true;
 	}
 	}
 	
 	
@@ -305,10 +294,6 @@ public class AutoChatHandler implements SpawnListener
 			_npcId = npcId;
 			_npcId = npcId;
 			_defaultDelay = chatDelay;
 			_defaultDelay = chatDelay;
 			_globalChat = isGlobal;
 			_globalChat = isGlobal;
-			
-			if (Config.DEBUG)
-				_log.info("AutoChatHandler: Registered auto chat for NPC ID " + _npcId + " (Global Chat = " + _globalChat + ").");
-			
 			setActive(true);
 			setActive(true);
 		}
 		}
 		
 		
@@ -592,10 +577,6 @@ public class AutoChatHandler implements SpawnListener
 				_chatDelay = chatDelay;
 				_chatDelay = chatDelay;
 				_chatTexts = chatTexts;
 				_chatTexts = chatTexts;
 				
 				
-				if (Config.DEBUG)
-					_log.info("AutoChatHandler: Chat definition added for NPC ID " + _npcInstance.getNpcId() + " (Object ID = "
-							+ _npcInstance.getObjectId() + ").");
-				
 				// If global chat isn't enabled for the parent instance,
 				// If global chat isn't enabled for the parent instance,
 				// then handle the chat task locally.
 				// then handle the chat task locally.
 				if (!chatInst.isGlobal())
 				if (!chatInst.isGlobal())
@@ -708,10 +689,6 @@ public class AutoChatHandler implements SpawnListener
 					chatDefinitions = new AutoChatDefinition[] { chatDef };
 					chatDefinitions = new AutoChatDefinition[] { chatDef };
 				}
 				}
 				
 				
-				if (Config.DEBUG)
-					_log.info("AutoChatHandler: Running auto chat for " + chatDefinitions.length + " instances of NPC ID " + _npcId + "."
-							+ " (Global Chat = " + chatInst.isGlobal() + ")");
-				
 				for (AutoChatDefinition chatDef : chatDefinitions)
 				for (AutoChatDefinition chatDef : chatDefinitions)
 				{
 				{
 					try
 					try
@@ -806,10 +783,6 @@ public class AutoChatHandler implements SpawnListener
 							for (L2PcInstance nearbyGM : nearbyGMs)
 							for (L2PcInstance nearbyGM : nearbyGMs)
 								nearbyGM.sendPacket(cs);
 								nearbyGM.sendPacket(cs);
 						}
 						}
-						
-						if (Config.DEBUG)
-							_log.fine("AutoChatHandler: Chat propogation for object ID " + chatNpc.getObjectId() + " (" + creatureName
-									+ ") with text '" + text + "' sent to " + nearbyPlayers.size() + " nearby players.");
 					}
 					}
 					catch (Exception e)
 					catch (Exception e)
 					{
 					{

+ 0 - 20
L2J_Server_BETA/java/com/l2jserver/gameserver/model/AutoSpawnHandler.java

@@ -27,7 +27,6 @@ import java.util.logging.Logger;
 import javolution.util.FastList;
 import javolution.util.FastList;
 import javolution.util.FastMap;
 import javolution.util.FastMap;
 
 
-import com.l2jserver.Config;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.Announcements;
 import com.l2jserver.gameserver.Announcements;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ThreadPoolManager;
@@ -121,7 +120,6 @@ public class AutoSpawnHandler
 	
 	
 	private void restoreSpawnData()
 	private void restoreSpawnData()
 	{
 	{
-		int numLoaded = 0;
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
 		{
 		{
 			// Restore spawn group data, then the location data.
 			// Restore spawn group data, then the location data.
@@ -137,7 +135,6 @@ public class AutoSpawnHandler
 				spawnInst.setSpawnCount(rs.getInt("count"));
 				spawnInst.setSpawnCount(rs.getInt("count"));
 				spawnInst.setBroadcast(rs.getBoolean("broadcastSpawn"));
 				spawnInst.setBroadcast(rs.getBoolean("broadcastSpawn"));
 				spawnInst.setRandomSpawn(rs.getBoolean("randomSpawn"));
 				spawnInst.setRandomSpawn(rs.getBoolean("randomSpawn"));
-				numLoaded++;
 				
 				
 				// Restore the spawn locations for this spawn group/instance.
 				// Restore the spawn locations for this spawn group/instance.
 				statement2.setInt(1, rs.getInt("groupId"));
 				statement2.setInt(1, rs.getInt("groupId"));
@@ -154,9 +151,6 @@ public class AutoSpawnHandler
 			statement2.close();
 			statement2.close();
 			rs.close();
 			rs.close();
 			statement.close();
 			statement.close();
-			
-			if (Config.DEBUG)
-				_log.info("AutoSpawnHandler: Loaded " + numLoaded + " spawn group(s) from the database.");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -198,10 +192,6 @@ public class AutoSpawnHandler
 		_registeredSpawns.put(newId, newSpawn);
 		_registeredSpawns.put(newId, newSpawn);
 		
 		
 		setSpawnActive(newSpawn, true);
 		setSpawnActive(newSpawn, true);
-		
-		if (Config.DEBUG)
-			_log.info("AutoSpawnHandler: Registered auto spawn for NPC ID " + npcId + " (Object ID = " + newId + ").");
-		
 		return newSpawn;
 		return newSpawn;
 	}
 	}
 	
 	
@@ -243,10 +233,6 @@ public class AutoSpawnHandler
 			// Cancel the currently associated running scheduled task.
 			// Cancel the currently associated running scheduled task.
 			ScheduledFuture<?> respawnTask = _runningSpawns.remove(spawnInst._objectId);
 			ScheduledFuture<?> respawnTask = _runningSpawns.remove(spawnInst._objectId);
 			respawnTask.cancel(false);
 			respawnTask.cancel(false);
-			
-			if (Config.DEBUG)
-				_log.info("AutoSpawnHandler: Removed auto spawn for NPC ID " + spawnInst._npcId + " (Object ID = " + spawnInst._objectId
-						+ ").");
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
@@ -523,9 +509,6 @@ public class AutoSpawnHandler
 				{
 				{
 					Announcements.getInstance().announceToAll("The " + npcInst.getName() + " has spawned near " + nearestTown + "!");
 					Announcements.getInstance().announceToAll("The " + npcInst.getName() + " has spawned near " + nearestTown + "!");
 				}
 				}
-				if (Config.DEBUG)
-					_log.info("AutoSpawnHandler: Spawned NPC ID " + spawnInst.getNpcId() + " at " + x + ", " + y + ", " + z + " (Near "
-							+ nearestTown + ") for " + (spawnInst.getRespawnDelay() / 60000) + " minute(s).");
 				
 				
 				// If there is no despawn time, do not create a despawn task.
 				// If there is no despawn time, do not create a despawn task.
 				if (spawnInst.getDespawnDelay() > 0)
 				if (spawnInst.getDespawnDelay() > 0)
@@ -578,9 +561,6 @@ public class AutoSpawnHandler
 					npcInst.deleteMe();
 					npcInst.deleteMe();
 					SpawnTable.getInstance().deleteSpawn(npcInst.getSpawn(), false);
 					SpawnTable.getInstance().deleteSpawn(npcInst.getSpawn(), false);
 					spawnInst.removeNpcInstance(npcInst);
 					spawnInst.removeNpcInstance(npcInst);
-					
-					if (Config.DEBUG)
-						_log.info("AutoSpawnHandler: Spawns removed for spawn instance (Object ID = " + _objectId + ").");
 				}
 				}
 			}
 			}
 			catch (Exception e)
 			catch (Exception e)

+ 0 - 464
L2J_Server_BETA/java/com/l2jserver/gameserver/model/L2Manor.java

@@ -1,464 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later
- * version.
- * 
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package com.l2jserver.gameserver.model;
-
-import java.io.File;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import javolution.util.FastList;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-import com.l2jserver.Config;
-import com.l2jserver.gameserver.datatables.ItemTable;
-import com.l2jserver.gameserver.model.items.L2Item;
-import com.l2jserver.gameserver.util.L2TIntObjectHashMap;
-
-/**
- * Service class for manor
- * @author l3x
- */
-public class L2Manor
-{
-	private static Logger _log = Logger.getLogger(L2Manor.class.getName());
-	
-	private static L2TIntObjectHashMap<SeedData> _seeds;
-	
-	protected L2Manor()
-	{
-		_seeds = new L2TIntObjectHashMap<>();
-		parseData();
-	}
-	
-	public static L2Manor getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
-	public SeedData[] getSeedsDataArray()
-	{
-		return _seeds.values(new SeedData[0]);
-	}
-	
-	public FastList<Integer> getAllCrops()
-	{
-		FastList<Integer> crops = new FastList<>();
-		
-		for (SeedData seed : getSeedsDataArray())
-		{
-			if (!crops.contains(seed.getCrop()) && seed.getCrop() != 0 && !crops.contains(seed.getCrop()))
-			{
-				crops.add(seed.getCrop());
-			}
-		}
-		
-		return crops;
-	}
-	
-	public int getSeedBasicPrice(int seedId)
-	{
-		final L2Item seedItem = ItemTable.getInstance().getTemplate(seedId);
-		if (seedItem != null)
-		{
-			return seedItem.getReferencePrice();
-		}
-		return 0;
-	}
-	
-	public int getSeedBasicPriceByCrop(int cropId)
-	{
-		for (SeedData seed : getSeedsDataArray())
-		{
-			if (seed.getCrop() == cropId)
-				return getSeedBasicPrice(seed.getId());
-		}
-		return 0;
-	}
-	
-	public int getCropBasicPrice(int cropId)
-	{
-		final L2Item cropItem = ItemTable.getInstance().getTemplate(cropId);
-		if (cropItem != null)
-			return cropItem.getReferencePrice();
-		return 0;
-	}
-	
-	public int getMatureCrop(int cropId)
-	{
-		for (SeedData seed : getSeedsDataArray())
-		{
-			if (seed.getCrop() == cropId)
-				return seed.getMature();
-		}
-		return 0;
-	}
-	
-	/**
-	 * Returns price which lord pays to buy one seed
-	 * @param seedId
-	 * @return seed price
-	 */
-	public long getSeedBuyPrice(int seedId)
-	{
-		long buyPrice = getSeedBasicPrice(seedId);
-		return (buyPrice > 0 ? buyPrice : 1);
-	}
-	
-	public int getSeedMinLevel(int seedId)
-	{
-		SeedData seed = _seeds.get(seedId);
-		
-		if (seed != null)
-			return seed.getLevel() - 5;
-		return -1;
-	}
-	
-	public int getSeedMaxLevel(int seedId)
-	{
-		SeedData seed = _seeds.get(seedId);
-		
-		if (seed != null)
-			return seed.getLevel() + 5;
-		return -1;
-	}
-	
-	public int getSeedLevelByCrop(int cropId)
-	{
-		for (SeedData seed : getSeedsDataArray())
-		{
-			if (seed.getCrop() == cropId)
-			{
-				return seed.getLevel();
-			}
-		}
-		return 0;
-	}
-	
-	public int getSeedLevel(int seedId)
-	{
-		SeedData seed = _seeds.get(seedId);
-		
-		if (seed != null)
-		{
-			return seed.getLevel();
-		}
-		return -1;
-	}
-	
-	public boolean isAlternative(int seedId)
-	{
-		for (SeedData seed : getSeedsDataArray())
-		{
-			if (seed.getId() == seedId)
-			{
-				return seed.isAlternative();
-			}
-		}
-		return false;
-	}
-	
-	public int getCropType(int seedId)
-	{
-		SeedData seed = _seeds.get(seedId);
-		
-		if (seed != null)
-			return seed.getCrop();
-		return -1;
-	}
-	
-	public int getRewardItem(int cropId, int type)
-	{
-		for (SeedData seed : getSeedsDataArray())
-		{
-			if (seed.getCrop() == cropId)
-			{
-				return seed.getReward(type); // there can be several
-				// seeds with same crop, but
-				// reward should be the same for
-				// all
-			}
-		}
-		return -1;
-	}
-	
-	public int getRewardItemBySeed(int seedId, int type)
-	{
-		SeedData seed = _seeds.get(seedId);
-		
-		if (seed != null)
-		{
-			return seed.getReward(type);
-		}
-		return 0;
-	}
-	
-	/**
-	 * Return all crops which can be purchased by given castle
-	 *
-	 * @param castleId
-	 * @return
-	 */
-	public FastList<Integer> getCropsForCastle(int castleId)
-	{
-		FastList<Integer> crops = new FastList<>();
-		
-		for (SeedData seed : getSeedsDataArray())
-		{
-			if (seed.getManorId() == castleId && !crops.contains(seed.getCrop()))
-			{
-				crops.add(seed.getCrop());
-			}
-		}
-		
-		return crops;
-	}
-	
-	/**
-	 * Return list of seed ids, which belongs to castle with given id
-	 * @param castleId - id of the castle
-	 * @return seedIds - list of seed ids
-	 */
-	public FastList<Integer> getSeedsForCastle(int castleId)
-	{
-		FastList<Integer> seedsID = new FastList<>();
-		
-		for (SeedData seed : getSeedsDataArray())
-		{
-			if (seed.getManorId() == castleId && !seedsID.contains(seed.getId()))
-			{
-				seedsID.add(seed.getId());
-			}
-		}
-		
-		return seedsID;
-	}
-	
-	/**
-	 * Returns castle id where seed can be sowned<br>
-	 * @param seedId
-	 * @return castleId
-	 */
-	public int getCastleIdForSeed(int seedId)
-	{
-		SeedData seed = _seeds.get(seedId);
-		
-		if (seed != null)
-		{
-			return seed.getManorId();
-		}
-		return 0;
-	}
-	
-	public int getSeedSaleLimit(int seedId)
-	{
-		SeedData seed = _seeds.get(seedId);
-		
-		if (seed != null)
-		{
-			return seed.getSeedLimit();
-		}
-		return 0;
-	}
-	
-	public int getCropPuchaseLimit(int cropId)
-	{
-		for (SeedData seed : getSeedsDataArray())
-		{
-			if (seed.getCrop() == cropId)
-			{
-				return seed.getCropLimit();
-			}
-		}
-		return 0;
-	}
-	
-	private static class SeedData
-	{
-		private int _id;
-		private int _level; // seed level
-		private int _crop; // crop type
-		private int _mature; // mature crop type
-		private int _type1;
-		private int _type2;
-		private int _manorId; // id of manor (castle id) where seed can be farmed
-		private boolean _isAlternative;
-		private int _limitSeeds;
-		private int _limitCrops;
-		
-		public SeedData(int level, int crop, int mature)
-		{
-			this._level = level;
-			this._crop = crop;
-			this._mature = mature;
-		}
-		
-		public void setData(int id, int t1, int t2, int manorId, boolean isAlt, int lim1, int lim2)
-		{
-			this._id = id;
-			_type1 = t1;
-			_type2 = t2;
-			_manorId = manorId;
-			_isAlternative = isAlt;
-			_limitSeeds = lim1;
-			_limitCrops = lim2;
-		}
-		
-		public int getManorId()
-		{
-			return _manorId;
-		}
-		
-		public int getId()
-		{
-			return _id;
-		}
-		
-		public int getCrop()
-		{
-			return _crop;
-		}
-		
-		public int getMature()
-		{
-			return _mature;
-		}
-		
-		public int getReward(int type)
-		{
-			return (type == 1 ? _type1 : _type2);
-		}
-		
-		public int getLevel()
-		{
-			return _level;
-		}
-		
-		public boolean isAlternative()
-		{
-			return _isAlternative;
-		}
-		
-		public int getSeedLimit()
-		{
-			return _limitSeeds * Config.RATE_DROP_MANOR;
-		}
-		
-		public int getCropLimit()
-		{
-			return _limitCrops * Config.RATE_DROP_MANOR;
-		}
-
-		@Override
-		public String toString()
-		{
-			return "SeedData [_id=" + _id + ", _level=" + _level + ", _crop=" + _crop + ", _mature=" + _mature + ", _type1=" + _type1 + ", _type2=" + _type2 + ", _manorId=" + _manorId + ", _isAlternative=" + _isAlternative + ", _limitSeeds=" + _limitSeeds + ", _limitCrops=" + _limitCrops + "]";
-		}
-	}
-	
-	private void parseData()
-	{
-		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-		factory.setValidating(false);
-		factory.setIgnoringComments(true);
-		File file = new File(Config.DATAPACK_ROOT, "/data/seeds.xml");
-		Document doc = null;
-		
-		try
-		{
-			doc = factory.newDocumentBuilder().parse(file);
-		}
-		catch (Exception e)
-		{
-			_log.log(Level.WARNING, "Could not parse seeds.xml file: " + e.getMessage(), e);
-			return;
-		}
-		
-		doc.getDocumentElement().normalize();
-		
-		//list
-		for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
-		{
-			if ("list".equalsIgnoreCase(n.getNodeName()))
-			{
-				//castle
-				for (Node d = n.getFirstChild(); d != null; d = d.getNextSibling())
-				{
-					if ("castle".equalsIgnoreCase(d.getNodeName()))
-					{
-						int castleId = Integer.parseInt(d.getAttributes().getNamedItem("id").getNodeValue());
-						//crop
-						for (Node c = d.getFirstChild(); c != null; c = c.getNextSibling())
-						{
-							if ("crop".equalsIgnoreCase(c.getNodeName()))
-							{
-								int cropId = Integer.parseInt(c.getAttributes().getNamedItem("id").getNodeValue());
-								int seedId = 0;
-								int matureId = 0;
-								int type1R = 0;
-								int type2R = 0;
-								boolean isAlt = false;
-								int level = 0;
-								int limitSeeds = 0;
-								int limitCrops = 0;
-								
-								//attrib
-								for (Node a = c.getFirstChild(); a != null; a = a.getNextSibling())
-								{
-									if (a.getNodeName().equalsIgnoreCase("seed_id"))
-										seedId = Integer.parseInt(a.getAttributes().getNamedItem("val").getNodeValue());
-									else if (a.getNodeName().equalsIgnoreCase("mature_id"))
-										matureId = Integer.parseInt(a.getAttributes().getNamedItem("val").getNodeValue());
-									else if (a.getNodeName().equalsIgnoreCase("reward1"))
-										type1R = Integer.parseInt(a.getAttributes().getNamedItem("val").getNodeValue());
-									else if (a.getNodeName().equalsIgnoreCase("reward2"))
-										type2R = Integer.parseInt(a.getAttributes().getNamedItem("val").getNodeValue());
-									else if (a.getNodeName().equalsIgnoreCase("alternative"))
-										isAlt = Integer.parseInt(a.getAttributes().getNamedItem("val").getNodeValue()) == 1;
-									else if (a.getNodeName().equalsIgnoreCase("level"))
-										level = Integer.parseInt(a.getAttributes().getNamedItem("val").getNodeValue());
-									else if (a.getNodeName().equalsIgnoreCase("limit_seed"))
-										limitSeeds = Integer.parseInt(a.getAttributes().getNamedItem("val").getNodeValue());
-									else if (a.getNodeName().equalsIgnoreCase("limit_crops"))
-										limitCrops = Integer.parseInt(a.getAttributes().getNamedItem("val").getNodeValue());
-								}
-								
-								SeedData seed = new SeedData(level, cropId, matureId);
-								seed.setData(seedId, type1R, type2R, castleId, isAlt, limitSeeds, limitCrops);
-								_seeds.put(seed.getId(), seed);
-							}
-						}
-					}
-				}
-			}
-			_log.info(getClass().getSimpleName()+": Loaded "+_seeds.size()+ " Seeds.");
-		}
-
-
-	}
-	
-	private static class SingletonHolder
-	{
-		protected static final L2Manor _instance = new L2Manor();
-	}
-	
-	public static void main(String[] arg)
-	{
-		L2Manor.getInstance();
-	}
-}

+ 96 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/L2Seed.java

@@ -0,0 +1,96 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jserver.gameserver.model;
+
+import com.l2jserver.Config;
+
+public class L2Seed
+{
+	private final int _seedId;
+	private final int _cropId; // crop type
+	private final int _level; // seed level
+	private final int _matureId; // mature crop type
+	private final int _reward1;
+	private final int _reward2;
+	private final int _castleId; // id of manor (castle id) where seed can be farmed
+	private final boolean _isAlternative;
+	private final int _limitSeeds;
+	private final int _limitCrops;
+	
+	public L2Seed(StatsSet set)
+	{
+		_seedId = set.getInteger("seed_id");
+		_level = set.getInteger("level");
+		_cropId = set.getInteger("cropId");
+		_matureId = set.getInteger("mature_id");
+		_reward1 = set.getInteger("reward1");
+		_reward2 = set.getInteger("reward2");
+		_castleId = set.getInteger("castleId");
+		_isAlternative = set.getInteger("alternative") == 1;
+		_limitCrops = set.getInteger("limit_crops");
+		_limitSeeds = set.getInteger("limit_seed");
+	}
+	
+	public int getCastleId()
+	{
+		return _castleId;
+	}
+	
+	public int getSeedId()
+	{
+		return _seedId;
+	}
+	
+	public int getCropId()
+	{
+		return _cropId;
+	}
+	
+	public int getMatureId()
+	{
+		return _matureId;
+	}
+	
+	public int getReward(int type)
+	{
+		return (type == 1 ? _reward1 : _reward2);
+	}
+	
+	public int getLevel()
+	{
+		return _level;
+	}
+	
+	public boolean isAlternative()
+	{
+		return _isAlternative;
+	}
+	
+	public int getSeedLimit()
+	{
+		return _limitSeeds * Config.RATE_DROP_MANOR;
+	}
+	
+	public int getCropLimit()
+	{
+		return _limitCrops * Config.RATE_DROP_MANOR;
+	}
+	
+	@Override
+	public String toString()
+	{
+		return "SeedData [_id=" + _seedId + ", _level=" + _level + ", _crop=" + _cropId + ", _mature=" + _matureId + ", _type1=" + _reward1 + ", _type2=" + _reward2 + ", _manorId=" + _castleId + ", _isAlternative=" + _isAlternative + ", _limitSeeds=" + _limitSeeds + ", _limitCrops=" + _limitCrops + "]";
+	}
+}

+ 4 - 17
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Attackable.java

@@ -35,13 +35,13 @@ import com.l2jserver.gameserver.datatables.EventDroplist;
 import com.l2jserver.gameserver.datatables.EventDroplist.DateDrop;
 import com.l2jserver.gameserver.datatables.EventDroplist.DateDrop;
 import com.l2jserver.gameserver.datatables.HerbDropTable;
 import com.l2jserver.gameserver.datatables.HerbDropTable;
 import com.l2jserver.gameserver.datatables.ItemTable;
 import com.l2jserver.gameserver.datatables.ItemTable;
+import com.l2jserver.gameserver.datatables.ManorData;
 import com.l2jserver.gameserver.datatables.SkillTable;
 import com.l2jserver.gameserver.datatables.SkillTable;
 import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager;
 import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager;
 import com.l2jserver.gameserver.model.L2CharPosition;
 import com.l2jserver.gameserver.model.L2CharPosition;
 import com.l2jserver.gameserver.model.L2CommandChannel;
 import com.l2jserver.gameserver.model.L2CommandChannel;
 import com.l2jserver.gameserver.model.L2DropCategory;
 import com.l2jserver.gameserver.model.L2DropCategory;
 import com.l2jserver.gameserver.model.L2DropData;
 import com.l2jserver.gameserver.model.L2DropData;
-import com.l2jserver.gameserver.model.L2Manor;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.L2Party;
 import com.l2jserver.gameserver.model.L2Party;
 import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance;
@@ -1273,9 +1273,6 @@ public class L2Attackable extends L2Npc
 		
 		
 		if (itemCount > 0)
 		if (itemCount > 0)
 			return new RewardItem(drop.getItemId(), itemCount);
 			return new RewardItem(drop.getItemId(), itemCount);
-		else if (itemCount == 0 && Config.DEBUG)
-			_log.fine("Roll produced no drops.");
-		
 		return null;
 		return null;
 	}
 	}
 	
 	
@@ -1416,8 +1413,6 @@ public class L2Attackable extends L2Npc
 			
 			
 			if (itemCount > 0)
 			if (itemCount > 0)
 				return new RewardItem(drop.getItemId(), itemCount);
 				return new RewardItem(drop.getItemId(), itemCount);
-			else if (itemCount == 0 && Config.DEBUG)
-				_log.fine("Roll produced no drops.");
 		}
 		}
 		return null;
 		return null;
 	}
 	}
@@ -1569,8 +1564,6 @@ public class L2Attackable extends L2Npc
 			
 			
 			if (itemCount > 0)
 			if (itemCount > 0)
 				return new RewardItem(drop.getItemId(), itemCount);
 				return new RewardItem(drop.getItemId(), itemCount);
-			else if (itemCount == 0 && Config.DEBUG)
-				_log.fine("Roll produced no drops.");
 		}
 		}
 		return null;
 		return null;
 	}
 	}
@@ -1631,9 +1624,6 @@ public class L2Attackable extends L2Npc
 						item = calculateRewardItem(player, drop, levelModifier, true);
 						item = calculateRewardItem(player, drop, levelModifier, true);
 						if (item == null)
 						if (item == null)
 							continue;
 							continue;
-						
-						if (Config.DEBUG)
-							_log.fine("Item id to spoil: " + item.getItemId() + " amount: " + item.getCount());
 						sweepList.add(item);
 						sweepList.add(item);
 					}
 					}
 					// Set the table _sweepItems of this L2Attackable
 					// Set the table _sweepItems of this L2Attackable
@@ -1656,10 +1646,7 @@ public class L2Attackable extends L2Npc
 					item = calculateCategorizedRewardItem(player, cat, levelModifier);
 					item = calculateCategorizedRewardItem(player, cat, levelModifier);
 				
 				
 				if (item != null)
 				if (item != null)
-				{
-					if (Config.DEBUG)
-						_log.fine("Item id to drop: " + item.getItemId() + " amount: " + item.getCount());
-					
+				{	
 					// Check if the autoLoot mode is active
 					// Check if the autoLoot mode is active
 					if (isFlying() || (!isRaid() && Config.AUTO_LOOT) || (isRaid() && Config.AUTO_LOOT_RAIDS))
 					if (isFlying() || (!isRaid() && Config.AUTO_LOOT) || (isRaid() && Config.AUTO_LOOT_RAIDS))
 						player.doAutoLoot(this, item); // Give the item(s) to the L2PcInstance that has killed the L2Attackable
 						player.doAutoLoot(this, item); // Give the item(s) to the L2PcInstance that has killed the L2Attackable
@@ -2257,7 +2244,7 @@ public class L2Attackable extends L2Npc
 			}
 			}
 		}
 		}
 		
 		
-		int diff = (getLevel() - (L2Manor.getInstance().getSeedLevel(_seedType) - 5));
+		int diff = (getLevel() - (ManorData.getInstance().getSeedLevel(_seedType) - 5));
 		
 		
 		// hi-lvl mobs bonus
 		// hi-lvl mobs bonus
 		if (diff > 0)
 		if (diff > 0)
@@ -2265,7 +2252,7 @@ public class L2Attackable extends L2Npc
 		
 		
 		FastList<RewardItem> harvested = new FastList<>();
 		FastList<RewardItem> harvested = new FastList<>();
 		
 		
-		harvested.add(new RewardItem(L2Manor.getInstance().getCropType(_seedType), count * Config.RATE_DROP_MANOR));
+		harvested.add(new RewardItem(ManorData.getInstance().getCropType(_seedType), count * Config.RATE_DROP_MANOR));
 		
 		
 		_harvestItems = harvested.toArray(new RewardItem[harvested.size()]);
 		_harvestItems = harvested.toArray(new RewardItem[harvested.size()]);
 	}
 	}

+ 17 - 56
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Character.java

@@ -625,10 +625,7 @@ public abstract class L2Character extends L2Object
 		
 		
 		if (!needHpUpdate(352))
 		if (!needHpUpdate(352))
 			return;
 			return;
-		
-		if (Config.DEBUG)
-			_log.fine("Broadcast Status Update for " + getObjectId() + "(" + getName() + "). HP: " + getCurrentHp());
-		
+				
 		// Create the Server->Client packet StatusUpdate with current HP
 		// Create the Server->Client packet StatusUpdate with current HP
 		StatusUpdate su = new StatusUpdate(this);
 		StatusUpdate su = new StatusUpdate(this);
 		su.addAttribute(StatusUpdate.CUR_HP, (int) getCurrentHp());
 		su.addAttribute(StatusUpdate.CUR_HP, (int) getCurrentHp());
@@ -692,9 +689,6 @@ public abstract class L2Character extends L2Object
 		
 		
 		z += 5;
 		z += 5;
 		
 		
-		if (Config.DEBUG)
-			_log.fine("Teleporting to: " + x + ", " + y + ", " + z);
-		
 		// Send a Server->Client packet TeleportToLocationt to the L2Character AND to all L2PcInstance in the _KnownPlayers of the L2Character
 		// Send a Server->Client packet TeleportToLocationt to the L2Character AND to all L2PcInstance in the _KnownPlayers of the L2Character
 		broadcastPacket(new TeleportToLocation(this, x, y, z, heading));
 		broadcastPacket(new TeleportToLocation(this, x, y, z, heading));
 		
 		
@@ -803,8 +797,6 @@ public abstract class L2Character extends L2Object
 		{
 		{
 			return;
 			return;
 		}
 		}
-		if (Config.DEBUG)
-			_log.fine(getName() + " doAttack: target=" + target);
 		
 		
 		if (!isAlikeDead())
 		if (!isAlikeDead())
 		{
 		{
@@ -1207,7 +1199,7 @@ public abstract class L2Character extends L2Object
 			// Calculate physical damages
 			// Calculate physical damages
 			damage1 = (int) Formulas.calcPhysDam(this, target, null, shld1, crit1, false, attack.soulshot);
 			damage1 = (int) Formulas.calcPhysDam(this, target, null, shld1, crit1, false, attack.soulshot);
 			
 			
-			double range = Math.sqrt(this.getDistanceSq(target));
+			double range = Math.sqrt(getDistanceSq(target));
 			if (range < 1600)
 			if (range < 1600)
 			{
 			{
 				double dmgmod = 1 - (1 - range / 800) * 0.35;
 				double dmgmod = 1 - (1 - range / 800) * 0.35;
@@ -1443,12 +1435,6 @@ public abstract class L2Character extends L2Object
 		int maxRadius = getPhysicalAttackRange();
 		int maxRadius = getPhysicalAttackRange();
 		int maxAngleDiff = (int) getStat().calcStat(Stats.POWER_ATTACK_ANGLE, 120, null, null);
 		int maxAngleDiff = (int) getStat().calcStat(Stats.POWER_ATTACK_ANGLE, 120, null, null);
 		
 		
-		if (Config.DEBUG)
-		{
-			_log.info("doAttackHitByPole: Max radius = " + maxRadius);
-			_log.info("doAttackHitByPole: Max angle = " + maxAngleDiff);
-		}
-		
 		// o1 x: 83420 y: 148158 (Giran)
 		// o1 x: 83420 y: 148158 (Giran)
 		// o2 x: 83379 y: 148081 (Giran)
 		// o2 x: 83379 y: 148081 (Giran)
 		// dx = -41
 		// dx = -41
@@ -4526,7 +4512,7 @@ public abstract class L2Character extends L2Object
 			{
 			{
 				dz = m._zDestination - zPrev; // allow diff
 				dz = m._zDestination - zPrev; // allow diff
 			}
 			}
-			else if (this.isInCombat() && Math.abs(dz) > 200 && (dx * dx + dy * dy) < 40000) // allow mob to climb up to pcinstance
+			else if (isInCombat() && Math.abs(dz) > 200 && (dx * dx + dy * dy) < 40000) // allow mob to climb up to pcinstance
 			{
 			{
 				dz = m._zDestination - zPrev; // climbing
 				dz = m._zDestination - zPrev; // climbing
 			}
 			}
@@ -4628,7 +4614,7 @@ public abstract class L2Character extends L2Object
 		}
 		}
 		broadcastPacket(new StopMove(this));
 		broadcastPacket(new StopMove(this));
 		if (Config.MOVE_BASED_KNOWNLIST && updateKnownObjects)
 		if (Config.MOVE_BASED_KNOWNLIST && updateKnownObjects)
-			this.getKnownList().findObjects();
+			getKnownList().findObjects();
 	}
 	}
 	
 	
 	/**
 	/**
@@ -4765,10 +4751,7 @@ public abstract class L2Character extends L2Object
 			dz = (z - curZ);
 			dz = (z - curZ);
 			distance = Math.sqrt(dx * dx + dy * dy);
 			distance = Math.sqrt(dx * dx + dy * dy);
 		}
 		}
-		
-		if (Config.DEBUG)
-			_log.fine("distance to target:" + distance);
-		
+				
 		// Define movement angles needed
 		// Define movement angles needed
 		// ^
 		// ^
 		// |     X (x,y)
 		// |     X (x,y)
@@ -4793,10 +4776,7 @@ public abstract class L2Character extends L2Object
 			
 			
 			// If no distance to go through, the movement is canceled
 			// If no distance to go through, the movement is canceled
 			if (distance < 1 || distance - offset <= 0)
 			if (distance < 1 || distance - offset <= 0)
-			{
-				if (Config.DEBUG)
-					_log.fine("already in range, no movement needed.");
-				
+			{	
 				// Notify the AI that the L2Character is arrived at destination
 				// Notify the AI that the L2Character is arrived at destination
 				getAI().notifyEvent(CtrlEvent.EVT_ARRIVED);
 				getAI().notifyEvent(CtrlEvent.EVT_ARRIVED);
 				
 				
@@ -4844,7 +4824,7 @@ public abstract class L2Character extends L2Object
 			// Movement checks:
 			// Movement checks:
 			// when geodata == 2, for all characters except mobs returning home (could be changed later to teleport if pathfinding fails)
 			// when geodata == 2, for all characters except mobs returning home (could be changed later to teleport if pathfinding fails)
 			// when geodata == 1, for l2playableinstance and l2riftinstance only
 			// when geodata == 1, for l2playableinstance and l2riftinstance only
-			if ((Config.GEODATA == 2 && !(isL2Attackable() && ((L2Attackable) this).isReturningToSpawnPoint())) || (isPlayer() && !(isInVehicle && distance > 1500)) || (isSummon() && !(this.getAI().getIntention() == AI_INTENTION_FOLLOW)) // assuming intention_follow only when following owner
+			if ((Config.GEODATA == 2 && !(isL2Attackable() && ((L2Attackable) this).isReturningToSpawnPoint())) || (isPlayer() && !(isInVehicle && distance > 1500)) || (isSummon() && !(getAI().getIntention() == AI_INTENTION_FOLLOW)) // assuming intention_follow only when following owner
 					|| isAfraid() || this instanceof L2RiftInvaderInstance)
 					|| isAfraid() || this instanceof L2RiftInvaderInstance)
 			{
 			{
 				if (isOnGeodataPath())
 				if (isOnGeodataPath())
@@ -4864,14 +4844,14 @@ public abstract class L2Character extends L2Object
 				if (curX < L2World.MAP_MIN_X || curX > L2World.MAP_MAX_X || curY < L2World.MAP_MIN_Y || curY > L2World.MAP_MAX_Y)
 				if (curX < L2World.MAP_MIN_X || curX > L2World.MAP_MAX_X || curY < L2World.MAP_MIN_Y || curY > L2World.MAP_MAX_Y)
 				{
 				{
 					// Temporary fix for character outside world region errors
 					// Temporary fix for character outside world region errors
-					_log.warning("Character " + this.getName() + " outside world area, in coordinates x:" + curX + " y:" + curY);
+					_log.warning("Character " + getName() + " outside world area, in coordinates x:" + curX + " y:" + curY);
 					getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 					getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 					if (isPlayer())
 					if (isPlayer())
 						getActingPlayer().logout();
 						getActingPlayer().logout();
 					else if (isSummon())
 					else if (isSummon())
 						return; // preventation when summon get out of world coords, player will not loose him, unsummon handled from pcinstance
 						return; // preventation when summon get out of world coords, player will not loose him, unsummon handled from pcinstance
 					else
 					else
-						this.onDecay();
+						onDecay();
 					return;
 					return;
 				}
 				}
 				Location destiny = GeoData.getInstance().moveCheck(curX, curY, curZ, x, y, z, getInstanceId());
 				Location destiny = GeoData.getInstance().moveCheck(curX, curY, curZ, x, y, z, getInstanceId());
@@ -4887,11 +4867,11 @@ public abstract class L2Character extends L2Object
 			// Pathfinding checks. Only when geodata setting is 2, the LoS check gives shorter result
 			// Pathfinding checks. Only when geodata setting is 2, the LoS check gives shorter result
 			// than the original movement was and the LoS gives a shorter distance than 2000
 			// than the original movement was and the LoS gives a shorter distance than 2000
 			// This way of detecting need for pathfinding could be changed.
 			// This way of detecting need for pathfinding could be changed.
-			if (Config.GEODATA == 2 && originalDistance - distance > 30 && distance < 2000 && !this.isAfraid())
+			if (Config.GEODATA == 2 && originalDistance - distance > 30 && distance < 2000 && !isAfraid())
 			{
 			{
 				// Path calculation
 				// Path calculation
 				// Overrides previous movement check
 				// Overrides previous movement check
-				if ((isPlayable() && !isInVehicle) || this.isMinion() || this.isInCombat())
+				if ((isPlayable() && !isInVehicle) || isMinion() || isInCombat())
 				{
 				{
 					m.geoPath = PathFinding.getInstance().findPath(curX, curY, curZ, originalX, originalY, originalZ, getInstanceId(), isPlayable());
 					m.geoPath = PathFinding.getInstance().findPath(curX, curY, curZ, originalX, originalY, originalZ, getInstanceId(), isPlayable());
 					if (m.geoPath == null || m.geoPath.size() < 2) // No path found
 					if (m.geoPath == null || m.geoPath.size() < 2) // No path found
@@ -4904,7 +4884,7 @@ public abstract class L2Character extends L2Object
 						// * Summons will follow their masters no matter what.
 						// * Summons will follow their masters no matter what.
 						// * Currently minions also must move freely since L2AttackableAI commands
 						// * Currently minions also must move freely since L2AttackableAI commands
 						// them to move along with their leader
 						// them to move along with their leader
-						if (isPlayer() || (!isPlayable() && !this.isMinion() && Math.abs(z - curZ) > 140) || (isSummon() && !((L2Summon) this).getFollowStatus()))
+						if (isPlayer() || (!isPlayable() && !isMinion() && Math.abs(z - curZ) > 140) || (isSummon() && !((L2Summon) this).getFollowStatus()))
 						{
 						{
 							getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 							getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
 							return;
 							return;
@@ -4955,7 +4935,7 @@ public abstract class L2Character extends L2Object
 				}
 				}
 			}
 			}
 			// If no distance to go through, the movement is canceled
 			// If no distance to go through, the movement is canceled
-			if (distance < 1 && (Config.GEODATA == 2 || isPlayable() || this instanceof L2RiftInvaderInstance || this.isAfraid()))
+			if (distance < 1 && (Config.GEODATA == 2 || isPlayable() || this instanceof L2RiftInvaderInstance || isAfraid()))
 			{
 			{
 				if (isSummon())
 				if (isSummon())
 					((L2Summon) this).setFollowStatus(false);
 					((L2Summon) this).setFollowStatus(false);
@@ -4980,10 +4960,7 @@ public abstract class L2Character extends L2Object
 		// Does not broke heading on vertical movements
 		// Does not broke heading on vertical movements
 		if (!verticalMovementOnly)
 		if (!verticalMovementOnly)
 			setHeading(Util.calculateHeadingFrom(cos, sin));
 			setHeading(Util.calculateHeadingFrom(cos, sin));
-		
-		if (Config.DEBUG)
-			_log.fine("dist:" + distance + "speed:" + speed + " ttt:" + ticksToMove + " heading:" + getHeading());
-		
+				
 		m._moveStartTime = GameTimeController.getGameTicks();
 		m._moveStartTime = GameTimeController.getGameTicks();
 		
 		
 		// Set the L2Character _move object to MoveData object
 		// Set the L2Character _move object to MoveData object
@@ -5003,7 +4980,7 @@ public abstract class L2Character extends L2Object
 	
 	
 	public boolean moveToNextRoutePoint()
 	public boolean moveToNextRoutePoint()
 	{
 	{
-		if (!this.isOnGeodataPath())
+		if (!isOnGeodataPath())
 		{
 		{
 			// Cancel the move action
 			// Cancel the move action
 			_move = null;
 			_move = null;
@@ -5061,9 +5038,6 @@ public abstract class L2Character extends L2Object
 		
 		
 		m._moveStartTime = GameTimeController.getGameTicks();
 		m._moveStartTime = GameTimeController.getGameTicks();
 		
 		
-		if (Config.DEBUG)
-			_log.fine("time to target:" + ticksToMove);
-		
 		// Set the L2Character _move object to MoveData object
 		// Set the L2Character _move object to MoveData object
 		_move = m;
 		_move = m;
 		
 		
@@ -5296,8 +5270,6 @@ public abstract class L2Character extends L2Object
 	//	//       update x,y,z with the current calculated position
 	//	//       update x,y,z with the current calculated position
 	//	stopMove();
 	//	stopMove();
 	//
 	//
-	//	if (Config.DEBUG)
-	//	_log.fine(this.getName() +":: target reached at: x "+getX()+" y "+getY()+ " z:" + getZ());
 	//
 	//
 	//	if (getPawnTarget() != null)
 	//	if (getPawnTarget() != null)
 	//	{
 	//	{
@@ -5787,7 +5759,7 @@ public abstract class L2Character extends L2Object
 			return false;
 			return false;
 		if (!(target.isPlayable() && attacker.isPlayable()))
 		if (!(target.isPlayable() && attacker.isPlayable()))
 			return false;
 			return false;
-		if (InstanceManager.getInstance().getInstance(this.getInstanceId()).isPvPInstance())
+		if (InstanceManager.getInstance().getInstance(getInstanceId()).isPvPInstance())
 			return false;
 			return false;
 		
 		
 		if (TerritoryWarManager.PLAYER_WITH_WARD_CAN_BE_KILLED_IN_PEACEZONE && TerritoryWarManager.getInstance().isTWInProgress())
 		if (TerritoryWarManager.PLAYER_WITH_WARD_CAN_BE_KILLED_IN_PEACEZONE && TerritoryWarManager.getInstance().isTWInProgress())
@@ -6317,11 +6289,6 @@ public abstract class L2Character extends L2Object
 					}
 					}
 					targetList.add((L2Character) target);
 					targetList.add((L2Character) target);
 				}
 				}
-				//else
-				//{
-				//	if (Config.DEBUG)
-				//        _log.warning("Class cast bad: "+targets[i].getClass().toString());
-				//}
 			}
 			}
 			if (targetList.isEmpty())
 			if (targetList.isEmpty())
 			{
 			{
@@ -6721,8 +6688,6 @@ public abstract class L2Character extends L2Object
 	 */
 	 */
 	public void disableAllSkills()
 	public void disableAllSkills()
 	{
 	{
-		if (Config.DEBUG)
-			_log.fine("all skills disabled");
 		_allSkillsDisabled = true;
 		_allSkillsDisabled = true;
 	}
 	}
 	
 	
@@ -6731,8 +6696,6 @@ public abstract class L2Character extends L2Object
 	 */
 	 */
 	public void enableAllSkills()
 	public void enableAllSkills()
 	{
 	{
-		if (Config.DEBUG)
-			_log.fine("all skills enabled");
 		_allSkillsDisabled = false;
 		_allSkillsDisabled = false;
 	}
 	}
 	
 	
@@ -7001,8 +6964,6 @@ public abstract class L2Character extends L2Object
 				angleDiff -= 360;
 				angleDiff -= 360;
 			if (Math.abs(angleDiff) <= maxAngleDiff)
 			if (Math.abs(angleDiff) <= maxAngleDiff)
 			{
 			{
-				if (Config.DEBUG)
-					_log.info("Char " + getName() + " is behind " + target.getName());
 				return true;
 				return true;
 			}
 			}
 		}
 		}
@@ -7052,7 +7013,7 @@ public abstract class L2Character extends L2Object
 			return false;
 			return false;
 		maxAngleDiff = maxAngle / 2.;
 		maxAngleDiff = maxAngle / 2.;
 		angleTarget = Util.calculateAngleFrom(this, target);
 		angleTarget = Util.calculateAngleFrom(this, target);
-		angleChar = Util.convertHeadingToDegree(this.getHeading());
+		angleChar = Util.convertHeadingToDegree(getHeading());
 		angleDiff = angleChar - angleTarget;
 		angleDiff = angleChar - angleTarget;
 		if (angleDiff <= -360 + maxAngleDiff)
 		if (angleDiff <= -360 + maxAngleDiff)
 			angleDiff += 360;
 			angleDiff += 360;

+ 9 - 55
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java

@@ -1831,10 +1831,7 @@ public final class L2PcInstance extends L2Playable
 		String content = HtmCache.getInstance().getHtm(getHtmlPrefix(), path);  //TODO path for quests html
 		String content = HtmCache.getInstance().getHtm(getHtmlPrefix(), path);  //TODO path for quests html
 		
 		
 		if (content != null)
 		if (content != null)
-		{
-			if (Config.DEBUG)
-				_log.fine("Showing quest window for quest "+questId+" state "+stateId+" html path: " + path);
-			
+		{	
 			NpcHtmlMessage npcReply = new NpcHtmlMessage(5);
 			NpcHtmlMessage npcReply = new NpcHtmlMessage(5);
 			npcReply.setHtml(content);
 			npcReply.setHtml(content);
 			sendPacket(npcReply);
 			sendPacket(npcReply);
@@ -4513,8 +4510,6 @@ public final class L2PcInstance extends L2Playable
 						|| needHpUpdate
 						|| needHpUpdate
 						|| needMpUpdate(352)))
 						|| needMpUpdate(352)))
 		{
 		{
-			if (Config.DEBUG)
-				_log.fine("Send status for party window of " + getObjectId() + "(" + getName() + ") to his party. CP: " + getCurrentCp() + " HP: " + getCurrentHp() + " MP: " + getCurrentMp());
 			// Send the Server->Client packet PartySmallWindowUpdate with current HP, MP and Level to all other L2PcInstance of the Party
 			// Send the Server->Client packet PartySmallWindowUpdate with current HP, MP and Level to all other L2PcInstance of the Party
 			PartySmallWindowUpdate update = new PartySmallWindowUpdate(this);
 			PartySmallWindowUpdate update = new PartySmallWindowUpdate(this);
 			party.broadcastToPartyMembers(this, update);
 			party.broadcastToPartyMembers(this, update);
@@ -4558,10 +4553,7 @@ public final class L2PcInstance extends L2Playable
 		// Send a Server->Client packet UserInfo to this L2PcInstance
 		// Send a Server->Client packet UserInfo to this L2PcInstance
 		sendPacket(new UserInfo(this));
 		sendPacket(new UserInfo(this));
 		
 		
-		// Send a Server->Client packet CharInfo to all L2PcInstance in _KnownPlayers of the L2PcInstance
-		if (Config.DEBUG)
-			_log.fine("players to notify:" + getKnownList().getKnownPlayers().size() + " packet: [S] 03 CharInfo");
-		
+		// Send a Server->Client packet CharInfo to all L2PcInstance in _KnownPlayers of the L2PcInstance		
 		broadcastPacket(new CharInfo(this));
 		broadcastPacket(new CharInfo(this));
 		broadcastPacket(new ExBrExtraUserInfo(this));
 		broadcastPacket(new ExBrExtraUserInfo(this));
 		if (TerritoryWarManager.getInstance().isTWInProgress()
 		if (TerritoryWarManager.getInstance().isTWInProgress()
@@ -4579,8 +4571,6 @@ public final class L2PcInstance extends L2Playable
 		sendPacket(new ExBrExtraUserInfo(this));
 		sendPacket(new ExBrExtraUserInfo(this));
 		
 		
 		// Send a Server->Client packet TitleUpdate to all L2PcInstance in _KnownPlayers of the L2PcInstance
 		// Send a Server->Client packet TitleUpdate to all L2PcInstance in _KnownPlayers of the L2PcInstance
-		if (Config.DEBUG)
-			_log.fine("players to notify:" + getKnownList().getKnownPlayers().size() + " packet: [S] cc TitleUpdate");
 		
 		
 		broadcastPacket(new NicknameChanged(this));
 		broadcastPacket(new NicknameChanged(this));
 	}
 	}
@@ -4814,8 +4804,6 @@ public final class L2PcInstance extends L2Playable
 		
 		
 		// Send a Server->Client packet StopMove to this L2PcInstance
 		// Send a Server->Client packet StopMove to this L2PcInstance
 		StopMove sm = new StopMove(this);
 		StopMove sm = new StopMove(this);
-		if (Config.DEBUG)
-			_log.fine("pickup pos: "+ target.getX() + " "+target.getY()+ " "+target.getZ() );
 		sendPacket(sm);
 		sendPacket(sm);
 		
 		
 		SystemMessage smsg = null;
 		SystemMessage smsg = null;
@@ -6099,9 +6087,6 @@ public final class L2PcInstance extends L2Playable
 				lostExp = 0;
 				lostExp = 0;
 		}
 		}
 		
 		
-		if (Config.DEBUG)
-			_log.fine(getName() + " died and lost " + lostExp + " experience.");
-		
 		// Set the new Experience value of the L2PcInstance
 		// Set the new Experience value of the L2PcInstance
 		getStat().addExp(-lostExp);
 		getStat().addExp(-lostExp);
 	}
 	}
@@ -6568,7 +6553,6 @@ public final class L2PcInstance extends L2Playable
 			else
 			else
 				_arrowItem = null;
 				_arrowItem = null;
 			
 			
-			if (Config.DEBUG) _log.fine("removed arrows count");
 			sendPacket(new ItemList(this,false));
 			sendPacket(new ItemList(this,false));
 			return;
 			return;
 		}
 		}
@@ -8806,9 +8790,6 @@ public final class L2PcInstance extends L2Playable
 				return false;
 				return false;
 			}
 			}
 			
 			
-			if (Config.DEBUG && getQueuedSkill() != null)
-				_log.info(getQueuedSkill().getSkill().getName() + " is already queued for " + getName() + ".");
-			
 			// Create a new SkillDat object and queue it in the player _queuedSkill
 			// Create a new SkillDat object and queue it in the player _queuedSkill
 			setQueuedSkill(skill, forceUse, dontMove);
 			setQueuedSkill(skill, forceUse, dontMove);
 			sendPacket(ActionFailed.STATIC_PACKET);
 			sendPacket(ActionFailed.STATIC_PACKET);
@@ -9766,10 +9747,6 @@ public final class L2PcInstance extends L2Playable
 	 */
 	 */
 	public void addCubic(int id, int level, double matk, int activationtime, int activationchance, int maxcount, int totalLifetime, boolean givenByOther)
 	public void addCubic(int id, int level, double matk, int activationtime, int activationchance, int maxcount, int totalLifetime, boolean givenByOther)
 	{
 	{
-		if (Config.DEBUG)
-		{
-			_log.info("L2PcInstance(" + getName() + "): addCubic(" + id + "|" + level + "|" + matk + ")");
-		}
 		_cubics.put(id, new L2CubicInstance(this, id, level, (int) matk, activationtime, activationchance, maxcount, totalLifetime, givenByOther));
 		_cubics.put(id, new L2CubicInstance(this, id, level, (int) matk, activationtime, activationchance, maxcount, totalLifetime, givenByOther));
 	}
 	}
 	
 	
@@ -10654,11 +10631,6 @@ public final class L2PcInstance extends L2Playable
 			// Commit after database INSERT incase exception is thrown.
 			// Commit after database INSERT incase exception is thrown.
 			getSubClasses().put(newClass.getClassIndex(), newClass);
 			getSubClasses().put(newClass.getClassIndex(), newClass);
 			
 			
-			if (Config.DEBUG)
-			{
-				_log.info(getName() + " added class ID " + classId + " as a sub class at index " + classIndex + ".");
-			}
-			
 			final ClassId subTemplate = ClassId.getClassId(classId);
 			final ClassId subTemplate = ClassId.getClassId(classId);
 			final Map<Integer, L2SkillLearn> skillTree = SkillTreesData.getInstance().getCompleteClassSkillTree(subTemplate);
 			final Map<Integer, L2SkillLearn> skillTree = SkillTreesData.getInstance().getCompleteClassSkillTree(subTemplate);
 			final Map<Integer, L2Skill> prevSkillList = new HashMap<>();
 			final Map<Integer, L2Skill> prevSkillList = new HashMap<>();
@@ -11240,7 +11212,10 @@ public final class L2PcInstance extends L2Playable
 				CharSummonTable.getInstance().restorePet(this);
 				CharSummonTable.getInstance().restorePet(this);
 		}
 		}
 		if (isTeleportProtected())
 		if (isTeleportProtected())
+		{
 			sendMessage("Teleport spawn protection ended.");
 			sendMessage("Teleport spawn protection ended.");
+			new Throwable(getName() + ": has requested action.").printStackTrace();
+		}
 		setProtection(false);
 		setProtection(false);
 		setTeleportProtection(false);
 		setTeleportProtection(false);
 	}
 	}
@@ -12516,17 +12491,10 @@ public final class L2PcInstance extends L2Playable
 	public void setCurrentSkill(L2Skill currentSkill, boolean ctrlPressed, boolean shiftPressed)
 	public void setCurrentSkill(L2Skill currentSkill, boolean ctrlPressed, boolean shiftPressed)
 	{
 	{
 		if (currentSkill == null)
 		if (currentSkill == null)
-		{
-			if (Config.DEBUG)
-				_log.info("Setting current skill: NULL for " + getName() + ".");
-			
+		{			
 			_currentSkill = null;
 			_currentSkill = null;
 			return;
 			return;
 		}
 		}
-		
-		if (Config.DEBUG)
-			_log.info("Setting current skill: " + currentSkill.getName() + " (ID: " + currentSkill.getId() + ") for " + getName() + ".");
-		
 		_currentSkill = new SkillDat(currentSkill, ctrlPressed, shiftPressed);
 		_currentSkill = new SkillDat(currentSkill, ctrlPressed, shiftPressed);
 	}
 	}
 	
 	
@@ -12547,17 +12515,10 @@ public final class L2PcInstance extends L2Playable
 	public void setCurrentPetSkill(L2Skill currentSkill, boolean ctrlPressed, boolean shiftPressed)
 	public void setCurrentPetSkill(L2Skill currentSkill, boolean ctrlPressed, boolean shiftPressed)
 	{
 	{
 		if (currentSkill == null)
 		if (currentSkill == null)
-		{
-			if (Config.DEBUG)
-				_log.info("Setting current pet skill: NULL for " + getName() + ".");
-			
+		{			
 			_currentPetSkill = null;
 			_currentPetSkill = null;
 			return;
 			return;
 		}
 		}
-		
-		if (Config.DEBUG)
-			_log.info("Setting current Pet skill: " + currentSkill.getName() + " (ID: " + currentSkill.getId() + ") for " + getName() + ".");
-		
 		_currentPetSkill = new SkillDat(currentSkill, ctrlPressed, shiftPressed);
 		_currentPetSkill = new SkillDat(currentSkill, ctrlPressed, shiftPressed);
 	}
 	}
 	
 	
@@ -12577,17 +12538,10 @@ public final class L2PcInstance extends L2Playable
 	public void setQueuedSkill(L2Skill queuedSkill, boolean ctrlPressed, boolean shiftPressed)
 	public void setQueuedSkill(L2Skill queuedSkill, boolean ctrlPressed, boolean shiftPressed)
 	{
 	{
 		if (queuedSkill == null)
 		if (queuedSkill == null)
-		{
-			if (Config.DEBUG)
-				_log.info("Setting queued skill: NULL for " + getName() + ".");
-			
+		{			
 			_queuedSkill = null;
 			_queuedSkill = null;
 			return;
 			return;
-		}
-		
-		if (Config.DEBUG)
-			_log.info("Setting queued skill: " + queuedSkill.getName() + " (ID: " + queuedSkill.getId() + ") for " + getName() + ".");
-		
+		}		
 		_queuedSkill = new SkillDat(queuedSkill, ctrlPressed, shiftPressed);
 		_queuedSkill = new SkillDat(queuedSkill, ctrlPressed, shiftPressed);
 	}
 	}
 	
 	

+ 2 - 23
L2J_Server_BETA/java/com/l2jserver/gameserver/model/entity/Castle.java

@@ -35,6 +35,7 @@ import com.l2jserver.gameserver.SevenSigns;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.datatables.ClanTable;
 import com.l2jserver.gameserver.datatables.ClanTable;
 import com.l2jserver.gameserver.datatables.DoorTable;
 import com.l2jserver.gameserver.datatables.DoorTable;
+import com.l2jserver.gameserver.datatables.ManorData;
 import com.l2jserver.gameserver.datatables.SkillTable;
 import com.l2jserver.gameserver.datatables.SkillTable;
 import com.l2jserver.gameserver.datatables.SkillTreesData;
 import com.l2jserver.gameserver.datatables.SkillTreesData;
 import com.l2jserver.gameserver.instancemanager.CastleManager;
 import com.l2jserver.gameserver.instancemanager.CastleManager;
@@ -46,7 +47,6 @@ import com.l2jserver.gameserver.instancemanager.TerritoryWarManager;
 import com.l2jserver.gameserver.instancemanager.TerritoryWarManager.Territory;
 import com.l2jserver.gameserver.instancemanager.TerritoryWarManager.Territory;
 import com.l2jserver.gameserver.instancemanager.ZoneManager;
 import com.l2jserver.gameserver.instancemanager.ZoneManager;
 import com.l2jserver.gameserver.model.L2Clan;
 import com.l2jserver.gameserver.model.L2Clan;
-import com.l2jserver.gameserver.model.L2Manor;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.L2SkillLearn;
 import com.l2jserver.gameserver.model.L2SkillLearn;
 import com.l2jserver.gameserver.model.actor.instance.L2ArtefactInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2ArtefactInstance;
@@ -214,10 +214,6 @@ public class Castle
 						if (_cwh)
 						if (_cwh)
 						{
 						{
 							ClanTable.getInstance().getClan(getOwnerId()).getWarehouse().destroyItemByItemId("CS_function_fee", PcInventory.ADENA_ID, fee, null, null);
 							ClanTable.getInstance().getClan(getOwnerId()).getWarehouse().destroyItemByItemId("CS_function_fee", PcInventory.ADENA_ID, fee, null, null);
-							if (Config.DEBUG)
-							{
-								_log.warning("deducted " + fee + " adena from " + getName() + " owner's cwh for function id : " + getType());
-							}
 						}
 						}
 						ThreadPoolManager.getInstance().scheduleGeneral(new FunctionTask(true), getRate());
 						ThreadPoolManager.getInstance().scheduleGeneral(new FunctionTask(true), getRate());
 					}
 					}
@@ -824,10 +820,6 @@ public class Castle
 		{
 		{
 			return false;
 			return false;
 		}
 		}
-		if (Config.DEBUG)
-		{
-			_log.warning("Called Castle.updateFunctions(int type, int lvl, int lease, long rate, boolean addNew) Owner : " + getOwnerId());
-		}
 		if (lease > 0)
 		if (lease > 0)
 		{
 		{
 			if (!player.destroyItemByItemId("Consume", PcInventory.ADENA_ID, lease, null, true))
 			if (!player.destroyItemByItemId("Consume", PcInventory.ADENA_ID, lease, null, true))
@@ -848,10 +840,6 @@ public class Castle
 			else
 			else
 			{
 			{
 				int diffLease = lease - _function.get(type).getLease();
 				int diffLease = lease - _function.get(type).getLease();
-				if (Config.DEBUG)
-				{
-					_log.warning("Called Castle.updateFunctions diffLease : " + diffLease);
-				}
 				if (diffLease > 0)
 				if (diffLease > 0)
 				{
 				{
 					_function.remove(type);
 					_function.remove(type);
@@ -883,11 +871,6 @@ public class Castle
 				_doors.add(door);
 				_doors.add(door);
 			}
 			}
 		}
 		}
-		
-		if (Config.DEBUG)
-		{
-			_log.info("Castle " + this + " loaded " + _doors.size() + " doors.");
-		}
 	}
 	}
 	
 	
 	// This method loads castle door upgrade data from database
 	// This method loads castle door upgrade data from database
@@ -1178,7 +1161,7 @@ public class Castle
 		{
 		{
 			for (SeedProduction seed : production)
 			for (SeedProduction seed : production)
 			{
 			{
-				total += L2Manor.getInstance().getSeedBuyPrice(seed.getId()) * seed.getStartProduce();
+				total += ManorData.getInstance().getSeedBuyPrice(seed.getId()) * seed.getStartProduce();
 			}
 			}
 		}
 		}
 		if (procure != null)
 		if (procure != null)
@@ -1565,10 +1548,6 @@ public class Castle
 	 */
 	 */
 	public void registerArtefact(L2ArtefactInstance artefact)
 	public void registerArtefact(L2ArtefactInstance artefact)
 	{
 	{
-		if (Config.DEBUG)
-		{
-			_log.info("ArtefactId: " + artefact.getObjectId() + " is registered to " + getName() + " castle.");
-		}
 		_artefacts.add(artefact);
 		_artefacts.add(artefact);
 	}
 	}
 	
 	

+ 1 - 17
L2J_Server_BETA/java/com/l2jserver/gameserver/model/entity/ClanHall.java

@@ -24,7 +24,6 @@ import java.util.logging.Logger;
 
 
 import javolution.util.FastMap;
 import javolution.util.FastMap;
 
 
-import com.l2jserver.Config;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.datatables.ClanTable;
 import com.l2jserver.gameserver.datatables.ClanTable;
@@ -169,10 +168,6 @@ public abstract class ClanHall
 						if (_cwh)
 						if (_cwh)
 						{
 						{
 							ClanTable.getInstance().getClan(getOwnerId()).getWarehouse().destroyItemByItemId("CH_function_fee", PcInventory.ADENA_ID, fee, null, null);
 							ClanTable.getInstance().getClan(getOwnerId()).getWarehouse().destroyItemByItemId("CH_function_fee", PcInventory.ADENA_ID, fee, null, null);
-							if (Config.DEBUG)
-							{
-								_log.warning("deducted " + fee + " adena from " + getName() + " owner's cwh for function id : " + getType());
-							}
 						}
 						}
 						ThreadPoolManager.getInstance().scheduleGeneral(new FunctionTask(true), getRate());
 						ThreadPoolManager.getInstance().scheduleGeneral(new FunctionTask(true), getRate());
 					}
 					}
@@ -214,10 +209,6 @@ public abstract class ClanHall
 		_clanHallId = set.getInteger("id");
 		_clanHallId = set.getInteger("id");
 		_name = set.getString("name");
 		_name = set.getString("name");
 		_ownerId = set.getInteger("ownerId");
 		_ownerId = set.getInteger("ownerId");
-		if (Config.DEBUG)
-		{
-			_log.warning("Init Owner : " + _ownerId);
-		}
 		_desc = set.getString("desc");
 		_desc = set.getString("desc");
 		_location = set.getString("location");
 		_location = set.getString("location");
 		_functions = new FastMap<>();
 		_functions = new FastMap<>();
@@ -502,10 +493,7 @@ public abstract class ClanHall
 		{
 		{
 			return false;
 			return false;
 		}
 		}
-		if (Config.DEBUG)
-		{
-			_log.warning("Called ClanHall.updateFunctions(int type, int lvl, int lease, long rate, boolean addNew) Owner : " + getOwnerId());
-		}
+		
 		if (lease > 0)
 		if (lease > 0)
 		{
 		{
 			if (!player.destroyItemByItemId("Consume", PcInventory.ADENA_ID, lease, null, true))
 			if (!player.destroyItemByItemId("Consume", PcInventory.ADENA_ID, lease, null, true))
@@ -526,10 +514,6 @@ public abstract class ClanHall
 			else
 			else
 			{
 			{
 				int diffLease = lease - _functions.get(type).getLease();
 				int diffLease = lease - _functions.get(type).getLease();
-				if (Config.DEBUG)
-				{
-					_log.warning("Called ClanHall.updateFunctions diffLease : " + diffLease);
-				}
 				if (diffLease > 0)
 				if (diffLease > 0)
 				{
 				{
 					_functions.remove(type);
 					_functions.remove(type);

+ 0 - 16
L2J_Server_BETA/java/com/l2jserver/gameserver/model/entity/Fort.java

@@ -209,10 +209,6 @@ public class Fort
 						if (_cwh)
 						if (_cwh)
 						{
 						{
 							getOwnerClan().getWarehouse().destroyItemByItemId("CS_function_fee", PcInventory.ADENA_ID, fee, null, null);
 							getOwnerClan().getWarehouse().destroyItemByItemId("CS_function_fee", PcInventory.ADENA_ID, fee, null, null);
-							if (Config.DEBUG)
-							{
-								_log.warning("Deducted " + fee + " adena from " + getName() + " owner's cwh for function id : " + getType());
-							}
 						}
 						}
 						ThreadPoolManager.getInstance().scheduleGeneral(new FunctionTask(true), getRate());
 						ThreadPoolManager.getInstance().scheduleGeneral(new FunctionTask(true), getRate());
 					}
 					}
@@ -764,10 +760,6 @@ public class Fort
 		{
 		{
 			return false;
 			return false;
 		}
 		}
-		if (Config.DEBUG)
-		{
-			_log.warning("Called Fort.updateFunctions(int type, int lvl, int lease, long rate, boolean addNew) Owner : " + getOwnerClan());
-		}
 		if (lease > 0)
 		if (lease > 0)
 		{
 		{
 			if (!player.destroyItemByItemId("Consume", PcInventory.ADENA_ID, lease, null, true))
 			if (!player.destroyItemByItemId("Consume", PcInventory.ADENA_ID, lease, null, true))
@@ -788,10 +780,6 @@ public class Fort
 			else
 			else
 			{
 			{
 				int diffLease = lease - _function.get(type).getLease();
 				int diffLease = lease - _function.get(type).getLease();
-				if (Config.DEBUG)
-				{
-					_log.warning("Called Fort.updateFunctions diffLease : " + diffLease);
-				}
 				if (diffLease > 0)
 				if (diffLease > 0)
 				{
 				{
 					_function.remove(type);
 					_function.remove(type);
@@ -823,10 +811,6 @@ public class Fort
 				_doors.add(door);
 				_doors.add(door);
 			}
 			}
 		}
 		}
-		if (Config.DEBUG)
-		{
-			_log.info("Fort " + this + " loaded " + _doors.size() + " doors.");
-		}
 	}
 	}
 	
 	
 	private void loadFlagPoles()
 	private void loadFlagPoles()

+ 7 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/entity/Instance.java

@@ -76,6 +76,13 @@ public class Instance
 		_instanceStartTime = System.currentTimeMillis();
 		_instanceStartTime = System.currentTimeMillis();
 	}
 	}
 	
 	
+	public Instance(int id, String name)
+	{
+		_id = id;
+		_name = name;
+		_instanceStartTime = System.currentTimeMillis();
+	}
+	
 	/**
 	/**
 	 * @return the ID of this instance.
 	 * @return the ID of this instance.
 	 */
 	 */
@@ -523,10 +530,6 @@ public class Instance
 				}
 				}
 			}
 			}
 		}
 		}
-		if (Config.DEBUG)
-		{
-			_log.info(name + " Instance Template for Instance " + getId() + " loaded");
-		}
 	}
 	}
 	
 	
 	protected void doCheckTimeUp(int remaining)
 	protected void doCheckTimeUp(int remaining)

+ 0 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/model/entity/clanhall/AuctionableHall.java

@@ -19,7 +19,6 @@ import java.sql.PreparedStatement;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
-import com.l2jserver.Config;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.datatables.ClanTable;
 import com.l2jserver.gameserver.datatables.ClanTable;
@@ -154,8 +153,6 @@ public final class AuctionableHall extends ClanHall
 					else
 					else
 						_paidUntil = _time + _chRate;
 						_paidUntil = _time + _chRate;
 					ClanTable.getInstance().getClan(getOwnerId()).getWarehouse().destroyItemByItemId("CH_rental_fee", PcInventory.ADENA_ID, getLease(), null, null);
 					ClanTable.getInstance().getClan(getOwnerId()).getWarehouse().destroyItemByItemId("CH_rental_fee", PcInventory.ADENA_ID, getLease(), null, null);
-					if (Config.DEBUG)
-						_log.warning("deducted " + getLease() + " adena from " + getName() + " owner's cwh for ClanHall _paidUntil: " + _paidUntil);
 					ThreadPoolManager.getInstance().scheduleGeneral(new FeeTask(), _paidUntil - _time);
 					ThreadPoolManager.getInstance().scheduleGeneral(new FeeTask(), _paidUntil - _time);
 					_paid = true;
 					_paid = true;
 					updateDb();
 					updateDb();

+ 9 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/items/L2Item.java

@@ -17,6 +17,7 @@ package com.l2jserver.gameserver.model.items;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Arrays;
 import java.util.List;
 import java.util.List;
+import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
 import javolution.util.FastList;
 import javolution.util.FastList;
@@ -328,6 +329,14 @@ public abstract class L2Item
 		_common = (_itemId >= 11605 && _itemId <= 12361);
 		_common = (_itemId >= 11605 && _itemId <= 12361);
 		_heroItem = (_itemId >= 6611 && _itemId <= 6621) || (_itemId >= 9388 && _itemId <= 9390) || _itemId == 6842;
 		_heroItem = (_itemId >= 6611 && _itemId <= 6621) || (_itemId >= 9388 && _itemId <= 9390) || _itemId == 6842;
 		_pvpItem = (_itemId >= 10667 && _itemId <= 10835) || (_itemId >= 12852 && _itemId <= 12977) || (_itemId >= 14363 && _itemId <= 14525) || _itemId == 14528 || _itemId == 14529 || _itemId == 14558 || (_itemId >=15913 && _itemId <= 16024) || (_itemId >=16134 && _itemId <= 16147) || _itemId == 16149 || _itemId == 16151 || _itemId == 16153 || _itemId == 16155 || _itemId == 16157 || _itemId == 16159 || (_itemId >=16168 && _itemId <= 16176) || (_itemId >=16179 && _itemId <= 16220);
 		_pvpItem = (_itemId >= 10667 && _itemId <= 10835) || (_itemId >= 12852 && _itemId <= 12977) || (_itemId >= 14363 && _itemId <= 14525) || _itemId == 14528 || _itemId == 14529 || _itemId == 14558 || (_itemId >=15913 && _itemId <= 16024) || (_itemId >=16134 && _itemId <= 16147) || _itemId == 16149 || _itemId == 16151 || _itemId == 16153 || _itemId == 16155 || _itemId == 16157 || _itemId == 16159 || (_itemId >=16168 && _itemId <= 16176) || (_itemId >=16179 && _itemId <= 16220);
+		
+		if (this instanceof L2EtcItem)
+		{
+			if (_elementable)
+			{
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": " + getItemId() + " " + getName() + " with element enabled");
+			}
+		}
 	}
 	}
 	
 	
 	/**
 	/**

+ 7 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/network/clientpackets/Action.java

@@ -25,7 +25,6 @@ import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
  * This class ...
  * This class ...
  * @version $Revision: 1.7.4.4 $ $Date: 2005/03/27 18:46:19 $
  * @version $Revision: 1.7.4.4 $ $Date: 2005/03/27 18:46:19 $
  */
  */
-@SuppressWarnings("unused")
 public final class Action extends L2GameClientPacket
 public final class Action extends L2GameClientPacket
 {
 {
 	private static final String __C__1F_ACTION = "[C] 1F Action";
 	private static final String __C__1F_ACTION = "[C] 1F Action";
@@ -51,7 +50,7 @@ public final class Action extends L2GameClientPacket
 	{
 	{
 		if (Config.DEBUG)
 		if (Config.DEBUG)
 		{
 		{
-			_log.fine(getType() + ": Action:" + _actionId + " ObjId: " + _objectId);
+			_log.fine(getType() + ": Action: " + _actionId + " ObjId: " + _objectId + " orignX: " + _originX + " orignY: " + _originY + " orignZ: " + _originZ);
 		}
 		}
 		
 		
 		// Get the current L2PcInstance of the player
 		// Get the current L2PcInstance of the player
@@ -147,6 +146,12 @@ public final class Action extends L2GameClientPacket
 		}
 		}
 	}
 	}
 	
 	
+	@Override
+	protected boolean triggersOnActionRequest()
+	{
+		return false;
+	}
+	
 	@Override
 	@Override
 	public String getType()
 	public String getType()
 	{
 	{

+ 2 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/network/clientpackets/RequestProcureCropList.java

@@ -19,10 +19,10 @@ import static com.l2jserver.gameserver.model.itemcontainer.PcInventory.MAX_ADENA
 
 
 import com.l2jserver.Config;
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.datatables.ItemTable;
 import com.l2jserver.gameserver.datatables.ItemTable;
+import com.l2jserver.gameserver.datatables.ManorData;
 import com.l2jserver.gameserver.instancemanager.CastleManager;
 import com.l2jserver.gameserver.instancemanager.CastleManager;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.CropProcure;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.CropProcure;
-import com.l2jserver.gameserver.model.L2Manor;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.actor.instance.L2ManorManagerInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2ManorManagerInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
@@ -251,7 +251,7 @@ public class RequestProcureCropList extends L2GameClientPacket
 			if ((MAX_ADENA / _count) < _crop.getPrice())
 			if ((MAX_ADENA / _count) < _crop.getPrice())
 				return false;
 				return false;
 			
 			
-			_reward = L2Manor.getInstance().getRewardItem(_itemId, _crop.getReward());
+			_reward = ManorData.getInstance().getRewardItem(_itemId, _crop.getReward());
 			return true;
 			return true;
 		}
 		}
 		
 		

+ 4 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowCropInfo.java

@@ -16,8 +16,8 @@ package com.l2jserver.gameserver.network.serverpackets;
 
 
 import java.util.List;
 import java.util.List;
 
 
+import com.l2jserver.gameserver.datatables.ManorData;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.CropProcure;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.CropProcure;
-import com.l2jserver.gameserver.model.L2Manor;
 
 
 /**
 /**
  * @author l3x
  * @author l3x
@@ -54,11 +54,11 @@ public class ExShowCropInfo extends L2GameServerPacket
 			writeQ(crop.getStartAmount()); // Buy
 			writeQ(crop.getStartAmount()); // Buy
 			writeQ(crop.getPrice()); // Buy price
 			writeQ(crop.getPrice()); // Buy price
 			writeC(crop.getReward()); // Reward
 			writeC(crop.getReward()); // Reward
-			writeD(L2Manor.getInstance().getSeedLevelByCrop(crop.getId())); // Seed Level
+			writeD(ManorData.getInstance().getSeedLevelByCrop(crop.getId())); // Seed Level
 			writeC(0x01); // rewrad 1 Type
 			writeC(0x01); // rewrad 1 Type
-			writeD(L2Manor.getInstance().getRewardItem(crop.getId(), 1)); // Rewrad 1 Type Item Id
+			writeD(ManorData.getInstance().getRewardItem(crop.getId(), 1)); // Rewrad 1 Type Item Id
 			writeC(0x01); // rewrad 2 Type
 			writeC(0x01); // rewrad 2 Type
-			writeD(L2Manor.getInstance().getRewardItem(crop.getId(), 2)); // Rewrad 2 Type Item Id
+			writeD(ManorData.getInstance().getRewardItem(crop.getId(), 2)); // Rewrad 2 Type Item Id
 		}
 		}
 	}
 	}
 }
 }

+ 9 - 9
L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowCropSetting.java

@@ -14,12 +14,12 @@
  */
  */
 package com.l2jserver.gameserver.network.serverpackets;
 package com.l2jserver.gameserver.network.serverpackets;
 
 
-import javolution.util.FastList;
+import java.util.List;
 
 
+import com.l2jserver.gameserver.datatables.ManorData;
 import com.l2jserver.gameserver.instancemanager.CastleManager;
 import com.l2jserver.gameserver.instancemanager.CastleManager;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.CropProcure;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.CropProcure;
-import com.l2jserver.gameserver.model.L2Manor;
 import com.l2jserver.gameserver.model.entity.Castle;
 import com.l2jserver.gameserver.model.entity.Castle;
 
 
 /**
 /**
@@ -35,20 +35,20 @@ public class ExShowCropSetting extends L2GameServerPacket
 	{
 	{
 		_manorId = manorId;
 		_manorId = manorId;
 		Castle c = CastleManager.getInstance().getCastleById(_manorId);
 		Castle c = CastleManager.getInstance().getCastleById(_manorId);
-		FastList<Integer> crops = L2Manor.getInstance().getCropsForCastle(_manorId);
+		List<Integer> crops = ManorData.getInstance().getCropsForCastle(_manorId);
 		_count = crops.size();
 		_count = crops.size();
 		_cropData = new long[_count * 14];
 		_cropData = new long[_count * 14];
 		int i = 0;
 		int i = 0;
 		for (int cr : crops)
 		for (int cr : crops)
 		{
 		{
 			_cropData[i * 14 + 0] = cr;
 			_cropData[i * 14 + 0] = cr;
-			_cropData[i * 14 + 1] = L2Manor.getInstance().getSeedLevelByCrop(cr);
-			_cropData[i * 14 + 2] = L2Manor.getInstance().getRewardItem(cr, 1);
-			_cropData[i * 14 + 3] = L2Manor.getInstance().getRewardItem(cr, 2);
-			_cropData[i * 14 + 4] = L2Manor.getInstance().getCropPuchaseLimit(cr);
+			_cropData[i * 14 + 1] = ManorData.getInstance().getSeedLevelByCrop(cr);
+			_cropData[i * 14 + 2] = ManorData.getInstance().getRewardItem(cr, 1);
+			_cropData[i * 14 + 3] = ManorData.getInstance().getRewardItem(cr, 2);
+			_cropData[i * 14 + 4] = ManorData.getInstance().getCropPuchaseLimit(cr);
 			_cropData[i * 14 + 5] = 0; // Looks like not used
 			_cropData[i * 14 + 5] = 0; // Looks like not used
-			_cropData[i * 14 + 6] = L2Manor.getInstance().getCropBasicPrice(cr) * 60 / 100;
-			_cropData[i * 14 + 7] = L2Manor.getInstance().getCropBasicPrice(cr) * 10;
+			_cropData[i * 14 + 6] = ManorData.getInstance().getCropBasicPrice(cr) * 60 / 100;
+			_cropData[i * 14 + 7] = ManorData.getInstance().getCropBasicPrice(cr) * 10;
 			CropProcure cropPr = c.getCrop(cr, CastleManorManager.PERIOD_CURRENT);
 			CropProcure cropPr = c.getCrop(cr, CastleManorManager.PERIOD_CURRENT);
 			if (cropPr != null)
 			if (cropPr != null)
 			{
 			{

+ 9 - 9
L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowManorDefaultInfo.java

@@ -14,20 +14,20 @@
  */
  */
 package com.l2jserver.gameserver.network.serverpackets;
 package com.l2jserver.gameserver.network.serverpackets;
 
 
-import javolution.util.FastList;
+import java.util.List;
 
 
-import com.l2jserver.gameserver.model.L2Manor;
+import com.l2jserver.gameserver.datatables.ManorData;
 
 
 /**
 /**
  * @author l3x
  * @author l3x
  */
  */
 public class ExShowManorDefaultInfo extends L2GameServerPacket
 public class ExShowManorDefaultInfo extends L2GameServerPacket
 {
 {
-	private FastList<Integer> _crops = null;
+	private List<Integer> _crops = null;
 	
 	
 	public ExShowManorDefaultInfo()
 	public ExShowManorDefaultInfo()
 	{
 	{
-		_crops = L2Manor.getInstance().getAllCrops();
+		_crops = ManorData.getInstance().getAllCrops();
 	}
 	}
 	
 	
 	@Override
 	@Override
@@ -40,17 +40,17 @@ public class ExShowManorDefaultInfo extends L2GameServerPacket
 		for (int cropId : _crops)
 		for (int cropId : _crops)
 		{
 		{
 			writeD(cropId); // crop Id
 			writeD(cropId); // crop Id
-			writeD(L2Manor.getInstance().getSeedLevelByCrop(cropId)); // level
-			writeD(L2Manor.getInstance().getSeedBasicPriceByCrop(cropId)); // seed
+			writeD(ManorData.getInstance().getSeedLevelByCrop(cropId)); // level
+			writeD(ManorData.getInstance().getSeedBasicPriceByCrop(cropId)); // seed
 			// price
 			// price
-			writeD(L2Manor.getInstance().getCropBasicPrice(cropId)); // crop
+			writeD(ManorData.getInstance().getCropBasicPrice(cropId)); // crop
 			// price
 			// price
 			writeC(1); // rewrad 1 Type
 			writeC(1); // rewrad 1 Type
-			writeD(L2Manor.getInstance().getRewardItem(cropId, 1)); // Rewrad 1
+			writeD(ManorData.getInstance().getRewardItem(cropId, 1)); // Rewrad 1
 			// Type Item
 			// Type Item
 			// Id
 			// Id
 			writeC(1); // rewrad 2 Type
 			writeC(1); // rewrad 2 Type
-			writeD(L2Manor.getInstance().getRewardItem(cropId, 2)); // Rewrad 2
+			writeD(ManorData.getInstance().getRewardItem(cropId, 2)); // Rewrad 2
 			// Type Item
 			// Type Item
 			// Id
 			// Id
 		}
 		}

+ 4 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowSeedInfo.java

@@ -16,8 +16,8 @@ package com.l2jserver.gameserver.network.serverpackets;
 
 
 import java.util.List;
 import java.util.List;
 
 
+import com.l2jserver.gameserver.datatables.ManorData;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.SeedProduction;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.SeedProduction;
-import com.l2jserver.gameserver.model.L2Manor;
 
 
 /**
 /**
  * @author l3x
  * @author l3x
@@ -53,11 +53,11 @@ public class ExShowSeedInfo extends L2GameServerPacket
 			writeQ(seed.getCanProduce()); // Left to buy
 			writeQ(seed.getCanProduce()); // Left to buy
 			writeQ(seed.getStartProduce()); // Started amount
 			writeQ(seed.getStartProduce()); // Started amount
 			writeQ(seed.getPrice()); // Sell Price
 			writeQ(seed.getPrice()); // Sell Price
-			writeD(L2Manor.getInstance().getSeedLevel(seed.getId())); // Seed Level
+			writeD(ManorData.getInstance().getSeedLevel(seed.getId())); // Seed Level
 			writeC(0x01); // reward 1 Type
 			writeC(0x01); // reward 1 Type
-			writeD(L2Manor.getInstance().getRewardItemBySeed(seed.getId(), 1)); // Reward 1 Type Item Id
+			writeD(ManorData.getInstance().getRewardItemBySeed(seed.getId(), 1)); // Reward 1 Type Item Id
 			writeC(0x01); // reward 2 Type
 			writeC(0x01); // reward 2 Type
-			writeD(L2Manor.getInstance().getRewardItemBySeed(seed.getId(), 2)); // Reward 2 Type Item Id
+			writeD(ManorData.getInstance().getRewardItemBySeed(seed.getId(), 2)); // Reward 2 Type Item Id
 		}
 		}
 	}
 	}
 }
 }

+ 10 - 10
L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowSeedSetting.java

@@ -14,12 +14,12 @@
  */
  */
 package com.l2jserver.gameserver.network.serverpackets;
 package com.l2jserver.gameserver.network.serverpackets;
 
 
-import javolution.util.FastList;
+import java.util.List;
 
 
+import com.l2jserver.gameserver.datatables.ManorData;
 import com.l2jserver.gameserver.instancemanager.CastleManager;
 import com.l2jserver.gameserver.instancemanager.CastleManager;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.SeedProduction;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.SeedProduction;
-import com.l2jserver.gameserver.model.L2Manor;
 import com.l2jserver.gameserver.model.entity.Castle;
 import com.l2jserver.gameserver.model.entity.Castle;
 
 
 /**
 /**
@@ -35,20 +35,20 @@ public class ExShowSeedSetting extends L2GameServerPacket
 	{
 	{
 		_manorId = manorId;
 		_manorId = manorId;
 		Castle c = CastleManager.getInstance().getCastleById(_manorId);
 		Castle c = CastleManager.getInstance().getCastleById(_manorId);
-		FastList<Integer> seeds = L2Manor.getInstance().getSeedsForCastle(_manorId);
+		List<Integer> seeds = ManorData.getInstance().getSeedsForCastle(_manorId);
 		_count = seeds.size();
 		_count = seeds.size();
 		_seedData = new long[_count * 12];
 		_seedData = new long[_count * 12];
 		int i = 0;
 		int i = 0;
 		for (int s : seeds)
 		for (int s : seeds)
 		{
 		{
 			_seedData[i * 12 + 0] = s;
 			_seedData[i * 12 + 0] = s;
-			_seedData[i * 12 + 1] = L2Manor.getInstance().getSeedLevel(s);
-			_seedData[i * 12 + 2] = L2Manor.getInstance().getRewardItemBySeed(s, 1);
-			_seedData[i * 12 + 3] = L2Manor.getInstance().getRewardItemBySeed(s, 2);
-			_seedData[i * 12 + 4] = L2Manor.getInstance().getSeedSaleLimit(s);
-			_seedData[i * 12 + 5] = L2Manor.getInstance().getSeedBuyPrice(s);
-			_seedData[i * 12 + 6] = L2Manor.getInstance().getSeedBasicPrice(s) * 60 / 100;
-			_seedData[i * 12 + 7] = L2Manor.getInstance().getSeedBasicPrice(s) * 10;
+			_seedData[i * 12 + 1] = ManorData.getInstance().getSeedLevel(s);
+			_seedData[i * 12 + 2] = ManorData.getInstance().getRewardItemBySeed(s, 1);
+			_seedData[i * 12 + 3] = ManorData.getInstance().getRewardItemBySeed(s, 2);
+			_seedData[i * 12 + 4] = ManorData.getInstance().getSeedSaleLimit(s);
+			_seedData[i * 12 + 5] = ManorData.getInstance().getSeedBuyPrice(s);
+			_seedData[i * 12 + 6] = ManorData.getInstance().getSeedBasicPrice(s) * 60 / 100;
+			_seedData[i * 12 + 7] = ManorData.getInstance().getSeedBasicPrice(s) * 10;
 			SeedProduction seedPr = c.getSeed(s, CastleManorManager.PERIOD_CURRENT);
 			SeedProduction seedPr = c.getSeed(s, CastleManorManager.PERIOD_CURRENT);
 			if (seedPr != null)
 			if (seedPr != null)
 			{
 			{

+ 5 - 6
L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/ExShowSellCropList.java

@@ -16,11 +16,10 @@ package com.l2jserver.gameserver.network.serverpackets;
 
 
 import java.util.List;
 import java.util.List;
 
 
-import javolution.util.FastList;
 import javolution.util.FastMap;
 import javolution.util.FastMap;
 
 
+import com.l2jserver.gameserver.datatables.ManorData;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.CropProcure;
 import com.l2jserver.gameserver.instancemanager.CastleManorManager.CropProcure;
-import com.l2jserver.gameserver.model.L2Manor;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
 import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
 
 
@@ -40,7 +39,7 @@ public class ExShowSellCropList extends L2GameServerPacket
 		_castleCrops = new FastMap<>();
 		_castleCrops = new FastMap<>();
 		_cropsItems = new FastMap<>();
 		_cropsItems = new FastMap<>();
 		
 		
-		FastList<Integer> allCrops = L2Manor.getInstance().getAllCrops();
+		List<Integer> allCrops = ManorData.getInstance().getAllCrops();
 		for (int cropId : allCrops)
 		for (int cropId : allCrops)
 		{
 		{
 			L2ItemInstance item = player.getInventory().getItemByItemId(cropId);
 			L2ItemInstance item = player.getInventory().getItemByItemId(cropId);
@@ -72,11 +71,11 @@ public class ExShowSellCropList extends L2GameServerPacket
 		{
 		{
 			writeD(item.getObjectId()); // Object id
 			writeD(item.getObjectId()); // Object id
 			writeD(item.getDisplayId()); // crop id
 			writeD(item.getDisplayId()); // crop id
-			writeD(L2Manor.getInstance().getSeedLevelByCrop(item.getItemId())); // seed level
+			writeD(ManorData.getInstance().getSeedLevelByCrop(item.getItemId())); // seed level
 			writeC(0x01);
 			writeC(0x01);
-			writeD(L2Manor.getInstance().getRewardItem(item.getItemId(), 1)); // reward 1 id
+			writeD(ManorData.getInstance().getRewardItem(item.getItemId(), 1)); // reward 1 id
 			writeC(0x01);
 			writeC(0x01);
-			writeD(L2Manor.getInstance().getRewardItem(item.getItemId(), 2)); // reward 2 id
+			writeD(ManorData.getInstance().getRewardItem(item.getItemId(), 2)); // reward 2 id
 			
 			
 			if (_castleCrops.containsKey(item.getItemId()))
 			if (_castleCrops.containsKey(item.getItemId()))
 			{
 			{

+ 0 - 5
L2J_Server_BETA/java/com/l2jserver/gameserver/taskmanager/Task.java

@@ -17,7 +17,6 @@ package com.l2jserver.gameserver.taskmanager;
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.ScheduledFuture;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
-import com.l2jserver.Config;
 import com.l2jserver.gameserver.taskmanager.TaskManager.ExecutedTask;
 import com.l2jserver.gameserver.taskmanager.TaskManager.ExecutedTask;
 
 
 /**
 /**
@@ -29,10 +28,6 @@ public abstract class Task
 	
 	
 	public void initializate()
 	public void initializate()
 	{
 	{
-		if (Config.DEBUG)
-		{
-			_log.info("Task" + getName() + " inializate");
-		}
 	}
 	}
 	
 	
 	public ScheduledFuture<?> launchSpecial(ExecutedTask instance)
 	public ScheduledFuture<?> launchSpecial(ExecutedTask instance)

+ 25 - 23
L2J_Server_BETA/java/com/l2jserver/gameserver/taskmanager/TaskManager.java

@@ -25,13 +25,12 @@ import java.sql.SQLException;
 import java.text.DateFormat;
 import java.text.DateFormat;
 import java.util.Calendar;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 import java.util.concurrent.ScheduledFuture;
 import java.util.concurrent.ScheduledFuture;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
-import javolution.util.FastList;
-import javolution.util.FastMap;
-
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.L2DatabaseFactory;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.taskmanager.tasks.TaskBirthday;
 import com.l2jserver.gameserver.taskmanager.tasks.TaskBirthday;
@@ -46,6 +45,8 @@ import com.l2jserver.gameserver.taskmanager.tasks.TaskRestart;
 import com.l2jserver.gameserver.taskmanager.tasks.TaskScript;
 import com.l2jserver.gameserver.taskmanager.tasks.TaskScript;
 import com.l2jserver.gameserver.taskmanager.tasks.TaskSevenSignsUpdate;
 import com.l2jserver.gameserver.taskmanager.tasks.TaskSevenSignsUpdate;
 import com.l2jserver.gameserver.taskmanager.tasks.TaskShutdown;
 import com.l2jserver.gameserver.taskmanager.tasks.TaskShutdown;
+import com.l2jserver.util.L2FastList;
+import com.l2jserver.util.L2FastMap;
 
 
 /**
 /**
  * @author Layane
  * @author Layane
@@ -54,8 +55,8 @@ public final class TaskManager
 {
 {
 	protected static final Logger _log = Logger.getLogger(TaskManager.class.getName());
 	protected static final Logger _log = Logger.getLogger(TaskManager.class.getName());
 	
 	
-	private final FastMap<Integer, Task> _tasks = new FastMap<>();
-	protected final FastList<ExecutedTask> _currentTasks = new FastList<>();
+	private final Map<Integer, Task> _tasks = new L2FastMap<>(true);
+	protected final List<ExecutedTask> _currentTasks = new L2FastList<>(true);
 	
 	
 	protected static final String[] SQL_STATEMENTS =
 	protected static final String[] SQL_STATEMENTS =
 	{
 	{
@@ -65,6 +66,13 @@ public final class TaskManager
 		"INSERT INTO global_tasks (task,type,last_activation,param1,param2,param3) VALUES(?,?,?,?,?,?)"
 		"INSERT INTO global_tasks (task,type,last_activation,param1,param2,param3) VALUES(?,?,?,?,?,?)"
 	};
 	};
 	
 	
+	protected TaskManager()
+	{
+		initializate();
+		startAllTasks();
+		_log.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _tasks.size() + " Tasks");
+	}
+	
 	public class ExecutedTask implements Runnable
 	public class ExecutedTask implements Runnable
 	{
 	{
 		int id;
 		int id;
@@ -102,7 +110,7 @@ public final class TaskManager
 			}
 			}
 			catch (SQLException e)
 			catch (SQLException e)
 			{
 			{
-				_log.log(Level.WARNING, "Cannot updated the Global Task " + id + ": " + e.getMessage(), e);
+				_log.log(Level.WARNING, getClass().getSimpleName() + ": Cannot updated the Global Task " + id + ": " + e.getMessage(), e);
 			}
 			}
 			
 			
 			if ((type == TYPE_SHEDULED) || (type == TYPE_TIME))
 			if ((type == TYPE_SHEDULED) || (type == TYPE_TIME))
@@ -170,17 +178,6 @@ public final class TaskManager
 		
 		
 	}
 	}
 	
 	
-	public static TaskManager getInstance()
-	{
-		return SingletonHolder._instance;
-	}
-	
-	protected TaskManager()
-	{
-		initializate();
-		startAllTasks();
-	}
-	
 	private void initializate()
 	private void initializate()
 	{
 	{
 		registerTask(new TaskBirthday());
 		registerTask(new TaskBirthday());
@@ -234,7 +231,7 @@ public final class TaskManager
 		}
 		}
 		catch (Exception e)
 		catch (Exception e)
 		{
 		{
-			_log.log(Level.SEVERE, "Error while loading Global Task table: " + e.getMessage(), e);
+			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error while loading Global Task table: " + e.getMessage(), e);
 		}
 		}
 	}
 	}
 	
 	
@@ -267,7 +264,7 @@ public final class TaskManager
 						task.scheduled = scheduler.scheduleGeneral(task, diff);
 						task.scheduled = scheduler.scheduleGeneral(task, diff);
 						return true;
 						return true;
 					}
 					}
-					_log.info("Task " + task.getId() + " is obsoleted.");
+					_log.info(getClass().getSimpleName() + ": Task " + task.getId() + " is obsoleted.");
 				}
 				}
 				catch (Exception e)
 				catch (Exception e)
 				{
 				{
@@ -287,7 +284,7 @@ public final class TaskManager
 				
 				
 				if (hour.length != 3)
 				if (hour.length != 3)
 				{
 				{
-					_log.warning("Task " + task.getId() + " has incorrect parameters");
+					_log.warning(getClass().getSimpleName() + ": Task " + task.getId() + " has incorrect parameters");
 					return false;
 					return false;
 				}
 				}
 				
 				
@@ -303,7 +300,7 @@ public final class TaskManager
 				}
 				}
 				catch (Exception e)
 				catch (Exception e)
 				{
 				{
-					_log.log(Level.WARNING, "Bad parameter on task " + task.getId() + ": " + e.getMessage(), e);
+					_log.log(Level.WARNING, getClass().getSimpleName() + ": Bad parameter on task " + task.getId() + ": " + e.getMessage(), e);
 					return false;
 					return false;
 				}
 				}
 				
 				
@@ -352,7 +349,7 @@ public final class TaskManager
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Cannot add the unique task: " + e.getMessage(), e);
+			_log.log(Level.WARNING, TaskManager.class.getSimpleName() + ": Cannot add the unique task: " + e.getMessage(), e);
 		}
 		}
 		return false;
 		return false;
 	}
 	}
@@ -378,11 +375,16 @@ public final class TaskManager
 		}
 		}
 		catch (SQLException e)
 		catch (SQLException e)
 		{
 		{
-			_log.log(Level.WARNING, "Cannot add the task:  " + e.getMessage(), e);
+			_log.log(Level.WARNING, TaskManager.class.getSimpleName() + ": Cannot add the task:  " + e.getMessage(), e);
 		}
 		}
 		return false;
 		return false;
 	}
 	}
 	
 	
+	public static TaskManager getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
 	private static class SingletonHolder
 	private static class SingletonHolder
 	{
 	{
 		protected static final TaskManager _instance = new TaskManager();
 		protected static final TaskManager _instance = new TaskManager();

+ 24 - 0
L2J_Server_BETA/java/com/l2jserver/util/CloseShieldedInputStream.java

@@ -34,12 +34,18 @@ public class CloseShieldedInputStream extends InputStream
 		_in = in;
 		_in = in;
 	}
 	}
 	
 	
+	/**
+	 * {@inheritDoc}
+	 */
 	@Override
 	@Override
 	public void close()
 	public void close()
 	{
 	{
 		_in = null;
 		_in = null;
 	}
 	}
 	
 	
+	/**
+	 * {@inheritDoc}
+	 */
 	@Override
 	@Override
 	public int read() throws IOException
 	public int read() throws IOException
 	{
 	{
@@ -50,6 +56,9 @@ public class CloseShieldedInputStream extends InputStream
 		return _in.read();
 		return _in.read();
 	}
 	}
 	
 	
+	/**
+	 * {@inheritDoc}
+	 */
 	@Override
 	@Override
 	public int read(byte b[]) throws IOException
 	public int read(byte b[]) throws IOException
 	{
 	{
@@ -60,6 +69,9 @@ public class CloseShieldedInputStream extends InputStream
 		return _in.read(b);
 		return _in.read(b);
 	}
 	}
 	
 	
+	/**
+	 * {@inheritDoc}
+	 */
 	@Override
 	@Override
 	public int read(byte b[], int off, int len) throws IOException
 	public int read(byte b[], int off, int len) throws IOException
 	{
 	{
@@ -70,6 +82,9 @@ public class CloseShieldedInputStream extends InputStream
 		return _in.read(b, off, len);
 		return _in.read(b, off, len);
 	}
 	}
 	
 	
+	/**
+	 * {@inheritDoc}
+	 */
 	@Override
 	@Override
 	public long skip(long n) throws IOException
 	public long skip(long n) throws IOException
 	{
 	{
@@ -80,6 +95,9 @@ public class CloseShieldedInputStream extends InputStream
 		return _in.skip(n);
 		return _in.skip(n);
 	}
 	}
 	
 	
+	/**
+	 * {@inheritDoc}
+	 */
 	@Override
 	@Override
 	public synchronized void mark(int readlimit)
 	public synchronized void mark(int readlimit)
 	{
 	{
@@ -89,6 +107,9 @@ public class CloseShieldedInputStream extends InputStream
 		}
 		}
 	}
 	}
 	
 	
+	/**
+	 * {@inheritDoc}
+	 */
 	@Override
 	@Override
 	public boolean markSupported()
 	public boolean markSupported()
 	{
 	{
@@ -99,6 +120,9 @@ public class CloseShieldedInputStream extends InputStream
 		return _in.markSupported();
 		return _in.markSupported();
 	}
 	}
 	
 	
+	/**
+	 * {@inheritDoc}
+	 */
 	@Override
 	@Override
 	public synchronized void reset() throws IOException
 	public synchronized void reset() throws IOException
 	{
 	{

部分文件因为文件数量过多而无法显示