Don't try to craft a non-existent item
This commit is contained in:
parent
75320e7e88
commit
90e7d42375
@ -907,8 +907,19 @@ public:
|
|||||||
<< " against " << def->dump() << std::endl;*/
|
<< " against " << def->dump() << std::endl;*/
|
||||||
|
|
||||||
if (def->check(input, gamedef)) {
|
if (def->check(input, gamedef)) {
|
||||||
|
// Check if the crafted node/item exists
|
||||||
|
CraftOutput out = def->getOutput(input, gamedef);
|
||||||
|
ItemStack is;
|
||||||
|
is.deSerialize(out.item, gamedef->idef());
|
||||||
|
if (!is.isKnown(gamedef->idef())) {
|
||||||
|
infostream << "trying to craft non-existent "
|
||||||
|
<< out.item << ", ignoring recipe" << std::endl;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Get output, then decrement input (if requested)
|
// Get output, then decrement input (if requested)
|
||||||
output = def->getOutput(input, gamedef);
|
output = out;
|
||||||
|
|
||||||
if (decrementInput)
|
if (decrementInput)
|
||||||
def->decrementInput(input, output_replacement, gamedef);
|
def->decrementInput(input, output_replacement, gamedef);
|
||||||
/*errorstream << "Check RETURNS TRUE" << std::endl;*/
|
/*errorstream << "Check RETURNS TRUE" << std::endl;*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user