Inventory related cleanup and improvements.
This commit is contained in:
parent
11411164f7
commit
a1f198218a
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -462,7 +462,7 @@ public class PrimevalIsle extends AbstractNpcAI
|
||||
if ((npc.getId() == SAILREN) || (getRandom(100) < 3))
|
||||
{
|
||||
final PlayerInstance player = npc.getId() == SAILREN ? getRandomPartyMember(killer) : killer;
|
||||
if (player.getInventory().getSize(false) <= (player.getInventoryLimit() * 0.8))
|
||||
if (player.isInventoryUnder80(false))
|
||||
{
|
||||
giveItems(player, DEINONYCHUS, 1);
|
||||
final ItemInstance summonItem = player.getInventory().getItemByItemId(DEINONYCHUS);
|
||||
|
@ -292,9 +292,8 @@ public class Q00350_EnhanceYourWeapon extends Quest
|
||||
return null;
|
||||
}
|
||||
|
||||
final ItemInstance[] inv = player.getInventory().getItems();
|
||||
SoulCrystal ret = null;
|
||||
for (ItemInstance item : inv)
|
||||
for (ItemInstance item : player.getInventory().getItems())
|
||||
{
|
||||
final int itemId = item.getId();
|
||||
if (!SOUL_CRYSTALS.containsKey(itemId))
|
||||
|
@ -937,6 +937,7 @@
|
||||
<set name="immediate_effect" val="true" />
|
||||
<set name="material" val="GOLD" />
|
||||
<set name="price" val="1" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="58" type="Armor" name="Mithril Breastplate">
|
||||
|
@ -14042,13 +14042,23 @@ public class PlayerInstance extends Playable
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if player inventory is under 90% capaity
|
||||
* Test if player inventory is under 90% capacity
|
||||
* @param includeQuestInv check also quest inventory
|
||||
* @return
|
||||
*/
|
||||
public boolean isInventoryUnder90(boolean includeQuestInv)
|
||||
{
|
||||
return _inventory.getSize(includeQuestInv) <= (getInventoryLimit() * 0.9);
|
||||
return (_inventory.getSize(item -> !item.isQuestItem() || includeQuestInv) <= (getInventoryLimit() * 0.9));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if player inventory is under 80% capacity
|
||||
* @param includeQuestInv check also quest inventory
|
||||
* @return
|
||||
*/
|
||||
public boolean isInventoryUnder80(boolean includeQuestInv)
|
||||
{
|
||||
return (_inventory.getSize(item -> !item.isQuestItem() || includeQuestInv) <= (getInventoryLimit() * 0.8));
|
||||
}
|
||||
|
||||
public boolean havePetInvItems()
|
||||
|
@ -40,6 +40,10 @@ public class ConditionPlayerInvSize extends Condition
|
||||
@Override
|
||||
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
||||
{
|
||||
return (effector.getActingPlayer() == null) || (effector.getActingPlayer().getInventory().getSize(false) <= (effector.getActingPlayer().getInventoryLimit() - _size));
|
||||
if (effector.getActingPlayer() != null)
|
||||
{
|
||||
return effector.getActingPlayer().getInventory().getSize(i -> !i.isQuestItem()) <= (effector.getActingPlayer().getInventoryLimit() - _size);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -41,11 +41,11 @@ public class ConditionTargetInvSize extends Condition
|
||||
@Override
|
||||
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
||||
{
|
||||
if ((effected == null) || !effected.isPlayer())
|
||||
if ((effected != null) && effected.isPlayer())
|
||||
{
|
||||
return false;
|
||||
final PlayerInstance target = effected.getActingPlayer();
|
||||
return target.getInventory().getSize(i -> !i.isQuestItem()) <= (target.getInventoryLimit() - _size);
|
||||
}
|
||||
final PlayerInstance target = effected.getActingPlayer();
|
||||
return target.getInventory().getSize(false) <= (target.getInventoryLimit() - _size);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,8 @@ import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -107,7 +109,7 @@ public abstract class Inventory extends ItemContainer
|
||||
private static final class ChangeRecorder implements PaperdollListener
|
||||
{
|
||||
private final Inventory _inventory;
|
||||
private final List<ItemInstance> _changed;
|
||||
private final Set<ItemInstance> _changed = ConcurrentHashMap.newKeySet();
|
||||
|
||||
/**
|
||||
* Constructor of the ChangeRecorder
|
||||
@ -116,7 +118,6 @@ public abstract class Inventory extends ItemContainer
|
||||
ChangeRecorder(Inventory inventory)
|
||||
{
|
||||
_inventory = inventory;
|
||||
_changed = new ArrayList<>();
|
||||
_inventory.addPaperdollListener(this);
|
||||
}
|
||||
|
||||
@ -129,10 +130,7 @@ public abstract class Inventory extends ItemContainer
|
||||
@Override
|
||||
public void notifyEquiped(int slot, ItemInstance item, Inventory inventory)
|
||||
{
|
||||
if (!_changed.contains(item))
|
||||
{
|
||||
_changed.add(item);
|
||||
}
|
||||
_changed.add(item);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -144,10 +142,7 @@ public abstract class Inventory extends ItemContainer
|
||||
@Override
|
||||
public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory)
|
||||
{
|
||||
if (!_changed.contains(item))
|
||||
{
|
||||
_changed.add(item);
|
||||
}
|
||||
_changed.add(item);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -180,7 +175,6 @@ public abstract class Inventory extends ItemContainer
|
||||
if (item.getItemType() == WeaponType.BOW)
|
||||
{
|
||||
final ItemInstance arrow = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||
|
||||
if (arrow != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||
@ -189,7 +183,6 @@ public abstract class Inventory extends ItemContainer
|
||||
else if (item.getItemType() == WeaponType.CROSSBOW)
|
||||
{
|
||||
final ItemInstance bolts = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||
|
||||
if (bolts != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||
@ -198,7 +191,6 @@ public abstract class Inventory extends ItemContainer
|
||||
else if (item.getItemType() == WeaponType.FISHINGROD)
|
||||
{
|
||||
final ItemInstance lure = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||
|
||||
if (lure != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||
@ -217,7 +209,6 @@ public abstract class Inventory extends ItemContainer
|
||||
if (item.getItemType() == WeaponType.BOW)
|
||||
{
|
||||
final ItemInstance arrow = inventory.findArrowForBow(item.getItem());
|
||||
|
||||
if (arrow != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, arrow);
|
||||
@ -226,7 +217,6 @@ public abstract class Inventory extends ItemContainer
|
||||
else if (item.getItemType() == WeaponType.CROSSBOW)
|
||||
{
|
||||
final ItemInstance bolts = inventory.findBoltForCrossBow(item.getItem());
|
||||
|
||||
if (bolts != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, bolts);
|
||||
@ -273,8 +263,8 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
return;
|
||||
}
|
||||
final PlayerInstance player = (PlayerInstance) inventory.getOwner();
|
||||
|
||||
final PlayerInstance player = (PlayerInstance) inventory.getOwner();
|
||||
Skill enchant4Skill;
|
||||
Skill itemSkill;
|
||||
final Item it = item.getItem();
|
||||
|
@ -19,9 +19,11 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -45,8 +47,6 @@ public abstract class ItemContainer
|
||||
|
||||
protected final List<ItemInstance> _items = new CopyOnWriteArrayList<>();
|
||||
|
||||
int _ownerId = 0;
|
||||
|
||||
protected ItemContainer()
|
||||
{
|
||||
}
|
||||
@ -65,12 +65,7 @@ public abstract class ItemContainer
|
||||
*/
|
||||
public int getOwnerId()
|
||||
{
|
||||
return getOwner() == null ? _ownerId : getOwner().getObjectId();
|
||||
}
|
||||
|
||||
public void setOwnerId(int id)
|
||||
{
|
||||
_ownerId = id;
|
||||
return getOwner() == null ? 0 : getOwner().getObjectId();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -82,11 +77,27 @@ public abstract class ItemContainer
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the items in inventory
|
||||
* @param filter
|
||||
* @param filters
|
||||
* @return the quantity of items in the inventory
|
||||
*/
|
||||
public ItemInstance[] getItems()
|
||||
@SafeVarargs
|
||||
public final int getSize(Predicate<ItemInstance> filter, Predicate<ItemInstance>... filters)
|
||||
{
|
||||
return _items.toArray(new ItemInstance[_items.size()]);
|
||||
for (Predicate<ItemInstance> additionalFilter : filters)
|
||||
{
|
||||
filter = filter.and(additionalFilter);
|
||||
}
|
||||
return (int) _items.stream().filter(filter).count();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the items in inventory.
|
||||
* @return the items in inventory.
|
||||
*/
|
||||
public Collection<ItemInstance> getItems()
|
||||
{
|
||||
return _items;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,7 +19,8 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
@ -54,9 +55,6 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
private int[] _blockItems = null;
|
||||
|
||||
private int _questSlots;
|
||||
|
||||
private final Object _lock;
|
||||
/**
|
||||
* Block modes:
|
||||
* <UL>
|
||||
@ -70,7 +68,6 @@ public class PlayerInventory extends Inventory
|
||||
public PlayerInventory(PlayerInstance owner)
|
||||
{
|
||||
_owner = owner;
|
||||
_lock = new Object();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -118,14 +115,14 @@ public class PlayerInventory extends Inventory
|
||||
* @param allowAncientAdena
|
||||
* @return ItemInstance : items in inventory
|
||||
*/
|
||||
public ItemInstance[] getUniqueItems(boolean allowAdena, boolean allowAncientAdena)
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena)
|
||||
{
|
||||
return getUniqueItems(allowAdena, allowAncientAdena, true);
|
||||
}
|
||||
|
||||
public ItemInstance[] getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
||||
@ -146,7 +143,7 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -155,14 +152,14 @@ public class PlayerInventory extends Inventory
|
||||
* @param allowAncientAdena
|
||||
* @return ItemInstance : items in inventory
|
||||
*/
|
||||
public ItemInstance[] getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena)
|
||||
public Collection<ItemInstance> getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena)
|
||||
{
|
||||
return getUniqueItemsByEnchantLevel(allowAdena, allowAncientAdena, true);
|
||||
}
|
||||
|
||||
public ItemInstance[] getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
public Collection<ItemInstance> getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
||||
@ -185,14 +182,14 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param itemId
|
||||
* @return
|
||||
*/
|
||||
public ItemInstance[] getAllItemsByItemId(int itemId)
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId)
|
||||
{
|
||||
return getAllItemsByItemId(itemId, true);
|
||||
}
|
||||
@ -201,11 +198,11 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return List<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public ItemInstance[] getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
public List<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if (item == null)
|
||||
@ -218,7 +215,7 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -226,7 +223,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param enchantment
|
||||
* @return
|
||||
*/
|
||||
public ItemInstance[] getAllItemsByItemId(int itemId, int enchantment)
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment)
|
||||
{
|
||||
return getAllItemsByItemId(itemId, enchantment, true);
|
||||
}
|
||||
@ -236,11 +233,11 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return List<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public ItemInstance[] getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
public List<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if (item == null)
|
||||
@ -253,7 +250,7 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -262,9 +259,9 @@ public class PlayerInventory extends Inventory
|
||||
* @param feightable
|
||||
* @return the list of items in inventory available for transaction
|
||||
*/
|
||||
public ItemInstance[] getAvailableItems(boolean allowAdena, boolean allowNonTradeable, boolean feightable)
|
||||
public Collection<ItemInstance> getAvailableItems(boolean allowAdena, boolean allowNonTradeable, boolean feightable)
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item == null) || !item.isAvailable(_owner, allowAdena, allowNonTradeable) || !canManipulateWithItemId(item.getId()))
|
||||
@ -283,16 +280,16 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all augmented items
|
||||
* @return
|
||||
*/
|
||||
public ItemInstance[] getAugmentedItems()
|
||||
public Collection<ItemInstance> getAugmentedItems()
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item != null) && item.isAugmented())
|
||||
@ -300,16 +297,16 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all element items
|
||||
* @return
|
||||
*/
|
||||
public ItemInstance[] getElementItems()
|
||||
public Collection<ItemInstance> getElementItems()
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item != null) && (item.getElementals() != null))
|
||||
@ -317,7 +314,7 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -325,9 +322,9 @@ public class PlayerInventory extends Inventory
|
||||
* @param tradeList
|
||||
* @return ItemInstance : items in inventory
|
||||
*/
|
||||
public TradeItem[] getAvailableItems(TradeList tradeList)
|
||||
public Collection<TradeItem> getAvailableItems(TradeList tradeList)
|
||||
{
|
||||
final List<TradeItem> list = new LinkedList<>();
|
||||
final List<TradeItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item != null) && item.isAvailable(_owner, false, false))
|
||||
@ -339,7 +336,7 @@ public class PlayerInventory extends Inventory
|
||||
}
|
||||
}
|
||||
}
|
||||
return list.toArray(new TradeItem[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -714,18 +711,6 @@ public class PlayerInventory extends Inventory
|
||||
_ancientAdena = null;
|
||||
}
|
||||
|
||||
if (item.isQuestItem())
|
||||
{
|
||||
synchronized (_lock)
|
||||
{
|
||||
_questSlots--;
|
||||
if (_questSlots < 0)
|
||||
{
|
||||
_questSlots = 0;
|
||||
LOGGER.warning(this + ": QuestInventory size < 0!");
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.removeItem(item);
|
||||
}
|
||||
|
||||
@ -852,7 +837,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public boolean validateCapacity(long slots, boolean questItem)
|
||||
{
|
||||
return ((slots == 0) && !Config.AUTO_LOOT_SLOT_LIMIT) || questItem ? (_questSlots + slots) <= _owner.getQuestInventoryLimit() : ((_items.size() - _questSlots) + slots) <= _owner.getInventoryLimit();
|
||||
return ((slots == 0) && !Config.AUTO_LOOT_SLOT_LIMIT) || questItem ? (getSize(item -> item.isQuestItem()) + slots) <= _owner.getQuestInventoryLimit() : (getSize(item -> !item.isQuestItem()) + slots) <= _owner.getInventoryLimit();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -936,24 +921,6 @@ public class PlayerInventory extends Inventory
|
||||
return ((_blockMode != 0) || !CommonUtil.contains(_blockItems, itemId)) && ((_blockMode != 1) || CommonUtil.contains(_blockItems, itemId));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addItem(ItemInstance item)
|
||||
{
|
||||
if (item.isQuestItem())
|
||||
{
|
||||
synchronized (_lock)
|
||||
{
|
||||
_questSlots++;
|
||||
}
|
||||
}
|
||||
super.addItem(item);
|
||||
}
|
||||
|
||||
public int getSize(boolean quest)
|
||||
{
|
||||
return quest ? _questSlots : getSize() - _questSlots;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
|
@ -17,6 +17,7 @@
|
||||
package org.l2jmobius.gameserver.model.multisell;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
@ -50,7 +51,7 @@ public class PreparedListContainer extends ListContainer
|
||||
return;
|
||||
}
|
||||
|
||||
final ItemInstance[] items;
|
||||
final Collection<ItemInstance> items;
|
||||
if (getMaintainEnchantment())
|
||||
{
|
||||
items = player.getInventory().getUniqueItemsByEnchantLevel(false, false, false);
|
||||
|
@ -300,18 +300,18 @@ public class MultiSellChoose implements IClientIncomingPacket
|
||||
if (list.getMaintainEnchantment() || (e.getEnchantLevel() > 0))
|
||||
{
|
||||
// loop through this list and remove (one by one) each item until the required amount is taken.
|
||||
final ItemInstance[] inventoryContents = inv.getAllItemsByItemId(e.getItemId(), e.getEnchantLevel(), false);
|
||||
final List<ItemInstance> inventoryContents = inv.getAllItemsByItemId(e.getItemId(), e.getEnchantLevel(), false);
|
||||
for (int i = 0; i < (e.getItemCount() * _amount); i++)
|
||||
{
|
||||
if (inventoryContents[i].isAugmented())
|
||||
if (inventoryContents.get(i).isAugmented())
|
||||
{
|
||||
augmentation.add(inventoryContents[i].getAugmentation());
|
||||
augmentation.add(inventoryContents.get(i).getAugmentation());
|
||||
}
|
||||
if (inventoryContents[i].getElementals() != null)
|
||||
if (inventoryContents.get(i).getElementals() != null)
|
||||
{
|
||||
elemental = inventoryContents[i].getElementals();
|
||||
elemental = inventoryContents.get(i).getElementals();
|
||||
}
|
||||
if (!player.destroyItem("Multisell", inventoryContents[i].getObjectId(), 1, player.getTarget(), true))
|
||||
if (!player.destroyItem("Multisell", inventoryContents.get(i).getObjectId(), 1, player.getTarget(), true))
|
||||
{
|
||||
player.setMultiSell(null);
|
||||
return;
|
||||
@ -358,9 +358,9 @@ public class MultiSellChoose implements IClientIncomingPacket
|
||||
// choice 1. Small number of items exchanged. No sorting.
|
||||
for (int i = 1; i <= (e.getItemCount() * _amount); i++)
|
||||
{
|
||||
final ItemInstance[] inventoryContents = inv.getAllItemsByItemId(e.getItemId(), false);
|
||||
final List<ItemInstance> inventoryContents = inv.getAllItemsByItemId(e.getItemId(), false);
|
||||
|
||||
itemToTake = inventoryContents[0];
|
||||
itemToTake = inventoryContents.get(0);
|
||||
// get item with the LOWEST enchantment level from the inventory...
|
||||
// +0 is lowest by default...
|
||||
if (itemToTake.getEnchantLevel() > 0)
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.clientpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketReader;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.network.GameClient;
|
||||
@ -39,7 +41,7 @@ public class RequestPackageSendableItemList implements IClientIncomingPacket
|
||||
@Override
|
||||
public void run(GameClient client)
|
||||
{
|
||||
final ItemInstance[] items = client.getPlayer().getInventory().getAvailableItems(true, true, true);
|
||||
final Collection<ItemInstance> items = client.getPlayer().getInventory().getAvailableItems(true, true, true);
|
||||
client.sendPacket(new PackageSendableList(items, _objectID, client.getPlayer().getAdena()));
|
||||
}
|
||||
}
|
||||
|
@ -79,13 +79,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
if (_items == null)
|
||||
{
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!player.hasRefund())
|
||||
if ((_items == null) || !player.hasRefund())
|
||||
{
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
@ -126,7 +120,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
||||
long adena = 0;
|
||||
long slots = 0;
|
||||
|
||||
final ItemInstance[] refund = player.getRefund().getItems();
|
||||
final ItemInstance[] refund = player.getRefund().getItems().toArray(new ItemInstance[0]);
|
||||
final int[] objectIds = new int[_items.length];
|
||||
|
||||
for (int i = 0; i < _items.length; i++)
|
||||
@ -177,21 +171,21 @@ public class RequestRefundItem implements IClientIncomingPacket
|
||||
|
||||
if ((weight > Integer.MAX_VALUE) || (weight < 0) || !player.getInventory().validateWeight((int) weight))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_THE_WEIGHT_LIMIT);
|
||||
client.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_THE_WEIGHT_LIMIT);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((slots > Integer.MAX_VALUE) || (slots < 0) || !player.getInventory().validateCapacity((int) slots))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOUR_INVENTORY_IS_FULL);
|
||||
client.sendPacket(SystemMessageId.YOUR_INVENTORY_IS_FULL);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((adena < 0) || !player.reduceAdena("Refund", adena, player.getLastFolkNPC(), false))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
|
||||
client.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
@ -209,7 +203,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
||||
// Update current load status on player
|
||||
final StatusUpdate su = new StatusUpdate(player);
|
||||
su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad());
|
||||
player.sendPacket(su);
|
||||
player.sendPacket(new ExBuySellList(player, buyList, true));
|
||||
client.sendPacket(su);
|
||||
client.sendPacket(new ExBuySellList(player, buyList, true));
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
@ -37,8 +38,8 @@ public class ExBuySellList implements IClientOutgoingPacket
|
||||
private final List<Product> _buyList = new ArrayList<>();
|
||||
private final long _money;
|
||||
private double _taxRate = 0;
|
||||
private ItemInstance[] _sellList = null;
|
||||
private ItemInstance[] _refundList = null;
|
||||
private Collection<ItemInstance> _sellList = null;
|
||||
private Collection<ItemInstance> _refundList = null;
|
||||
private final boolean _done;
|
||||
|
||||
public ExBuySellList(PlayerInstance player, BuyListHolder list, boolean done)
|
||||
@ -53,7 +54,7 @@ public class ExBuySellList implements IClientOutgoingPacket
|
||||
}
|
||||
_buyList.add(item);
|
||||
}
|
||||
_sellList = player.getInventory().getAvailableItems(true, false, false);
|
||||
_sellList = player.getInventory().getAvailableItems(false, false, false);
|
||||
if (player.hasRefund())
|
||||
{
|
||||
_refundList = player.getRefund().getItems();
|
||||
@ -132,9 +133,9 @@ public class ExBuySellList implements IClientOutgoingPacket
|
||||
packet.writeH(0x00); // Enchant effect 3
|
||||
}
|
||||
|
||||
if ((_sellList != null) && (_sellList.length > 0))
|
||||
if ((_sellList != null) && !_sellList.isEmpty())
|
||||
{
|
||||
packet.writeH(_sellList.length);
|
||||
packet.writeH(_sellList.size());
|
||||
for (ItemInstance item : _sellList)
|
||||
{
|
||||
packet.writeH(item.getItem().getType1());
|
||||
@ -166,9 +167,9 @@ public class ExBuySellList implements IClientOutgoingPacket
|
||||
packet.writeH(0x00);
|
||||
}
|
||||
|
||||
if ((_refundList != null) && (_refundList.length > 0))
|
||||
if ((_refundList != null) && !_refundList.isEmpty())
|
||||
{
|
||||
packet.writeH(_refundList.length);
|
||||
packet.writeH(_refundList.size());
|
||||
int idx = 0;
|
||||
for (ItemInstance item : _refundList)
|
||||
{
|
||||
@ -199,6 +200,7 @@ public class ExBuySellList implements IClientOutgoingPacket
|
||||
}
|
||||
|
||||
packet.writeC(_done ? 0x01 : 0x00);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
@ -28,7 +30,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
public class ExReplyPostItemList implements IClientOutgoingPacket
|
||||
{
|
||||
PlayerInstance _player;
|
||||
private final ItemInstance[] _itemList;
|
||||
private final Collection<ItemInstance> _itemList;
|
||||
|
||||
public ExReplyPostItemList(PlayerInstance player)
|
||||
{
|
||||
@ -40,7 +42,7 @@ public class ExReplyPostItemList implements IClientOutgoingPacket
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_REPLY_POST_ITEM_LIST.writeId(packet);
|
||||
packet.writeD(_itemList.length);
|
||||
packet.writeD(_itemList.size());
|
||||
for (ItemInstance item : _itemList)
|
||||
{
|
||||
packet.writeD(item.getObjectId());
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.entity.Message;
|
||||
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
||||
@ -28,7 +30,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
public class ExReplyReceivedPost implements IClientOutgoingPacket
|
||||
{
|
||||
private final Message _msg;
|
||||
private ItemInstance[] _items = null;
|
||||
private Collection<ItemInstance> _items = null;
|
||||
|
||||
public ExReplyReceivedPost(Message msg)
|
||||
{
|
||||
@ -58,9 +60,9 @@ public class ExReplyReceivedPost implements IClientOutgoingPacket
|
||||
packet.writeS(_msg.getSubject());
|
||||
packet.writeS(_msg.getContent());
|
||||
|
||||
if ((_items != null) && (_items.length > 0))
|
||||
if ((_items != null) && !_items.isEmpty())
|
||||
{
|
||||
packet.writeD(_items.length);
|
||||
packet.writeD(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
packet.writeH(item.getItem().getType2());
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.entity.Message;
|
||||
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
||||
@ -29,7 +31,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
public class ExReplySentPost implements IClientOutgoingPacket
|
||||
{
|
||||
private final Message _msg;
|
||||
private ItemInstance[] _items = null;
|
||||
private Collection<ItemInstance> _items = null;
|
||||
|
||||
public ExReplySentPost(Message msg)
|
||||
{
|
||||
@ -58,9 +60,9 @@ public class ExReplySentPost implements IClientOutgoingPacket
|
||||
packet.writeS(_msg.getSubject());
|
||||
packet.writeS(_msg.getContent());
|
||||
|
||||
if ((_items != null) && (_items.length > 0))
|
||||
if ((_items != null) && !_items.isEmpty())
|
||||
{
|
||||
packet.writeD(_items.length);
|
||||
packet.writeD(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
packet.writeH(item.getItem().getType2());
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.items.Weapon;
|
||||
@ -24,7 +26,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
|
||||
public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
|
||||
{
|
||||
private final ItemInstance[] _items;
|
||||
private final Collection<ItemInstance> _items;
|
||||
private long _price;
|
||||
|
||||
public ExShowBaseAttributeCancelWindow(PlayerInstance player)
|
||||
@ -36,7 +38,7 @@ public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_SHOW_BASE_ATTRIBUTE_CANCEL_WINDOW.writeId(packet);
|
||||
packet.writeD(_items.length);
|
||||
packet.writeD(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
packet.writeD(item.getObjectId());
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||
@ -24,7 +26,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
|
||||
public class GMViewWarehouseWithdrawList extends AbstractItemPacket
|
||||
{
|
||||
private final ItemInstance[] _items;
|
||||
private final Collection<ItemInstance> _items;
|
||||
private final String _playerName;
|
||||
private final long _money;
|
||||
|
||||
@ -48,7 +50,7 @@ public class GMViewWarehouseWithdrawList extends AbstractItemPacket
|
||||
OutgoingPackets.GM_VIEW_WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
||||
packet.writeS(_playerName);
|
||||
packet.writeQ(_money);
|
||||
packet.writeH(_items.length);
|
||||
packet.writeH(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
@ -24,7 +26,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
public class ItemList extends AbstractItemPacket
|
||||
{
|
||||
private final PlayerInstance _player;
|
||||
private final ItemInstance[] _items;
|
||||
private final Collection<ItemInstance> _items;
|
||||
private final boolean _showWindow;
|
||||
|
||||
public ItemList(PlayerInstance player, boolean showWindow)
|
||||
@ -39,7 +41,7 @@ public class ItemList extends AbstractItemPacket
|
||||
{
|
||||
OutgoingPackets.ITEM_LIST.writeId(packet);
|
||||
packet.writeH(_showWindow ? 0x01 : 0x00);
|
||||
packet.writeH(_items.length);
|
||||
packet.writeH(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
@ -26,11 +28,11 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
*/
|
||||
public class PackageSendableList extends AbstractItemPacket
|
||||
{
|
||||
private final ItemInstance[] _items;
|
||||
private final Collection<ItemInstance> _items;
|
||||
private final int _playerObjId;
|
||||
private final long _adena;
|
||||
|
||||
public PackageSendableList(ItemInstance[] items, int playerObjId, long adena)
|
||||
public PackageSendableList(Collection<ItemInstance> items, int playerObjId, long adena)
|
||||
{
|
||||
_items = items;
|
||||
_playerObjId = playerObjId;
|
||||
@ -43,7 +45,7 @@ public class PackageSendableList extends AbstractItemPacket
|
||||
OutgoingPackets.PACKAGE_SENDABLE_LIST.writeId(packet);
|
||||
packet.writeD(_playerObjId);
|
||||
packet.writeQ(_adena);
|
||||
packet.writeD(_items.length);
|
||||
packet.writeD(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,24 +16,26 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
|
||||
public class PetItemList extends AbstractItemPacket
|
||||
{
|
||||
private final ItemInstance[] _items;
|
||||
private final Collection<ItemInstance> _items;
|
||||
|
||||
public PetItemList(ItemInstance[] items)
|
||||
public PetItemList(Collection<ItemInstance> collection)
|
||||
{
|
||||
_items = items;
|
||||
_items = collection;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.PET_ITEM_LIST.writeId(packet);
|
||||
packet.writeH(_items.length);
|
||||
packet.writeH(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.TradeItem;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
@ -26,7 +28,7 @@ public class PrivateStoreManageListBuy implements IClientOutgoingPacket
|
||||
{
|
||||
private final int _objId;
|
||||
private final long _playerAdena;
|
||||
private final ItemInstance[] _itemList;
|
||||
private final Collection<ItemInstance> _itemList;
|
||||
private final TradeItem[] _buyList;
|
||||
|
||||
public PrivateStoreManageListBuy(PlayerInstance player)
|
||||
@ -46,7 +48,7 @@ public class PrivateStoreManageListBuy implements IClientOutgoingPacket
|
||||
packet.writeQ(_playerAdena);
|
||||
|
||||
// section2
|
||||
packet.writeD(_itemList.length); // inventory items for potential buy
|
||||
packet.writeD(_itemList.size()); // inventory items for potential buy
|
||||
for (ItemInstance item : _itemList)
|
||||
{
|
||||
packet.writeD(item.getId());
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.TradeItem;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
@ -26,7 +28,7 @@ public class PrivateStoreManageListSell implements IClientOutgoingPacket
|
||||
private final int _objId;
|
||||
private final long _playerAdena;
|
||||
private final boolean _packageSale;
|
||||
private final TradeItem[] _itemList;
|
||||
private final Collection<TradeItem> _itemList;
|
||||
private final TradeItem[] _sellList;
|
||||
|
||||
public PrivateStoreManageListSell(PlayerInstance player, boolean isPackageSale)
|
||||
@ -49,7 +51,7 @@ public class PrivateStoreManageListSell implements IClientOutgoingPacket
|
||||
packet.writeQ(_playerAdena);
|
||||
|
||||
// section2
|
||||
packet.writeD(_itemList.length); // for potential sells
|
||||
packet.writeD(_itemList.size()); // for potential sells
|
||||
for (TradeItem item : _itemList)
|
||||
{
|
||||
packet.writeD(item.getItem().getType2());
|
||||
|
@ -17,6 +17,7 @@
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
@ -452,13 +453,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* <li>Weapon</li>
|
||||
* <li>Arrow</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createWeaponList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createWeaponList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if (item.isWeapon() || (item.getItem().getType2() == Item.TYPE2_WEAPON) || (item.isEtcItem() && (item.getItemType() == EtcItemType.ARROW)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -479,13 +480,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Armor</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createArmorList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createArmorList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if (item.isArmor() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -506,13 +507,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Everything which is no Weapon/Armor</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createEtcItemList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createEtcItemList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if (item.isEtcItem() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -533,13 +534,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Materials</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createMatList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createMatList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.MATERIAL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -560,13 +561,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Recipes</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createRecipeList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createRecipeList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.RECIPE)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -587,13 +588,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Amulett</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createAmulettList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createAmulettList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -614,13 +615,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Spellbook & Dwarven Drafts</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createSpellbookList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createSpellbookList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (!item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -641,13 +642,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Consumables (Potions, Shots, ...)</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createConsumableList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createConsumableList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() == EtcItemType.SCROLL) || (item.getEtcItem().getItemType() == EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -668,13 +669,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Shots</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createShotList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createShotList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SHOT)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -695,13 +696,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Scrolls/Potions</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createScrollList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createScrollList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SCROLL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -722,13 +723,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Seeds</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createSeedList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createSeedList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SEED)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -749,13 +750,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Everything which is no Weapon/Armor, Material, Recipe, Spellbook, Scroll or Shot</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createOtherList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createOtherList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() != EtcItemType.MATERIAL) && (item.getEtcItem().getItemType() != EtcItemType.RECIPE) && (item.getEtcItem().getItemType() != EtcItemType.SCROLL) && (item.getEtcItem().getItemType() != EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -775,13 +776,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
/**
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>no limit</li> This may sound strange but we return the given Array as a List<L2WarehouseItem>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createAllList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createAllList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if (list.size() < MAX_SORT_LIST_ITEMS)
|
||||
{
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.PlayerCondOverride;
|
||||
@ -26,7 +28,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
public class TradeStart implements IClientOutgoingPacket
|
||||
{
|
||||
private final PlayerInstance _player;
|
||||
private final ItemInstance[] _itemList;
|
||||
private final Collection<ItemInstance> _itemList;
|
||||
|
||||
public TradeStart(PlayerInstance player)
|
||||
{
|
||||
@ -44,7 +46,7 @@ public class TradeStart implements IClientOutgoingPacket
|
||||
|
||||
OutgoingPackets.TRADE_START.writeId(packet);
|
||||
packet.writeD(_player.getActiveTradeList().getPartner().getObjectId());
|
||||
packet.writeH(_itemList.length);
|
||||
packet.writeH(_itemList.size());
|
||||
for (ItemInstance item : _itemList)
|
||||
{
|
||||
packet.writeH(item.getItem().getType1()); // item type1
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
@ -28,7 +30,7 @@ public class WareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
public static final int CASTLE = 3; // not sure
|
||||
public static final int FREIGHT = 1;
|
||||
private long _playerAdena;
|
||||
private ItemInstance[] _items;
|
||||
private Collection<ItemInstance> _items;
|
||||
/**
|
||||
* <ul>
|
||||
* <li>0x01-Private Warehouse</li>
|
||||
@ -58,7 +60,7 @@ public class WareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
OutgoingPackets.WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
||||
packet.writeH(_whType);
|
||||
packet.writeQ(_playerAdena);
|
||||
packet.writeH(_items.length);
|
||||
packet.writeH(_items.size());
|
||||
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
|
@ -462,7 +462,7 @@ public class PrimevalIsle extends AbstractNpcAI
|
||||
if ((npc.getId() == SAILREN) || (getRandom(100) < 3))
|
||||
{
|
||||
final PlayerInstance player = npc.getId() == SAILREN ? getRandomPartyMember(killer) : killer;
|
||||
if (player.getInventory().getSize(false) <= (player.getInventoryLimit() * 0.8))
|
||||
if (player.isInventoryUnder80(false))
|
||||
{
|
||||
giveItems(player, DEINONYCHUS, 1);
|
||||
final ItemInstance summonItem = player.getInventory().getItemByItemId(DEINONYCHUS);
|
||||
|
@ -292,9 +292,8 @@ public class Q00350_EnhanceYourWeapon extends Quest
|
||||
return null;
|
||||
}
|
||||
|
||||
final ItemInstance[] inv = player.getInventory().getItems();
|
||||
SoulCrystal ret = null;
|
||||
for (ItemInstance item : inv)
|
||||
for (ItemInstance item : player.getInventory().getItems())
|
||||
{
|
||||
final int itemId = item.getId();
|
||||
if (!SOUL_CRYSTALS.containsKey(itemId))
|
||||
|
@ -937,6 +937,7 @@
|
||||
<set name="immediate_effect" val="true" />
|
||||
<set name="material" val="GOLD" />
|
||||
<set name="price" val="1" />
|
||||
<set name="is_sellable" val="false" />
|
||||
<set name="is_stackable" val="true" />
|
||||
</item>
|
||||
<item id="58" type="Armor" name="Mithril Breastplate">
|
||||
|
@ -13930,13 +13930,23 @@ public class PlayerInstance extends Playable
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if player inventory is under 90% capaity
|
||||
* Test if player inventory is under 90% capacity
|
||||
* @param includeQuestInv check also quest inventory
|
||||
* @return
|
||||
*/
|
||||
public boolean isInventoryUnder90(boolean includeQuestInv)
|
||||
{
|
||||
return _inventory.getSize(includeQuestInv) <= (getInventoryLimit() * 0.9);
|
||||
return (_inventory.getSize(item -> !item.isQuestItem() || includeQuestInv) <= (getInventoryLimit() * 0.9));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if player inventory is under 80% capacity
|
||||
* @param includeQuestInv check also quest inventory
|
||||
* @return
|
||||
*/
|
||||
public boolean isInventoryUnder80(boolean includeQuestInv)
|
||||
{
|
||||
return (_inventory.getSize(item -> !item.isQuestItem() || includeQuestInv) <= (getInventoryLimit() * 0.8));
|
||||
}
|
||||
|
||||
public boolean havePetInvItems()
|
||||
|
@ -40,6 +40,10 @@ public class ConditionPlayerInvSize extends Condition
|
||||
@Override
|
||||
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
||||
{
|
||||
return (effector.getActingPlayer() == null) || (effector.getActingPlayer().getInventory().getSize(false) <= (effector.getActingPlayer().getInventoryLimit() - _size));
|
||||
if (effector.getActingPlayer() != null)
|
||||
{
|
||||
return effector.getActingPlayer().getInventory().getSize(i -> !i.isQuestItem()) <= (effector.getActingPlayer().getInventoryLimit() - _size);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -41,11 +41,11 @@ public class ConditionTargetInvSize extends Condition
|
||||
@Override
|
||||
public boolean testImpl(Creature effector, Creature effected, Skill skill, Item item)
|
||||
{
|
||||
if ((effected == null) || !effected.isPlayer())
|
||||
if ((effected != null) && effected.isPlayer())
|
||||
{
|
||||
return false;
|
||||
final PlayerInstance target = effected.getActingPlayer();
|
||||
return target.getInventory().getSize(i -> !i.isQuestItem()) <= (target.getInventoryLimit() - _size);
|
||||
}
|
||||
final PlayerInstance target = effected.getActingPlayer();
|
||||
return target.getInventory().getSize(false) <= (target.getInventoryLimit() - _size);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,8 @@ import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -107,7 +109,7 @@ public abstract class Inventory extends ItemContainer
|
||||
private static final class ChangeRecorder implements PaperdollListener
|
||||
{
|
||||
private final Inventory _inventory;
|
||||
private final List<ItemInstance> _changed;
|
||||
private final Set<ItemInstance> _changed = ConcurrentHashMap.newKeySet();
|
||||
|
||||
/**
|
||||
* Constructor of the ChangeRecorder
|
||||
@ -116,7 +118,6 @@ public abstract class Inventory extends ItemContainer
|
||||
ChangeRecorder(Inventory inventory)
|
||||
{
|
||||
_inventory = inventory;
|
||||
_changed = new ArrayList<>();
|
||||
_inventory.addPaperdollListener(this);
|
||||
}
|
||||
|
||||
@ -129,10 +130,7 @@ public abstract class Inventory extends ItemContainer
|
||||
@Override
|
||||
public void notifyEquiped(int slot, ItemInstance item, Inventory inventory)
|
||||
{
|
||||
if (!_changed.contains(item))
|
||||
{
|
||||
_changed.add(item);
|
||||
}
|
||||
_changed.add(item);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -144,10 +142,7 @@ public abstract class Inventory extends ItemContainer
|
||||
@Override
|
||||
public void notifyUnequiped(int slot, ItemInstance item, Inventory inventory)
|
||||
{
|
||||
if (!_changed.contains(item))
|
||||
{
|
||||
_changed.add(item);
|
||||
}
|
||||
_changed.add(item);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -180,7 +175,6 @@ public abstract class Inventory extends ItemContainer
|
||||
if (item.getItemType() == WeaponType.BOW)
|
||||
{
|
||||
final ItemInstance arrow = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||
|
||||
if (arrow != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||
@ -189,7 +183,6 @@ public abstract class Inventory extends ItemContainer
|
||||
else if (item.getItemType() == WeaponType.CROSSBOW)
|
||||
{
|
||||
final ItemInstance bolts = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||
|
||||
if (bolts != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||
@ -198,7 +191,6 @@ public abstract class Inventory extends ItemContainer
|
||||
else if (item.getItemType() == WeaponType.FISHINGROD)
|
||||
{
|
||||
final ItemInstance lure = inventory.getPaperdollItem(PAPERDOLL_LHAND);
|
||||
|
||||
if (lure != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, null);
|
||||
@ -217,7 +209,6 @@ public abstract class Inventory extends ItemContainer
|
||||
if (item.getItemType() == WeaponType.BOW)
|
||||
{
|
||||
final ItemInstance arrow = inventory.findArrowForBow(item.getItem());
|
||||
|
||||
if (arrow != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, arrow);
|
||||
@ -226,7 +217,6 @@ public abstract class Inventory extends ItemContainer
|
||||
else if (item.getItemType() == WeaponType.CROSSBOW)
|
||||
{
|
||||
final ItemInstance bolts = inventory.findBoltForCrossBow(item.getItem());
|
||||
|
||||
if (bolts != null)
|
||||
{
|
||||
inventory.setPaperdollItem(PAPERDOLL_LHAND, bolts);
|
||||
@ -273,8 +263,8 @@ public abstract class Inventory extends ItemContainer
|
||||
{
|
||||
return;
|
||||
}
|
||||
final PlayerInstance player = (PlayerInstance) inventory.getOwner();
|
||||
|
||||
final PlayerInstance player = (PlayerInstance) inventory.getOwner();
|
||||
Skill enchant4Skill;
|
||||
Skill itemSkill;
|
||||
final Item it = item.getItem();
|
||||
|
@ -19,9 +19,11 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
@ -45,8 +47,6 @@ public abstract class ItemContainer
|
||||
|
||||
protected final List<ItemInstance> _items = new CopyOnWriteArrayList<>();
|
||||
|
||||
int _ownerId = 0;
|
||||
|
||||
protected ItemContainer()
|
||||
{
|
||||
}
|
||||
@ -65,12 +65,7 @@ public abstract class ItemContainer
|
||||
*/
|
||||
public int getOwnerId()
|
||||
{
|
||||
return getOwner() == null ? _ownerId : getOwner().getObjectId();
|
||||
}
|
||||
|
||||
public void setOwnerId(int id)
|
||||
{
|
||||
_ownerId = id;
|
||||
return getOwner() == null ? 0 : getOwner().getObjectId();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -82,11 +77,27 @@ public abstract class ItemContainer
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the items in inventory
|
||||
* @param filter
|
||||
* @param filters
|
||||
* @return the quantity of items in the inventory
|
||||
*/
|
||||
public ItemInstance[] getItems()
|
||||
@SafeVarargs
|
||||
public final int getSize(Predicate<ItemInstance> filter, Predicate<ItemInstance>... filters)
|
||||
{
|
||||
return _items.toArray(new ItemInstance[_items.size()]);
|
||||
for (Predicate<ItemInstance> additionalFilter : filters)
|
||||
{
|
||||
filter = filter.and(additionalFilter);
|
||||
}
|
||||
return (int) _items.stream().filter(filter).count();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the items in inventory.
|
||||
* @return the items in inventory.
|
||||
*/
|
||||
public Collection<ItemInstance> getItems()
|
||||
{
|
||||
return _items;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,7 +19,8 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
@ -54,9 +55,6 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
private int[] _blockItems = null;
|
||||
|
||||
private int _questSlots;
|
||||
|
||||
private final Object _lock;
|
||||
/**
|
||||
* Block modes:
|
||||
* <UL>
|
||||
@ -70,7 +68,6 @@ public class PlayerInventory extends Inventory
|
||||
public PlayerInventory(PlayerInstance owner)
|
||||
{
|
||||
_owner = owner;
|
||||
_lock = new Object();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -118,14 +115,14 @@ public class PlayerInventory extends Inventory
|
||||
* @param allowAncientAdena
|
||||
* @return ItemInstance : items in inventory
|
||||
*/
|
||||
public ItemInstance[] getUniqueItems(boolean allowAdena, boolean allowAncientAdena)
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena)
|
||||
{
|
||||
return getUniqueItems(allowAdena, allowAncientAdena, true);
|
||||
}
|
||||
|
||||
public ItemInstance[] getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
||||
@ -146,7 +143,7 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -155,14 +152,14 @@ public class PlayerInventory extends Inventory
|
||||
* @param allowAncientAdena
|
||||
* @return ItemInstance : items in inventory
|
||||
*/
|
||||
public ItemInstance[] getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena)
|
||||
public Collection<ItemInstance> getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena)
|
||||
{
|
||||
return getUniqueItemsByEnchantLevel(allowAdena, allowAncientAdena, true);
|
||||
}
|
||||
|
||||
public ItemInstance[] getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
public Collection<ItemInstance> getUniqueItemsByEnchantLevel(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item == null) || (!allowAdena && (item.getId() == ADENA_ID)) || (!allowAncientAdena && (item.getId() == ANCIENT_ADENA_ID)))
|
||||
@ -185,14 +182,14 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param itemId
|
||||
* @return
|
||||
*/
|
||||
public ItemInstance[] getAllItemsByItemId(int itemId)
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId)
|
||||
{
|
||||
return getAllItemsByItemId(itemId, true);
|
||||
}
|
||||
@ -201,11 +198,11 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return List<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public ItemInstance[] getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
public List<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if (item == null)
|
||||
@ -218,7 +215,7 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -226,7 +223,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param enchantment
|
||||
* @return
|
||||
*/
|
||||
public ItemInstance[] getAllItemsByItemId(int itemId, int enchantment)
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment)
|
||||
{
|
||||
return getAllItemsByItemId(itemId, enchantment, true);
|
||||
}
|
||||
@ -236,11 +233,11 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return List<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public ItemInstance[] getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
public List<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if (item == null)
|
||||
@ -253,7 +250,7 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -262,9 +259,9 @@ public class PlayerInventory extends Inventory
|
||||
* @param feightable
|
||||
* @return the list of items in inventory available for transaction
|
||||
*/
|
||||
public ItemInstance[] getAvailableItems(boolean allowAdena, boolean allowNonTradeable, boolean feightable)
|
||||
public Collection<ItemInstance> getAvailableItems(boolean allowAdena, boolean allowNonTradeable, boolean feightable)
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item == null) || !item.isAvailable(_owner, allowAdena, allowNonTradeable) || !canManipulateWithItemId(item.getId()))
|
||||
@ -283,16 +280,16 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all augmented items
|
||||
* @return
|
||||
*/
|
||||
public ItemInstance[] getAugmentedItems()
|
||||
public Collection<ItemInstance> getAugmentedItems()
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item != null) && item.isAugmented())
|
||||
@ -300,16 +297,16 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all element items
|
||||
* @return
|
||||
*/
|
||||
public ItemInstance[] getElementItems()
|
||||
public Collection<ItemInstance> getElementItems()
|
||||
{
|
||||
final List<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item != null) && (item.getElementals() != null))
|
||||
@ -317,7 +314,7 @@ public class PlayerInventory extends Inventory
|
||||
list.add(item);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ItemInstance[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -325,9 +322,9 @@ public class PlayerInventory extends Inventory
|
||||
* @param tradeList
|
||||
* @return ItemInstance : items in inventory
|
||||
*/
|
||||
public TradeItem[] getAvailableItems(TradeList tradeList)
|
||||
public Collection<TradeItem> getAvailableItems(TradeList tradeList)
|
||||
{
|
||||
final List<TradeItem> list = new LinkedList<>();
|
||||
final List<TradeItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
if ((item != null) && item.isAvailable(_owner, false, false))
|
||||
@ -339,7 +336,7 @@ public class PlayerInventory extends Inventory
|
||||
}
|
||||
}
|
||||
}
|
||||
return list.toArray(new TradeItem[list.size()]);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -714,18 +711,6 @@ public class PlayerInventory extends Inventory
|
||||
_ancientAdena = null;
|
||||
}
|
||||
|
||||
if (item.isQuestItem())
|
||||
{
|
||||
synchronized (_lock)
|
||||
{
|
||||
_questSlots--;
|
||||
if (_questSlots < 0)
|
||||
{
|
||||
_questSlots = 0;
|
||||
LOGGER.warning(this + ": QuestInventory size < 0!");
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.removeItem(item);
|
||||
}
|
||||
|
||||
@ -852,7 +837,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public boolean validateCapacity(long slots, boolean questItem)
|
||||
{
|
||||
return ((slots == 0) && !Config.AUTO_LOOT_SLOT_LIMIT) || questItem ? (_questSlots + slots) <= _owner.getQuestInventoryLimit() : ((_items.size() - _questSlots) + slots) <= _owner.getInventoryLimit();
|
||||
return ((slots == 0) && !Config.AUTO_LOOT_SLOT_LIMIT) || questItem ? (getSize(item -> item.isQuestItem()) + slots) <= _owner.getQuestInventoryLimit() : (getSize(item -> !item.isQuestItem()) + slots) <= _owner.getInventoryLimit();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -936,24 +921,6 @@ public class PlayerInventory extends Inventory
|
||||
return ((_blockMode != 0) || !CommonUtil.contains(_blockItems, itemId)) && ((_blockMode != 1) || CommonUtil.contains(_blockItems, itemId));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addItem(ItemInstance item)
|
||||
{
|
||||
if (item.isQuestItem())
|
||||
{
|
||||
synchronized (_lock)
|
||||
{
|
||||
_questSlots++;
|
||||
}
|
||||
}
|
||||
super.addItem(item);
|
||||
}
|
||||
|
||||
public int getSize(boolean quest)
|
||||
{
|
||||
return quest ? _questSlots : getSize() - _questSlots;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
|
@ -17,6 +17,7 @@
|
||||
package org.l2jmobius.gameserver.model.multisell;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
@ -50,7 +51,7 @@ public class PreparedListContainer extends ListContainer
|
||||
return;
|
||||
}
|
||||
|
||||
final ItemInstance[] items;
|
||||
final Collection<ItemInstance> items;
|
||||
if (getMaintainEnchantment())
|
||||
{
|
||||
items = player.getInventory().getUniqueItemsByEnchantLevel(false, false, false);
|
||||
|
@ -300,18 +300,18 @@ public class MultiSellChoose implements IClientIncomingPacket
|
||||
if (list.getMaintainEnchantment() || (e.getEnchantLevel() > 0))
|
||||
{
|
||||
// loop through this list and remove (one by one) each item until the required amount is taken.
|
||||
final ItemInstance[] inventoryContents = inv.getAllItemsByItemId(e.getItemId(), e.getEnchantLevel(), false);
|
||||
final List<ItemInstance> inventoryContents = inv.getAllItemsByItemId(e.getItemId(), e.getEnchantLevel(), false);
|
||||
for (int i = 0; i < (e.getItemCount() * _amount); i++)
|
||||
{
|
||||
if (inventoryContents[i].isAugmented())
|
||||
if (inventoryContents.get(i).isAugmented())
|
||||
{
|
||||
augmentation.add(inventoryContents[i].getAugmentation());
|
||||
augmentation.add(inventoryContents.get(i).getAugmentation());
|
||||
}
|
||||
if (inventoryContents[i].getElementals() != null)
|
||||
if (inventoryContents.get(i).getElementals() != null)
|
||||
{
|
||||
elemental = inventoryContents[i].getElementals();
|
||||
elemental = inventoryContents.get(i).getElementals();
|
||||
}
|
||||
if (!player.destroyItem("Multisell", inventoryContents[i].getObjectId(), 1, player.getTarget(), true))
|
||||
if (!player.destroyItem("Multisell", inventoryContents.get(i).getObjectId(), 1, player.getTarget(), true))
|
||||
{
|
||||
player.setMultiSell(null);
|
||||
return;
|
||||
@ -358,9 +358,9 @@ public class MultiSellChoose implements IClientIncomingPacket
|
||||
// choice 1. Small number of items exchanged. No sorting.
|
||||
for (int i = 1; i <= (e.getItemCount() * _amount); i++)
|
||||
{
|
||||
final ItemInstance[] inventoryContents = inv.getAllItemsByItemId(e.getItemId(), false);
|
||||
final List<ItemInstance> inventoryContents = inv.getAllItemsByItemId(e.getItemId(), false);
|
||||
|
||||
itemToTake = inventoryContents[0];
|
||||
itemToTake = inventoryContents.get(0);
|
||||
// get item with the LOWEST enchantment level from the inventory...
|
||||
// +0 is lowest by default...
|
||||
if (itemToTake.getEnchantLevel() > 0)
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.clientpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketReader;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.network.GameClient;
|
||||
@ -39,7 +41,7 @@ public class RequestPackageSendableItemList implements IClientIncomingPacket
|
||||
@Override
|
||||
public void run(GameClient client)
|
||||
{
|
||||
final ItemInstance[] items = client.getPlayer().getInventory().getAvailableItems(true, true, true);
|
||||
final Collection<ItemInstance> items = client.getPlayer().getInventory().getAvailableItems(true, true, true);
|
||||
client.sendPacket(new PackageSendableList(items, _objectID, client.getPlayer().getAdena()));
|
||||
}
|
||||
}
|
||||
|
@ -79,13 +79,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
if (_items == null)
|
||||
{
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!player.hasRefund())
|
||||
if ((_items == null) || !player.hasRefund())
|
||||
{
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
@ -126,7 +120,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
||||
long adena = 0;
|
||||
long slots = 0;
|
||||
|
||||
final ItemInstance[] refund = player.getRefund().getItems();
|
||||
final ItemInstance[] refund = player.getRefund().getItems().toArray(new ItemInstance[0]);
|
||||
final int[] objectIds = new int[_items.length];
|
||||
|
||||
for (int i = 0; i < _items.length; i++)
|
||||
@ -177,21 +171,21 @@ public class RequestRefundItem implements IClientIncomingPacket
|
||||
|
||||
if ((weight > Integer.MAX_VALUE) || (weight < 0) || !player.getInventory().validateWeight((int) weight))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_THE_WEIGHT_LIMIT);
|
||||
client.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_THE_WEIGHT_LIMIT);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((slots > Integer.MAX_VALUE) || (slots < 0) || !player.getInventory().validateCapacity((int) slots))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOUR_INVENTORY_IS_FULL);
|
||||
client.sendPacket(SystemMessageId.YOUR_INVENTORY_IS_FULL);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((adena < 0) || !player.reduceAdena("Refund", adena, player.getLastFolkNPC(), false))
|
||||
{
|
||||
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
|
||||
client.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
|
||||
client.sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return;
|
||||
}
|
||||
@ -209,7 +203,7 @@ public class RequestRefundItem implements IClientIncomingPacket
|
||||
// Update current load status on player
|
||||
final StatusUpdate su = new StatusUpdate(player);
|
||||
su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad());
|
||||
player.sendPacket(su);
|
||||
player.sendPacket(new ExBuySellList(player, true));
|
||||
client.sendPacket(su);
|
||||
client.sendPacket(new ExBuySellList(player, true));
|
||||
}
|
||||
}
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
@ -26,8 +28,8 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
*/
|
||||
public class ExBuySellList extends AbstractItemPacket
|
||||
{
|
||||
private ItemInstance[] _sellList = null;
|
||||
private ItemInstance[] _refundList = null;
|
||||
private Collection<ItemInstance> _sellList = null;
|
||||
private Collection<ItemInstance> _refundList = null;
|
||||
private final boolean _done;
|
||||
|
||||
public ExBuySellList(PlayerInstance player, boolean done)
|
||||
@ -48,7 +50,7 @@ public class ExBuySellList extends AbstractItemPacket
|
||||
|
||||
if ((_sellList != null))
|
||||
{
|
||||
packet.writeH(_sellList.length);
|
||||
packet.writeH(_sellList.size());
|
||||
for (ItemInstance item : _sellList)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
@ -60,9 +62,9 @@ public class ExBuySellList extends AbstractItemPacket
|
||||
packet.writeH(0x00);
|
||||
}
|
||||
|
||||
if ((_refundList != null) && (_refundList.length > 0))
|
||||
if ((_refundList != null) && (!_refundList.isEmpty()))
|
||||
{
|
||||
packet.writeH(_refundList.length);
|
||||
packet.writeH(_refundList.size());
|
||||
int i = 0;
|
||||
for (ItemInstance item : _refundList)
|
||||
{
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
@ -28,7 +30,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
public class ExReplyPostItemList extends AbstractItemPacket
|
||||
{
|
||||
PlayerInstance _player;
|
||||
private final ItemInstance[] _itemList;
|
||||
private final Collection<ItemInstance> _itemList;
|
||||
|
||||
public ExReplyPostItemList(PlayerInstance player)
|
||||
{
|
||||
@ -40,7 +42,7 @@ public class ExReplyPostItemList extends AbstractItemPacket
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_REPLY_POST_ITEM_LIST.writeId(packet);
|
||||
packet.writeD(_itemList.length);
|
||||
packet.writeD(_itemList.size());
|
||||
for (ItemInstance item : _itemList)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.entity.Message;
|
||||
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
||||
@ -28,7 +30,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
public class ExReplyReceivedPost extends AbstractItemPacket
|
||||
{
|
||||
private final Message _msg;
|
||||
private ItemInstance[] _items = null;
|
||||
private Collection<ItemInstance> _items = null;
|
||||
|
||||
public ExReplyReceivedPost(Message msg)
|
||||
{
|
||||
@ -58,9 +60,9 @@ public class ExReplyReceivedPost extends AbstractItemPacket
|
||||
packet.writeS(_msg.getSubject());
|
||||
packet.writeS(_msg.getContent());
|
||||
|
||||
if ((_items != null) && (_items.length > 0))
|
||||
if ((_items != null) && !_items.isEmpty())
|
||||
{
|
||||
packet.writeD(_items.length);
|
||||
packet.writeD(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.entity.Message;
|
||||
import org.l2jmobius.gameserver.model.itemcontainer.ItemContainer;
|
||||
@ -29,7 +31,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
public class ExReplySentPost extends AbstractItemPacket
|
||||
{
|
||||
private final Message _msg;
|
||||
private ItemInstance[] _items = null;
|
||||
private Collection<ItemInstance> _items = null;
|
||||
|
||||
public ExReplySentPost(Message msg)
|
||||
{
|
||||
@ -58,9 +60,9 @@ public class ExReplySentPost extends AbstractItemPacket
|
||||
packet.writeS(_msg.getSubject());
|
||||
packet.writeS(_msg.getContent());
|
||||
|
||||
if ((_items != null) && (_items.length > 0))
|
||||
if ((_items != null) && !_items.isEmpty())
|
||||
{
|
||||
packet.writeD(_items.length);
|
||||
packet.writeD(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.items.Weapon;
|
||||
@ -24,7 +26,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
|
||||
public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
|
||||
{
|
||||
private final ItemInstance[] _items;
|
||||
private final Collection<ItemInstance> _items;
|
||||
private long _price;
|
||||
|
||||
public ExShowBaseAttributeCancelWindow(PlayerInstance player)
|
||||
@ -36,7 +38,7 @@ public class ExShowBaseAttributeCancelWindow implements IClientOutgoingPacket
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.EX_SHOW_BASE_ATTRIBUTE_CANCEL_WINDOW.writeId(packet);
|
||||
packet.writeD(_items.length);
|
||||
packet.writeD(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
packet.writeD(item.getObjectId());
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.clan.Clan;
|
||||
@ -24,7 +26,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
|
||||
public class GMViewWarehouseWithdrawList extends AbstractItemPacket
|
||||
{
|
||||
private final ItemInstance[] _items;
|
||||
private final Collection<ItemInstance> _items;
|
||||
private final String _playerName;
|
||||
private final long _money;
|
||||
|
||||
@ -48,7 +50,7 @@ public class GMViewWarehouseWithdrawList extends AbstractItemPacket
|
||||
OutgoingPackets.GM_VIEW_WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
||||
packet.writeS(_playerName);
|
||||
packet.writeQ(_money);
|
||||
packet.writeH(_items.length);
|
||||
packet.writeH(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
@ -26,11 +28,11 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
*/
|
||||
public class PackageSendableList extends AbstractItemPacket
|
||||
{
|
||||
private final ItemInstance[] _items;
|
||||
private final Collection<ItemInstance> _items;
|
||||
private final int _playerObjId;
|
||||
private final long _adena;
|
||||
|
||||
public PackageSendableList(ItemInstance[] items, int playerObjId, long adena)
|
||||
public PackageSendableList(Collection<ItemInstance> items, int playerObjId, long adena)
|
||||
{
|
||||
_items = items;
|
||||
_playerObjId = playerObjId;
|
||||
@ -43,7 +45,7 @@ public class PackageSendableList extends AbstractItemPacket
|
||||
OutgoingPackets.PACKAGE_SENDABLE_LIST.writeId(packet);
|
||||
packet.writeD(_playerObjId);
|
||||
packet.writeQ(_adena);
|
||||
packet.writeD(_items.length);
|
||||
packet.writeD(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,24 +16,26 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
|
||||
public class PetItemList extends AbstractItemPacket
|
||||
{
|
||||
private final ItemInstance[] _items;
|
||||
private final Collection<ItemInstance> _items;
|
||||
|
||||
public PetItemList(ItemInstance[] items)
|
||||
public PetItemList(Collection<ItemInstance> collection)
|
||||
{
|
||||
_items = items;
|
||||
_items = collection;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean write(PacketWriter packet)
|
||||
{
|
||||
OutgoingPackets.PET_ITEM_LIST.writeId(packet);
|
||||
packet.writeH(_items.length);
|
||||
packet.writeH(_items.size());
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.TradeItem;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
@ -26,7 +28,7 @@ public class PrivateStoreManageListBuy extends AbstractItemPacket
|
||||
{
|
||||
private final int _objId;
|
||||
private final long _playerAdena;
|
||||
private final ItemInstance[] _itemList;
|
||||
private final Collection<ItemInstance> _itemList;
|
||||
private final TradeItem[] _buyList;
|
||||
|
||||
public PrivateStoreManageListBuy(PlayerInstance player)
|
||||
@ -46,7 +48,7 @@ public class PrivateStoreManageListBuy extends AbstractItemPacket
|
||||
packet.writeQ(_playerAdena);
|
||||
|
||||
// section2
|
||||
packet.writeD(_itemList.length); // inventory items for potential buy
|
||||
packet.writeD(_itemList.size()); // inventory items for potential buy
|
||||
for (ItemInstance item : _itemList)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.TradeItem;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
@ -26,7 +28,7 @@ public class PrivateStoreManageListSell extends AbstractItemPacket
|
||||
private final int _objId;
|
||||
private final long _playerAdena;
|
||||
private final boolean _packageSale;
|
||||
private final TradeItem[] _itemList;
|
||||
private final Collection<TradeItem> _itemList;
|
||||
private final TradeItem[] _sellList;
|
||||
|
||||
public PrivateStoreManageListSell(PlayerInstance player, boolean isPackageSale)
|
||||
@ -49,7 +51,7 @@ public class PrivateStoreManageListSell extends AbstractItemPacket
|
||||
packet.writeQ(_playerAdena);
|
||||
|
||||
// section2
|
||||
packet.writeD(_itemList.length); // for potential sells
|
||||
packet.writeD(_itemList.size()); // for potential sells
|
||||
for (TradeItem item : _itemList)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -17,6 +17,7 @@
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
@ -452,13 +453,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* <li>Weapon</li>
|
||||
* <li>Arrow</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createWeaponList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createWeaponList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if (item.isWeapon() || (item.getItem().getType2() == Item.TYPE2_WEAPON) || (item.isEtcItem() && (item.getItemType() == EtcItemType.ARROW)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -479,13 +480,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Armor</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createArmorList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createArmorList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if (item.isArmor() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -506,13 +507,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Everything which is no Weapon/Armor</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createEtcItemList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createEtcItemList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if (item.isEtcItem() || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -533,13 +534,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Materials</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createMatList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createMatList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.MATERIAL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -560,13 +561,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Recipes</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createRecipeList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createRecipeList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.RECIPE)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -587,13 +588,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Amulett</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createAmulettList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createAmulettList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -614,13 +615,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Spellbook & Dwarven Drafts</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createSpellbookList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createSpellbookList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (!item.getItemName().toUpperCase().startsWith("AMULET"))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -641,13 +642,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Consumables (Potions, Shots, ...)</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createConsumableList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createConsumableList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() == EtcItemType.SCROLL) || (item.getEtcItem().getItemType() == EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -668,13 +669,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Shots</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createShotList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createShotList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SHOT)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -695,13 +696,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Scrolls/Potions</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createScrollList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createScrollList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SCROLL)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -722,13 +723,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Seeds</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createSeedList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createSeedList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && (item.getEtcItem().getItemType() == EtcItemType.SEED)) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -749,13 +750,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>Everything which is no Weapon/Armor, Material, Recipe, Spellbook, Scroll or Shot</li>
|
||||
* <li>Money</li>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createOtherList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createOtherList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if ((item.isEtcItem() && ((item.getEtcItem().getItemType() != EtcItemType.MATERIAL) && (item.getEtcItem().getItemType() != EtcItemType.RECIPE) && (item.getEtcItem().getItemType() != EtcItemType.SCROLL) && (item.getEtcItem().getItemType() != EtcItemType.SHOT))) || (item.getItem().getType2() == Item.TYPE2_MONEY))
|
||||
{
|
||||
@ -775,13 +776,13 @@ public class SortedWareHouseWithdrawalList implements IClientOutgoingPacket
|
||||
/**
|
||||
* This method is used to limit the given Warehouse List to:
|
||||
* <li>no limit</li> This may sound strange but we return the given Array as a List<L2WarehouseItem>
|
||||
* @param _items complete Warehouse List
|
||||
* @param items complete Warehouse List
|
||||
* @return limited Item List
|
||||
*/
|
||||
private List<WarehouseItem> createAllList(ItemInstance[] _items)
|
||||
private List<WarehouseItem> createAllList(Collection<ItemInstance> items)
|
||||
{
|
||||
final List<WarehouseItem> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items)
|
||||
for (ItemInstance item : items)
|
||||
{
|
||||
if (list.size() < MAX_SORT_LIST_ITEMS)
|
||||
{
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.PlayerCondOverride;
|
||||
@ -26,7 +28,7 @@ import org.l2jmobius.gameserver.network.OutgoingPackets;
|
||||
public class TradeStart extends AbstractItemPacket
|
||||
{
|
||||
private final PlayerInstance _player;
|
||||
private final ItemInstance[] _itemList;
|
||||
private final Collection<ItemInstance> _itemList;
|
||||
|
||||
public TradeStart(PlayerInstance player)
|
||||
{
|
||||
@ -44,7 +46,7 @@ public class TradeStart extends AbstractItemPacket
|
||||
|
||||
OutgoingPackets.TRADE_START.writeId(packet);
|
||||
packet.writeD(_player.getActiveTradeList().getPartner().getObjectId());
|
||||
packet.writeH(_itemList.length);
|
||||
packet.writeH(_itemList.size());
|
||||
for (ItemInstance item : _itemList)
|
||||
{
|
||||
writeItem(packet, item);
|
||||
|
@ -16,6 +16,8 @@
|
||||
*/
|
||||
package org.l2jmobius.gameserver.network.serverpackets;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.l2jmobius.commons.network.PacketWriter;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
@ -28,7 +30,7 @@ public class WareHouseWithdrawalList extends AbstractItemPacket
|
||||
public static final int CASTLE = 3; // not sure
|
||||
public static final int FREIGHT = 1;
|
||||
private long _playerAdena;
|
||||
private ItemInstance[] _items;
|
||||
private Collection<ItemInstance> _items;
|
||||
/**
|
||||
* <ul>
|
||||
* <li>0x01-Private Warehouse</li>
|
||||
@ -58,7 +60,7 @@ public class WareHouseWithdrawalList extends AbstractItemPacket
|
||||
OutgoingPackets.WAREHOUSE_WITHDRAW_LIST.writeId(packet);
|
||||
packet.writeH(_whType);
|
||||
packet.writeQ(_playerAdena);
|
||||
packet.writeH(_items.length);
|
||||
packet.writeH(_items.size());
|
||||
|
||||
for (ItemInstance item : _items)
|
||||
{
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
*/
|
||||
public class ConditionPlayerInvSize extends Condition
|
||||
{
|
||||
|
||||
private final int _size;
|
||||
|
||||
/**
|
||||
|
@ -544,11 +544,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -563,11 +559,7 @@ public abstract class ItemContainer
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -19,9 +19,9 @@ package org.l2jmobius.gameserver.model.itemcontainer;
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
@ -130,7 +130,7 @@ public class PlayerInventory extends Inventory
|
||||
|
||||
public Collection<ItemInstance> getUniqueItems(boolean allowAdena, boolean allowAncientAdena, boolean onlyAvailable)
|
||||
{
|
||||
final Collection<ItemInstance> list = new LinkedList<>();
|
||||
final List<ItemInstance> list = new ArrayList<>();
|
||||
for (ItemInstance item : _items.values())
|
||||
{
|
||||
if (!allowAdena && (item.getId() == ADENA_ID))
|
||||
@ -172,7 +172,7 @@ public class PlayerInventory extends Inventory
|
||||
* Returns the list of all items in inventory that have a given item id.
|
||||
* @param itemId : ID of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, boolean includeEquipped)
|
||||
{
|
||||
@ -194,7 +194,7 @@ public class PlayerInventory extends Inventory
|
||||
* @param itemId : ID of item
|
||||
* @param enchantment : enchant level of item
|
||||
* @param includeEquipped : include equipped items
|
||||
* @return ItemInstance[] : matching items from inventory
|
||||
* @return Collection<ItemInstance> : matching items from inventory
|
||||
*/
|
||||
public Collection<ItemInstance> getAllItemsByItemId(int itemId, int enchantment, boolean includeEquipped)
|
||||
{
|
||||
@ -235,7 +235,7 @@ public class PlayerInventory extends Inventory
|
||||
.filter(i -> i.isAvailable(_owner, false, false))
|
||||
.map(tradeList::adjustAvailableItem)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(LinkedList::new));
|
||||
.collect(Collectors.toCollection(ArrayList::new));
|
||||
//@formatter:on
|
||||
}
|
||||
|
||||
@ -367,11 +367,7 @@ public class PlayerInventory extends Inventory
|
||||
*/
|
||||
public boolean reduceAncientAdena(String process, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
if (count > 0)
|
||||
{
|
||||
return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
|
||||
}
|
||||
return false;
|
||||
return (count > 0) && (destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,11 +587,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItem(String process, int objectId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByObjectId(objectId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -611,11 +603,7 @@ public class PlayerInventory extends Inventory
|
||||
public ItemInstance destroyItemByItemId(String process, int itemId, long count, PlayerInstance actor, Object reference)
|
||||
{
|
||||
final ItemInstance item = getItemByItemId(itemId);
|
||||
if (item == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return destroyItem(process, item, count, actor, reference);
|
||||
return item == null ? null : destroyItem(process, item, count, actor, reference);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user