From e203b14f8d8671df17940709c40c52fb4ebbbe98 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Wed, 17 Aug 2016 03:49:29 +0200 Subject: [PATCH] Fixed mushrooms creating nether wart infinitely with the Reconstructor --- .../mod/misc/MethodHandler.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/MethodHandler.java b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/MethodHandler.java index e0026532f..f051aedf8 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/misc/MethodHandler.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/misc/MethodHandler.java @@ -145,18 +145,23 @@ public class MethodHandler implements IMethodHandler{ List outputs = RecipeUtil.getConversionLensOutputs(recipe); if(outputs != null && !outputs.isEmpty()){ ItemStack output = outputs.get(0); - if(output.getItem() instanceof ItemBlock){ + if(output != null){ if(!ConfigBoolValues.LESS_BLOCK_BREAKING_EFFECTS.isEnabled()){ tile.getWorldObject().playEvent(2001, pos, Block.getStateId(tile.getWorldObject().getBlockState(pos))); } - tile.getWorldObject().setBlockState(pos, Block.getBlockFromItem(output.getItem()).getStateFromMeta(output.getItemDamage()), 2); + + if(output.getItem() instanceof ItemBlock){ + tile.getWorldObject().setBlockState(pos, Block.getBlockFromItem(output.getItem()).getStateFromMeta(output.getItemDamage()), 2); + } + else{ + EntityItem item = new EntityItem(tile.getWorldObject(), pos.getX()+0.5, pos.getY()+0.5, pos.getZ()+0.5, output.copy()); + tile.getWorldObject().spawnEntityInWorld(item); + tile.getWorldObject().setBlockToAir(pos); + } + + tile.extractEnergy(recipe.energyUse); + break; } - else{ - EntityItem item = new EntityItem(tile.getWorldObject(), pos.getX()+0.5, pos.getY()+0.5, pos.getZ()+0.5, output.copy()); - tile.getWorldObject().spawnEntityInWorld(item); - } - tile.extractEnergy(recipe.energyUse); - break; } } }