mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-22 15:18:34 +01:00
Made the reconstructor reconstruct even if it can't change the entire stack
This commit is contained in:
parent
ad3bb33d03
commit
c2f04bc77f
1 changed files with 20 additions and 8 deletions
|
@ -183,21 +183,33 @@ public class MethodHandler implements IMethodHandler{
|
|||
if(!item.isDead && stack != null){
|
||||
List<LensConversionRecipe> recipes = LensRecipeHandler.getRecipesFor(stack);
|
||||
for(LensConversionRecipe recipe : recipes){
|
||||
if(recipe != null && recipe.type == tile.getLens() && tile.getEnergy() >= recipe.energyUse*stack.stackSize){
|
||||
ItemStack outputCopy = recipe.outputStack.copy();
|
||||
outputCopy.stackSize = stack.stackSize;
|
||||
if(recipe != null && recipe.type == tile.getLens()){
|
||||
int itemsPossible = Math.min(tile.getEnergy()/recipe.energyUse, stack.stackSize);
|
||||
|
||||
if(itemsPossible > 0){
|
||||
item.setDead();
|
||||
|
||||
if(stack.stackSize > 0){
|
||||
ItemStack stackCopy = stack.copy();
|
||||
stackCopy.stackSize-=itemsPossible;
|
||||
|
||||
EntityItem inputLeft = new EntityItem(tile.getWorldObject(), item.posX, item.posY, item.posZ, stackCopy);
|
||||
tile.getWorldObject().spawnEntityInWorld(inputLeft);
|
||||
}
|
||||
|
||||
ItemStack outputCopy = recipe.outputStack.copy();
|
||||
outputCopy.stackSize = itemsPossible;
|
||||
|
||||
EntityItem newItem = new EntityItem(tile.getWorldObject(), item.posX, item.posY, item.posZ, outputCopy);
|
||||
tile.getWorldObject().spawnEntityInWorld(newItem);
|
||||
|
||||
tile.extractEnergy(recipe.energyUse*stack.stackSize);
|
||||
tile.extractEnergy(recipe.energyUse*itemsPossible);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
Loading…
Reference in a new issue