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,10 +493,17 @@ 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)
{
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,10 +510,17 @@ 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)
{
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,10 +510,17 @@ 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)
{
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,10 +510,17 @@ 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)
{
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,10 +515,17 @@ 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)
{
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,10 +538,17 @@ 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)
{
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,10 +538,17 @@ 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)
{
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,10 +510,17 @@ 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)
{
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,10 +510,17 @@ 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)
{
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,10 +515,17 @@ 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)
{
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,10 +538,17 @@ 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)
{
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,10 +538,17 @@ 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)
{
final AppearanceStone stone = AppearanceItemData.getInstance().getStone(itemVisualId);
if (stone != null)
{
if ((stone.getType() == AppearanceType.FIXED) && verifyAndApply(player, item, ItemInstance::getVisualId))
{
update = true;
}
}
}
if (update)
{