Avoid infinite loop.

This commit is contained in:
MobiusDev
2015-12-18 20:58:40 +00:00
parent 2ceac003a7
commit 07fb53e015

View File

@@ -50,8 +50,8 @@ public class ExtractableItems implements IItemHandler
final L2PcInstance activeChar = playable.getActingPlayer(); final L2PcInstance activeChar = playable.getActingPlayer();
final L2EtcItem etcitem = (L2EtcItem) item.getItem(); final L2EtcItem etcitem = (L2EtcItem) item.getItem();
final List<L2ExtractableProduct> exitem = etcitem.getExtractableItems(); final List<L2ExtractableProduct> exitems = etcitem.getExtractableItems();
if (exitem == null) if (exitems == null)
{ {
_log.info("No extractable data defined for " + etcitem); _log.info("No extractable data defined for " + etcitem);
return false; return false;
@@ -69,7 +69,7 @@ public class ExtractableItems implements IItemHandler
{ {
while (extractedItems.size() < etcitem.getExtractableCountMin()) while (extractedItems.size() < etcitem.getExtractableCountMin())
{ {
for (L2ExtractableProduct expi : exitem) for (L2ExtractableProduct expi : exitems)
{ {
if ((etcitem.getExtractableCountMax() > 0) && (extractedItems.size() == etcitem.getExtractableCountMax())) if ((etcitem.getExtractableCountMax() > 0) && (extractedItems.size() == etcitem.getExtractableCountMax()))
{ {
@@ -97,7 +97,7 @@ public class ExtractableItems implements IItemHandler
break; break;
} }
} }
if (alreadyExtracted) if (alreadyExtracted && (exitems.size() <= etcitem.getExtractableCountMax()))
{ {
continue; continue;
} }
@@ -134,7 +134,7 @@ public class ExtractableItems implements IItemHandler
} }
else else
{ {
for (L2ExtractableProduct expi : exitem) for (L2ExtractableProduct expi : exitems)
{ {
if ((etcitem.getExtractableCountMax() > 0) && (extractedItems.size() == etcitem.getExtractableCountMax())) if ((etcitem.getExtractableCountMax() > 0) && (extractedItems.size() == etcitem.getExtractableCountMax()))
{ {