Invalid pattern stuff, started on legacy pattern conversion

This commit is contained in:
Raoul Van den Berge
2016-09-03 02:09:52 +02:00
parent bd56689171
commit 19d5912edd
4 changed files with 25 additions and 5 deletions

View File

@@ -51,11 +51,11 @@ public class CraftingPattern implements ICraftingPattern {
if (output != null) { if (output != null) {
outputs.add(output.copy()); outputs.add(output.copy());
}
for (ItemStack remaining : CraftingManager.getInstance().getRemainingItems(dummyInventory, world)) { for (ItemStack remaining : CraftingManager.getInstance().getRemainingItems(dummyInventory, world)) {
if (remaining != null) { if (remaining != null) {
outputs.add(remaining.copy()); outputs.add(remaining.copy());
}
} }
} }
} else { } else {

View File

@@ -49,7 +49,7 @@ public class ItemPattern extends ItemBase implements ICraftingPatternProvider {
combineItems(tooltip, true, Iterables.toArray(pattern.getOutputs(), ItemStack.class)); combineItems(tooltip, true, Iterables.toArray(pattern.getOutputs(), ItemStack.class));
} else { } else {
tooltip.add(TextFormatting.RED + "Invalid pattern, please re-make!"); tooltip.add(TextFormatting.RED + I18n.format("misc.refinedstorage:pattern.invalid") + TextFormatting.RESET);
} }
} }

View File

@@ -1,5 +1,6 @@
package refinedstorage.tile; package refinedstorage.tile;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.Capability;
@@ -28,6 +29,8 @@ public class TileCrafter extends TileNode implements ICraftingPatternContainer {
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, this, ItemUpgrade.TYPE_SPEED); private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, this, ItemUpgrade.TYPE_SPEED);
private boolean didLegacyPatternConversion;
@Override @Override
public int getEnergyUsage() { public int getEnergyUsage() {
int usage = RefinedStorage.INSTANCE.crafterUsage + upgrades.getEnergyUsage(); int usage = RefinedStorage.INSTANCE.crafterUsage + upgrades.getEnergyUsage();
@@ -41,6 +44,22 @@ public class TileCrafter extends TileNode implements ICraftingPatternContainer {
return usage; return usage;
} }
public void update() {
super.update();
if (!worldObj.isRemote && !didLegacyPatternConversion) {
for (int i = 0; i < patterns.getSlots(); ++i) {
ItemStack slot = patterns.getStackInSlot(i);
if (slot != null && slot.hasTagCompound() && slot.getTagCompound().hasKey("Inputs")) {
// @TODO: Legacy pattern conversion
}
}
didLegacyPatternConversion = true;
}
}
@Override @Override
public void updateNode() { public void updateNode() {
} }

View File

@@ -59,6 +59,7 @@ misc.refinedstorage:network_card.tooltip=Linked to %d, %d, %d.
misc.refinedstorage:pattern.inputs=Inputs misc.refinedstorage:pattern.inputs=Inputs
misc.refinedstorage:pattern.outputs=Outputs misc.refinedstorage:pattern.outputs=Outputs
misc.refinedstorage:pattern.invalid=Invalid pattern
misc.refinedstorage:start=Start misc.refinedstorage:start=Start
misc.refinedstorage:clear=Clear misc.refinedstorage:clear=Clear