Move autocrafting stuff in better package
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package refinedstorage.tile.autocrafting;
|
||||
package refinedstorage.autocrafting;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@@ -7,6 +7,7 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.Constants;
|
||||
import refinedstorage.item.ItemPattern;
|
||||
import refinedstorage.tile.TileCrafter;
|
||||
|
||||
public class CraftingPattern {
|
||||
public static final String NBT = "Pattern";
|
||||
@@ -1,9 +1,8 @@
|
||||
package refinedstorage.tile.autocrafting.task;
|
||||
package refinedstorage.autocrafting;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.tile.autocrafting.CraftingPattern;
|
||||
import refinedstorage.tile.controller.TileController;
|
||||
|
||||
public class CraftingTaskScheduler {
|
||||
179
src/main/java/refinedstorage/autocrafting/task/BasicCraftingTask.java
Executable file
179
src/main/java/refinedstorage/autocrafting/task/BasicCraftingTask.java
Executable file
@@ -0,0 +1,179 @@
|
||||
package refinedstorage.autocrafting.task;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
import net.minecraftforge.common.util.Constants;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.autocrafting.CraftingPattern;
|
||||
import refinedstorage.tile.controller.TileController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class BasicCraftingTask implements ICraftingTask {
|
||||
public static final int ID = 0;
|
||||
|
||||
public static final String NBT_SATISFIED = "Satisfied";
|
||||
public static final String NBT_CHECKED = "Checked";
|
||||
public static final String NBT_CHILD_TASKS = "ChildTasks";
|
||||
public static final String NBT_TOOK = "Took";
|
||||
|
||||
private CraftingPattern pattern;
|
||||
private boolean satisfied[];
|
||||
private boolean checked[];
|
||||
private boolean childTasks[];
|
||||
private List<ItemStack> itemsTook = new ArrayList<ItemStack>();
|
||||
private boolean updatedOnce;
|
||||
|
||||
public BasicCraftingTask(CraftingPattern pattern) {
|
||||
this.pattern = pattern;
|
||||
this.satisfied = new boolean[pattern.getInputs().length];
|
||||
this.checked = new boolean[pattern.getInputs().length];
|
||||
this.childTasks = new boolean[pattern.getInputs().length];
|
||||
}
|
||||
|
||||
public BasicCraftingTask(NBTTagCompound tag, CraftingPattern pattern) {
|
||||
this.pattern = pattern;
|
||||
this.satisfied = RefinedStorageUtils.readBooleanArray(tag, NBT_SATISFIED);
|
||||
this.checked = RefinedStorageUtils.readBooleanArray(tag, NBT_CHECKED);
|
||||
this.childTasks = RefinedStorageUtils.readBooleanArray(tag, NBT_CHILD_TASKS);
|
||||
|
||||
NBTTagList tookList = tag.getTagList(NBT_TOOK, Constants.NBT.TAG_COMPOUND);
|
||||
|
||||
for (int i = 0; i < tookList.tagCount(); ++i) {
|
||||
itemsTook.add(ItemStack.loadItemStackFromNBT(tookList.getCompoundTagAt(i)));
|
||||
}
|
||||
}
|
||||
|
||||
public CraftingPattern getPattern() {
|
||||
return pattern;
|
||||
}
|
||||
|
||||
public boolean update(TileController controller) {
|
||||
this.updatedOnce = true;
|
||||
|
||||
boolean done = true;
|
||||
|
||||
for (int i = 0; i < pattern.getInputs().length; ++i) {
|
||||
checked[i] = true;
|
||||
|
||||
ItemStack input = pattern.getInputs()[i];
|
||||
|
||||
if (!satisfied[i]) {
|
||||
done = false;
|
||||
|
||||
ItemStack took = controller.take(input, 1);
|
||||
|
||||
if (took != null) {
|
||||
itemsTook.add(took);
|
||||
|
||||
satisfied[i] = true;
|
||||
} else if (!childTasks[i]) {
|
||||
CraftingPattern pattern = controller.getPattern(input);
|
||||
|
||||
if (pattern != null) {
|
||||
controller.addCraftingTask(controller.createCraftingTask(pattern));
|
||||
|
||||
childTasks[i] = true;
|
||||
}
|
||||
|
||||
break;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return done;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDone(TileController controller) {
|
||||
for (ItemStack output : pattern.getOutputs()) {
|
||||
controller.push(output);
|
||||
}
|
||||
|
||||
if (pattern.getByproducts() != null) {
|
||||
for (ItemStack byproduct : pattern.getByproducts()) {
|
||||
controller.push(byproduct);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancelled(TileController controller) {
|
||||
for (ItemStack took : itemsTook) {
|
||||
controller.push(took);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound tag) {
|
||||
NBTTagCompound patternTag = new NBTTagCompound();
|
||||
pattern.writeToNBT(patternTag);
|
||||
tag.setTag(CraftingPattern.NBT, patternTag);
|
||||
|
||||
RefinedStorageUtils.writeBooleanArray(tag, NBT_SATISFIED, satisfied);
|
||||
RefinedStorageUtils.writeBooleanArray(tag, NBT_CHECKED, checked);
|
||||
RefinedStorageUtils.writeBooleanArray(tag, NBT_CHILD_TASKS, childTasks);
|
||||
|
||||
NBTTagList tookList = new NBTTagList();
|
||||
|
||||
for (ItemStack took : itemsTook) {
|
||||
tookList.appendTag(took.serializeNBT());
|
||||
}
|
||||
|
||||
tag.setTag(NBT_TOOK, tookList);
|
||||
|
||||
tag.setInteger("Type", ID);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInfo() {
|
||||
if (!updatedOnce) {
|
||||
return "{not_started_yet}";
|
||||
}
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(TextFormatting.YELLOW).append("{missing_items}").append(TextFormatting.RESET).append("\n");
|
||||
|
||||
int missingItems = 0;
|
||||
|
||||
for (int i = 0; i < pattern.getInputs().length; ++i) {
|
||||
ItemStack input = pattern.getInputs()[i];
|
||||
|
||||
if (checked[i] && !satisfied[i] && !childTasks[i]) {
|
||||
builder.append("- ").append(input.getDisplayName()).append("\n");
|
||||
|
||||
missingItems++;
|
||||
}
|
||||
}
|
||||
|
||||
if (missingItems == 0) {
|
||||
builder.append(TextFormatting.GRAY).append(TextFormatting.ITALIC).append("{none}").append(TextFormatting.RESET).append("\n");
|
||||
}
|
||||
|
||||
builder.append(TextFormatting.YELLOW).append("{items_crafting}").append(TextFormatting.RESET).append("\n");
|
||||
|
||||
int itemsCrafting = 0;
|
||||
|
||||
for (int i = 0; i < pattern.getInputs().length; ++i) {
|
||||
ItemStack input = pattern.getInputs()[i];
|
||||
|
||||
if (!satisfied[i] && childTasks[i]) {
|
||||
builder.append("- ").append(input.getUnlocalizedName()).append(".name").append("\n");
|
||||
|
||||
itemsCrafting++;
|
||||
}
|
||||
}
|
||||
|
||||
if (itemsCrafting == 0) {
|
||||
builder.append(TextFormatting.GRAY).append(TextFormatting.ITALIC).append("{none}").append(TextFormatting.RESET).append("\n");
|
||||
}
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
19
src/main/java/refinedstorage/autocrafting/task/ICraftingTask.java
Executable file
19
src/main/java/refinedstorage/autocrafting/task/ICraftingTask.java
Executable file
@@ -0,0 +1,19 @@
|
||||
package refinedstorage.autocrafting.task;
|
||||
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import refinedstorage.autocrafting.CraftingPattern;
|
||||
import refinedstorage.tile.controller.TileController;
|
||||
|
||||
public interface ICraftingTask {
|
||||
CraftingPattern getPattern();
|
||||
|
||||
boolean update(TileController controller);
|
||||
|
||||
void onDone(TileController controller);
|
||||
|
||||
void onCancelled(TileController controller);
|
||||
|
||||
void writeToNBT(NBTTagCompound tag);
|
||||
|
||||
String getInfo();
|
||||
}
|
||||
191
src/main/java/refinedstorage/autocrafting/task/ProcessingCraftingTask.java
Executable file
191
src/main/java/refinedstorage/autocrafting/task/ProcessingCraftingTask.java
Executable file
@@ -0,0 +1,191 @@
|
||||
package refinedstorage.autocrafting.task;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import net.minecraftforge.items.ItemHandlerHelper;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.autocrafting.CraftingPattern;
|
||||
import refinedstorage.tile.TileCrafter;
|
||||
import refinedstorage.tile.controller.TileController;
|
||||
|
||||
public class ProcessingCraftingTask implements ICraftingTask {
|
||||
public static final int ID = 1;
|
||||
|
||||
public static final String NBT_INSERTED = "Inserted";
|
||||
public static final String NBT_CHILD_TASKS = "ChildTasks";
|
||||
public static final String NBT_SATISFIED = "Satisfied";
|
||||
|
||||
private CraftingPattern pattern;
|
||||
private boolean inserted[];
|
||||
private boolean childTasks[];
|
||||
private boolean satisfied[];
|
||||
private boolean updatedOnce;
|
||||
|
||||
public ProcessingCraftingTask(CraftingPattern pattern) {
|
||||
this.pattern = pattern;
|
||||
this.inserted = new boolean[pattern.getInputs().length];
|
||||
this.childTasks = new boolean[pattern.getInputs().length];
|
||||
this.satisfied = new boolean[pattern.getOutputs().length];
|
||||
}
|
||||
|
||||
public ProcessingCraftingTask(NBTTagCompound tag, CraftingPattern pattern) {
|
||||
this.pattern = pattern;
|
||||
this.inserted = RefinedStorageUtils.readBooleanArray(tag, NBT_INSERTED);
|
||||
this.childTasks = RefinedStorageUtils.readBooleanArray(tag, NBT_CHILD_TASKS);
|
||||
this.satisfied = RefinedStorageUtils.readBooleanArray(tag, NBT_SATISFIED);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CraftingPattern getPattern() {
|
||||
return pattern;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean update(TileController controller) {
|
||||
this.updatedOnce = true;
|
||||
|
||||
TileCrafter crafter = pattern.getCrafter(controller.getWorld());
|
||||
IItemHandler handler = RefinedStorageUtils.getItemHandler(crafter.getFacingTile(), crafter.getDirection().getOpposite());
|
||||
|
||||
if (handler != null) {
|
||||
for (int i = 0; i < inserted.length; ++i) {
|
||||
if (!inserted[i]) {
|
||||
ItemStack input = pattern.getInputs()[i];
|
||||
ItemStack took = controller.take(input, 1);
|
||||
|
||||
if (took != null) {
|
||||
if (ItemHandlerHelper.insertItem(handler, took, true) == null) {
|
||||
ItemHandlerHelper.insertItem(handler, took, false);
|
||||
|
||||
inserted[i] = true;
|
||||
} else {
|
||||
controller.push(took);
|
||||
}
|
||||
} else if (!childTasks[i]) {
|
||||
CraftingPattern pattern = controller.getPattern(input);
|
||||
|
||||
if (pattern != null) {
|
||||
childTasks[i] = true;
|
||||
|
||||
controller.addCraftingTask(controller.createCraftingTask(pattern));
|
||||
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
for (int i = 0; i < satisfied.length; ++i) {
|
||||
if (!satisfied[i]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void onPushed(ItemStack inserted) {
|
||||
for (int i = 0; i < pattern.getOutputs().length; ++i) {
|
||||
if (!satisfied[i] && RefinedStorageUtils.compareStackNoQuantity(inserted, pattern.getOutputs()[i])) {
|
||||
satisfied[i] = true;
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDone(TileController controller) {
|
||||
// NO OP
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancelled(TileController controller) {
|
||||
// NO OP
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound tag) {
|
||||
NBTTagCompound patternTag = new NBTTagCompound();
|
||||
pattern.writeToNBT(patternTag);
|
||||
tag.setTag(CraftingPattern.NBT, patternTag);
|
||||
|
||||
RefinedStorageUtils.writeBooleanArray(tag, NBT_INSERTED, inserted);
|
||||
RefinedStorageUtils.writeBooleanArray(tag, NBT_CHILD_TASKS, childTasks);
|
||||
RefinedStorageUtils.writeBooleanArray(tag, NBT_SATISFIED, satisfied);
|
||||
|
||||
tag.setInteger("Type", ID);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getInfo() {
|
||||
if (!updatedOnce) {
|
||||
return "{not_started_yet}";
|
||||
}
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(TextFormatting.YELLOW).append("{missing_items}").append(TextFormatting.RESET).append("\n");
|
||||
|
||||
int missingItems = 0;
|
||||
|
||||
for (int i = 0; i < pattern.getInputs().length; ++i) {
|
||||
ItemStack input = pattern.getInputs()[i];
|
||||
|
||||
if (!inserted[i] && !childTasks[i]) {
|
||||
builder.append("- ").append(input.getDisplayName()).append("\n");
|
||||
|
||||
missingItems++;
|
||||
}
|
||||
}
|
||||
|
||||
if (missingItems == 0) {
|
||||
builder.append(TextFormatting.GRAY).append(TextFormatting.ITALIC).append("{none}").append(TextFormatting.RESET).append("\n");
|
||||
}
|
||||
|
||||
builder.append(TextFormatting.YELLOW).append("{items_crafting}").append(TextFormatting.RESET).append("\n");
|
||||
|
||||
int itemsCrafting = 0;
|
||||
|
||||
for (int i = 0; i < pattern.getInputs().length; ++i) {
|
||||
ItemStack input = pattern.getInputs()[i];
|
||||
|
||||
if (!inserted[i] && childTasks[i]) {
|
||||
builder.append("- ").append(input.getUnlocalizedName()).append(".name").append("\n");
|
||||
|
||||
itemsCrafting++;
|
||||
}
|
||||
}
|
||||
|
||||
if (itemsCrafting == 0) {
|
||||
builder.append(TextFormatting.GRAY).append(TextFormatting.ITALIC).append("{none}").append(TextFormatting.RESET).append("\n");
|
||||
}
|
||||
|
||||
builder.append(TextFormatting.YELLOW).append("{items_processing}").append(TextFormatting.RESET).append("\n");
|
||||
|
||||
int itemsProcessing = 0;
|
||||
|
||||
for (int i = 0; i < pattern.getInputs().length; ++i) {
|
||||
ItemStack input = pattern.getInputs()[i];
|
||||
|
||||
if (inserted[i]) {
|
||||
builder.append("- ").append(input.getDisplayName()).append("\n");
|
||||
|
||||
itemsProcessing++;
|
||||
}
|
||||
}
|
||||
|
||||
if (itemsProcessing == 0) {
|
||||
builder.append(TextFormatting.GRAY).append(TextFormatting.ITALIC).append("{none}").append(TextFormatting.RESET).append("\n");
|
||||
}
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.autocrafting.TileCrafter;
|
||||
import refinedstorage.tile.TileCrafter;
|
||||
|
||||
public class BlockCrafter extends BlockMachine {
|
||||
public BlockCrafter() {
|
||||
|
||||
@@ -10,7 +10,7 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.autocrafting.TileCraftingMonitor;
|
||||
import refinedstorage.tile.TileCraftingMonitor;
|
||||
|
||||
public class BlockCraftingMonitor extends BlockMachine {
|
||||
public BlockCraftingMonitor() {
|
||||
|
||||
@@ -10,7 +10,7 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageGui;
|
||||
import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder;
|
||||
import refinedstorage.tile.TileProcessingPatternEncoder;
|
||||
|
||||
public class BlockProcessingPatternEncoder extends BlockBase {
|
||||
public BlockProcessingPatternEncoder() {
|
||||
|
||||
@@ -4,7 +4,7 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.items.SlotItemHandler;
|
||||
import refinedstorage.tile.autocrafting.TileCrafter;
|
||||
import refinedstorage.tile.TileCrafter;
|
||||
|
||||
public class ContainerCrafter extends ContainerStorage {
|
||||
public ContainerCrafter(EntityPlayer player, TileCrafter crafter) {
|
||||
|
||||
@@ -4,7 +4,7 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraftforge.items.SlotItemHandler;
|
||||
import refinedstorage.container.slot.SlotOutput;
|
||||
import refinedstorage.container.slot.SlotSpecimen;
|
||||
import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder;
|
||||
import refinedstorage.tile.TileProcessingPatternEncoder;
|
||||
|
||||
public class ContainerProcessingPatternEncoder extends ContainerBase {
|
||||
public ContainerProcessingPatternEncoder(EntityPlayer player, TileProcessingPatternEncoder processingPatternEncoder) {
|
||||
|
||||
@@ -7,7 +7,7 @@ import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.container.ContainerCrafter;
|
||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.item.ItemPattern;
|
||||
import refinedstorage.tile.autocrafting.TileCrafter;
|
||||
import refinedstorage.tile.TileCrafter;
|
||||
|
||||
public class GuiCrafter extends GuiBase {
|
||||
private TileCrafter crafter;
|
||||
|
||||
@@ -8,7 +8,7 @@ import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.container.ContainerCraftingMonitor;
|
||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import refinedstorage.network.MessageCraftingMonitorCancel;
|
||||
import refinedstorage.tile.autocrafting.TileCraftingMonitor;
|
||||
import refinedstorage.tile.TileCraftingMonitor;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -11,9 +11,6 @@ import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.container.*;
|
||||
import refinedstorage.storage.IStorageGui;
|
||||
import refinedstorage.tile.*;
|
||||
import refinedstorage.tile.autocrafting.TileCrafter;
|
||||
import refinedstorage.tile.autocrafting.TileCraftingMonitor;
|
||||
import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder;
|
||||
import refinedstorage.tile.controller.TileController;
|
||||
import refinedstorage.tile.grid.TileGrid;
|
||||
import refinedstorage.tile.grid.WirelessGrid;
|
||||
|
||||
@@ -5,7 +5,7 @@ import net.minecraft.init.SoundEvents;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.container.ContainerProcessingPatternEncoder;
|
||||
import refinedstorage.network.MessageGridPatternCreate;
|
||||
import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder;
|
||||
import refinedstorage.tile.TileProcessingPatternEncoder;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import refinedstorage.tile.autocrafting.TileCraftingMonitor;
|
||||
import refinedstorage.tile.TileCraftingMonitor;
|
||||
|
||||
public class MessageCraftingMonitorCancel extends MessageHandlerPlayerToServer<MessageCraftingMonitorCancel> implements IMessage {
|
||||
private int x;
|
||||
|
||||
@@ -6,7 +6,7 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import refinedstorage.block.EnumGridType;
|
||||
import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder;
|
||||
import refinedstorage.tile.TileProcessingPatternEncoder;
|
||||
import refinedstorage.tile.grid.TileGrid;
|
||||
|
||||
public class MessageGridPatternCreate extends MessageHandlerPlayerToServer<MessageGridPatternCreate> implements IMessage {
|
||||
|
||||
@@ -31,9 +31,6 @@ import refinedstorage.solderer.SoldererRecipeStorage;
|
||||
import refinedstorage.solderer.SoldererRecipeUpgrade;
|
||||
import refinedstorage.storage.NBTStorage;
|
||||
import refinedstorage.tile.*;
|
||||
import refinedstorage.tile.autocrafting.TileCrafter;
|
||||
import refinedstorage.tile.autocrafting.TileCraftingMonitor;
|
||||
import refinedstorage.tile.autocrafting.TileProcessingPatternEncoder;
|
||||
import refinedstorage.tile.controller.TileController;
|
||||
import refinedstorage.tile.grid.TileGrid;
|
||||
|
||||
|
||||
@@ -18,11 +18,11 @@ import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.autocrafting.CraftingTaskScheduler;
|
||||
import refinedstorage.container.ContainerConstructor;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
import refinedstorage.tile.autocrafting.task.CraftingTaskScheduler;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package refinedstorage.tile.autocrafting;
|
||||
package refinedstorage.tile;
|
||||
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -11,14 +11,13 @@ import net.minecraftforge.items.IItemHandler;
|
||||
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.autocrafting.task.ICraftingTask;
|
||||
import refinedstorage.container.ContainerCrafter;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.inventory.IItemValidator;
|
||||
import refinedstorage.item.ItemPattern;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
import refinedstorage.tile.TileMachine;
|
||||
import refinedstorage.tile.autocrafting.task.ICraftingTask;
|
||||
|
||||
public class TileCrafter extends TileMachine {
|
||||
private BasicItemHandler patterns = new BasicItemHandler(PATTERN_SLOTS, this, new IItemValidator() {
|
||||
@@ -1,12 +1,11 @@
|
||||
package refinedstorage.tile.autocrafting;
|
||||
package refinedstorage.tile;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
||||
import refinedstorage.autocrafting.task.ICraftingTask;
|
||||
import refinedstorage.container.ContainerCraftingMonitor;
|
||||
import refinedstorage.tile.TileMachine;
|
||||
import refinedstorage.tile.autocrafting.task.ICraftingTask;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -11,11 +11,11 @@ import net.minecraftforge.items.IItemHandler;
|
||||
import net.minecraftforge.items.ItemHandlerHelper;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.autocrafting.CraftingTaskScheduler;
|
||||
import refinedstorage.container.ContainerExporter;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
import refinedstorage.tile.autocrafting.task.CraftingTaskScheduler;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
|
||||
public class TileExporter extends TileMachine implements ICompareConfig {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package refinedstorage.tile.autocrafting;
|
||||
package refinedstorage.tile;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@@ -11,7 +11,6 @@ import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.inventory.BasicItemHandler;
|
||||
import refinedstorage.inventory.BasicItemValidator;
|
||||
import refinedstorage.item.ItemPattern;
|
||||
import refinedstorage.tile.TileBase;
|
||||
|
||||
public class TileProcessingPatternEncoder extends TileBase {
|
||||
private BasicItemHandler patterns = new BasicItemHandler(2, this, new BasicItemValidator(RefinedStorageItems.PATTERN));
|
||||
@@ -3,10 +3,10 @@ package refinedstorage.tile.controller;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.autocrafting.CraftingPattern;
|
||||
import refinedstorage.autocrafting.task.ICraftingTask;
|
||||
import refinedstorage.item.ItemWirelessGrid;
|
||||
import refinedstorage.network.GridPullFlags;
|
||||
import refinedstorage.tile.autocrafting.CraftingPattern;
|
||||
import refinedstorage.tile.autocrafting.task.ICraftingTask;
|
||||
|
||||
public class StorageHandler {
|
||||
public static final int MAX_CRAFTING_PER_REQUEST = 500;
|
||||
|
||||
@@ -17,6 +17,10 @@ import net.minecraftforge.items.ItemHandlerHelper;
|
||||
import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.RefinedStorageBlocks;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.autocrafting.CraftingPattern;
|
||||
import refinedstorage.autocrafting.task.BasicCraftingTask;
|
||||
import refinedstorage.autocrafting.task.ICraftingTask;
|
||||
import refinedstorage.autocrafting.task.ProcessingCraftingTask;
|
||||
import refinedstorage.block.BlockController;
|
||||
import refinedstorage.block.EnumControllerType;
|
||||
import refinedstorage.container.ContainerController;
|
||||
@@ -25,15 +29,7 @@ import refinedstorage.item.ItemPattern;
|
||||
import refinedstorage.network.MessageGridItems;
|
||||
import refinedstorage.storage.IStorage;
|
||||
import refinedstorage.storage.IStorageProvider;
|
||||
import refinedstorage.tile.ISynchronizedContainer;
|
||||
import refinedstorage.tile.TileBase;
|
||||
import refinedstorage.tile.TileMachine;
|
||||
import refinedstorage.tile.TileWirelessTransmitter;
|
||||
import refinedstorage.tile.autocrafting.CraftingPattern;
|
||||
import refinedstorage.tile.autocrafting.TileCrafter;
|
||||
import refinedstorage.tile.autocrafting.task.BasicCraftingTask;
|
||||
import refinedstorage.tile.autocrafting.task.ICraftingTask;
|
||||
import refinedstorage.tile.autocrafting.task.ProcessingCraftingTask;
|
||||
import refinedstorage.tile.*;
|
||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||
import refinedstorage.tile.config.RedstoneMode;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user