Sfoglia il codice sorgente

BETA: Misc fixes:
* Source format, please keep it that way.
* Avoid printStackTrace()
* Fixing warnings #6390

Zoey76 12 anni fa
parent
commit
4d72a0bd96

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

@@ -105,7 +105,7 @@ public class Announcements
 		}
 	}
 	
-	public void addEventAnnouncement(DateRange validDateRange, String[] msg)
+	public void addEventAnnouncement(DateRange validDateRange, String... msg)
 	{
 		List<Object> entry = new FastList<>();
 		entry.add(validDateRange);

+ 12 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/datatables/EventDroplist.java

@@ -75,6 +75,18 @@ public class EventDroplist
 		_allNpcDateDrops.add(new DateDrop(dateRange, new EventDrop(itemIdList, count[0], count[1], chance)));
 	}
 	
+	/**
+	 * @param itemId the item Id for the drop
+	 * @param minCount the minimum drop count
+	 * @param maxCount the maximum drop count
+	 * @param chance the drop chance
+	 * @param dateRange the event drop rate range
+	 */
+	public void addGlobalDrop(int itemId, int minCount, int maxCount, int chance, DateRange dateRange)
+	{
+		_allNpcDateDrops.add(new DateDrop(dateRange, new EventDrop(itemId, minCount, maxCount, chance)));
+	}
+	
 	/**
 	 * Adds an event drop for a given date range.
 	 * @param dateRange the date range.

+ 4 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/model/L2DropData.java

@@ -32,8 +32,9 @@ public class L2DropData
 	private String[] _stateID = null;
 	
 	public L2DropData()
-	{}
-
+	{
+	}
+	
 	public L2DropData(int id, int min, int max, double chance)
 	{
 		_itemId = id;
@@ -41,7 +42,7 @@ public class L2DropData
 		_maxDrop = max;
 		_chance = chance;
 	}
-
+	
 	/**
 	 * Returns the ID of the item dropped
 	 * @return int

+ 16 - 22
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java

@@ -7698,12 +7698,12 @@ public final class L2PcInstance extends L2Playable
 	private static L2PcInstance restore(int objectId)
 	{
 		L2PcInstance player = null;
-		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+		try (Connection con = L2DatabaseFactory.getInstance().getConnection();
+			PreparedStatement statement = con.prepareStatement(RESTORE_CHARACTER);
+			ResultSet rset = statement.executeQuery())
 		{
 			// Retrieve the L2PcInstance from the characters table of the database
-			final PreparedStatement statement = con.prepareStatement(RESTORE_CHARACTER);
 			statement.setInt(1, objectId);
-			final ResultSet rset = statement.executeQuery();
 			
 			double currentCp = 0;
 			double currentHp = 0;
@@ -7875,26 +7875,21 @@ public final class L2PcInstance extends L2Playable
 				player.setLang(rset.getString("language"));
 				
 				// Retrieve the name and ID of the other characters assigned to this account.
-				PreparedStatement stmt = con.prepareStatement("SELECT charId, char_name FROM characters WHERE account_name=? AND charId<>?");
-				stmt.setString(1, player._accountName);
-				stmt.setInt(2, objectId);
-				ResultSet chars = stmt.executeQuery();
-				
-				while (chars.next())
+				try (PreparedStatement stmt = con.prepareStatement("SELECT charId, char_name FROM characters WHERE account_name=? AND charId<>?"))
 				{
-					Integer charId = chars.getInt("charId");
-					String charName = chars.getString("char_name");
-					player._chars.put(charId, charName);
+					stmt.setString(1, player._accountName);
+					stmt.setInt(2, objectId);
+					try (ResultSet chars = stmt.executeQuery())
+					{
+						while (chars.next())
+						{
+							player._chars.put(chars.getInt("charId"), chars.getString("char_name"));
+						}
+					}
 				}
-				
-				chars.close();
-				stmt.close();
 				break;
 			}
 			
-			rset.close();
-			statement.close();
-			
 			if (player == null)
 			{
 				return null;
@@ -7918,17 +7913,16 @@ public final class L2PcInstance extends L2Playable
 			// Note that Clan, Noblesse and Hero skills are given separately and not here.
 			// Retrieve from the database all skills of this L2PcInstance and add them to _skills
 			player.restoreCharData();
-
-			// buff and status icons
+			
+			// Buff and status icons
 			if (Config.STORE_SKILL_COOLTIME)
 			{
 				player.restoreEffects();
 			}
 			
 			// Reward auto-get skills and all available skills if auto-learn skills is true.
-			//Moved beyond restoreEffects() for proper handling of weapon's "unequip_skill" on player login
 			player.rewardSkills();
-
+			
 			player.restoreItemReuse();
 			
 			// Restore current Cp, HP and MP values

+ 73 - 84
L2J_Server_BETA/java/com/l2jserver/gameserver/model/event/LongTimeEvent.java

@@ -12,22 +12,9 @@
  * 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.event;
 
-import com.l2jserver.gameserver.Announcements;
-import com.l2jserver.gameserver.ThreadPoolManager;
-import com.l2jserver.gameserver.datatables.ItemTable;
-import com.l2jserver.gameserver.datatables.EventDroplist;
-import com.l2jserver.gameserver.datatables.NpcTable;
-import com.l2jserver.gameserver.model.Location;
-import com.l2jserver.gameserver.model.L2DropData;
-import com.l2jserver.gameserver.model.quest.Quest;
-import com.l2jserver.gameserver.script.DateRange;
-
 import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -42,53 +29,58 @@ import javax.xml.parsers.DocumentBuilderFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
+import com.l2jserver.gameserver.Announcements;
+import com.l2jserver.gameserver.ThreadPoolManager;
+import com.l2jserver.gameserver.datatables.EventDroplist;
+import com.l2jserver.gameserver.datatables.ItemTable;
+import com.l2jserver.gameserver.datatables.NpcTable;
+import com.l2jserver.gameserver.model.L2DropData;
+import com.l2jserver.gameserver.model.Location;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.script.DateRange;
+
 /**
- ** @author GKR
- **
- ** Parent class for long time events. Maintains config reading, spawn of NPC's, adding of event's drop;
+ * Parent class for long time events.<br>
+ * Maintains config reading, spawn of NPC's, adding of event's drop.
+ * @author GKR
  */
 public class LongTimeEvent extends Quest
 {
 	protected final static Logger _log = Logger.getLogger(LongTimeEvent.class.getName());
-
+	
 	private String _eventName;
-
+	
 	// Messages
 	private String _onEnterMsg = "Event is in process";
-	private String _endMsg = "Event ends!";
-
-	private DateRange	_eventPeriod = null;
-	private DateRange	_dropPeriod;
-
+	protected String _endMsg = "Event ends!";
+	
+	private DateRange _eventPeriod = null;
+	private DateRange _dropPeriod;
+	
 	// NPC's to spawm and their spawn points
-	private List<NpcSpawn> _spawnList = new ArrayList<NpcSpawn>();
-
+	private final List<NpcSpawn> _spawnList = new ArrayList<>();
+	
 	// Drop data for event
-	private List<L2DropData> _dropList = new ArrayList<L2DropData>();
+	private final List<L2DropData> _dropList = new ArrayList<>();
 	
 	private class NpcSpawn
 	{
 		protected final Location loc;
 		protected final int npcId;
+		
 		protected NpcSpawn(int pNpcId, Location spawnLoc)
 		{
 			loc = spawnLoc;
-			npcId = pNpcId; 
+			npcId = pNpcId;
 		}
 	}
-
+	
 	public LongTimeEvent(int questId, String name, String descr)
 	{
 		super(questId, name, descr);
-		try
-		{
-			loadConfig();
-		}
-		catch(FileNotFoundException fnfe)
-		{
-		  _log.log(Level.WARNING, getScriptName() + " event: not found config XML, event ignored " + fnfe.getMessage(), fnfe);
-		}
-
+		
+		loadConfig();
+		
 		if (_eventPeriod != null)
 		{
 			if (_eventPeriod.isWithinRange(new Date()))
@@ -98,19 +90,21 @@ public class LongTimeEvent extends Quest
 			}
 			else if (_eventPeriod.getStartDate().after(new Date()))
 			{
-				long delay = _eventPeriod.getStartDate().getTime() - System.currentTimeMillis(); 				
+				long delay = _eventPeriod.getStartDate().getTime() - System.currentTimeMillis();
 				ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleStart(), delay);
 				_log.info("Event " + _eventName + " will be started at " + _eventPeriod.getEndDate());
 			}
 			else
-				_log.info("Event " + _eventName + " has passed... Ignored ");			
+			{
+				_log.info("Event " + _eventName + " has passed... Ignored ");
+			}
 		}
 	}
-
+	
 	/**
 	 * Load event configuration file
 	 */
-	private void loadConfig() throws FileNotFoundException
+	private void loadConfig()
 	{
 		File configFile = new File("data/scripts/events/" + getScriptName() + "/config.xml");
 		try
@@ -125,7 +119,7 @@ public class LongTimeEvent extends Quest
 			_eventName = doc.getDocumentElement().getAttributes().getNamedItem("name").getNodeValue();
 			String period = doc.getDocumentElement().getAttributes().getNamedItem("active").getNodeValue();
 			_eventPeriod = DateRange.parse(period, new SimpleDateFormat("dd MM yyyy", Locale.US));
-
+			
 			if (doc.getDocumentElement().getAttributes().getNamedItem("dropPeriod") != null)
 			{
 				String dropPeriod = doc.getDocumentElement().getAttributes().getNamedItem("dropPeriod").getNodeValue();
@@ -134,20 +128,20 @@ public class LongTimeEvent extends Quest
 				if (!_eventPeriod.isWithinRange(_dropPeriod.getStartDate()) || !_eventPeriod.isWithinRange(_dropPeriod.getEndDate()))
 				{
 					_dropPeriod = _eventPeriod;
-				} 
+				}
 			}
 			else
 			{
 				_dropPeriod = _eventPeriod; // Drop period, if not specified, assumes all event period.
 			}
-
+			
 			if (_eventPeriod == null)
 			{
 				throw new NullPointerException("WARNING!!! " + getScriptName() + " event: illegal event period");
 			}
-
+			
 			Date today = new Date();
-
+			
 			if (_eventPeriod.getStartDate().after(today) || _eventPeriod.isWithinRange(today))
 			{
 				Node first = doc.getDocumentElement().getFirstChild();
@@ -167,31 +161,31 @@ public class LongTimeEvent extends Quest
 									int maxCount = Integer.parseInt(d.getAttributes().getNamedItem("max").getNodeValue());
 									String chance = d.getAttributes().getNamedItem("chance").getNodeValue();
 									int finalChance = 0;
-
+									
 									if (!chance.isEmpty() && chance.endsWith("%"))
 									{
-										finalChance = Integer.parseInt(chance.substring(0, chance.length()-1)) * 10000;
+										finalChance = Integer.parseInt(chance.substring(0, chance.length() - 1)) * 10000;
 									}
-
+									
 									if (ItemTable.getInstance().getTemplate(itemId) == null)
 									{
 										_log.warning(getScriptName() + " event: " + itemId + " is wrong item id, item was not added in droplist");
 										continue;
 									}
-
+									
 									if (minCount > maxCount)
 									{
 										_log.warning(getScriptName() + " event: item " + itemId + " - min greater than max, item was not added in droplist");
 										continue;
 									}
-
-									if (finalChance < 10000 || finalChance > L2DropData.MAX_CHANCE)
+									
+									if ((finalChance < 10000) || (finalChance > L2DropData.MAX_CHANCE))
 									{
 										_log.warning(getScriptName() + " event: item " + itemId + " - incorrect drop chance, item was not added in droplist");
 										continue;
 									}
-
-									_dropList.add (new L2DropData(itemId, minCount, maxCount, finalChance));
+									
+									_dropList.add(new L2DropData(itemId, minCount, maxCount, finalChance));
 								}
 								catch (NumberFormatException nfe)
 								{
@@ -200,9 +194,9 @@ public class LongTimeEvent extends Quest
 							}
 						}
 					}
-
+					
 					else if (n.getNodeName().equalsIgnoreCase("spawnlist"))
-					{		
+					{
 						// Loading spawnlist
 						for (Node d = n.getFirstChild(); d != null; d = d.getNextSibling())
 						{
@@ -215,23 +209,23 @@ public class LongTimeEvent extends Quest
 									int yPos = Integer.parseInt(d.getAttributes().getNamedItem("y").getNodeValue());
 									int zPos = Integer.parseInt(d.getAttributes().getNamedItem("z").getNodeValue());
 									int heading = d.getAttributes().getNamedItem("heading").getNodeValue() != null ? Integer.parseInt(d.getAttributes().getNamedItem("heading").getNodeValue()) : 0;
-
+									
 									if (NpcTable.getInstance().getTemplate(npcId) == null)
 									{
 										_log.warning(getScriptName() + " event: " + npcId + " is wrong NPC id, NPC was not added in spawnlist");
 										continue;
 									}
-
+									
 									_spawnList.add(new NpcSpawn(npcId, new Location(xPos, yPos, zPos, heading)));
 								}
 								catch (NumberFormatException nfe)
 								{
 									_log.warning("Wrong number format in config.xml spawnlist block for " + getScriptName() + " event");
 								}
-							}			
+							}
 						}
 					}
-
+					
 					else if (n.getNodeName().equalsIgnoreCase("messages"))
 					{
 						// Loading Messages
@@ -251,37 +245,33 @@ public class LongTimeEvent extends Quest
 									{
 										_onEnterMsg = msgText;
 									}
-								}   
+								}
 							}
 						}
 					}
 				}
 			}
 		}
-		catch (IOException e)
+		catch (Exception e)
 		{
 			_log.log(Level.WARNING, getScriptName() + " event: error reading " + configFile.getAbsolutePath() + " ! " + e.getMessage(), e);
 		}
-		catch (Exception e) 
-		{
-    	e.printStackTrace();
-  	}		
 	}
-
+	
 	/**
-	 * Maintenance event start - adds global drop, spawns event NPC's, shows start announcement
+	 * Maintenance event start - adds global drop, spawns event NPC's, shows start announcement.
 	 */
-	private void startEvent()
+	protected void startEvent()
 	{
 		// Add drop
 		if (_dropList != null)
 		{
 			for (L2DropData drop : _dropList)
 			{
-				EventDroplist.getInstance().addGlobalDrop(new int[] { drop.getItemId() }, new int[] { drop.getMinDrop(), drop.getMaxDrop() }, (int) drop.getChance(), _dropPeriod);
+				EventDroplist.getInstance().addGlobalDrop(drop.getItemId(), drop.getMinDrop(), drop.getMaxDrop(), (int) drop.getChance(), _dropPeriod);
 			}
 		}
-
+		
 		// Add spawns
 		Long millisToEventEnd = _eventPeriod.getEndDate().getTime() - System.currentTimeMillis();
 		if (_spawnList != null)
@@ -294,14 +284,14 @@ public class LongTimeEvent extends Quest
 		
 		// Send message on begin
 		Announcements.getInstance().announceToAll(_onEnterMsg);
-
+		
 		// Add announce for entering players
-		Announcements.getInstance().addEventAnnouncement(_eventPeriod, new String[] { _onEnterMsg });
-
+		Announcements.getInstance().addEventAnnouncement(_eventPeriod, _onEnterMsg);
+		
 		// Schedule event end (now only for message sending)
-		ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEnd(), millisToEventEnd); 
+		ThreadPoolManager.getInstance().scheduleGeneral(new ScheduleEnd(), millisToEventEnd);
 	}
-
+	
 	/**
 	 * @return event period
 	 */
@@ -309,7 +299,7 @@ public class LongTimeEvent extends Quest
 	{
 		return _eventPeriod;
 	}
-
+	
 	/**
 	 * @return {@code true} if now is event period
 	 */
@@ -317,7 +307,7 @@ public class LongTimeEvent extends Quest
 	{
 		return _eventPeriod.isWithinRange(new Date());
 	}
-
+	
 	/**
 	 * @return {@code true} if now is drop period
 	 */
@@ -325,8 +315,8 @@ public class LongTimeEvent extends Quest
 	{
 		return _dropPeriod.isWithinRange(new Date());
 	}
-
-	private class ScheduleStart implements Runnable
+	
+	protected class ScheduleStart implements Runnable
 	{
 		@Override
 		public void run()
@@ -334,15 +324,14 @@ public class LongTimeEvent extends Quest
 			startEvent();
 		}
 	}
-
-	private class ScheduleEnd implements Runnable
+	
+	protected class ScheduleEnd implements Runnable
 	{
 		@Override
 		public void run()
 		{
 			// Send message on end
-			Announcements.getInstance().announceToAll(_endMsg); 
+			Announcements.getInstance().announceToAll(_endMsg);
 		}
 	}
 }
-

+ 7 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java

@@ -397,14 +397,17 @@ public abstract class Inventory extends ItemContainer
 					}
 				}
 			}
-
+			
 			// Apply skill, if weapon have "skills on unequip"
 			L2Skill unequipSkill = it.getUnequipSkill();
 			if (unequipSkill != null)
 			{
 				ISkillHandler handler = SkillHandler.getInstance().getHandler(unequipSkill.getSkillType());
-				L2PcInstance[] targets = { player };
-
+				L2PcInstance[] targets =
+				{
+					player
+				};
+				
 				if (handler != null)
 				{
 					handler.useSkill(player, unequipSkill, targets);
@@ -414,7 +417,7 @@ public abstract class Inventory extends ItemContainer
 					unequipSkill.useSkill(player, targets);
 				}
 			}
-
+			
 			if (update)
 			{
 				player.sendSkillList();

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

@@ -220,7 +220,7 @@ public abstract class L2Item
 	private final boolean _ex_immediate_effect;
 	private final int _defaultEnchantLevel;
 	private final L2ActionType _defaultAction;
-
+	
 	protected int _type1; // needed for item list (inventory)
 	protected int _type2; // different lists for armor, weapon, etc
 	protected Elementals[] _elementals = null;
@@ -229,10 +229,10 @@ public abstract class L2Item
 	protected List<Condition> _preConditions;
 	private SkillHolder[] _skillHolder;
 	private SkillHolder _unequipSkill = null;
-
+	
 	protected static final Func[] _emptyFunctionSet = new Func[0];
 	protected static final L2Effect[] _emptyEffectSet = new L2Effect[0];
-
+	
 	private final List<Quest> _questEvents = new FastList<>();
 	private final int _useSkillDisTime;
 	private final int _reuseDelay;
@@ -367,7 +367,7 @@ public abstract class L2Item
 				_skillHolder = skillHolder;
 			}
 		}
-
+		
 		skills = set.getString("unequip_skill", null);
 		if (skills != null)
 		{
@@ -383,8 +383,8 @@ public abstract class L2Item
 				}
 				catch (Exception nfe)
 				{
-					// Incorrect syntax, dont add new skill
-					_log.info(StringUtil.concat("> Couldnt parse ", skills, " in weapon unequip skills! item ", this.toString()));
+					// Incorrect syntax, don't add new skill
+					_log.info(StringUtil.concat("Couldnt parse ", skills, " in weapon unequip skills! item ", toString()));
 				}
 				if ((id > 0) && (level > 0))
 				{
@@ -392,7 +392,7 @@ public abstract class L2Item
 				}
 			}
 		}
-
+		
 		_common = ((_itemId >= 11605) && (_itemId <= 12361));
 		_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));
@@ -983,7 +983,7 @@ public abstract class L2Item
 	{
 		return _unequipSkill == null ? null : _unequipSkill.getSkill();
 	}
-
+	
 	public boolean checkCondition(L2Character activeChar, L2Object target, boolean sendMessage)
 	{
 		if (activeChar.canOverrideCond(PcCondOverride.ITEM_CONDITIONS) && !Config.GM_ITEM_RESTRICTION)

+ 7 - 7
L2J_Server_BETA/java/com/l2jserver/gameserver/model/zone/type/L2OlympiadStadiumZone.java

@@ -109,29 +109,29 @@ public class L2OlympiadStadiumZone extends L2ZoneRespawn
 			}
 		}
 	}
-
+	
 	public final void spawnBuffers()
 	{
 		for (L2Npc buffer : InstanceManager.getInstance().getInstance(getInstanceId()).getNpcs())
 		{
-			if (buffer instanceof L2OlympiadManagerInstance && !buffer.isVisible())
+			if ((buffer instanceof L2OlympiadManagerInstance) && !buffer.isVisible())
 			{
 				buffer.spawnMe();
 			}
 		}
 	}
-
+	
 	public final void deleteBuffers()
 	{
 		for (L2Npc buffer : InstanceManager.getInstance().getInstance(getInstanceId()).getNpcs())
 		{
-			if (buffer instanceof L2OlympiadManagerInstance && buffer.isVisible())
+			if ((buffer instanceof L2OlympiadManagerInstance) && buffer.isVisible())
 			{
 				buffer.decayMe();
 			}
 		}
 	}
-
+	
 	public final void broadcastStatusUpdate(L2PcInstance player)
 	{
 		final ExOlympiadUserInfo packet = new ExOlympiadUserInfo(player);
@@ -173,7 +173,7 @@ public class L2OlympiadStadiumZone extends L2ZoneRespawn
 				}
 			}
 		}
-
+		
 		if (character.isPlayable())
 		{
 			final L2PcInstance player = character.getActingPlayer();
@@ -195,7 +195,7 @@ public class L2OlympiadStadiumZone extends L2ZoneRespawn
 			}
 		}
 	}
-
+	
 	@Override
 	protected final void onExit(L2Character character)
 	{