فهرست منبع

Using SLF4J in more places

Removed hardcoded hexid.txt
Adding L2J Geo Driver library.
Zoey76 6 سال پیش
والد
کامیت
9aeb371cf5
30فایلهای تغییر یافته به همراه351 افزوده شده و 475 حذف شده
  1. 2 1
      .gitignore
  2. BIN
      libs/L2J_GeoDriver.jar
  3. 2 0
      src/main/java/com/l2jserver/gameserver/config/Config.java
  4. 20 22
      src/main/java/com/l2jserver/gameserver/data/sql/impl/ClanTable.java
  5. 23 94
      src/main/java/com/l2jserver/gameserver/data/sql/impl/CrestTable.java
  6. 9 8
      src/main/java/com/l2jserver/gameserver/data/sql/impl/NpcBufferTable.java
  7. 25 26
      src/main/java/com/l2jserver/gameserver/data/sql/impl/OfflineTradersTable.java
  8. 10 10
      src/main/java/com/l2jserver/gameserver/data/sql/impl/PetNameTable.java
  9. 9 8
      src/main/java/com/l2jserver/gameserver/data/sql/impl/SummonSkillsTable.java
  10. 12 15
      src/main/java/com/l2jserver/gameserver/data/sql/impl/TeleportLocationTable.java
  11. 10 15
      src/main/java/com/l2jserver/gameserver/data/sql/impl/TerritoryTable.java
  12. 10 5
      src/main/java/com/l2jserver/gameserver/data/xml/impl/CategoryData.java
  13. 10 9
      src/main/java/com/l2jserver/gameserver/data/xml/impl/EnchantItemData.java
  14. 6 2
      src/main/java/com/l2jserver/gameserver/data/xml/impl/EnchantItemGroupsData.java
  15. 5 14
      src/main/java/com/l2jserver/gameserver/data/xml/impl/EnchantItemOptionsData.java
  16. 9 5
      src/main/java/com/l2jserver/gameserver/data/xml/impl/SecondaryAuthData.java
  17. 15 14
      src/main/java/com/l2jserver/gameserver/datatables/ItemTable.java
  18. 7 6
      src/main/java/com/l2jserver/gameserver/datatables/MerchantPriceConfigTable.java
  19. 7 5
      src/main/java/com/l2jserver/gameserver/datatables/SkillData.java
  20. 12 7
      src/main/java/com/l2jserver/gameserver/engines/DocumentEngine.java
  21. 1 1
      src/main/java/com/l2jserver/gameserver/handler/EffectHandler.java
  22. 18 17
      src/main/java/com/l2jserver/gameserver/instancemanager/GrandBossManager.java
  23. 14 15
      src/main/java/com/l2jserver/gameserver/instancemanager/InstanceManager.java
  24. 17 61
      src/main/java/com/l2jserver/gameserver/instancemanager/MapRegionManager.java
  25. 11 10
      src/main/java/com/l2jserver/gameserver/instancemanager/RaidBossPointsManager.java
  26. 79 97
      src/main/java/com/l2jserver/gameserver/model/entity/Siege.java
  27. 1 1
      src/main/java/com/l2jserver/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java
  28. 1 0
      src/main/java/com/l2jserver/gameserver/network/clientpackets/CharacterSelect.java
  29. 6 3
      src/main/java/com/l2jserver/gameserver/scripting/ScriptEngineManager.java
  30. 0 4
      src/main/resources/config/hexid.txt

+ 2 - 1
.gitignore

@@ -1,5 +1,6 @@
 /.project
 /.classpath
 /.settings/
+/.idea/
 /target/
-/logs/
+logs/

BIN
libs/L2J_GeoDriver.jar


+ 2 - 0
src/main/java/com/l2jserver/gameserver/config/Config.java

@@ -3589,6 +3589,8 @@ public final class Config {
 	
 	private static class IPConfigData implements IXmlReader {
 		
+		private static final Logger LOG = LoggerFactory.getLogger(IPConfigData.class);
+		
 		private static final List<String> _subnets = new ArrayList<>(5);
 		
 		private static final List<String> _hosts = new ArrayList<>(5);

+ 20 - 22
src/main/java/com/l2jserver/gameserver/data/sql/impl/ClanTable.java

@@ -23,8 +23,9 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.gameserver.config.Config;
 import com.l2jserver.commons.database.ConnectionFactory;
@@ -63,7 +64,9 @@ import com.l2jserver.util.EnumIntBitmask;
  * This class loads the clan related data.
  */
 public class ClanTable {
-	private static final Logger _log = Logger.getLogger(ClanTable.class.getName());
+	
+	private static final Logger LOG = LoggerFactory.getLogger(ClanTable.class);
+	
 	public static final int CLAN_NAME_MAX_LENGHT = 16;
 	
 	private final Map<Integer, L2Clan> _clans = new ConcurrentHashMap<>();
@@ -89,10 +92,10 @@ public class ClanTable {
 				}
 				clanCount++;
 			}
-		} catch (Exception e) {
-			_log.log(Level.SEVERE, "Error restoring ClanTable.", e);
+		} catch (Exception ex) {
+			LOG.error("There has been an error restoring clans from database!", ex);
 		}
-		_log.info(getClass().getSimpleName() + ": Restored " + clanCount + " clans from the database.");
+		LOG.info("Restored {} clans from the database.", clanCount);
 		allianceCheck();
 		restorewars();
 	}
@@ -113,10 +116,6 @@ public class ClanTable {
 		return _clans.size();
 	}
 	
-	/**
-	 * @param clanId
-	 * @return
-	 */
 	public L2Clan getClan(int clanId) {
 		return _clans.get(clanId);
 	}
@@ -137,7 +136,7 @@ public class ClanTable {
 		}
 		
 		if (Config.DEBUG) {
-			_log.info(getClass().getSimpleName() + ": " + player.getObjectId() + "(" + player.getName() + ") requested a clan creation.");
+			LOG.info("{} requested a clan creation.", player);
 		}
 		
 		if (10 > player.getLevel()) {
@@ -162,7 +161,6 @@ public class ClanTable {
 		}
 		
 		if (null != getClanByName(clanName)) {
-			// clan name is already taken
 			SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_ALREADY_EXISTS);
 			sm.addString(clanName);
 			player.sendPacket(sm);
@@ -295,8 +293,8 @@ public class ClanTable {
 					hall.free();
 				}
 			}
-		} catch (Exception e) {
-			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error removing clan from DB.", e);
+		} catch (Exception ex) {
+			LOG.error("There has been an error deleting a clan from database!", ex);
 		}
 		
 		// Notify to scripts
@@ -340,8 +338,8 @@ public class ClanTable {
 			ps.setInt(3, 0);
 			ps.setInt(4, 0);
 			ps.execute();
-		} catch (Exception e) {
-			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error storing clan wars data.", e);
+		} catch (Exception ex) {
+			LOG.error("There has been an error saving clan wars data!", ex);
 		}
 		
 		// SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_BEGUN);
@@ -374,8 +372,8 @@ public class ClanTable {
 			ps.setInt(1, clanId1);
 			ps.setInt(2, clanId2);
 			ps.execute();
-		} catch (Exception e) {
-			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error removing clan wars data.", e);
+		} catch (Exception ex) {
+			LOG.error("There has been an error removing clan wars data!", ex);
 		}
 		
 		// SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_ENDED);
@@ -413,11 +411,11 @@ public class ClanTable {
 					clan1.setEnemyClan(rset.getInt("clan2"));
 					clan2.setAttackerClan(rset.getInt("clan1"));
 				} else {
-					_log.log(Level.WARNING, getClass().getSimpleName() + ": restorewars one of clans is null clan1:" + clan1 + " clan2:" + clan2);
+					LOG.warn("While restoring clan wars on of the clans [{}, {}] is null!", clan1, clan2);
 				}
 			}
-		} catch (Exception e) {
-			_log.log(Level.SEVERE, getClass().getSimpleName() + ": Error restoring clan wars data.", e);
+		} catch (Exception ex) {
+			LOG.error("There has been an error restoring clan wars data!", ex);
 		}
 	}
 	
@@ -433,7 +431,7 @@ public class ClanTable {
 					clan.setAllyName(null);
 					clan.changeAllyCrest(0, true);
 					clan.updateClanInDB();
-					_log.info(getClass().getSimpleName() + ": Removed alliance from clan: " + clan);
+					LOG.info("Removed alliance from clan {}.", clan);
 				}
 			}
 		}

+ 23 - 94
src/main/java/com/l2jserver/gameserver/data/sql/impl/CrestTable.java

@@ -18,23 +18,22 @@
  */
 package com.l2jserver.gameserver.data.sql.impl;
 
-import java.io.File;
-import java.nio.file.Files;
-import java.sql.ResultSet;
+import static java.sql.ResultSet.CONCUR_UPDATABLE;
+import static java.sql.ResultSet.TYPE_FORWARD_ONLY;
+
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.commons.database.ConnectionFactory;
-import com.l2jserver.gameserver.config.Config;
 import com.l2jserver.gameserver.model.L2Clan;
 import com.l2jserver.gameserver.model.L2Crest;
 import com.l2jserver.gameserver.model.L2Crest.CrestType;
-import com.l2jserver.util.file.filter.BMPFilter;
 
 /**
  * Loads and saves crests from database.
@@ -42,7 +41,7 @@ import com.l2jserver.util.file.filter.BMPFilter;
  */
 public final class CrestTable {
 	
-	private static final Logger LOGGER = Logger.getLogger(CrestTable.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(CrestTable.class);
 	
 	private final Map<Integer, L2Crest> _crests = new ConcurrentHashMap<>();
 	
@@ -70,7 +69,7 @@ public final class CrestTable {
 		}
 		
 		try (var con = ConnectionFactory.getInstance().getConnection();
-			var statement = con.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
+			var statement = con.createStatement(TYPE_FORWARD_ONLY, CONCUR_UPDATABLE);
 			var rs = statement.executeQuery("SELECT `crest_id`, `data`, `type` FROM `crests` ORDER BY `crest_id` DESC")) {
 			while (rs.next()) {
 				int id = rs.getInt("crest_id");
@@ -79,7 +78,7 @@ public final class CrestTable {
 					_nextId.set(id + 1);
 				}
 				
-				// delete all unused crests except the last one we dont want to reuse
+				// delete all unused crests except the last one we don't want to reuse
 				// a crest id because client will display wrong crest if its reused
 				if (!crestsInUse.contains(id) && (id != (_nextId.get() - 1))) {
 					rs.deleteRow();
@@ -91,22 +90,20 @@ public final class CrestTable {
 				if (crestType != null) {
 					_crests.put(id, new L2Crest(id, data, crestType));
 				} else {
-					LOGGER.warning("Unknown crest type found in database. Type:" + rs.getInt("type"));
+					LOG.warn("Unknown crest type {} found in database!", rs.getInt("type"));
 				}
 			}
 			
-		} catch (Exception e) {
-			LOGGER.log(Level.WARNING, "There was an error while loading crests from database:", e);
+		} catch (Exception ex) {
+			LOG.warn("There was an error while loading crests from database!", ex);
 		}
 		
-		moveOldCrestsToDb(crestsInUse);
-		
-		LOGGER.info(getClass().getSimpleName() + ": Loaded " + _crests.size() + " Crests.");
+		LOG.info("Loaded {} crests.", _crests.size());
 		
 		for (L2Clan clan : ClanTable.getInstance().getClans()) {
 			if (clan.getCrestId() != 0) {
 				if (getCrest(clan.getCrestId()) == null) {
-					LOGGER.info("Removing non-existent crest for clan " + clan.getName() + " [" + clan.getId() + "], crestId:" + clan.getCrestId());
+					LOG.info("Removing non-existent crest Id {} for clan {}.", clan.getCrestId(), clan.getName());
 					clan.setCrestId(0);
 					clan.changeClanCrest(0);
 				}
@@ -114,7 +111,7 @@ public final class CrestTable {
 			
 			if (clan.getCrestLargeId() != 0) {
 				if (getCrest(clan.getCrestLargeId()) == null) {
-					LOGGER.info("Removing non-existent large crest for clan " + clan.getName() + " [" + clan.getId() + "], crestLargeId:" + clan.getCrestLargeId());
+					LOG.info("Removing non-existent large crest Id {} for clan {}.", clan.getCrestId(), clan.getName());
 					clan.setCrestLargeId(0);
 					clan.changeLargeCrest(0);
 				}
@@ -122,7 +119,7 @@ public final class CrestTable {
 			
 			if (clan.getAllyCrestId() != 0) {
 				if (getCrest(clan.getAllyCrestId()) == null) {
-					LOGGER.info("Removing non-existent ally crest for clan " + clan.getName() + " [" + clan.getId() + "], allyCrestId:" + clan.getAllyCrestId());
+					LOG.info("Removing non-existent ally crest Id {} for clan {}.", clan.getCrestId(), clan.getName());
 					clan.setAllyCrestId(0);
 					clan.changeAllyCrest(0, true);
 				}
@@ -130,71 +127,6 @@ public final class CrestTable {
 		}
 	}
 	
-	/**
-	 * Moves old crests from data/crests folder to database and deletes crest folder<br>
-	 * <b>TODO:</b> remove it after some time
-	 * @param crestsInUse the set of crests in use
-	 */
-	private void moveOldCrestsToDb(Set<Integer> crestsInUse) {
-		final File crestDir = new File(Config.DATAPACK_ROOT, "data/crests/");
-		if (crestDir.exists()) {
-			final File[] files = crestDir.listFiles(new BMPFilter());
-			if (files == null) {
-				return;
-			}
-			
-			for (File file : files) {
-				try {
-					final byte[] data = Files.readAllBytes(file.toPath());
-					if (file.getName().startsWith("Crest_Large_")) {
-						final int crestId = Integer.parseInt(file.getName().substring(12, file.getName().length() - 4));
-						if (crestsInUse.contains(crestId)) {
-							final L2Crest crest = createCrest(data, CrestType.PLEDGE_LARGE);
-							if (crest != null) {
-								for (L2Clan clan : ClanTable.getInstance().getClans()) {
-									if (clan.getCrestLargeId() == crestId) {
-										clan.setCrestLargeId(0);
-										clan.changeLargeCrest(crest.getId());
-									}
-								}
-							}
-						}
-					} else if (file.getName().startsWith("Crest_")) {
-						final int crestId = Integer.parseInt(file.getName().substring(6, file.getName().length() - 4));
-						if (crestsInUse.contains(crestId)) {
-							final L2Crest crest = createCrest(data, CrestType.PLEDGE);
-							if (crest != null) {
-								for (L2Clan clan : ClanTable.getInstance().getClans()) {
-									if (clan.getCrestId() == crestId) {
-										clan.setCrestId(0);
-										clan.changeClanCrest(crest.getId());
-									}
-								}
-							}
-						}
-					} else if (file.getName().startsWith("AllyCrest_")) {
-						final int crestId = Integer.parseInt(file.getName().substring(10, file.getName().length() - 4));
-						if (crestsInUse.contains(crestId)) {
-							final L2Crest crest = createCrest(data, CrestType.ALLY);
-							if (crest != null) {
-								for (L2Clan clan : ClanTable.getInstance().getClans()) {
-									if (clan.getAllyCrestId() == crestId) {
-										clan.setAllyCrestId(0);
-										clan.changeAllyCrest(crest.getId(), false);
-									}
-								}
-							}
-						}
-					}
-					file.delete();
-				} catch (Exception e) {
-					LOGGER.log(Level.WARNING, "There was an error while moving crest file " + file.getName() + " to database:", e);
-				}
-			}
-			crestDir.delete();
-		}
-	}
-	
 	/**
 	 * @param crestId The crest id
 	 * @return {@code L2Crest} if crest is found, {@code null} if crest was not found.
@@ -219,8 +151,8 @@ public final class CrestTable {
 			statement.executeUpdate();
 			_crests.put(crest.getId(), crest);
 			return crest;
-		} catch (Exception e) {
-			LOGGER.log(Level.WARNING, "There was an error while saving crest in database:", e);
+		} catch (Exception ex) {
+			LOG.warn("There has been an error while saving crest in database!", ex);
 		}
 		return null;
 	}
@@ -232,7 +164,7 @@ public final class CrestTable {
 	public void removeCrest(int crestId) {
 		_crests.remove(crestId);
 		
-		// avoid removing last crest id we dont want to lose index...
+		// avoid removing last crest id we don't want to lose index...
 		// because client will display wrong crest if its reused
 		if (crestId == (_nextId.get() - 1)) {
 			return;
@@ -242,23 +174,20 @@ public final class CrestTable {
 			var statement = con.prepareStatement("DELETE FROM `crests` WHERE `crest_id` = ?")) {
 			statement.setInt(1, crestId);
 			statement.executeUpdate();
-		} catch (Exception e) {
-			LOGGER.log(Level.WARNING, "There was an error while deleting crest from database:", e);
+		} catch (Exception ex) {
+			LOG.warn("There has been an  error while deleting crest from database!", ex);
 		}
 	}
 	
-	/**
-	 * @return The next crest id.
-	 */
 	public int getNextId() {
 		return _nextId.getAndIncrement();
 	}
 	
 	public static CrestTable getInstance() {
-		return SingletonHolder._instance;
+		return SingletonHolder.INSTANCE;
 	}
 	
 	private static class SingletonHolder {
-		protected static final CrestTable _instance = new CrestTable();
+		protected static final CrestTable INSTANCE = new CrestTable();
 	}
 }

+ 9 - 8
src/main/java/com/l2jserver/gameserver/data/sql/impl/NpcBufferTable.java

@@ -20,8 +20,9 @@ package com.l2jserver.gameserver.data.sql.impl;
 
 import java.util.HashMap;
 import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.commons.database.ConnectionFactory;
 import com.l2jserver.gameserver.config.Config;
@@ -30,7 +31,7 @@ import com.l2jserver.gameserver.model.holders.SkillHolder;
 
 public class NpcBufferTable {
 	
-	private static final Logger LOGGER = Logger.getLogger(NpcBufferTable.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(NpcBufferTable.class);
 	
 	private final Map<Integer, NpcBufferSkills> _buffers = new HashMap<>();
 	
@@ -108,8 +109,8 @@ public class NpcBufferTable {
 			if (lastNpcId != 0) {
 				_buffers.put(lastNpcId, skills);
 			}
-		} catch (Exception e) {
-			LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Error reading npc_buffer table: " + e.getMessage(), e);
+		} catch (Exception ex) {
+			LOG.warn("There has been an error reading npc_buffer table!", ex);
 		}
 		
 		if (Config.CUSTOM_NPCBUFFER_TABLES) {
@@ -143,11 +144,11 @@ public class NpcBufferTable {
 				if (lastNpcId != 0) {
 					_buffers.put(lastNpcId, skills);
 				}
-			} catch (Exception e) {
-				LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Error reading custom_npc_buffer table: " + e.getMessage(), e);
+			} catch (Exception ex) {
+				LOG.warn("There has been an error reading custom_npc_buffer table!", ex);
 			}
 		}
-		LOGGER.info(getClass().getSimpleName() + ": Loaded " + _buffers.size() + " buffers and " + skillCount + " skills.");
+		LOG.info("Loaded {} buffers and {} skills.", _buffers.size(), skillCount);
 	}
 	
 	public NpcBufferData getSkillInfo(int npcId, int buffGroup) {

+ 25 - 26
src/main/java/com/l2jserver/gameserver/data/sql/impl/OfflineTradersTable.java

@@ -18,9 +18,12 @@
  */
 package com.l2jserver.gameserver.data.sql.impl;
 
+import static com.l2jserver.gameserver.enums.PrivateStoreType.NONE;
+
 import java.util.Calendar;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.gameserver.config.Config;
 import com.l2jserver.commons.database.ConnectionFactory;
@@ -35,7 +38,7 @@ import com.l2jserver.gameserver.network.L2GameClient.GameClientState;
 
 public class OfflineTradersTable {
 	
-	private static final Logger LOGGER = Logger.getLogger(OfflineTradersTable.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(OfflineTradersTable.class);
 	
 	private static final String SAVE_OFFLINE_STATUS = "INSERT INTO character_offline_trade (`charId`,`time`,`type`,`title`) VALUES (?,?,?,?)";
 	
@@ -61,10 +64,10 @@ public class OfflineTradersTable {
 			
 			for (L2PcInstance pc : L2World.getInstance().getPlayers()) {
 				try {
-					if ((pc.getPrivateStoreType() != PrivateStoreType.NONE) && pc.isInOfflineMode()) {
-						stm3.setInt(1, pc.getObjectId()); // Char Id
+					if ((pc.getPrivateStoreType() != NONE) && pc.isInOfflineMode()) {
+						stm3.setInt(1, pc.getObjectId());
 						stm3.setLong(2, pc.getOfflineStartTime());
-						stm3.setInt(3, pc.getPrivateStoreType().getId()); // store type
+						stm3.setInt(3, pc.getPrivateStoreType().getId());
 						String title = null;
 						
 						switch (pc.getPrivateStoreType()) {
@@ -116,18 +119,18 @@ public class OfflineTradersTable {
 						stm3.clearParameters();
 						con.commit(); // flush
 					}
-				} catch (Exception e) {
-					LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Error while saving offline trader: " + pc.getObjectId() + " " + e, e);
+				} catch (Exception ex) {
+					LOG.warn("There has been an error while saving offline trader {}!", pc, ex);
 				}
 			}
-			LOGGER.info(getClass().getSimpleName() + ": Offline traders stored.");
-		} catch (Exception e) {
-			LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Error while saving offline traders: " + e, e);
+			LOG.info("Offline traders stored.");
+		} catch (Exception ex) {
+			LOG.warn("There has been an error while saving offline traders!", ex);
 		}
 	}
 	
 	public void restoreOfflineTraders() {
-		LOGGER.info(getClass().getSimpleName() + ": Loading offline traders...");
+		LOG.info("Loading offline traders...");
 		int nTraders = 0;
 		try (var con = ConnectionFactory.getInstance().getConnection();
 			var stm = con.createStatement();
@@ -143,13 +146,13 @@ public class OfflineTradersTable {
 					}
 				}
 				
-				PrivateStoreType type = PrivateStoreType.findById(rs.getInt("type"));
+				final var type = PrivateStoreType.findById(rs.getInt("type"));
 				if (type == null) {
-					LOGGER.warning(getClass().getSimpleName() + ": PrivateStoreType with id " + rs.getInt("type") + " could not be found.");
+					LOG.warn("PrivateStoreType with Id {} could not be found!", rs.getInt("type"));
 					continue;
 				}
 				
-				if (type == PrivateStoreType.NONE) {
+				if (type == NONE) {
 					continue;
 				}
 				
@@ -208,34 +211,30 @@ public class OfflineTradersTable {
 					player.restoreEffects();
 					player.broadcastUserInfo();
 					nTraders++;
-				} catch (Exception e) {
-					LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Error loading trader: " + player, e);
+				} catch (Exception ex) {
+					LOG.warn("There has been an error loading trader {}!", player, ex);
 					if (player != null) {
 						player.deleteMe();
 					}
 				}
 			}
 			
-			LOGGER.info(getClass().getSimpleName() + ": Loaded: " + nTraders + " offline trader(s)");
+			LOG.info("Loaded  {} offline trader(s).", nTraders);
 			
 			try (var stm1 = con.createStatement()) {
 				stm1.execute(CLEAR_OFFLINE_TABLE);
 				stm1.execute(CLEAR_OFFLINE_TABLE_ITEMS);
 			}
-		} catch (Exception e) {
-			LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Error while loading offline traders: ", e);
+		} catch (Exception ex) {
+			LOG.warn("There has been an error while loading offline traders!", ex);
 		}
 	}
 	
-	/**
-	 * Gets the single instance of OfflineTradersTable.
-	 * @return single instance of OfflineTradersTable
-	 */
 	public static OfflineTradersTable getInstance() {
-		return SingletonHolder._instance;
+		return SingletonHolder.INSTANCE;
 	}
 	
 	private static class SingletonHolder {
-		protected static final OfflineTradersTable _instance = new OfflineTradersTable();
+		protected static final OfflineTradersTable INSTANCE = new OfflineTradersTable();
 	}
 }

+ 10 - 10
src/main/java/com/l2jserver/gameserver/data/sql/impl/PetNameTable.java

@@ -18,19 +18,15 @@
  */
 package com.l2jserver.gameserver.data.sql.impl;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.commons.database.ConnectionFactory;
 import com.l2jserver.gameserver.config.Config;
 
 public class PetNameTable {
 	
-	private static final Logger LOGGER = Logger.getLogger(PetNameTable.class.getName());
-	
-	public static PetNameTable getInstance() {
-		return SingletonHolder._instance;
-	}
+	private static final Logger LOG = LoggerFactory.getLogger(PetNameTable.class);
 	
 	public boolean doesPetNameExist(String name) {
 		try (var con = ConnectionFactory.getInstance().getConnection();
@@ -39,8 +35,8 @@ public class PetNameTable {
 			try (var rs = ps.executeQuery()) {
 				return rs.next();
 			}
-		} catch (Exception e) {
-			LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Could not check existing petname:" + e.getMessage(), e);
+		} catch (Exception ex) {
+			LOG.warn("Could not check existing pet name {}!", ex);
 		}
 		return false;
 	}
@@ -49,7 +45,11 @@ public class PetNameTable {
 		return Config.PET_NAME_TEMPLATE.matcher(name).matches();
 	}
 	
+	public static PetNameTable getInstance() {
+		return SingletonHolder.INSTANCE;
+	}
+	
 	private static class SingletonHolder {
-		protected static final PetNameTable _instance = new PetNameTable();
+		protected static final PetNameTable INSTANCE = new PetNameTable();
 	}
 }

+ 9 - 8
src/main/java/com/l2jserver/gameserver/data/sql/impl/SummonSkillsTable.java

@@ -23,8 +23,9 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.commons.database.ConnectionFactory;
 import com.l2jserver.gameserver.datatables.SkillData;
@@ -32,7 +33,7 @@ import com.l2jserver.gameserver.model.actor.L2Summon;
 
 public class SummonSkillsTable {
 	
-	private static final Logger LOGGER = Logger.getLogger(SummonSkillsTable.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(SummonSkillsTable.class);
 	
 	private final Map<Integer, Map<Integer, L2PetSkillLearn>> _skillTrees = new HashMap<>();
 	
@@ -59,16 +60,16 @@ public class SummonSkillsTable {
 				skillTree.put(SkillData.getSkillHashCode(id, lvl + 1), new L2PetSkillLearn(id, lvl, rs.getInt("minLvl")));
 				count++;
 			}
-		} catch (Exception e) {
-			LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Error while loading pet skill tree:", e);
+		} catch (Exception ex) {
+			LOG.error("Error while loading pet skill tree!", ex);
 		}
-		LOGGER.info(getClass().getSimpleName() + ": Loaded " + count + " skills.");
+		LOG.info("Loaded {} summon skills.", count);
 	}
 	
 	public int getAvailableLevel(L2Summon cha, int skillId) {
 		int lvl = 0;
 		if (!_skillTrees.containsKey(cha.getId())) {
-			LOGGER.warning(getClass().getSimpleName() + ": Pet id " + cha.getId() + " does not have any skills assigned.");
+			LOG.warn("Pet Id {} does not have any skills assigned!", cha.getId());
 			return lvl;
 		}
 		Collection<L2PetSkillLearn> skills = _skillTrees.get(cha.getId()).values();
@@ -104,7 +105,7 @@ public class SummonSkillsTable {
 	public List<Integer> getAvailableSkills(L2Summon cha) {
 		List<Integer> skillIds = new ArrayList<>();
 		if (!_skillTrees.containsKey(cha.getId())) {
-			LOGGER.warning(getClass().getSimpleName() + ": Pet id " + cha.getId() + " does not have any skills assigned.");
+			LOG.warn("Pet Id {} does not have any skills assigned!", cha.getId());
 			return skillIds;
 		}
 		Collection<L2PetSkillLearn> skills = _skillTrees.get(cha.getId()).values();

+ 12 - 15
src/main/java/com/l2jserver/gameserver/data/sql/impl/TeleportLocationTable.java

@@ -20,8 +20,9 @@ package com.l2jserver.gameserver.data.sql.impl;
 
 import java.util.HashMap;
 import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.commons.database.ConnectionFactory;
 import com.l2jserver.gameserver.config.Config;
@@ -29,7 +30,7 @@ import com.l2jserver.gameserver.model.L2TeleportLocation;
 
 public class TeleportLocationTable {
 	
-	private static final Logger LOGGER = Logger.getLogger(TeleportLocationTable.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(TeleportLocationTable.class);
 	
 	private final Map<Integer, L2TeleportLocation> _teleports = new HashMap<>();
 	
@@ -56,9 +57,9 @@ public class TeleportLocationTable {
 				
 				_teleports.put(teleport.getTeleId(), teleport);
 			}
-			LOGGER.info(getClass().getSimpleName() + ": Loaded " + _teleports.size() + " Teleport Location Templates.");
-		} catch (Exception e) {
-			LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Error loading Teleport Table.", e);
+			LOG.info("Loaded {} teleport location templates.", _teleports.size());
+		} catch (Exception ex) {
+			LOG.error("There has been an error loading teleport table.", ex);
 		}
 		
 		if (Config.CUSTOM_TELEPORT_TABLE) {
@@ -81,27 +82,23 @@ public class TeleportLocationTable {
 				}
 				_cTeleCount = _teleports.size() - _cTeleCount;
 				if (_cTeleCount > 0) {
-					LOGGER.info(getClass().getSimpleName() + ": Loaded " + _cTeleCount + " Custom Teleport Location Templates.");
+					LOG.info("Loaded {} custom teleport location templates.", _cTeleCount);
 				}
-			} catch (Exception e) {
-				LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": Error while creating custom teleport table " + e.getMessage(), e);
+			} catch (Exception ex) {
+				LOG.warn("There has been an error while creating custom teleport table!", ex);
 			}
 		}
 	}
 	
-	/**
-	 * @param id
-	 * @return
-	 */
 	public L2TeleportLocation getTemplate(int id) {
 		return _teleports.get(id);
 	}
 	
 	public static TeleportLocationTable getInstance() {
-		return SingletonHolder._instance;
+		return SingletonHolder.INSTANCE;
 	}
 	
 	private static class SingletonHolder {
-		protected static final TeleportLocationTable _instance = new TeleportLocationTable();
+		protected static final TeleportLocationTable INSTANCE = new TeleportLocationTable();
 	}
 }

+ 10 - 15
src/main/java/com/l2jserver/gameserver/data/sql/impl/TerritoryTable.java

@@ -20,8 +20,9 @@ package com.l2jserver.gameserver.data.sql.impl;
 
 import java.util.HashMap;
 import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.commons.database.ConnectionFactory;
 import com.l2jserver.gameserver.model.L2Territory;
@@ -31,13 +32,11 @@ import com.l2jserver.gameserver.model.Location;
  * @author MrBalancer
  */
 public class TerritoryTable {
-	private static final Logger LOGGER = Logger.getLogger(TerritoryTable.class.getName());
+	
+	private static final Logger LOG = LoggerFactory.getLogger(TerritoryTable.class);
 	
 	private static final Map<Integer, L2Territory> _territory = new HashMap<>();
 	
-	/**
-	 * Instantiates a new territory.
-	 */
 	protected TerritoryTable() {
 		load();
 	}
@@ -77,21 +76,17 @@ public class TerritoryTable {
 				}
 				terr.add(rset.getInt("loc_x"), rset.getInt("loc_y"), rset.getInt("loc_zmin"), rset.getInt("loc_zmax"), rset.getInt("proc"));
 			}
-			LOGGER.info("TerritoryTable: Loaded " + _territory.size() + " territories from database.");
-		} catch (Exception e) {
-			LOGGER.log(Level.SEVERE, "TerritoryTable: Failed to load territories from database!", e);
+			LOG.info("Loaded {} territories from database.", _territory.size());
+		} catch (Exception ex) {
+			LOG.error("Failed to load territories from database!", ex);
 		}
 	}
 	
-	/**
-	 * Gets the single instance of Territory.
-	 * @return single instance of Territory
-	 */
 	public static TerritoryTable getInstance() {
-		return SingletonHolder._instance;
+		return SingletonHolder.INSTANCE;
 	}
 	
 	private static class SingletonHolder {
-		protected static final TerritoryTable _instance = new TerritoryTable();
+		protected static final TerritoryTable INSTANCE = new TerritoryTable();
 	}
 }

+ 10 - 5
src/main/java/com/l2jserver/gameserver/data/xml/impl/CategoryData.java

@@ -23,6 +23,8 @@ import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -35,6 +37,9 @@ import com.l2jserver.gameserver.util.IXmlReader;
  * @author NosBit, xban1x
  */
 public final class CategoryData implements IXmlReader {
+	
+	private static final Logger LOG = LoggerFactory.getLogger(CategoryData.class);
+	
 	private final Map<CategoryType, Set<Integer>> _categories = new HashMap<>();
 	
 	protected CategoryData() {
@@ -45,7 +50,7 @@ public final class CategoryData implements IXmlReader {
 	public void load() {
 		_categories.clear();
 		parseDatapackFile("data/categoryData.xml");
-		LOG.info("{}: Loaded {} Categories.", getClass().getSimpleName(), _categories.size());
+		LOG.info("Loaded {} Categories.", _categories.size());
 	}
 	
 	@Override
@@ -57,7 +62,7 @@ public final class CategoryData implements IXmlReader {
 						final NamedNodeMap attrs = list_node.getAttributes();
 						final CategoryType categoryType = CategoryType.findByName(attrs.getNamedItem("name").getNodeValue());
 						if (categoryType == null) {
-							LOG.warn("{}: Can't find category by name :{}", getClass().getSimpleName(), attrs.getNamedItem("name").getNodeValue());
+							LOG.warn("Can't find category by name :{}", attrs.getNamedItem("name").getNodeValue());
 							continue;
 						}
 						
@@ -83,7 +88,7 @@ public final class CategoryData implements IXmlReader {
 	public boolean isInCategory(CategoryType type, int id) {
 		final Set<Integer> category = getCategoryByType(type);
 		if (category == null) {
-			LOG.warn("{}: Can't find category type: {}", getClass().getSimpleName(), type);
+			LOG.warn("Can not find category type {}!", type);
 			return false;
 		}
 		return category.contains(id);
@@ -99,10 +104,10 @@ public final class CategoryData implements IXmlReader {
 	}
 	
 	public static CategoryData getInstance() {
-		return SingletonHolder._instance;
+		return SingletonHolder.INSTANCE;
 	}
 	
 	private static class SingletonHolder {
-		protected static final CategoryData _instance = new CategoryData();
+		protected static final CategoryData INSTANCE = new CategoryData();
 	}
 }

+ 10 - 9
src/main/java/com/l2jserver/gameserver/data/xml/impl/EnchantItemData.java

@@ -21,6 +21,8 @@ package com.l2jserver.gameserver.data.xml.impl;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -37,13 +39,12 @@ import com.l2jserver.gameserver.util.IXmlReader;
  */
 public class EnchantItemData implements IXmlReader {
 	
+	private static final Logger LOG = LoggerFactory.getLogger(EnchantItemData.class);
+	
 	private final Map<Integer, EnchantScroll> _scrolls = new HashMap<>();
 	
 	private final Map<Integer, EnchantSupportItem> _supports = new HashMap<>();
 	
-	/**
-	 * Instantiates a new enchant item data.
-	 */
 	public EnchantItemData() {
 		load();
 	}
@@ -53,8 +54,8 @@ public class EnchantItemData implements IXmlReader {
 		_scrolls.clear();
 		_supports.clear();
 		parseDatapackFile("data/enchantItemData.xml");
-		LOG.info("{}: Loaded {} Enchant Scrolls.", getClass().getSimpleName(), _scrolls.size());
-		LOG.info("{}: Loaded {} Support Items.", getClass().getSimpleName(), _supports.size());
+		LOG.info("Loaded {} enchant scrolls.", _scrolls.size());
+		LOG.info("Loaded {} support items.", _supports.size());
 	}
 	
 	@Override
@@ -82,9 +83,9 @@ public class EnchantItemData implements IXmlReader {
 							}
 							_scrolls.put(item.getId(), item);
 						} catch (NullPointerException e) {
-							LOG.warn("{}: Unexistent enchant scroll: {} defined in enchant data!", getClass().getSimpleName(), set.getString("id"));
+							LOG.warn("Unexistent enchant scroll: {} defined in enchant data!", set.getString("id"));
 						} catch (IllegalAccessError e) {
-							LOG.warn("{}: Wrong enchant scroll item type: {} defined in enchant data!", getClass().getSimpleName(), set.getString("id"));
+							LOG.warn("Wrong enchant scroll item type: {} defined in enchant data!", set.getString("id"));
 						}
 					} else if ("support".equalsIgnoreCase(d.getNodeName())) {
 						attrs = d.getAttributes();
@@ -98,9 +99,9 @@ public class EnchantItemData implements IXmlReader {
 							final EnchantSupportItem item = new EnchantSupportItem(set);
 							_supports.put(item.getId(), item);
 						} catch (NullPointerException e) {
-							LOG.warn("{}: Unexistent enchant support item: {} defined in enchant data!", getClass().getSimpleName(), set.getString("id"));
+							LOG.warn("Unexistent enchant support item: {} defined in enchant data!", set.getString("id"));
 						} catch (IllegalAccessError e) {
-							LOG.warn("{}: Wrong enchant support item type: {} defined in enchant data!", getClass().getSimpleName(), set.getString("id"));
+							LOG.warn("Wrong enchant support item type: {} defined in enchant data!", set.getString("id"));
 						}
 					}
 				}

+ 6 - 2
src/main/java/com/l2jserver/gameserver/data/xml/impl/EnchantItemGroupsData.java

@@ -21,6 +21,8 @@ package com.l2jserver.gameserver.data.xml.impl;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -40,6 +42,8 @@ import com.l2jserver.gameserver.util.Util;
  */
 public final class EnchantItemGroupsData implements IXmlReader {
 	
+	private static final Logger LOG = LoggerFactory.getLogger(EnchantItemGroupsData.class);
+	
 	private final Map<String, EnchantItemGroup> _itemGroups = new HashMap<>();
 	
 	private final Map<Integer, EnchantScrollGroup> _scrollGroups = new HashMap<>();
@@ -53,8 +57,8 @@ public final class EnchantItemGroupsData implements IXmlReader {
 		_itemGroups.clear();
 		_scrollGroups.clear();
 		parseDatapackFile("data/enchantItemGroups.xml");
-		LOG.info("{}: Loaded: {} item group templates.", getClass().getSimpleName(), _itemGroups.size());
-		LOG.info("{}: Loaded: {} scroll group templates.", getClass().getSimpleName(), _scrollGroups.size());
+		LOG.info("Loaded {} item group templates.", _itemGroups.size());
+		LOG.info("Loaded {} scroll group templates.", _scrollGroups.size());
 	}
 	
 	@Override

+ 5 - 14
src/main/java/com/l2jserver/gameserver/data/xml/impl/EnchantItemOptionsData.java

@@ -21,6 +21,8 @@ package com.l2jserver.gameserver.data.xml.impl;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
@@ -34,6 +36,8 @@ import com.l2jserver.gameserver.util.Util;
  */
 public class EnchantItemOptionsData implements IXmlReader {
 	
+	private static final Logger LOG = LoggerFactory.getLogger(EnchantItemOptionsData.class);
+	
 	private final Map<Integer, Map<Integer, EnchantOptions>> _data = new HashMap<>();
 	
 	protected EnchantItemOptionsData() {
@@ -75,14 +79,9 @@ public class EnchantItemOptionsData implements IXmlReader {
 				}
 			}
 		}
-		LOG.info("{}: Loaded: {} Items and {} Options.", getClass().getSimpleName(), _data.size(), counter);
+		LOG.info("Loaded {} items and {} options.", _data.size(), counter);
 	}
 	
-	/**
-	 * @param itemId
-	 * @param enchantLevel
-	 * @return enchant effects information.
-	 */
 	public EnchantOptions getOptions(int itemId, int enchantLevel) {
 		if (!_data.containsKey(itemId) || !_data.get(itemId).containsKey(enchantLevel)) {
 			return null;
@@ -90,18 +89,10 @@ public class EnchantItemOptionsData implements IXmlReader {
 		return _data.get(itemId).get(enchantLevel);
 	}
 	
-	/**
-	 * @param item
-	 * @return enchant effects information.
-	 */
 	public EnchantOptions getOptions(L2ItemInstance item) {
 		return item != null ? getOptions(item.getId(), item.getEnchantLevel()) : null;
 	}
 	
-	/**
-	 * Gets the single instance of EnchantOptionsData.
-	 * @return single instance of EnchantOptionsData
-	 */
 	public static final EnchantItemOptionsData getInstance() {
 		return SingletonHolder._instance;
 	}

+ 9 - 5
src/main/java/com/l2jserver/gameserver/data/xml/impl/SecondaryAuthData.java

@@ -22,6 +22,8 @@ import java.io.File;
 import java.util.HashSet;
 import java.util.Set;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
@@ -33,6 +35,8 @@ import com.l2jserver.gameserver.util.IXmlReader;
  */
 public class SecondaryAuthData implements IXmlReader {
 	
+	private static final Logger LOG = LoggerFactory.getLogger(SecondaryAuthData.class);
+	
 	private final Set<String> _forbiddenPasswords = new HashSet<>();
 	
 	private boolean _enabled = false;
@@ -51,7 +55,7 @@ public class SecondaryAuthData implements IXmlReader {
 	public synchronized void load() {
 		_forbiddenPasswords.clear();
 		parseFile(new File("config/SecondaryAuth.xml"));
-		LOG.info("{}: Loaded {} forbidden passwords.", getClass().getSimpleName(), _forbiddenPasswords.size());
+		LOG.info("Loaded {} forbidden passwords.", _forbiddenPasswords.size());
 	}
 	
 	@Override
@@ -78,8 +82,8 @@ public class SecondaryAuthData implements IXmlReader {
 					}
 				}
 			}
-		} catch (Exception e) {
-			LOG.warn("Failed to load secondary auth data from xml.", e);
+		} catch (Exception ex) {
+			LOG.warn("Failed to load secondary auth data from xml.", ex);
 		}
 	}
 	
@@ -108,10 +112,10 @@ public class SecondaryAuthData implements IXmlReader {
 	}
 	
 	public static SecondaryAuthData getInstance() {
-		return SingletonHolder._instance;
+		return SingletonHolder.INSTANCE;
 	}
 	
 	private static class SingletonHolder {
-		protected static final SecondaryAuthData _instance = new SecondaryAuthData();
+		protected static final SecondaryAuthData INSTANCE = new SecondaryAuthData();
 	}
 }

+ 15 - 14
src/main/java/com/l2jserver/gameserver/datatables/ItemTable.java

@@ -26,7 +26,9 @@ import java.util.Set;
 import java.util.concurrent.ScheduledFuture;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.gameserver.config.Config;
 import com.l2jserver.commons.database.ConnectionFactory;
@@ -54,9 +56,9 @@ import com.l2jserver.gameserver.util.GMAudit;
  */
 public class ItemTable {
 	
-	private static final Logger LOGGER = Logger.getLogger(ItemTable.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(ItemTable.class);
 	
-	private static final Logger LOGGER_ITEMS = Logger.getLogger("item");
+	private static final java.util.logging.Logger LOGGER_ITEMS = java.util.logging.Logger.getLogger("item");
 	
 	public static final Map<String, Integer> SLOTS = new HashMap<>();
 	
@@ -107,9 +109,6 @@ public class ItemTable {
 		SLOTS.put("waist", L2Item.SLOT_BELT);
 	}
 	
-	/**
-	 * @return a reference to this ItemTable object
-	 */
 	public static ItemTable getInstance() {
 		return SingletonHolder._instance;
 	}
@@ -135,11 +134,13 @@ public class ItemTable {
 				_weapons.put(item.getId(), (L2Weapon) item);
 			}
 		}
+		
 		buildFastLookupTable(highest);
-		LOGGER.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _etcItems.size() + " Etc Items");
-		LOGGER.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _armors.size() + " Armor Items");
-		LOGGER.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + _weapons.size() + " Weapon Items");
-		LOGGER.log(Level.INFO, getClass().getSimpleName() + ": Loaded: " + (_etcItems.size() + _armors.size() + _weapons.size()) + " Items in total.");
+		
+		LOG.info("Loaded: {} Etc items.", _etcItems.size());
+		LOG.info("Loaded: {} Armor items.", _armors.size());
+		LOG.info("Loaded: {} Weapon items.", _weapons.size());
+		LOG.info("Loaded: {} items in total.", (_etcItems.size() + _armors.size() + _weapons.size()));
 	}
 	
 	/**
@@ -148,7 +149,7 @@ public class ItemTable {
 	 */
 	private void buildFastLookupTable(int size) {
 		// Create a FastLookUp Table called _allTemplates of size : value of the highest item ID
-		LOGGER.info(getClass().getSimpleName() + ": Highest item id used:" + size);
+		LOG.info("Highest item Id used {}.", size);
 		_allTemplates = new L2Item[size + 1];
 		
 		// Insert armor item in Fast Look Up Table
@@ -215,7 +216,7 @@ public class ItemTable {
 		}
 		
 		if (Config.DEBUG) {
-			LOGGER.fine(getClass().getSimpleName() + ": Item created  oid:" + item.getObjectId() + " itemid:" + itemId);
+			LOG.info("Item created object Id {} and item Id {}.", item.getObjectId(), itemId);
 		}
 		
 		// Add the L2ItemInstance object to _allObjects of L2world
@@ -322,8 +323,8 @@ public class ItemTable {
 					var statement = con.prepareStatement("DELETE FROM pets WHERE item_obj_id=?")) {
 					statement.setInt(1, item.getObjectId());
 					statement.execute();
-				} catch (Exception e) {
-					LOGGER.log(Level.WARNING, "could not delete pet objectid:", e);
+				} catch (Exception ex) {
+					LOG.warn("Could not delete pet object Id {}!", item.getObjectId(), ex);
 				}
 			}
 		}

+ 7 - 6
src/main/java/com/l2jserver/gameserver/datatables/MerchantPriceConfigTable.java

@@ -22,12 +22,12 @@ import java.io.File;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.xml.sax.SAXException;
@@ -42,8 +42,9 @@ import com.l2jserver.gameserver.model.entity.Castle;
  * @author KenM
  */
 public class MerchantPriceConfigTable implements InstanceListManager {
+	
 	// Zoey76: TODO: Implement using IXmlReader.
-	private static Logger LOGGER = Logger.getLogger(MerchantPriceConfigTable.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(MerchantPriceConfigTable.class);
 	
 	public static MerchantPriceConfigTable getInstance() {
 		return SingletonHolder._instance;
@@ -144,9 +145,9 @@ public class MerchantPriceConfigTable implements InstanceListManager {
 	public void loadInstances() {
 		try {
 			loadXML();
-			LOGGER.info(getClass().getSimpleName() + ": Loaded " + _mpcs.size() + " merchant price configs.");
-		} catch (Exception e) {
-			LOGGER.log(Level.SEVERE, getClass().getSimpleName() + ": Failed loading MerchantPriceConfigTable. Reason: " + e.getMessage(), e);
+			LOG.info("Loaded {} merchant price configs.", _mpcs.size());
+		} catch (Exception ex) {
+			LOG.error("Failed loading MerchantPriceConfigTable!", ex);
 		}
 	}
 	

+ 7 - 5
src/main/java/com/l2jserver/gameserver/datatables/SkillData.java

@@ -22,8 +22,9 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.gameserver.config.Config;
 import com.l2jserver.gameserver.data.xml.impl.SkillTreesData;
@@ -34,7 +35,8 @@ import com.l2jserver.gameserver.model.skills.Skill;
  * Skill data.
  */
 public final class SkillData {
-	private static Logger LOGGER = Logger.getLogger(SkillData.class.getName());
+	
+	private static final Logger LOG = LoggerFactory.getLogger(SkillData.class);
 	
 	private final Map<Integer, Skill> _skills = new HashMap<>();
 	private final Map<Integer, Integer> _skillMaxLevel = new HashMap<>();
@@ -107,12 +109,12 @@ public final class SkillData {
 		// requested level too high
 		if ((maxLvl > 0) && (level > maxLvl)) {
 			if (Config.DEBUG) {
-				LOGGER.log(Level.WARNING, getClass().getSimpleName() + ": call to unexisting skill level id: " + skillId + " requested level: " + level + " max level: " + maxLvl, new Throwable());
+				LOG.warn("Call to unexisting skill level Id {} requested level {} max level {}!", skillId, level, maxLvl);
 			}
 			return _skills.get(getSkillHashCode(skillId, maxLvl));
 		}
 		
-		LOGGER.warning(getClass().getSimpleName() + ": No skill info found for skill id " + skillId + " and skill level " + level + ".");
+		LOG.warn("No skill info found for skill Id {} and skill level {}!", skillId, level);
 		return null;
 	}
 	

+ 12 - 7
src/main/java/com/l2jserver/gameserver/engines/DocumentEngine.java

@@ -22,7 +22,9 @@ import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.gameserver.config.Config;
 import com.l2jserver.gameserver.datatables.SkillData;
@@ -33,12 +35,15 @@ import com.l2jserver.gameserver.model.skills.Skill;
 import com.l2jserver.util.file.filter.XMLFilter;
 
 /**
+ * Document Engine.
  * @author mkizub
  */
 public class DocumentEngine {
-	private static final Logger _log = Logger.getLogger(DocumentEngine.class.getName());
+	
+	private static final Logger LOG = LoggerFactory.getLogger(DocumentEngine.class);
 	
 	private final List<File> _itemFiles = new ArrayList<>();
+	
 	private final List<File> _skillFiles = new ArrayList<>();
 	
 	public static DocumentEngine getInstance() {
@@ -57,13 +62,13 @@ public class DocumentEngine {
 	}
 	
 	private void hashFiles(String dirname, List<File> hash) {
-		File dir = new File(Config.DATAPACK_ROOT, dirname);
+		final var dir = new File(Config.DATAPACK_ROOT, dirname);
 		if (!dir.exists()) {
-			_log.warning("Dir " + dir.getAbsolutePath() + " not exists");
+			LOG.warn("Directory {} does not exists!", dir.getAbsolutePath());
 			return;
 		}
 		
-		final File[] files = dir.listFiles(new XMLFilter());
+		final var files = dir.listFiles(new XMLFilter());
 		if (files != null) {
 			for (File f : files) {
 				hash.add(f);
@@ -73,7 +78,7 @@ public class DocumentEngine {
 	
 	public List<Skill> loadSkills(File file) {
 		if (file == null) {
-			_log.warning("Skill file not found.");
+			LOG.warn("Skill file not found!");
 			return null;
 		}
 		DocumentSkill doc = new DocumentSkill(file);
@@ -93,7 +98,7 @@ public class DocumentEngine {
 				count++;
 			}
 		}
-		_log.info(getClass().getSimpleName() + ": Loaded " + count + " Skill templates from XML files.");
+		LOG.info("Loaded {} skill templates from XML files.", count);
 	}
 	
 	/**

+ 1 - 1
src/main/java/com/l2jserver/gameserver/handler/EffectHandler.java

@@ -55,7 +55,7 @@ public final class EffectHandler implements IHandler<Class<? extends AbstractEff
 	}
 	
 	public void executeScript() throws Exception {
-		ScriptEngineManager.getInstance().executeScript("handlers/EffectMasterHandler.java");
+		ScriptEngineManager.getInstance().executeScript("com/l2jserver/datapack/handlers/EffectMasterHandler.java");
 	}
 	
 	public static EffectHandler getInstance() {

+ 18 - 17
src/main/java/com/l2jserver/gameserver/instancemanager/GrandBossManager.java

@@ -25,8 +25,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.commons.database.ConnectionFactory;
 import com.l2jserver.gameserver.ThreadPoolManager;
@@ -48,6 +49,8 @@ import com.l2jserver.gameserver.model.zone.type.L2BossZone;
  */
 public final class GrandBossManager implements IStorable {
 	
+	private static final Logger LOG = LoggerFactory.getLogger(GrandBossManager.class);
+	
 	private static final String DELETE_GRAND_BOSS_LIST = "DELETE FROM grandboss_list";
 	
 	private static final String INSERT_GRAND_BOSS_LIST = "INSERT INTO grandboss_list (player_id,zone) VALUES (?,?)";
@@ -56,8 +59,6 @@ public final class GrandBossManager implements IStorable {
 	
 	private static final String UPDATE_GRAND_BOSS_DATA2 = "UPDATE grandboss_data set status = ? where boss_id = ?";
 	
-	protected static Logger _log = Logger.getLogger(GrandBossManager.class.getName());
-	
 	protected static final Map<Integer, L2GrandBossInstance> BOSSES = new ConcurrentHashMap<>();
 	
 	protected static Map<Integer, StatsSet> _storedInfo = new HashMap<>();
@@ -93,14 +94,14 @@ public final class GrandBossManager implements IStorable {
 				int status = rs.getInt("status");
 				_bossStatus.put(bossId, status);
 				_storedInfo.put(bossId, info);
-				_log.info(getClass().getSimpleName() + ": " + NpcData.getInstance().getTemplate(bossId).getName() + "(" + bossId + ") status is " + status + ".");
+				LOG.info("{} ({}) status is {}.", NpcData.getInstance().getTemplate(bossId).getName(), bossId, status);
 				if (status > 0) {
-					_log.info(getClass().getSimpleName() + ": Next spawn date of " + NpcData.getInstance().getTemplate(bossId).getName() + " is " + new Date(info.getLong("respawn_time")) + ".");
+					LOG.info("Next spawn date of {} is {}.", NpcData.getInstance().getTemplate(bossId).getName(), new Date(info.getLong("respawn_time")));
 				}
 			}
-			_log.info(getClass().getSimpleName() + ": Loaded " + _storedInfo.size() + " Instances");
-		} catch (Exception e) {
-			_log.log(Level.WARNING, "Error while initializing GrandBossManager: " + e.getMessage(), e);
+			LOG.info("Loaded {} grand boss instances.", _storedInfo.size());
+		} catch (Exception ex) {
+			LOG.warn("There has been an error while initializing GrandBossManager!", ex);
 		}
 		ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new GrandBossManagerStoreTask(), 5 * 60 * 1000, 5 * 60 * 1000);
 	}
@@ -119,9 +120,9 @@ public final class GrandBossManager implements IStorable {
 				int zoneId = rs.getInt("zone");
 				zones.get(zoneId).add(id);
 			}
-			_log.info(getClass().getSimpleName() + ": Initialized " + _zones.size() + " Grand Boss Zones");
-		} catch (Exception e) {
-			_log.log(Level.WARNING, "Error while initializing GrandBoss zones: " + e.getMessage(), e);
+			LOG.info("Initialized {} grand boss zones.", _zones.size());
+		} catch (Exception ex) {
+			LOG.warn("There has been an error while initializing GrandBoss zones!", ex);
 		}
 		
 		for (Entry<Integer, L2BossZone> e : _zones.entrySet()) {
@@ -166,7 +167,7 @@ public final class GrandBossManager implements IStorable {
 	
 	public void setBossStatus(int bossId, int status) {
 		_bossStatus.put(bossId, status);
-		_log.info(getClass().getSimpleName() + ": Updated " + NpcData.getInstance().getTemplate(bossId).getName() + "(" + bossId + ") status to " + status);
+		LOG.info("Updated {} ({}) status to {}.", NpcData.getInstance().getTemplate(bossId).getName(), bossId, status);
 		updateDb(bossId, true);
 	}
 	
@@ -245,8 +246,8 @@ public final class GrandBossManager implements IStorable {
 					}
 				}
 			}
-		} catch (Exception e) {
-			_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't store grandbosses to database:" + e.getMessage(), e);
+		} catch (Exception ex) {
+			LOG.warn("Could not store grand bosses to database!", ex);
 			return false;
 		}
 		return true;
@@ -283,8 +284,8 @@ public final class GrandBossManager implements IStorable {
 					ps.executeUpdate();
 				}
 			}
-		} catch (Exception e) {
-			_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update grandbosses to database:" + e.getMessage(), e);
+		} catch (Exception ex) {
+			LOG.warn("Could not update grand bosses to database!", ex);
 		}
 	}
 	

+ 14 - 15
src/main/java/com/l2jserver/gameserver/instancemanager/InstanceManager.java

@@ -22,6 +22,8 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -38,13 +40,14 @@ import com.l2jserver.gameserver.util.IXmlReader;
  */
 public final class InstanceManager implements IXmlReader {
 	
+	private static final Logger LOG = LoggerFactory.getLogger(InstanceManager.class);
+	
 	private static final Map<Integer, Instance> INSTANCES = new ConcurrentHashMap<>();
 	
 	private final Map<Integer, InstanceWorld> _instanceWorlds = new ConcurrentHashMap<>();
 	
 	private int _dynamic = 300000;
 	
-	// InstanceId Names
 	private static final Map<Integer, String> _instanceIdNames = new HashMap<>();
 	
 	private final Map<Integer, Map<Integer, Long>> _playerInstanceTimes = new ConcurrentHashMap<>();
@@ -58,10 +61,10 @@ public final class InstanceManager implements IXmlReader {
 	protected InstanceManager() {
 		// Creates the multiverse.
 		INSTANCES.put(-1, new Instance(-1, "multiverse"));
-		LOG.info("{}: Multiverse Instance created.", getClass().getSimpleName());
+		LOG.info("Multiverse Instance created.");
 		// Creates the universe.
 		INSTANCES.put(0, new Instance(0, "universe"));
-		LOG.info("{}: Universe Instance created.", getClass().getSimpleName());
+		LOG.info("Universe Instance created.");
 		load();
 	}
 	
@@ -69,7 +72,7 @@ public final class InstanceManager implements IXmlReader {
 	public void load() {
 		_instanceIdNames.clear();
 		parseDatapackFile("data/instancenames.xml");
-		LOG.info("{}: Loaded {} instance names.", getClass().getSimpleName(), _instanceIdNames.size());
+		LOG.info("Loaded {} instance names.", _instanceIdNames.size());
 	}
 	
 	public long getInstanceTime(int playerObjId, int id) {
@@ -102,8 +105,8 @@ public final class InstanceManager implements IXmlReader {
 			ps.setLong(4, time);
 			ps.execute();
 			_playerInstanceTimes.get(playerObjId).put(id, time);
-		} catch (Exception e) {
-			LOG.warn("{}: Could not insert character instance time data!", getClass().getSimpleName(), e);
+		} catch (Exception ex) {
+			LOG.warn("Could not insert character instance time data!", ex);
 		}
 	}
 	
@@ -114,8 +117,8 @@ public final class InstanceManager implements IXmlReader {
 			ps.setInt(2, id);
 			ps.execute();
 			_playerInstanceTimes.get(playerObjId).remove(id);
-		} catch (Exception e) {
-			LOG.warn("{}: Could not delete character instance time data!", getClass().getSimpleName(), e);
+		} catch (Exception ex) {
+			LOG.warn("Could not delete character instance time data!", ex);
 		}
 	}
 	
@@ -138,8 +141,8 @@ public final class InstanceManager implements IXmlReader {
 					}
 				}
 			}
-		} catch (Exception e) {
-			LOG.warn("{}: Could not delete character instance time data!", getClass().getSimpleName(), e);
+		} catch (Exception ex) {
+			LOG.warn("Could not delete character instance time data!", ex);
 		}
 	}
 	
@@ -254,7 +257,7 @@ public final class InstanceManager implements IXmlReader {
 		while (getInstance(_dynamic) != null) {
 			_dynamic++;
 			if (_dynamic == Integer.MAX_VALUE) {
-				LOG.warn("{}: More then {} instances has been created!", getClass().getSimpleName(), (Integer.MAX_VALUE - 300000));
+				LOG.warn("More then {} instances has been created!", Integer.MAX_VALUE - 300000);
 				_dynamic = 300000;
 			}
 		}
@@ -266,10 +269,6 @@ public final class InstanceManager implements IXmlReader {
 		return _dynamic;
 	}
 	
-	/**
-	 * Gets the single instance of {@code InstanceManager}.
-	 * @return single instance of {@code InstanceManager}
-	 */
 	public static final InstanceManager getInstance() {
 		return SingletonHolder._instance;
 	}

+ 17 - 61
src/main/java/com/l2jserver/gameserver/instancemanager/MapRegionManager.java

@@ -22,6 +22,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -50,7 +52,9 @@ import com.l2jserver.gameserver.util.IXmlReader;
  */
 public final class MapRegionManager implements IXmlReader {
 	
-	private static final Map<String, L2MapRegion> _regions = new HashMap<>();
+	private static final Logger LOG = LoggerFactory.getLogger(MapRegionManager.class);
+	
+	private static final Map<String, L2MapRegion> REGIONS = new HashMap<>();
 	
 	private static final String DEFAULT_RESPAWN = "talking_island_town";
 	
@@ -60,9 +64,9 @@ public final class MapRegionManager implements IXmlReader {
 	
 	@Override
 	public void load() {
-		_regions.clear();
+		REGIONS.clear();
 		parseDatapackDirectory("data/mapregion", false);
-		LOG.info("{}: Loaded {} map regions.", getClass().getSimpleName(), _regions.size());
+		LOG.info("Loaded {} map regions.", REGIONS.size());
 	}
 	
 	@Override
@@ -112,20 +116,15 @@ public final class MapRegionManager implements IXmlReader {
 								region.addBannedRace(attrs.getNamedItem("race").getNodeValue(), attrs.getNamedItem("point").getNodeValue());
 							}
 						}
-						_regions.put(name, region);
+						REGIONS.put(name, region);
 					}
 				}
 			}
 		}
 	}
 	
-	/**
-	 * @param locX
-	 * @param locY
-	 * @return
-	 */
 	public final L2MapRegion getMapRegion(int locX, int locY) {
-		for (L2MapRegion region : _regions.values()) {
+		for (L2MapRegion region : REGIONS.values()) {
 			if (region.isZoneInRegion(getMapRegionX(locX), getMapRegionY(locY))) {
 				return region;
 			}
@@ -133,11 +132,6 @@ public final class MapRegionManager implements IXmlReader {
 		return null;
 	}
 	
-	/**
-	 * @param locX
-	 * @param locY
-	 * @return
-	 */
 	public final int getMapRegionLocId(int locX, int locY) {
 		L2MapRegion region = getMapRegion(locX, locY);
 		if (region != null) {
@@ -146,34 +140,18 @@ public final class MapRegionManager implements IXmlReader {
 		return 0;
 	}
 	
-	/**
-	 * @param obj
-	 * @return
-	 */
 	public final L2MapRegion getMapRegion(L2Object obj) {
 		return getMapRegion(obj.getX(), obj.getY());
 	}
 	
-	/**
-	 * @param obj
-	 * @return
-	 */
 	public final int getMapRegionLocId(L2Object obj) {
 		return getMapRegionLocId(obj.getX(), obj.getY());
 	}
 	
-	/**
-	 * @param posX
-	 * @return
-	 */
 	public final int getMapRegionX(int posX) {
 		return (posX >> 15) + 9 + 11;// + centerTileX;
 	}
 	
-	/**
-	 * @param posY
-	 * @return
-	 */
 	public final int getMapRegionY(int posY) {
 		return (posY >> 15) + 10 + 8;// + centerTileX;
 	}
@@ -193,35 +171,22 @@ public final class MapRegionManager implements IXmlReader {
 		return region.getTown();
 	}
 	
-	/**
-	 * @param activeChar
-	 * @return
-	 */
 	public int getAreaCastle(L2Character activeChar) {
 		L2MapRegion region = getMapRegion(activeChar);
-		
 		if (region == null) {
 			return 0;
 		}
-		
 		return region.getCastle();
 	}
 	
-	/**
-	 * @param activeChar
-	 * @param teleportWhere
-	 * @return
-	 */
 	public Location getTeleToLocation(L2Character activeChar, TeleportWhereType teleportWhere) {
 		Location loc;
-		
 		if (activeChar.isPlayer()) {
 			final L2PcInstance player = activeChar.getActingPlayer();
 			
 			Castle castle = null;
 			Fort fort = null;
 			ClanHall clanhall = null;
-			
 			if ((player.getClan() != null) && !player.isFlyingMounted() && !player.isFlying()) // flying players in gracia cant use teleports to aden continent
 			{
 				// If teleport to clan hall
@@ -325,9 +290,9 @@ public final class MapRegionManager implements IXmlReader {
 					return getMapRegion(activeChar).getChaoticSpawnLoc();
 				} catch (Exception e) {
 					if (player.isFlyingMounted()) {
-						return _regions.get("union_base_of_kserth").getChaoticSpawnLoc();
+						return REGIONS.get("union_base_of_kserth").getChaoticSpawnLoc();
 					}
-					return _regions.get(DEFAULT_RESPAWN).getChaoticSpawnLoc();
+					return REGIONS.get(DEFAULT_RESPAWN).getChaoticSpawnLoc();
 				}
 			}
 			
@@ -363,26 +328,21 @@ public final class MapRegionManager implements IXmlReader {
 			return getMapRegion(activeChar).getSpawnLoc();
 		} catch (Exception e) {
 			// Port to the default respawn if no closest town found.
-			return _regions.get(DEFAULT_RESPAWN).getSpawnLoc();
+			return REGIONS.get(DEFAULT_RESPAWN).getSpawnLoc();
 		}
 	}
 	
-	/**
-	 * @param activeChar
-	 * @param point
-	 * @return
-	 */
 	public L2MapRegion getRestartRegion(L2Character activeChar, String point) {
 		try {
 			L2PcInstance player = ((L2PcInstance) activeChar);
-			L2MapRegion region = _regions.get(point);
+			L2MapRegion region = REGIONS.get(point);
 			
 			if (region.getBannedRace().containsKey(player.getRace())) {
 				getRestartRegion(player, region.getBannedRace().get(player.getRace()));
 			}
 			return region;
 		} catch (Exception e) {
-			return _regions.get(DEFAULT_RESPAWN);
+			return REGIONS.get(DEFAULT_RESPAWN);
 		}
 	}
 	
@@ -391,18 +351,14 @@ public final class MapRegionManager implements IXmlReader {
 	 * @return if exists the map region identified by that name, null otherwise.
 	 */
 	public L2MapRegion getMapRegionByName(String regionName) {
-		return _regions.get(regionName);
+		return REGIONS.get(regionName);
 	}
 	
-	/**
-	 * Gets the single instance of {@code MapRegionManager}.
-	 * @return single instance of {@code MapRegionManager}
-	 */
 	public static MapRegionManager getInstance() {
-		return SingletonHolder._instance;
+		return SingletonHolder.INSTANCE;
 	}
 	
 	private static class SingletonHolder {
-		protected static final MapRegionManager _instance = new MapRegionManager();
+		protected static final MapRegionManager INSTANCE = new MapRegionManager();
 	}
 }

+ 11 - 10
src/main/java/com/l2jserver/gameserver/instancemanager/RaidBossPointsManager.java

@@ -25,8 +25,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.commons.database.ConnectionFactory;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
@@ -38,7 +39,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  */
 public class RaidBossPointsManager {
 	
-	private static final Logger _log = Logger.getLogger(RaidBossPointsManager.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(RaidBossPointsManager.class);
 	
 	private final Map<Integer, Map<Integer, Integer>> _list = new ConcurrentHashMap<>();
 	
@@ -61,9 +62,9 @@ public class RaidBossPointsManager {
 				values.put(bossId, points);
 				_list.put(charId, values);
 			}
-			_log.info(getClass().getSimpleName() + ": Loaded " + _list.size() + " Characters Raid Points.");
-		} catch (Exception e) {
-			_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldnt load raid points ", e);
+			LOG.info("Loaded {} characters raid points.", _list.size());
+		} catch (Exception ex) {
+			LOG.warn("Couldnt load character raid points!", ex);
 		}
 	}
 	
@@ -74,8 +75,8 @@ public class RaidBossPointsManager {
 			ps.setInt(2, raidId);
 			ps.setInt(3, points);
 			ps.executeUpdate();
-		} catch (Exception e) {
-			_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't update char raid points for player: " + player, e);
+		} catch (Exception ex) {
+			LOG.warn("Could not update character raid points for player {}!", player, ex);
 		}
 	}
 	
@@ -107,8 +108,8 @@ public class RaidBossPointsManager {
 			var s = con.createStatement()) {
 			s.executeUpdate("DELETE from character_raid_points WHERE charId > 0");
 			_list.clear();
-		} catch (Exception e) {
-			_log.log(Level.WARNING, getClass().getSimpleName() + ": Couldn't clean raid points", e);
+		} catch (Exception ex) {
+			LOG.warn("Could not clean character raid points!", ex);
 		}
 	}
 	

+ 79 - 97
src/main/java/com/l2jserver/gameserver/model/entity/Siege.java

@@ -25,8 +25,9 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.ScheduledFuture;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.l2jserver.gameserver.config.Config;
 import com.l2jserver.commons.database.ConnectionFactory;
@@ -66,9 +67,8 @@ import com.l2jserver.gameserver.util.Broadcast;
 
 public class Siege implements Siegable {
 	
-	protected static final Logger _log = Logger.getLogger(Siege.class.getName());
+	private static final Logger LOG = LoggerFactory.getLogger(Siege.class);
 	
-	// typeId's
 	public static final byte OWNER = -1;
 	public static final byte DEFENDER = 0;
 	public static final byte ATTACKER = 1;
@@ -89,38 +89,34 @@ public class Siege implements Siegable {
 				return;
 			}
 			
-			try {
-				long timeRemaining = _siegeEndDate.getTimeInMillis() - Calendar.getInstance().getTimeInMillis();
-				if (timeRemaining > 3600000) {
-					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HOURS_UNTIL_SIEGE_CONCLUSION);
-					sm.addInt(2);
-					announceToPlayer(sm, true);
-					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 3600000); // Prepare task for 1 hr left.
-				} else if ((timeRemaining <= 3600000) && (timeRemaining > 600000)) {
-					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
-					sm.addInt((int) timeRemaining / 60000);
-					announceToPlayer(sm, true);
-					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 600000); // Prepare task for 10 minute left.
-				} else if ((timeRemaining <= 600000) && (timeRemaining > 300000)) {
-					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
-					sm.addInt((int) timeRemaining / 60000);
-					announceToPlayer(sm, true);
-					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 300000); // Prepare task for 5 minute left.
-				} else if ((timeRemaining <= 300000) && (timeRemaining > 10000)) {
-					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
-					sm.addInt((int) timeRemaining / 60000);
-					announceToPlayer(sm, true);
-					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 10000); // Prepare task for 10 seconds count down
-				} else if ((timeRemaining <= 10000) && (timeRemaining > 0)) {
-					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CASTLE_SIEGE_S1_SECONDS_LEFT);
-					sm.addInt((int) timeRemaining / 1000);
-					announceToPlayer(sm, true);
-					ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining); // Prepare task for second count down
-				} else {
-					_castleInst.getSiege().endSiege();
-				}
-			} catch (Exception e) {
-				_log.log(Level.SEVERE, "", e);
+			long timeRemaining = _siegeEndDate.getTimeInMillis() - Calendar.getInstance().getTimeInMillis();
+			if (timeRemaining > 3600000) {
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_HOURS_UNTIL_SIEGE_CONCLUSION);
+				sm.addInt(2);
+				announceToPlayer(sm, true);
+				ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 3600000); // Prepare task for 1 hr left.
+			} else if ((timeRemaining <= 3600000) && (timeRemaining > 600000)) {
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
+				sm.addInt((int) timeRemaining / 60000);
+				announceToPlayer(sm, true);
+				ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 600000); // Prepare task for 10 minute left.
+			} else if ((timeRemaining <= 600000) && (timeRemaining > 300000)) {
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
+				sm.addInt((int) timeRemaining / 60000);
+				announceToPlayer(sm, true);
+				ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 300000); // Prepare task for 5 minute left.
+			} else if ((timeRemaining <= 300000) && (timeRemaining > 10000)) {
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_MINUTES_UNTIL_SIEGE_CONCLUSION);
+				sm.addInt((int) timeRemaining / 60000);
+				announceToPlayer(sm, true);
+				ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining - 10000); // Prepare task for 10 seconds count down
+			} else if ((timeRemaining <= 10000) && (timeRemaining > 0)) {
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.CASTLE_SIEGE_S1_SECONDS_LEFT);
+				sm.addInt((int) timeRemaining / 1000);
+				announceToPlayer(sm, true);
+				ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEndSiegeTask(_castleInst), timeRemaining); // Prepare task for second count down
+			} else {
+				_castleInst.getSiege().endSiege();
 			}
 		}
 	}
@@ -139,39 +135,35 @@ public class Siege implements Siegable {
 				return;
 			}
 			
-			try {
-				if (!getIsTimeRegistrationOver()) {
-					long regTimeRemaining = getTimeRegistrationOverDate().getTimeInMillis() - Calendar.getInstance().getTimeInMillis();
-					if (regTimeRemaining > 0) {
-						_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), regTimeRemaining);
-						return;
-					}
-					endTimeRegistration(true);
-				}
-				
-				long timeRemaining = getSiegeDate().getTimeInMillis() - Calendar.getInstance().getTimeInMillis();
-				if (timeRemaining > 86400000) {
-					_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining - 86400000); // Prepare task for 24 before siege start to end registration
-				} else if ((timeRemaining <= 86400000) && (timeRemaining > 13600000)) {
-					SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.REGISTRATION_TERM_FOR_S1_ENDED);
-					sm.addCastleId(getCastle().getResidenceId());
-					Broadcast.toAllOnlinePlayers(sm);
-					_isRegistrationOver = true;
-					clearSiegeWaitingClan();
-					_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining - 13600000); // Prepare task for 1 hr left before siege start.
-				} else if ((timeRemaining <= 13600000) && (timeRemaining > 600000)) {
-					_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining - 600000); // Prepare task for 10 minute left.
-				} else if ((timeRemaining <= 600000) && (timeRemaining > 300000)) {
-					_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining - 300000); // Prepare task for 5 minute left.
-				} else if ((timeRemaining <= 300000) && (timeRemaining > 10000)) {
-					_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining - 10000); // Prepare task for 10 seconds count down
-				} else if ((timeRemaining <= 10000) && (timeRemaining > 0)) {
-					_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining); // Prepare task for second count down
-				} else {
-					_castleInst.getSiege().startSiege();
+			if (!getIsTimeRegistrationOver()) {
+				long regTimeRemaining = getTimeRegistrationOverDate().getTimeInMillis() - Calendar.getInstance().getTimeInMillis();
+				if (regTimeRemaining > 0) {
+					_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), regTimeRemaining);
+					return;
 				}
-			} catch (Exception e) {
-				_log.log(Level.SEVERE, "", e);
+				endTimeRegistration(true);
+			}
+			
+			long timeRemaining = getSiegeDate().getTimeInMillis() - Calendar.getInstance().getTimeInMillis();
+			if (timeRemaining > 86400000) {
+				_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining - 86400000); // Prepare task for 24 before siege start to end registration
+			} else if ((timeRemaining <= 86400000) && (timeRemaining > 13600000)) {
+				SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.REGISTRATION_TERM_FOR_S1_ENDED);
+				sm.addCastleId(getCastle().getResidenceId());
+				Broadcast.toAllOnlinePlayers(sm);
+				_isRegistrationOver = true;
+				clearSiegeWaitingClan();
+				_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining - 13600000); // Prepare task for 1 hr left before siege start.
+			} else if ((timeRemaining <= 13600000) && (timeRemaining > 600000)) {
+				_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining - 600000); // Prepare task for 10 minute left.
+			} else if ((timeRemaining <= 600000) && (timeRemaining > 300000)) {
+				_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining - 300000); // Prepare task for 5 minute left.
+			} else if ((timeRemaining <= 300000) && (timeRemaining > 10000)) {
+				_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining - 10000); // Prepare task for 10 seconds count down
+			} else if ((timeRemaining <= 10000) && (timeRemaining > 0)) {
+				_scheduledStartSiegeTask = ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStartSiegeTask(_castleInst), timeRemaining); // Prepare task for second count down
+			} else {
+				_castleInst.getSiege().startSiege();
 			}
 		}
 	}
@@ -610,8 +602,8 @@ public class Siege implements Siegable {
 			getAttackerClans().clear();
 			getDefenderClans().clear();
 			getDefenderWaitingClans().clear();
-		} catch (Exception e) {
-			_log.log(Level.WARNING, "Exception: clearSiegeClan(): " + e.getMessage(), e);
+		} catch (Exception ex) {
+			LOG.warn("There has been an error clearing siege clans!", ex);
 		}
 	}
 	
@@ -623,8 +615,8 @@ public class Siege implements Siegable {
 			ps.execute();
 			
 			getDefenderWaitingClans().clear();
-		} catch (Exception e) {
-			_log.log(Level.WARNING, "Exception: clearSiegeWaitingClan(): " + e.getMessage(), e);
+		} catch (Exception ex) {
+			LOG.warn("There has been an error clearing siege waiting clans!", ex);
 		}
 	}
 	
@@ -806,14 +798,13 @@ public class Siege implements Siegable {
 			ps.execute();
 			
 			loadSiegeClan();
-		} catch (Exception e) {
-			_log.log(Level.WARNING, "Exception: removeSiegeClan(): " + e.getMessage(), e);
+		} catch (Exception ex) {
+			LOG.warn("There has been an error removing clan from siege!", ex);
 		}
 	}
 	
 	/**
-	 * Remove clan from siege<BR>
-	 * <BR>
+	 * Remove clan from siege.
 	 * @param clan clan being removed
 	 */
 	public void removeSiegeClan(L2Clan clan) {
@@ -832,14 +823,10 @@ public class Siege implements Siegable {
 		removeSiegeClan(player.getClan());
 	}
 	
-	/**
-	 * Start the auto tasks<BR>
-	 * <BR>
-	 */
 	public void startAutoTask() {
 		correctSiegeDateTime();
 		
-		_log.info("Siege of " + getCastle().getName() + ": " + getCastle().getSiegeDate().getTime());
+		LOG.info("Siege of {}: {}.", getCastle().getName(), getCastle().getSiegeDate().getTime());
 		
 		loadSiegeClan();
 		
@@ -1036,8 +1023,8 @@ public class Siege implements Siegable {
 					}
 				}
 			}
-		} catch (Exception e) {
-			_log.log(Level.WARNING, "Exception: loadSiegeClan(): " + e.getMessage(), e);
+		} catch (Exception ex) {
+			LOG.warn("There has been an error loading siege clans!", ex);
 		}
 	}
 	
@@ -1104,14 +1091,13 @@ public class Siege implements Siegable {
 			ps.setString(3, String.valueOf(getIsTimeRegistrationOver()));
 			ps.setInt(4, getCastle().getResidenceId());
 			ps.execute();
-		} catch (Exception e) {
-			_log.log(Level.WARNING, "Exception: saveSiegeDate(): " + e.getMessage(), e);
+		} catch (Exception ex) {
+			LOG.warn("There has been an error saving siege date!", ex);
 		}
 	}
 	
 	/**
-	 * Save registration to database.<BR>
-	 * <BR>
+	 * Save registration to database.
 	 * @param clan The L2Clan of player
 	 * @param typeId -1 = owner 0 = defender, 1 = attacker, 2 = defender waiting
 	 * @param isUpdateRegistration
@@ -1155,8 +1141,8 @@ public class Siege implements Siegable {
 			} else if (typeId == DEFENDER_NOT_APPROVED) {
 				addDefenderWaiting(clan.getId());
 			}
-		} catch (Exception e) {
-			_log.log(Level.WARNING, "Exception: saveSiegeClan(L2Clan clan, int typeId, boolean isUpdateRegistration): " + e.getMessage(), e);
+		} catch (Exception ex) {
+			LOG.warn("There has been an error saving siege clan!", ex);
 		}
 	}
 	
@@ -1198,8 +1184,8 @@ public class Siege implements Siegable {
 				final L2Spawn spawn = new L2Spawn(ts.getId());
 				spawn.setLocation(ts.getLocation());
 				_controlTowers.add((L2ControlTowerInstance) spawn.doSpawn());
-			} catch (Exception e) {
-				_log.warning(getClass().getName() + ": Cannot spawn control tower! " + e);
+			} catch (Exception ex) {
+				LOG.warn("There has been an error spawning control tower Id {}!", ts.getId(), ex);
 			}
 		}
 		_controlTowerCount = _controlTowers.size();
@@ -1217,16 +1203,12 @@ public class Siege implements Siegable {
 				tower.setUpgradeLevel(ts.getUpgradeLevel());
 				tower.setZoneList(ts.getZoneList());
 				_flameTowers.add(tower);
-			} catch (Exception e) {
-				_log.warning(getClass().getName() + ": Cannot spawn flame tower! " + e);
+			} catch (Exception ex) {
+				LOG.warn("There has been an error spawning flame tower Id {}!", ts.getId(), ex);
 			}
 		}
 	}
 	
-	/**
-	 * Spawn siege guard.<BR>
-	 * <BR>
-	 */
 	private void spawnSiegeGuard() {
 		getSiegeGuardManager().spawnSiegeGuard();
 		

+ 1 - 1
src/main/java/com/l2jserver/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java

@@ -56,7 +56,7 @@ import com.l2jserver.gameserver.util.Broadcast;
  */
 public abstract class ClanHallSiegeEngine extends Quest implements Siegable {
 	
-	private static final Logger _log = LoggerFactory.getLogger(ClanHallSiegeEngine.class);
+	public static final Logger _log = LoggerFactory.getLogger(ClanHallSiegeEngine.class);
 	
 	private static final String SQL_LOAD_ATTACKERS = "SELECT attacker_id FROM clanhall_siege_attackers WHERE clanhall_id = ?";
 	

+ 1 - 0
src/main/java/com/l2jserver/gameserver/network/clientpackets/CharacterSelect.java

@@ -45,6 +45,7 @@ import com.l2jserver.gameserver.network.serverpackets.SSQInfo;
 import com.l2jserver.gameserver.network.serverpackets.ServerClose;
 
 public class CharacterSelect extends L2GameClientPacket {
+	
 	private static final String _C__12_CHARACTERSELECT = "[C] 12 CharacterSelect";
 	
 	protected static final Logger _logAccounting = Logger.getLogger("accounting");

+ 6 - 3
src/main/java/com/l2jserver/gameserver/scripting/ScriptEngineManager.java

@@ -46,7 +46,8 @@ import com.l2jserver.gameserver.config.Config;
 public final class ScriptEngineManager {
 	private static final Logger LOG = LoggerFactory.getLogger(ScriptEngineManager.class);
 	
-	public static final File SCRIPT_FOLDER = new File(Config.DATAPACK_ROOT.getAbsolutePath(), "data/scripts");
+	// TODO(Zoey76): Implement this correctly.
+	public static final File SCRIPT_FOLDER = new File(Config.DATAPACK_ROOT.getParentFile(), "java");
 	
 	private static final String CLASS_PATH = SCRIPT_FOLDER.getAbsolutePath() + System.getProperty("path.separator") + System.getProperty("java.class.path");
 	
@@ -58,12 +59,14 @@ public final class ScriptEngineManager {
 		String[].class
 	};
 	
-	private static final InMemoryJavaCompiler COMPILER = InMemoryJavaCompiler.newInstance().useOptions("-classpath", CLASS_PATH);
+	private static final InMemoryJavaCompiler COMPILER = InMemoryJavaCompiler.newInstance() //
+		.useOptions("-classpath", CLASS_PATH) //
+		.ignoreWarnings();
 	
 	public void executeScriptList(File list) throws Exception {
 		if (Config.NO_QUESTS) {
 			if (!Config.NO_HANDLERS) {
-				addSource(new File(SCRIPT_FOLDER, "handlers/MasterHandler.java"));
+				addSource(new File(SCRIPT_FOLDER, "com/l2jserver/datapack/handlers/MasterHandler.java"));
 				LOG.info("Handlers loaded, all other scripts skipped!");
 			}
 			return;

+ 0 - 4
src/main/resources/config/hexid.txt

@@ -1,4 +0,0 @@
-#the hexID to auth into login
-#Sat Mar 02 23:09:47 UYT 2019
-HexID=66c3e274d40345049084d2f4c6dc4110
-ServerID=1