Creating the actual patterns now

This commit is contained in:
Raoul Van den Berge
2016-04-10 14:53:45 +02:00
parent fda8c44fc2
commit c6074aec30
2 changed files with 29 additions and 0 deletions

View File

@@ -121,6 +121,12 @@ public class ContainerGrid extends ContainerBase {
}
}
if (!player.worldObj.isRemote && slot instanceof SlotDisabled && grid.getType() == EnumGridType.PATTERN && slot.getHasStack()) {
((TileGrid) grid).onCreatePattern();
return null;
}
return super.func_184996_a(id, clickedButton, clickType, player);
}
}

View File

@@ -10,10 +10,12 @@ import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.nbt.NBTTagCompound;
import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageBlocks;
import refinedstorage.RefinedStorageItems;
import refinedstorage.block.BlockGrid;
import refinedstorage.block.EnumGridType;
import refinedstorage.container.ContainerGrid;
import refinedstorage.inventory.InventorySimple;
import refinedstorage.item.ItemPattern;
import refinedstorage.network.MessageGridSettingsUpdate;
import refinedstorage.network.MessageGridStoragePull;
import refinedstorage.network.MessageGridStoragePush;
@@ -159,6 +161,27 @@ public class TileGrid extends TileMachine implements IGrid {
}
}
public void onCreatePattern() {
ItemStack crafted = craftingResultInventory.getStackInSlot(0);
if (patternsInventory.getStackInSlot(1) == null && patternsInventory.getStackInSlot(0) != null && patternsInventory.getStackInSlot(0).stackSize > 0) {
patternsInventory.decrStackSize(0, 1);
ItemStack pattern = new ItemStack(RefinedStorageItems.PATTERN);
ItemPattern.setResult(pattern, crafted);
for (int i = 0; i < 9; ++i) {
ItemStack slot = craftingInventory.getStackInSlot(i);
if (slot != null) {
ItemPattern.setSlot(pattern, i, slot);
}
}
patternsInventory.setInventorySlotContents(1, pattern);
}
}
public void onRecipeTransfer(ItemStack[][] recipe) {
if (isConnected()) {
for (int i = 0; i < craftingInventory.getSizeInventory(); ++i) {