Precaution for probable inventory NPE.

This commit is contained in:
MobiusDevelopment 2019-05-07 20:02:56 +00:00
parent dbfdd34850
commit 8dab37055a
12 changed files with 120 additions and 24 deletions

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -492,10 +493,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -509,10 +510,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -509,10 +510,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -509,10 +510,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -514,10 +515,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -537,10 +538,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -537,10 +538,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -509,10 +510,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -509,10 +510,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -514,10 +515,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -537,10 +538,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {

View File

@ -51,6 +51,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder; import org.l2jmobius.gameserver.model.holders.ArmorsetSkillHolder;
import org.l2jmobius.gameserver.model.items.EtcItem; import org.l2jmobius.gameserver.model.items.EtcItem;
import org.l2jmobius.gameserver.model.items.Item; import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceStone;
import org.l2jmobius.gameserver.model.items.appearance.AppearanceType; import org.l2jmobius.gameserver.model.items.appearance.AppearanceType;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType; import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -537,10 +538,17 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set // Verify and apply visual set
final int itemVisualId = item.getVisualId(); final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId)) if (itemVisualId > 0)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{ {
update = true; update = true;
} }
}
}
if (update) if (update)
{ {