Upgrade merge
This commit is contained in:
parent
74b8246b39
commit
9855cce93d
1 changed files with 14 additions and 15 deletions
|
@ -39,8 +39,10 @@ import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
import net.minecraftforge.items.CapabilityItemHandler;
|
import net.minecraftforge.items.CapabilityItemHandler;
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
|
import reborncore.api.recipe.IRecipeCrafterProvider;
|
||||||
import reborncore.api.tile.IUpgrade;
|
import reborncore.api.tile.IUpgrade;
|
||||||
import reborncore.common.powerSystem.TilePowerAcceptor;
|
import reborncore.common.powerSystem.TilePowerAcceptor;
|
||||||
|
import reborncore.common.recipes.IUpgradeHandler;
|
||||||
import reborncore.common.recipes.RecipeCrafter;
|
import reborncore.common.recipes.RecipeCrafter;
|
||||||
import reborncore.common.tile.IMachineSlotProvider;
|
import reborncore.common.tile.IMachineSlotProvider;
|
||||||
import reborncore.common.tile.TileLegacyMachineBase;
|
import reborncore.common.tile.TileLegacyMachineBase;
|
||||||
|
@ -121,21 +123,20 @@ public class ItemUpgrades extends ItemTR implements IUpgrade {
|
||||||
@Nonnull
|
@Nonnull
|
||||||
TileLegacyMachineBase machineBase,
|
TileLegacyMachineBase machineBase,
|
||||||
@Nullable
|
@Nullable
|
||||||
RecipeCrafter crafter,
|
IUpgradeHandler handler,
|
||||||
@Nonnull
|
@Nonnull
|
||||||
ItemStack stack) {
|
ItemStack stack) {
|
||||||
|
|
||||||
if (stack.getItemDamage() == 0) {
|
if (stack.getItemDamage() == 0) {
|
||||||
if (crafter != null) {
|
handler.addSpeedMulti(0.25);
|
||||||
crafter.addSpeedMulti(0.25);
|
handler.addPowerMulti(0.5);
|
||||||
crafter.addPowerMulti(0.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else if (stack.getItemDamage() == 4) {
|
} else if (stack.getItemDamage() == 4) {
|
||||||
EnumFacing dir = getFacing(stack);
|
EnumFacing dir = getFacing(stack);
|
||||||
TileEntity tileEntity = machineBase.getWorld().getTileEntity(machineBase.getPos().offset(dir));
|
TileEntity tileEntity = machineBase.getWorld().getTileEntity(machineBase.getPos().offset(dir));
|
||||||
if (tileEntity instanceof IInventory) {
|
if (tileEntity instanceof IInventory) {
|
||||||
if (crafter != null) {
|
if (machineBase instanceof IRecipeCrafterProvider) {
|
||||||
|
RecipeCrafter crafter = ((IRecipeCrafterProvider) machineBase).getRecipeCrafter();
|
||||||
for (Integer outSlot : crafter.outputSlots) {
|
for (Integer outSlot : crafter.outputSlots) {
|
||||||
ItemStack outputStack = crafter.inventory.getStackInSlot(outSlot);
|
ItemStack outputStack = crafter.inventory.getStackInSlot(outSlot);
|
||||||
if (!outputStack.isEmpty()) {
|
if (!outputStack.isEmpty()) {
|
||||||
|
@ -181,16 +182,14 @@ public class ItemUpgrades extends ItemTR implements IUpgrade {
|
||||||
if (tileEntity != null && tileEntity.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, dir.getOpposite())) {
|
if (tileEntity != null && tileEntity.hasCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, dir.getOpposite())) {
|
||||||
IItemHandler itemHandler = tileEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, dir.getOpposite());
|
IItemHandler itemHandler = tileEntity.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, dir.getOpposite());
|
||||||
for (int i = 0; i < itemHandler.getSlots(); i++) {
|
for (int i = 0; i < itemHandler.getSlots(); i++) {
|
||||||
ItemStack stack1 = itemHandler.getStackInSlot(i);
|
ItemStack extractedStack = itemHandler.extractItem(i, 1, true);
|
||||||
if (crafter == null || crafter.isStackValidInput(stack1)) {
|
int amount = InventoryHelper.testInventoryInsertion(machineBase, extractedStack, null);
|
||||||
ItemStack extractedStack = itemHandler.extractItem(i, 1, true);
|
if (amount > 0) {
|
||||||
int amount = InventoryHelper.testInventoryInsertion(machineBase, extractedStack, null);
|
extractedStack = itemHandler.extractItem(i, 1, false);
|
||||||
if (amount > 0) {
|
extractedStack.setCount(1);
|
||||||
extractedStack = itemHandler.extractItem(i, 1, false);
|
InventoryHelper.insertItemIntoInventory(machineBase, extractedStack);
|
||||||
extractedStack.setCount(1);
|
|
||||||
InventoryHelper.insertItemIntoInventory(machineBase, extractedStack);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue