ItemsAutoDestroy class is a task manager.
This commit is contained in:
@ -124,6 +124,7 @@ import org.l2jmobius.gameserver.network.ClientNetworkManager;
|
||||
import org.l2jmobius.gameserver.script.EventDroplist;
|
||||
import org.l2jmobius.gameserver.script.faenor.FaenorScriptEngine;
|
||||
import org.l2jmobius.gameserver.scripting.ScriptEngineManager;
|
||||
import org.l2jmobius.gameserver.taskmanager.ItemsAutoDestroyTaskManager;
|
||||
import org.l2jmobius.gameserver.taskmanager.TaskManager;
|
||||
import org.l2jmobius.gameserver.ui.Gui;
|
||||
import org.l2jmobius.telnet.TelnetStatusThread;
|
||||
@ -313,7 +314,7 @@ public class GameServer
|
||||
}
|
||||
if ((Config.AUTODESTROY_ITEM_AFTER > 0) || (Config.HERB_AUTO_DESTROY_TIME > 0))
|
||||
{
|
||||
ItemsAutoDestroy.getInstance();
|
||||
ItemsAutoDestroyTaskManager.getInstance();
|
||||
}
|
||||
|
||||
Util.printSection("Manor");
|
||||
|
@ -28,11 +28,11 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import org.l2jmobius.commons.database.DatabaseFactory;
|
||||
import org.l2jmobius.commons.util.Chronos;
|
||||
import org.l2jmobius.gameserver.ItemsAutoDestroy;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
||||
import org.l2jmobius.gameserver.taskmanager.ItemsAutoDestroyTaskManager;
|
||||
|
||||
/**
|
||||
* This class manage all items on ground
|
||||
@ -139,7 +139,7 @@ public class ItemsOnGroundManager
|
||||
// add to ItemsAutoDestroy only items not protected
|
||||
if (!Config.LIST_PROTECTED_ITEMS.contains(item.getItemId()) && (result.getLong(8) > -1) && (((Config.AUTODESTROY_ITEM_AFTER > 0) && (item.getItemType() != EtcItemType.HERB)) || ((Config.HERB_AUTO_DESTROY_TIME > 0) && (item.getItemType() == EtcItemType.HERB))))
|
||||
{
|
||||
ItemsAutoDestroy.getInstance().addItem(item);
|
||||
ItemsAutoDestroyTaskManager.getInstance().addItem(item);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,6 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Chronos;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.ItemsAutoDestroy;
|
||||
import org.l2jmobius.gameserver.ai.AttackableAI;
|
||||
import org.l2jmobius.gameserver.ai.CreatureAI;
|
||||
import org.l2jmobius.gameserver.ai.CtrlEvent;
|
||||
@ -67,6 +66,7 @@ import org.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
import org.l2jmobius.gameserver.script.EventDroplist;
|
||||
import org.l2jmobius.gameserver.script.EventDroplist.DateDrop;
|
||||
import org.l2jmobius.gameserver.taskmanager.ItemsAutoDestroyTaskManager;
|
||||
import org.l2jmobius.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
@ -2330,7 +2330,7 @@ public class Attackable extends NpcInstance
|
||||
// Add drop to auto destroy item task
|
||||
if (!Config.LIST_PROTECTED_ITEMS.contains(item.getItemId()) && (((Config.AUTODESTROY_ITEM_AFTER > 0) && (ditem.getItemType() != EtcItemType.HERB)) || ((Config.HERB_AUTO_DESTROY_TIME > 0) && (ditem.getItemType() == EtcItemType.HERB))))
|
||||
{
|
||||
ItemsAutoDestroy.getInstance().addItem(ditem);
|
||||
ItemsAutoDestroyTaskManager.getInstance().addItem(ditem);
|
||||
}
|
||||
|
||||
ditem.setProtected(false);
|
||||
|
@ -40,7 +40,6 @@ import org.l2jmobius.commons.database.DatabaseFactory;
|
||||
import org.l2jmobius.commons.util.Chronos;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.GameTimeController;
|
||||
import org.l2jmobius.gameserver.ItemsAutoDestroy;
|
||||
import org.l2jmobius.gameserver.LoginServerThread;
|
||||
import org.l2jmobius.gameserver.RecipeController;
|
||||
import org.l2jmobius.gameserver.ai.CreatureAI;
|
||||
@ -229,6 +228,7 @@ import org.l2jmobius.gameserver.network.serverpackets.TradePressOwnOk;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.TradeStart;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.UserInfo;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation;
|
||||
import org.l2jmobius.gameserver.taskmanager.ItemsAutoDestroyTaskManager;
|
||||
import org.l2jmobius.gameserver.taskmanager.PlayerAutoSaveTaskManager;
|
||||
import org.l2jmobius.gameserver.taskmanager.PvpFlagTaskManager;
|
||||
import org.l2jmobius.gameserver.util.Broadcast;
|
||||
@ -4095,7 +4095,7 @@ public class PlayerInstance extends Playable
|
||||
|
||||
if ((Config.AUTODESTROY_ITEM_AFTER > 0) && Config.DESTROY_DROPPED_PLAYER_ITEM && !Config.LIST_PROTECTED_ITEMS.contains(droppedItem.getItemId()) && ((droppedItem.isEquipable() && Config.DESTROY_EQUIPABLE_PLAYER_ITEM) || !droppedItem.isEquipable()))
|
||||
{
|
||||
ItemsAutoDestroy.getInstance().addItem(droppedItem);
|
||||
ItemsAutoDestroyTaskManager.getInstance().addItem(droppedItem);
|
||||
}
|
||||
if (Config.DESTROY_DROPPED_PLAYER_ITEM)
|
||||
{
|
||||
@ -4176,7 +4176,7 @@ public class PlayerInstance extends Playable
|
||||
|
||||
if ((Config.AUTODESTROY_ITEM_AFTER > 0) && Config.DESTROY_DROPPED_PLAYER_ITEM && !Config.LIST_PROTECTED_ITEMS.contains(droppedItem.getItemId()) && ((droppedItem.isEquipable() && Config.DESTROY_EQUIPABLE_PLAYER_ITEM) || !droppedItem.isEquipable()))
|
||||
{
|
||||
ItemsAutoDestroy.getInstance().addItem(droppedItem);
|
||||
ItemsAutoDestroyTaskManager.getInstance().addItem(droppedItem);
|
||||
}
|
||||
if (Config.DESTROY_DROPPED_PLAYER_ITEM)
|
||||
{
|
||||
|
@ -14,9 +14,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 org.l2jmobius.gameserver;
|
||||
package org.l2jmobius.gameserver.taskmanager;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -28,13 +28,13 @@ import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
|
||||
|
||||
public class ItemsAutoDestroy
|
||||
public class ItemsAutoDestroyTaskManager
|
||||
{
|
||||
protected static final Logger LOGGER = Logger.getLogger(ItemsAutoDestroy.class.getName());
|
||||
protected static final Logger LOGGER = Logger.getLogger(ItemsAutoDestroyTaskManager.class.getName());
|
||||
|
||||
private final Collection<ItemInstance> _items = ConcurrentHashMap.newKeySet();
|
||||
private final Set<ItemInstance> _items = ConcurrentHashMap.newKeySet();
|
||||
|
||||
protected ItemsAutoDestroy()
|
||||
protected ItemsAutoDestroyTaskManager()
|
||||
{
|
||||
ThreadPool.scheduleAtFixedRate(this::removeItems, 5000, 5000);
|
||||
}
|
||||
@ -87,13 +87,13 @@ public class ItemsAutoDestroy
|
||||
}
|
||||
}
|
||||
|
||||
public static ItemsAutoDestroy getInstance()
|
||||
public static ItemsAutoDestroyTaskManager getInstance()
|
||||
{
|
||||
return SingletonHolder.INSTANCE;
|
||||
}
|
||||
|
||||
private static class SingletonHolder
|
||||
{
|
||||
protected static final ItemsAutoDestroy INSTANCE = new ItemsAutoDestroy();
|
||||
protected static final ItemsAutoDestroyTaskManager INSTANCE = new ItemsAutoDestroyTaskManager();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user