fix #3316
This commit is contained in:
parent
d2f9826d19
commit
790d05d4c4
|
@ -80,25 +80,13 @@ public abstract class Schematic {
|
||||||
ItemStack stack = slot.getStackInSlot();
|
ItemStack stack = slot.getStackInSlot();
|
||||||
ItemStack result = stack.copy();
|
ItemStack result = stack.copy();
|
||||||
|
|
||||||
if (stack.isItemStackDamageable()) {
|
if (stack.stackSize >= req.stackSize) {
|
||||||
if (req.getItemDamage() + stack.getItemDamage() <= stack.getMaxDamage()) {
|
result.stackSize = req.stackSize;
|
||||||
stack.setItemDamage(req.getItemDamage() + stack.getItemDamage());
|
stack.stackSize -= req.stackSize;
|
||||||
result.setItemDamage(req.getItemDamage());
|
req.stackSize = 0;
|
||||||
req.stackSize = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getItemDamage() >= stack.getMaxDamage()) {
|
|
||||||
slot.decreaseStackInSlot(1);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (stack.stackSize >= req.stackSize) {
|
req.stackSize -= stack.stackSize;
|
||||||
result.stackSize = req.stackSize;
|
stack.stackSize = 0;
|
||||||
stack.stackSize -= req.stackSize;
|
|
||||||
req.stackSize = 0;
|
|
||||||
} else {
|
|
||||||
req.stackSize -= stack.stackSize;
|
|
||||||
stack.stackSize = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stack.stackSize == 0) {
|
if (stack.stackSize == 0) {
|
||||||
|
|
|
@ -526,6 +526,8 @@ public class BptBuilderBlueprint extends BptBuilderBase {
|
||||||
return !(builder.energyAvailable() < slot.getEnergyRequirement(stacksUsed));
|
return !(builder.energyAvailable() < slot.getEnergyRequirement(stacksUsed));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IInventory invCopy = new InventoryCopy(builder);
|
||||||
|
|
||||||
for (ItemStack reqStk : tmpReq) {
|
for (ItemStack reqStk : tmpReq) {
|
||||||
boolean itemBlock = reqStk.getItem() instanceof ItemBlock;
|
boolean itemBlock = reqStk.getItem() instanceof ItemBlock;
|
||||||
Fluid fluid = itemBlock ? FluidRegistry.lookupFluidForBlock(((ItemBlock) reqStk.getItem()).field_150939_a) : null;
|
Fluid fluid = itemBlock ? FluidRegistry.lookupFluidForBlock(((ItemBlock) reqStk.getItem()).field_150939_a) : null;
|
||||||
|
@ -534,7 +536,7 @@ public class BptBuilderBlueprint extends BptBuilderBase {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (IInvSlot slotInv : InventoryIterator.getIterable(new InventoryCopy(builder), ForgeDirection.UNKNOWN)) {
|
for (IInvSlot slotInv : InventoryIterator.getIterable(invCopy, ForgeDirection.UNKNOWN)) {
|
||||||
if (!builder.isBuildingMaterialSlot(slotInv.getIndex())) {
|
if (!builder.isBuildingMaterialSlot(slotInv.getIndex())) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue