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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -492,9 +493,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -509,9 +510,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -509,9 +510,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -509,9 +510,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -514,9 +515,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -537,9 +538,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -537,9 +538,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -509,9 +510,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -509,9 +510,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -514,9 +515,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -537,9 +538,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
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.items.EtcItem;
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.instance.ItemInstance;
import org.l2jmobius.gameserver.model.items.type.EtcItemType;
@ -537,9 +538,16 @@ public abstract class Inventory extends ItemContainer
// Verify and apply visual set
final int itemVisualId = item.getVisualId();
if ((itemVisualId > 0) && (AppearanceItemData.getInstance().getStone(itemVisualId).getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
if (itemVisualId > 0)
{
update = true;
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
if (update)