diff --git a/src/main/java/appeng/api/definitions/IItems.java b/src/main/java/appeng/api/definitions/IItems.java index d8486a29c91..54354ac025d 100644 --- a/src/main/java/appeng/api/definitions/IItems.java +++ b/src/main/java/appeng/api/definitions/IItems.java @@ -85,6 +85,14 @@ public interface IItems { IItemDefinition cell64k(); + IItemDefinition cell256k(); + + IItemDefinition cell1024k(); + + IItemDefinition cell4096k(); + + IItemDefinition cell16384k(); + IItemDefinition spatialCell2(); IItemDefinition spatialCell16(); diff --git a/src/main/java/appeng/api/definitions/IMaterials.java b/src/main/java/appeng/api/definitions/IMaterials.java index 23fa4f84871..c8f10051e9b 100644 --- a/src/main/java/appeng/api/definitions/IMaterials.java +++ b/src/main/java/appeng/api/definitions/IMaterials.java @@ -81,6 +81,16 @@ public interface IMaterials { IItemDefinition emptyStorageCell(); + IItemDefinition cell256kPart(); + + IItemDefinition cell1024kPart(); + + IItemDefinition cell4096kPart(); + + IItemDefinition cell16384kPart(); + + IItemDefinition emptyAdvancedStorageCell(); + IItemDefinition cardRedstone(); IItemDefinition cardSpeed(); diff --git a/src/main/java/appeng/core/Registration.java b/src/main/java/appeng/core/Registration.java index 2f9b0accb85..20dfa59ecb8 100644 --- a/src/main/java/appeng/core/Registration.java +++ b/src/main/java/appeng/core/Registration.java @@ -614,6 +614,22 @@ void postInit(final FMLPostInitializationEvent event) { Upgrades.INVERTER.registerItem(items.cell64k(), 1); Upgrades.ORE_FILTER.registerItem(items.cell64k(), 1); + Upgrades.FUZZY.registerItem(items.cell256k(), 1); + Upgrades.INVERTER.registerItem(items.cell256k(), 1); + Upgrades.ORE_FILTER.registerItem(items.cell256k(), 1); + + Upgrades.FUZZY.registerItem(items.cell1024k(), 1); + Upgrades.INVERTER.registerItem(items.cell1024k(), 1); + Upgrades.ORE_FILTER.registerItem(items.cell1024k(), 1); + + Upgrades.FUZZY.registerItem(items.cell4096k(), 1); + Upgrades.INVERTER.registerItem(items.cell4096k(), 1); + Upgrades.ORE_FILTER.registerItem(items.cell4096k(), 1); + + Upgrades.FUZZY.registerItem(items.cell16384k(), 1); + Upgrades.INVERTER.registerItem(items.cell16384k(), 1); + Upgrades.ORE_FILTER.registerItem(items.cell16384k(), 1); + Upgrades.FUZZY.registerItem(items.portableCell(), 1); Upgrades.INVERTER.registerItem(items.portableCell(), 1); Upgrades.ORE_FILTER.registerItem(items.portableCell(), 1); diff --git a/src/main/java/appeng/core/api/definitions/ApiItems.java b/src/main/java/appeng/core/api/definitions/ApiItems.java index 74f5ec1f51f..309e3980f21 100644 --- a/src/main/java/appeng/core/api/definitions/ApiItems.java +++ b/src/main/java/appeng/core/api/definitions/ApiItems.java @@ -31,10 +31,7 @@ import appeng.items.misc.ItemEncodedPattern; import appeng.items.misc.ItemPaintBall; import appeng.items.parts.ItemFacade; -import appeng.items.storage.ItemBasicStorageCell; -import appeng.items.storage.ItemCreativeStorageCell; -import appeng.items.storage.ItemSpatialStorageCell; -import appeng.items.storage.ItemViewCell; +import appeng.items.storage.*; import appeng.items.tools.ToolBiometricCard; import appeng.items.tools.ToolMemoryCard; import appeng.items.tools.ToolNetworkTool; @@ -77,6 +74,10 @@ public final class ApiItems implements IItems { private final IItemDefinition cell4k; private final IItemDefinition cell16k; private final IItemDefinition cell64k; + private final IItemDefinition cell256k; + private final IItemDefinition cell1024k; + private final IItemDefinition cell4096k; + private final IItemDefinition cell16384k; private final IItemDefinition spatialCell2; private final IItemDefinition spatialCell16; @@ -134,6 +135,13 @@ public ApiItems(final DefinitionConstructor constructor) { this.cell4k = constructor.registerItemDefinition(new ItemBasicStorageCell(MaterialType.Cell4kPart, 4)); this.cell16k = constructor.registerItemDefinition(new ItemBasicStorageCell(MaterialType.Cell16kPart, 16)); this.cell64k = constructor.registerItemDefinition(new ItemBasicStorageCell(MaterialType.Cell64kPart, 64)); + this.cell256k = constructor.registerItemDefinition(new ItemAdvancedStorageCell(MaterialType.Cell256kPart, 256)); + this.cell1024k = + constructor.registerItemDefinition(new ItemAdvancedStorageCell(MaterialType.Cell1024kPart, 1024)); + this.cell4096k = + constructor.registerItemDefinition(new ItemAdvancedStorageCell(MaterialType.Cell4096kPart, 4096)); + this.cell16384k = + constructor.registerItemDefinition(new ItemAdvancedStorageCell(MaterialType.Cell16384kPart, 16384)); this.spatialCell2 = constructor.registerItemDefinition(new ItemSpatialStorageCell(2)); this.spatialCell16 = constructor.registerItemDefinition(new ItemSpatialStorageCell(16)); @@ -296,6 +304,26 @@ public IItemDefinition cell64k() { return this.cell64k; } + @Override + public IItemDefinition cell256k() { + return this.cell256k; + } + + @Override + public IItemDefinition cell1024k() { + return this.cell1024k; + } + + @Override + public IItemDefinition cell4096k() { + return this.cell4096k; + } + + @Override + public IItemDefinition cell16384k() { + return this.cell16384k; + } + @Override public IItemDefinition spatialCell2() { return this.spatialCell2; diff --git a/src/main/java/appeng/core/api/definitions/ApiMaterials.java b/src/main/java/appeng/core/api/definitions/ApiMaterials.java index 0265fbbdc4b..245b852a038 100644 --- a/src/main/java/appeng/core/api/definitions/ApiMaterials.java +++ b/src/main/java/appeng/core/api/definitions/ApiMaterials.java @@ -64,6 +64,11 @@ public final class ApiMaterials implements IMaterials { private final IItemDefinition cell16kPart; private final IItemDefinition cell64kPart; private final IItemDefinition emptyStorageCell; + private final IItemDefinition cell256kPart; + private final IItemDefinition cell1024kPart; + private final IItemDefinition cell4096kPart; + private final IItemDefinition cell16384kPart; + private final IItemDefinition emptyAdvancedStorageCell; private final IItemDefinition cardRedstone; private final IItemDefinition cardSpeed; @@ -155,6 +160,12 @@ public ApiMaterials(final DefinitionConstructor constructor) { this.cell64kPart = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.Cell64kPart)); this.emptyStorageCell = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.EmptyStorageCell)); + this.cell256kPart = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.Cell256kPart)); + this.cell1024kPart = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.Cell1024kPart)); + this.cell4096kPart = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.Cell4096kPart)); + this.cell16384kPart = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.Cell16384kPart)); + this.emptyAdvancedStorageCell = + new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.EmptyAdvancedStorageCell)); this.cardRedstone = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.CardRedstone)); this.cardSpeed = new DamagedItemDefinition(itemMultiMaterial.createMaterial(MaterialType.CardSpeed)); @@ -337,6 +348,31 @@ public IItemDefinition emptyStorageCell() { return this.emptyStorageCell; } + @Override + public IItemDefinition cell256kPart() { + return this.cell256kPart; + } + + @Override + public IItemDefinition cell1024kPart() { + return this.cell1024kPart; + } + + @Override + public IItemDefinition cell4096kPart() { + return this.cell4096kPart; + } + + @Override + public IItemDefinition cell16384kPart() { + return this.cell16384kPart; + } + + @Override + public IItemDefinition emptyAdvancedStorageCell() { + return this.emptyAdvancedStorageCell; + } + @Override public IItemDefinition cardRedstone() { return this.cardRedstone; diff --git a/src/main/java/appeng/items/materials/MaterialType.java b/src/main/java/appeng/items/materials/MaterialType.java index 690be49d213..fb37aa706bd 100644 --- a/src/main/java/appeng/items/materials/MaterialType.java +++ b/src/main/java/appeng/items/materials/MaterialType.java @@ -113,7 +113,13 @@ public enum MaterialType { CardCrafting(53), CardPatternCapacity(54), CardOreFilter(55), - CardSuperSpeed(56); + CardSuperSpeed(56), + Cell256kPart(57, AEFeature.StorageCells), + Cell1024kPart(58, AEFeature.StorageCells), + Cell4096kPart(59, AEFeature.StorageCells), + Cell16384kPart(60, AEFeature.StorageCells), + EmptyAdvancedStorageCell(61, AEFeature.StorageCells); + private final EnumSet features; // IIcon for the material. @SideOnly(Side.CLIENT) diff --git a/src/main/java/appeng/items/storage/ItemAdvancedStorageCell.java b/src/main/java/appeng/items/storage/ItemAdvancedStorageCell.java new file mode 100644 index 00000000000..d2a59db320d --- /dev/null +++ b/src/main/java/appeng/items/storage/ItemAdvancedStorageCell.java @@ -0,0 +1,63 @@ +package appeng.items.storage; + +import appeng.api.AEApi; +import appeng.api.definitions.IItemDefinition; +import appeng.api.exceptions.MissingDefinition; +import appeng.core.features.AEFeature; +import appeng.items.materials.MaterialType; +import com.google.common.base.Optional; +import java.util.EnumSet; +import net.minecraft.item.ItemStack; + +public class ItemAdvancedStorageCell extends ItemBasicStorageCell { + + @SuppressWarnings("Guava") + public ItemAdvancedStorageCell(final MaterialType whichCell, final int kilobytes) { + super(Optional.of(kilobytes + "k")); + + this.setFeature(EnumSet.of(AEFeature.StorageCells)); + this.setMaxStackSize(1); + this.totalBytes = kilobytes * 1024; + this.component = whichCell; + + switch (this.component) { + case Cell256kPart: + this.idleDrain = 2.5; + this.perType = 2048; + break; + case Cell1024kPart: + this.idleDrain = 3.0; + this.perType = 8192; + break; + case Cell4096kPart: + this.idleDrain = 3.5; + this.perType = 32768; + break; + case Cell16384kPart: + this.idleDrain = 4.0; + this.perType = 131072; + break; + default: + this.idleDrain = 0.0; + this.perType = 8; + } + } + + @Override + protected IItemDefinition getStorageCellCase() { + return AEApi.instance().definitions().materials().emptyAdvancedStorageCell(); + } + + @Override + public ItemStack getContainerItem(final ItemStack itemStack) { + for (final ItemStack stack : AEApi.instance() + .definitions() + .materials() + .emptyAdvancedStorageCell() + .maybeStack(1) + .asSet()) { + return stack; + } + throw new MissingDefinition("Tried to use empty storage cells while basic storage cells are defined."); + } +} diff --git a/src/main/java/appeng/items/storage/ItemBasicStorageCell.java b/src/main/java/appeng/items/storage/ItemBasicStorageCell.java index e65950c8095..8d8f03564cb 100644 --- a/src/main/java/appeng/items/storage/ItemBasicStorageCell.java +++ b/src/main/java/appeng/items/storage/ItemBasicStorageCell.java @@ -21,6 +21,7 @@ import appeng.api.AEApi; import appeng.api.config.FuzzyMode; import appeng.api.config.IncludeExclude; +import appeng.api.definitions.IItemDefinition; import appeng.api.exceptions.MissingDefinition; import appeng.api.implementations.items.IItemGroup; import appeng.api.implementations.items.IStorageCell; @@ -56,12 +57,13 @@ import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.event.ForgeEventFactory; -public final class ItemBasicStorageCell extends AEBaseItem implements IStorageCell, IItemGroup { - private final MaterialType component; - private final int totalBytes; - private final int perType; - private final double idleDrain; +public class ItemBasicStorageCell extends AEBaseItem implements IStorageCell, IItemGroup { + protected MaterialType component; + protected int totalBytes; + protected int perType; + protected double idleDrain; + @SuppressWarnings("Guava") public ItemBasicStorageCell(final MaterialType whichCell, final int kilobytes) { super(Optional.of(kilobytes + "k")); @@ -93,6 +95,11 @@ public ItemBasicStorageCell(final MaterialType whichCell, final int kilobytes) { } } + @SuppressWarnings("Guava") + public ItemBasicStorageCell(final Optional subName) { + super(subName); + } + @SideOnly(Side.CLIENT) @Override public void addCheckedInformation( @@ -236,6 +243,7 @@ public ItemStack onItemRightClick(final ItemStack stack, final World world, fina return stack; } + @SuppressWarnings({"rawtypes", "unchecked"}) private boolean disassembleDrive(final ItemStack stack, final World world, final EntityPlayer player) { if (player.isSneaking()) { if (Platform.isClient()) { @@ -267,12 +275,8 @@ private boolean disassembleDrive(final ItemStack stack, final World world, final } // drop empty storage cell case - for (final ItemStack storageCellStack : AEApi.instance() - .definitions() - .materials() - .emptyStorageCell() - .maybeStack(1) - .asSet()) { + for (final ItemStack storageCellStack : + getStorageCellCase().maybeStack(1).asSet()) { final ItemStack extraA = ia.addItems(storageCellStack); if (extraA != null) { player.dropPlayerItemWithRandomChoice(extraA, false); @@ -290,6 +294,10 @@ private boolean disassembleDrive(final ItemStack stack, final World world, final return false; } + protected IItemDefinition getStorageCellCase() { + return AEApi.instance().definitions().materials().emptyStorageCell(); + } + @Override public boolean onItemUseFirst( final ItemStack stack, diff --git a/src/main/java/appeng/me/storage/CellInventory.java b/src/main/java/appeng/me/storage/CellInventory.java index 3242d68cb0e..24913104946 100644 --- a/src/main/java/appeng/me/storage/CellInventory.java +++ b/src/main/java/appeng/me/storage/CellInventory.java @@ -50,8 +50,8 @@ public class CellInventory implements ICellInventory { private final NBTTagCompound tagCompound; private final ISaveProvider container; private int maxItemTypes = 63; - private short storedItems = 0; - private int storedItemCount = 0; + private short storedItemTypes = 0; + private long storedItemCount = 0; private IItemList cellItems; private final ItemStack cellItem; private IStorageCell cellType; @@ -98,8 +98,8 @@ private CellInventory(final ItemStack o, final ISaveProvider container) throws A this.container = container; this.tagCompound = Platform.openNbtData(o); - this.storedItems = this.tagCompound.getShort(ITEM_TYPE_TAG); - this.storedItemCount = this.tagCompound.getInteger(ITEM_COUNT_TAG); + this.storedItemTypes = this.tagCompound.getShort(ITEM_TYPE_TAG); + this.storedItemCount = this.tagCompound.getLong(ITEM_COUNT_TAG); this.cellItems = null; } @@ -220,24 +220,22 @@ public IAEItemStack injectItems(final IAEItemStack input, final Actionable mode, if (this.canHoldNewItem()) // room for new type, and for at least one item! { - final int remainingItemCount = (int) this.getRemainingItemCount() - this.getBytesPerType() * 8; + final long remainingItemCount = this.getRemainingItemCount() - this.getBytesPerType() * 8L; if (remainingItemCount > 0) { if (input.getStackSize() > remainingItemCount) { - final ItemStack toReturn = Platform.cloneItemStack(sharedItemStack); - toReturn.stackSize = sharedItemStack.stackSize - remainingItemCount; + final IAEItemStack toReturn = AEItemStack.create(sharedItemStack); + toReturn.decStackSize(remainingItemCount); if (mode == Actionable.MODULATE) { - final ItemStack toWrite = Platform.cloneItemStack(sharedItemStack); - toWrite.stackSize = remainingItemCount; - - this.cellItems.add(AEItemStack.create(toWrite)); - this.updateItemCount(toWrite.stackSize); + final IAEItemStack toWrite = AEItemStack.create(sharedItemStack); + toWrite.setStackSize(remainingItemCount); + this.cellItems.add(toWrite); + this.updateItemCount(toWrite.getStackSize()); this.saveChanges(); } - - return AEItemStack.create(toReturn); + return toReturn; } if (mode == Actionable.MODULATE) { @@ -300,12 +298,12 @@ private IItemList getCellItems() { private void updateItemCount(final long delta) { this.storedItemCount += delta; - this.tagCompound.setInteger(ITEM_COUNT_TAG, this.storedItemCount); + this.tagCompound.setLong(ITEM_COUNT_TAG, this.storedItemCount); } private void saveChanges() { // cellItems.clean(); - int itemCount = 0; + long itemCount = 0; // add new pretty stuff... int x = 0; @@ -327,25 +325,25 @@ private void saveChanges() { * NBTBase tagSlotCount = tagCompound.getTag( itemSlotCount[x] ); if ( tagSlotCount instanceof * NBTTagInt ) ((NBTTagInt) tagSlotCount).data = (int) v.getStackSize(); else */ - this.tagCompound.setInteger(itemSlotCount[x], (int) v.getStackSize()); + this.tagCompound.setLong(itemSlotCount[x], v.getStackSize()); x++; } // NBTBase tagType = tagCompound.getTag( ITEM_TYPE_TAG ); // NBTBase tagCount = tagCompound.getTag( ITEM_COUNT_TAG ); - final short oldStoredItems = this.storedItems; + final short oldStoredItems = this.storedItemTypes; /* * if ( tagType instanceof NBTTagShort ) ((NBTTagShort) tagType).data = storedItems = (short) cellItems.size(); * else */ - this.storedItems = (short) this.cellItems.size(); + this.storedItemTypes = (short) this.cellItems.size(); if (this.cellItems.isEmpty()) { this.tagCompound.removeTag(ITEM_TYPE_TAG); } else { - this.tagCompound.setShort(ITEM_TYPE_TAG, this.storedItems); + this.tagCompound.setShort(ITEM_TYPE_TAG, this.storedItemTypes); } /* @@ -356,7 +354,7 @@ private void saveChanges() { if (itemCount == 0) { this.tagCompound.removeTag(ITEM_COUNT_TAG); } else { - this.tagCompound.setInteger(ITEM_COUNT_TAG, itemCount); + this.tagCompound.setLong(ITEM_COUNT_TAG, itemCount); } // clean any old crusty stuff... @@ -381,17 +379,14 @@ private void loadCellItems() { for (int x = 0; x < types; x++) { final ItemStack t = ItemStack.loadItemStackFromNBT(this.tagCompound.getCompoundTag(itemSlots[x])); - + final IAEItemStack ias = AEItemStack.create(t); if (t != null) { - t.stackSize = this.tagCompound.getInteger(itemSlotCount[x]); - - if (t.stackSize > 0) { - this.cellItems.add(AEItemStack.create(t)); + ias.setStackSize(this.tagCompound.getInteger(itemSlotCount[x])); + if (ias.getStackSize() > 0) { + this.cellItems.add(ias); } } } - - // cellItems.clean(); } @Override @@ -481,7 +476,7 @@ public long getStoredItemCount() { @Override public long getStoredItemTypes() { - return this.storedItems; + return this.storedItemTypes; } @Override @@ -501,13 +496,13 @@ public long getRemainingItemCount() { @Override public int getUnusedItemCount() { - final int div = (int) (this.getStoredItemCount() % 8); + final long div = this.getStoredItemCount() % 8; if (div == 0) { return 0; } - return 8 - div; + return (int) (8 - div); } @Override diff --git a/src/main/java/appeng/recipes/game/DisassembleRecipe.java b/src/main/java/appeng/recipes/game/DisassembleRecipe.java index a6a2ccc3471..c5c98cb6ae8 100644 --- a/src/main/java/appeng/recipes/game/DisassembleRecipe.java +++ b/src/main/java/appeng/recipes/game/DisassembleRecipe.java @@ -47,13 +47,17 @@ public DisassembleRecipe() { final IItems items = definitions.items(); final IMaterials mats = definitions.materials(); - this.cellMappings = new HashMap(4); - this.nonCellMappings = new HashMap(5); + this.cellMappings = new HashMap<>(8); + this.nonCellMappings = new HashMap<>(5); this.cellMappings.put(items.cell1k(), mats.cell1kPart()); this.cellMappings.put(items.cell4k(), mats.cell4kPart()); this.cellMappings.put(items.cell16k(), mats.cell16kPart()); this.cellMappings.put(items.cell64k(), mats.cell64kPart()); + this.cellMappings.put(items.cell256k(), mats.cell256kPart()); + this.cellMappings.put(items.cell1024k(), mats.cell1024kPart()); + this.cellMappings.put(items.cell4096k(), mats.cell4096kPart()); + this.cellMappings.put(items.cell16384k(), mats.cell16384kPart()); this.nonCellMappings.put(items.encodedPattern(), mats.blankPattern()); this.nonCellMappings.put(blocks.craftingStorage1k(), mats.cell1kPart()); diff --git a/src/main/resources/assets/appliedenergistics2/lang/en_US.lang b/src/main/resources/assets/appliedenergistics2/lang/en_US.lang index 835ac56e733..2c7ee52ee45 100644 --- a/src/main/resources/assets/appliedenergistics2/lang/en_US.lang +++ b/src/main/resources/assets/appliedenergistics2/lang/en_US.lang @@ -456,6 +456,10 @@ item.appliedenergistics2.ItemBasicStorageCell.1k.name=1k ME Storage Cell item.appliedenergistics2.ItemBasicStorageCell.4k.name=4k ME Storage Cell item.appliedenergistics2.ItemBasicStorageCell.16k.name=16k ME Storage Cell item.appliedenergistics2.ItemBasicStorageCell.64k.name=64k ME Storage Cell +item.appliedenergistics2.ItemAdvancedStorageCell.256k.name=256k ME Storage Cell +item.appliedenergistics2.ItemAdvancedStorageCell.1024k.name=1024k ME Storage Cell +item.appliedenergistics2.ItemAdvancedStorageCell.4096k.name=4096k ME Storage Cell +item.appliedenergistics2.ItemAdvancedStorageCell.16384k.name=16384k ME Storage Cell item.appliedenergistics2.ItemCreativeStorageCell.name=Creative ME Storage Cell item.appliedenergistics2.ItemEncodedPattern.name=Encoded Pattern item.appliedenergistics2.ItemViewCell.name=View Cell @@ -492,11 +496,16 @@ item.appliedenergistics2.ItemMaterial.Cell1kPart.name=1k ME Storage Component item.appliedenergistics2.ItemMaterial.Cell4kPart.name=4k ME Storage Component item.appliedenergistics2.ItemMaterial.Cell16kPart.name=16k ME Storage Component item.appliedenergistics2.ItemMaterial.Cell64kPart.name=64k ME Storage Component +item.appliedenergistics2.ItemMaterial.Cell256kPart.name=256k ME Storage Component +item.appliedenergistics2.ItemMaterial.Cell1024kPart.name=1024k ME Storage Component +item.appliedenergistics2.ItemMaterial.Cell4096kPart.name=4096k ME Storage Component +item.appliedenergistics2.ItemMaterial.Cell16384kPart.name=16384k ME Storage Component item.appliedenergistics2.ItemMaterial.CertusQuartzCrystal.name=Certus Quartz Crystal item.appliedenergistics2.ItemMaterial.CertusQuartzCrystalCharged.name=Charged Certus Quartz Crystal item.appliedenergistics2.ItemMaterial.CertusQuartzDust.name=Certus Quartz Dust item.appliedenergistics2.ItemMaterial.EmptyStorageCell.name=ME Storage Housing +item.appliedenergistics2.ItemMaterial.EmptyAdvancedStorageCell.name=ME Advanced Storage Housing item.appliedenergistics2.ItemMaterial.EnderDust.name=Ender Dust item.appliedenergistics2.ItemMaterial.Flour.name=Flour diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cells/empty.recipe b/src/main/resources/assets/appliedenergistics2/recipes/network/cells/empty.recipe index fa2829ca670..866fcd04fea 100644 --- a/src/main/resources/assets/appliedenergistics2/recipes/network/cells/empty.recipe +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cells/empty.recipe @@ -3,3 +3,9 @@ shaped= oredictionary:dustRedstone _ oredictionary:dustRedstone, oredictionary:ingotIron oredictionary:ingotIron oredictionary:ingotIron -> ae2:ItemMaterial.EmptyStorageCell + +shaped= + ae2:BlockQuartzGlass oredictionary:dustFluix ae2:BlockQuartzGlass, + oredictionary:dustFluix _ oredictionary:dustFluix, + oredictionary:gemDiamond oredictionary:gemDiamond oredictionary:gemDiamond + -> ae2:ItemMaterial.EmptyAdvancedStorageCell diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cells/storage-components.recipe b/src/main/resources/assets/appliedenergistics2/recipes/network/cells/storage-components.recipe index ed819fd7d2e..7dab3c8b9ea 100644 --- a/src/main/resources/assets/appliedenergistics2/recipes/network/cells/storage-components.recipe +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cells/storage-components.recipe @@ -21,3 +21,27 @@ shaped= ae2:ItemMaterial.Cell16kPart ae2:BlockQuartzGlass ae2:ItemMaterial.Cell16kPart, oredictionary:dustGlowstone ae2:ItemMaterial.Cell16kPart oredictionary:dustGlowstone -> ae2:ItemMaterial.Cell64kPart + +shaped= + oredictionary:dustGlowstone ae2:ItemMaterial.EngProcessor oredictionary:dustGlowstone, + ae2:ItemMaterial.Cell64kPart ae2:ItemMaterial.LogicProcessor ae2:ItemMaterial.Cell64kPart, + oredictionary:dustGlowstone ae2:ItemMaterial.Cell64kPart oredictionary:dustGlowstone + -> ae2:ItemMaterial.Cell256kPart + +shaped= + oredictionary:dustGlowstone ae2:ItemMaterial.EngProcessor oredictionary:dustGlowstone, + ae2:ItemMaterial.Cell256kPart ae2:ItemMaterial.LogicProcessor ae2:ItemMaterial.Cell256kPart, + oredictionary:dustGlowstone ae2:ItemMaterial.Cell256kPart oredictionary:dustGlowstone + -> ae2:ItemMaterial.Cell1024kPart + +shaped= + oredictionary:dustGlowstone ae2:ItemMaterial.EngProcessor oredictionary:dustGlowstone, + ae2:ItemMaterial.Cell1024kPart ae2:ItemMaterial.LogicProcessor ae2:ItemMaterial.Cell1024kPart, + oredictionary:dustGlowstone ae2:ItemMaterial.Cell1024kPart oredictionary:dustGlowstone + -> ae2:ItemMaterial.Cell4096kPart + +shaped= + oredictionary:dustGlowstone ae2:ItemMaterial.EngProcessor oredictionary:dustGlowstone, + ae2:ItemMaterial.Cell4096kPart ae2:ItemMaterial.LogicProcessor ae2:ItemMaterial.Cell4096kPart, + oredictionary:dustGlowstone ae2:ItemMaterial.Cell4096kPart oredictionary:dustGlowstone + -> ae2:ItemMaterial.Cell16384kPart diff --git a/src/main/resources/assets/appliedenergistics2/recipes/network/cells/storage.recipe b/src/main/resources/assets/appliedenergistics2/recipes/network/cells/storage.recipe index 2aa8ecc694a..7fddb16eca2 100644 --- a/src/main/resources/assets/appliedenergistics2/recipes/network/cells/storage.recipe +++ b/src/main/resources/assets/appliedenergistics2/recipes/network/cells/storage.recipe @@ -9,7 +9,19 @@ shapeless= shapeless= ae2:ItemMaterial.Cell64kPart ae2:ItemMaterial.EmptyStorageCell -> ae2:ItemBasicStorageCell.64k - + +shapeless= + ae2:ItemMaterial.Cell256kPart ae2:ItemMaterial.EmptyAdvancedStorageCell -> ae2:ItemAdvancedStorageCell.256k + +shapeless= + ae2:ItemMaterial.Cell1024kPart ae2:ItemMaterial.EmptyAdvancedStorageCell -> ae2:ItemAdvancedStorageCell.1024k + +shapeless= + ae2:ItemMaterial.Cell4096kPart ae2:ItemMaterial.EmptyAdvancedStorageCell -> ae2:ItemAdvancedStorageCell.4096k + +shapeless= + ae2:ItemMaterial.Cell16384kPart ae2:ItemMaterial.EmptyAdvancedStorageCell -> ae2:ItemAdvancedStorageCell.16384k + shaped= ae2:BlockQuartzGlass oredictionary:dustRedstone ae2:BlockQuartzGlass, oredictionary:dustRedstone ae2:ItemMaterial.Cell1kPart oredictionary:dustRedstone, @@ -33,3 +45,28 @@ shaped= oredictionary:dustRedstone ae2:ItemMaterial.Cell64kPart oredictionary:dustRedstone, oredictionary:ingotIron oredictionary:ingotIron oredictionary:ingotIron -> ae2:ItemBasicStorageCell.64k + +shaped= + ae2:BlockQuartzGlass oredictionary:dustFluix ae2:BlockQuartzGlass, + oredictionary:dustFluix ae2:ItemMaterial.Cell256kPart oredictionary:dustFluix, + oredictionary:gemDiamond oredictionary:gemDiamond oredictionary:gemDiamond + -> ae2:ItemAdvancedStorageCell.256k + +shaped= + ae2:BlockQuartzGlass oredictionary:dustFluix ae2:BlockQuartzGlass, + oredictionary:dustFluix ae2:ItemMaterial.Cell1024kPart oredictionary:dustFluix, + oredictionary:gemDiamond oredictionary:gemDiamond oredictionary:gemDiamond + -> ae2:ItemAdvancedStorageCell.1024k + +shaped= + ae2:BlockQuartzGlass oredictionary:dustFluix ae2:BlockQuartzGlass, + oredictionary:dustFluix ae2:ItemMaterial.Cell4096kPart oredictionary:dustFluix, + oredictionary:gemDiamond oredictionary:gemDiamond oredictionary:gemDiamond + -> ae2:ItemAdvancedStorageCell.4096k + +shaped= + ae2:BlockQuartzGlass oredictionary:dustFluix ae2:BlockQuartzGlass, + oredictionary:dustFluix ae2:ItemMaterial.Cell16384kPart oredictionary:dustFluix, + oredictionary:gemDiamond oredictionary:gemDiamond oredictionary:gemDiamond + -> ae2:ItemAdvancedStorageCell.16384k + diff --git a/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.1024k.png b/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.1024k.png new file mode 100644 index 00000000000..14a83dc1616 Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.1024k.png differ diff --git a/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.16384k.png b/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.16384k.png new file mode 100644 index 00000000000..b2f4c702851 Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.16384k.png differ diff --git a/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.256k.png b/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.256k.png new file mode 100644 index 00000000000..8a3aff1eb68 Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.256k.png differ diff --git a/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.4096k.png b/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.4096k.png new file mode 100644 index 00000000000..a33809a6ef8 Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/items/ItemAdvancedStorageCell.4096k.png differ diff --git a/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell1024kPart.png b/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell1024kPart.png new file mode 100644 index 00000000000..ee9eafb4da2 Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell1024kPart.png differ diff --git a/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell16384kPart.png b/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell16384kPart.png new file mode 100644 index 00000000000..dba18000d0c Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell16384kPart.png differ diff --git a/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell256kPart.png b/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell256kPart.png new file mode 100644 index 00000000000..1a8cfcef081 Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell256kPart.png differ diff --git a/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell4096kPart.png b/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell4096kPart.png new file mode 100644 index 00000000000..6376d827efc Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.Cell4096kPart.png differ diff --git a/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.EmptyAdvancedStorageCell.png b/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.EmptyAdvancedStorageCell.png new file mode 100644 index 00000000000..c89fec81a24 Binary files /dev/null and b/src/main/resources/assets/appliedenergistics2/textures/items/ItemMaterial.EmptyAdvancedStorageCell.png differ