diff --git a/src/main/java/com/raoulvdberge/refinedstorage/RS.java b/src/main/java/com/raoulvdberge/refinedstorage/RS.java index 655efddbf..cf4d8da47 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/RS.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/RS.java @@ -1,5 +1,7 @@ package com.raoulvdberge.refinedstorage; +import com.raoulvdberge.refinedstorage.apiimpl.storage.FluidStorageType; +import com.raoulvdberge.refinedstorage.apiimpl.storage.ItemStorageType; import com.raoulvdberge.refinedstorage.item.*; import com.raoulvdberge.refinedstorage.item.group.MainItemGroup; import net.minecraft.block.Block; @@ -47,6 +49,14 @@ public final class RS { e.getRegistry().register(new ItemSecurityCard()); e.getRegistry().register(new ItemNetworkCard()); e.getRegistry().register(new ItemCuttingTool()); + + for (ItemStorageType type : ItemStorageType.values()) { + e.getRegistry().register(new ItemStoragePart(type)); + } + + for (FluidStorageType type : FluidStorageType.values()) { + e.getRegistry().register(new ItemFluidStoragePart(type)); + } } /* TODO diff --git a/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java b/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java index 674cf6574..6f1b64d7d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/RSItems.java @@ -28,7 +28,14 @@ public final class RSItems { public static final ItemProcessor IMPROVED_PROCESSOR = null; @ObjectHolder(RS.ID + ":advanced_processor") public static final ItemProcessor ADVANCED_PROCESSOR = null; - public static final ItemStoragePart STORAGE_PART = new ItemStoragePart(); + @ObjectHolder(RS.ID + ":1k_storage_part") + public static final ItemStoragePart ONE_K_STORAGE_PART = null; + @ObjectHolder(RS.ID + ":4k_storage_part") + public static final ItemStoragePart FOUR_K_STORAGE_PART = null; + @ObjectHolder(RS.ID + ":16k_storage_part") + public static final ItemStoragePart SIXTEEN_K_STORAGE_PART = null; + @ObjectHolder(RS.ID + ":64k_storage_part") + public static final ItemStoragePart SIXTY_FOUR_K_STORAGE_PART = null; public static final ItemPattern PATTERN = new ItemPattern(); public static final ItemUpgrade UPGRADE = new ItemUpgrade(); public static final ItemStorageHousing STORAGE_HOUSING = new ItemStorageHousing(); @@ -36,7 +43,14 @@ public final class RSItems { @ObjectHolder(RS.ID + ":network_card") public static final ItemNetworkCard NETWORK_CARD = null; public static final ItemFluidStorageDisk FLUID_STORAGE_DISK = new ItemFluidStorageDisk(); - public static final ItemFluidStoragePart FLUID_STORAGE_PART = new ItemFluidStoragePart(); + @ObjectHolder(RS.ID + ":64k_fluid_storage_part") + public static final ItemFluidStoragePart SIXTY_FOUR_K_FLUID_STORAGE_PART = null; + @ObjectHolder(RS.ID + ":256k_fluid_storage_part") + public static final ItemFluidStoragePart TWO_HUNDRED_FIFTY_SIX_K_FLUID_STORAGE_PART = null; + @ObjectHolder(RS.ID + ":1024k_fluid_storage_part") + public static final ItemFluidStoragePart THOUSAND_TWENTY_FOUR_K_FLUID_STORAGE_PART = null; + @ObjectHolder(RS.ID + ":4096k_fluid_storage_part") + public static final ItemFluidStoragePart FOUR_THOUSAND_NINETY_SIX_K_FLUID_STORAGE_PART = null; @ObjectHolder(RS.ID + ":security_card") public static final ItemSecurityCard SECURITY_CARD = null; @ObjectHolder(RS.ID + ":cutting_tool") diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/FluidStorageType.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/FluidStorageType.java new file mode 100644 index 000000000..3c5072515 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/FluidStorageType.java @@ -0,0 +1,24 @@ +package com.raoulvdberge.refinedstorage.apiimpl.storage; + +public enum FluidStorageType { + SIXTY_FOUR_K("64k", 64_000), + TWO_HUNDRED_FIFTY_SIX_K("256k", 256_000), + THOUSAND_TWENTY_FOUR_K("1024k", 1024_000), + FOUR_THOUSAND_NINETY_SIX_K("4096k", 4096_000); + + private String name; + private int capacity; + + FluidStorageType(String name, int capacity) { + this.name = name; + this.capacity = capacity; + } + + public String getName() { + return name; + } + + public int getCapacity() { + return capacity; + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/ItemStorageType.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/ItemStorageType.java new file mode 100644 index 000000000..7322dcfad --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/ItemStorageType.java @@ -0,0 +1,24 @@ +package com.raoulvdberge.refinedstorage.apiimpl.storage; + +public enum ItemStorageType { + ONE_K("1k", 1000), + FOUR_K("4k", 4000), + SIXTEEN_K("16k", 16_000), + SIXTY_FOUR_K("64k", 64_000); + + private String name; + private int capacity; + + ItemStorageType(String name, int capacity) { + this.name = name; + this.capacity = capacity; + } + + public String getName() { + return name; + } + + public int getCapacity() { + return capacity; + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemFluidStoragePart.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemFluidStoragePart.java index fe4d93b1b..625bbf407 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemFluidStoragePart.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemFluidStoragePart.java @@ -1,46 +1,13 @@ package com.raoulvdberge.refinedstorage.item; import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; +import com.raoulvdberge.refinedstorage.apiimpl.storage.FluidStorageType; +import net.minecraft.item.Item; -public class ItemFluidStoragePart extends ItemBase { - public static final int TYPE_64K = 0; - public static final int TYPE_256K = 1; - public static final int TYPE_1024K = 2; - public static final int TYPE_4096K = 3; +public class ItemFluidStoragePart extends Item { + public ItemFluidStoragePart(FluidStorageType type) { + super(new Item.Properties().group(RS.MAIN_GROUP)); - public ItemFluidStoragePart() { - super(new ItemInfo(RS.ID, "fluid_storage_part")); - - //setHasSubtypes(true); - //setMaxDamage(0); + this.setRegistryName(RS.ID, type.getName() + "_fluid_storage_part"); } -/* TODO - @Override - @SideOnly(Side.CLIENT) - public void registerModels(IModelRegistration modelRegistration) { - modelRegistration.setModelVariants( - this, - new ResourceLocation(RS.ID, "64k_fluid_storage_part"), - new ResourceLocation(RS.ID, "256k_fluid_storage_part"), - new ResourceLocation(RS.ID, "1024k_fluid_storage_part"), - new ResourceLocation(RS.ID, "4096k_fluid_storage_part") - ); - - modelRegistration.setModel(this, TYPE_64K, new ModelResourceLocation(RS.ID + ":64k_fluid_storage_part", "inventory")); - modelRegistration.setModel(this, TYPE_256K, new ModelResourceLocation(RS.ID + ":256k_fluid_storage_part", "inventory")); - modelRegistration.setModel(this, TYPE_1024K, new ModelResourceLocation(RS.ID + ":1024k_fluid_storage_part", "inventory")); - modelRegistration.setModel(this, TYPE_4096K, new ModelResourceLocation(RS.ID + ":4096k_fluid_storage_part", "inventory")); - } - - @Override - public void getSubItems(CreativeTabs tab, NonNullList items) { - if (!isInCreativeTab(tab)) { - return; - } - - for (int i = 0; i <= 3; ++i) { - items.add(new ItemStack(this, 1, i)); - } - }*/ } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemStoragePart.java b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemStoragePart.java index 3950dfcbe..2d3c1653d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/item/ItemStoragePart.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/item/ItemStoragePart.java @@ -1,46 +1,13 @@ package com.raoulvdberge.refinedstorage.item; import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.item.info.ItemInfo; +import com.raoulvdberge.refinedstorage.apiimpl.storage.ItemStorageType; +import net.minecraft.item.Item; public class ItemStoragePart extends ItemBase { - public static final int TYPE_1K = 0; - public static final int TYPE_4K = 1; - public static final int TYPE_16K = 2; - public static final int TYPE_64K = 3; + public ItemStoragePart(ItemStorageType type) { + super(new Item.Properties().group(RS.MAIN_GROUP)); - public ItemStoragePart() { - super(new ItemInfo(RS.ID, "storage_part")); - - //setHasSubtypes(true); - //setMaxDamage(0); + this.setRegistryName(RS.ID, type.getName() + "_storage_part"); } -/* TODO - @Override - @SideOnly(Side.CLIENT) - public void registerModels(IModelRegistration modelRegistration) { - modelRegistration.setModelVariants( - this, - new ResourceLocation(RS.ID, "1k_storage_part"), - new ResourceLocation(RS.ID, "4k_storage_part"), - new ResourceLocation(RS.ID, "16k_storage_part"), - new ResourceLocation(RS.ID, "64k_storage_part") - ); - - modelRegistration.setModel(this, TYPE_1K, new ModelResourceLocation(RS.ID + ":1k_storage_part", "inventory")); - modelRegistration.setModel(this, TYPE_4K, new ModelResourceLocation(RS.ID + ":4k_storage_part", "inventory")); - modelRegistration.setModel(this, TYPE_16K, new ModelResourceLocation(RS.ID + ":16k_storage_part", "inventory")); - modelRegistration.setModel(this, TYPE_64K, new ModelResourceLocation(RS.ID + ":64k_storage_part", "inventory")); - } - - @Override - public void getSubItems(CreativeTabs tab, NonNullList items) { - if (!isInCreativeTab(tab)) { - return; - } - - for (int i = 0; i <= 3; ++i) { - items.add(new ItemStack(this, 1, i)); - } - }*/ } diff --git a/src/main/resources/assets/refinedstorage/lang/en_us.json b/src/main/resources/assets/refinedstorage/lang/en_us.json index e3c867c09..dc7a4f666 100644 --- a/src/main/resources/assets/refinedstorage/lang/en_us.json +++ b/src/main/resources/assets/refinedstorage/lang/en_us.json @@ -249,14 +249,14 @@ "item.refinedstorage.basic_processor": "Basic Processor", "item.refinedstorage.improved_processor": "Improved Processor", "item.refinedstorage.advanced_processor": "Advanced Processor", - "item.refinedstorage:storage_part.0": "1k Storage Part", - "item.refinedstorage:storage_part.1": "4k Storage Part", - "item.refinedstorage:storage_part.2": "16k Storage Part", - "item.refinedstorage:storage_part.3": "64k Storage Part", - "item.refinedstorage:fluid_storage_part.0": "64k Fluid Storage Part", - "item.refinedstorage:fluid_storage_part.1": "256k Fluid Storage Part", - "item.refinedstorage:fluid_storage_part.2": "1024k Fluid Storage Part", - "item.refinedstorage:fluid_storage_part.3": "4096k Fluid Storage Part", + "item.refinedstorage.1k_storage_part": "1k Storage Part", + "item.refinedstorage.4k_storage_part": "4k Storage Part", + "item.refinedstorage.16k_storage_part": "16k Storage Part", + "item.refinedstorage.64k_storage_part": "64k Storage Part", + "item.refinedstorage.64k_fluid_storage_part": "64k Fluid Storage Part", + "item.refinedstorage.256k_fluid_storage_part": "256k Fluid Storage Part", + "item.refinedstorage.1024k_fluid_storage_part": "1024k Fluid Storage Part", + "item.refinedstorage.4096k_fluid_storage_part": "4096k Fluid Storage Part", "item.refinedstorage:pattern": "Pattern", "item.refinedstorage:upgrade.0": "Upgrade", "item.refinedstorage:upgrade.1": "Range Upgrade", diff --git a/src/main/resources/assets/refinedstorage/recipes/1024k_fluid_storage_part.json b/src/main/resources/data/refinedstorage/recipes/1024k_fluid_storage_part.json similarity index 63% rename from src/main/resources/assets/refinedstorage/recipes/1024k_fluid_storage_part.json rename to src/main/resources/data/refinedstorage/recipes/1024k_fluid_storage_part.json index d741f82a3..89f298f1e 100644 --- a/src/main/resources/assets/refinedstorage/recipes/1024k_fluid_storage_part.json +++ b/src/main/resources/data/refinedstorage/recipes/1024k_fluid_storage_part.json @@ -7,21 +7,19 @@ ], "key": { "P": { - "item": "#improved_processor" + "item": "refinedstorage:improved_processor" }, "E": { "item": "refinedstorage:quartz_enriched_iron" }, "S": { - "item": "refinedstorage:fluid_storage_part", - "data": 1 + "item": "refinedstorage:256k_fluid_storage_part" }, "R": { "item": "minecraft:bucket" } }, "result": { - "item": "refinedstorage:fluid_storage_part", - "data": 2 + "item": "refinedstorage:1024k_fluid_storage_part" } } \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/recipes/16k_storage_part.json b/src/main/resources/data/refinedstorage/recipes/16k_storage_part.json similarity index 65% rename from src/main/resources/assets/refinedstorage/recipes/16k_storage_part.json rename to src/main/resources/data/refinedstorage/recipes/16k_storage_part.json index 9fbdf4b71..f8cb6eabe 100644 --- a/src/main/resources/assets/refinedstorage/recipes/16k_storage_part.json +++ b/src/main/resources/data/refinedstorage/recipes/16k_storage_part.json @@ -7,21 +7,19 @@ ], "key": { "P": { - "item": "#improved_processor" + "item": "refinedstorage:improved_processor" }, "E": { "item": "refinedstorage:quartz_enriched_iron" }, "S": { - "item": "refinedstorage:storage_part", - "data": 1 + "item": "refinedstorage:4k_storage_part" }, "R": { "item": "minecraft:redstone" } }, "result": { - "item": "refinedstorage:storage_part", - "data": 2 + "item": "refinedstorage:16k_storage_part" } } \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/recipes/1k_storage_part.json b/src/main/resources/data/refinedstorage/recipes/1k_storage_part.json similarity index 62% rename from src/main/resources/assets/refinedstorage/recipes/1k_storage_part.json rename to src/main/resources/data/refinedstorage/recipes/1k_storage_part.json index c9751bff0..be395e871 100644 --- a/src/main/resources/assets/refinedstorage/recipes/1k_storage_part.json +++ b/src/main/resources/data/refinedstorage/recipes/1k_storage_part.json @@ -7,22 +7,19 @@ ], "key": { "S": { - "type": "forge:ore_dict", - "ore": "itemSilicon" + "tag": "refinedstorage:silicons" }, "E": { "item": "refinedstorage:quartz_enriched_iron" }, "G": { - "type": "forge:ore_dict", - "ore": "blockGlass" + "tag": "forge:glass" }, "R": { "item": "minecraft:redstone" } }, "result": { - "item": "refinedstorage:storage_part", - "data": 0 + "item": "refinedstorage:1k_storage_part" } } \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/recipes/256k_fluid_storage_part.json b/src/main/resources/data/refinedstorage/recipes/256k_fluid_storage_part.json similarity index 63% rename from src/main/resources/assets/refinedstorage/recipes/256k_fluid_storage_part.json rename to src/main/resources/data/refinedstorage/recipes/256k_fluid_storage_part.json index 01aee1eb1..c9c267484 100644 --- a/src/main/resources/assets/refinedstorage/recipes/256k_fluid_storage_part.json +++ b/src/main/resources/data/refinedstorage/recipes/256k_fluid_storage_part.json @@ -7,21 +7,19 @@ ], "key": { "P": { - "item": "#basic_processor" + "item": "refinedstorage:basic_processor" }, "E": { "item": "refinedstorage:quartz_enriched_iron" }, "S": { - "item": "refinedstorage:fluid_storage_part", - "data": 0 + "item": "refinedstorage:64k_fluid_storage_part" }, "R": { "item": "minecraft:bucket" } }, "result": { - "item": "refinedstorage:fluid_storage_part", - "data": 1 + "item": "refinedstorage:256k_fluid_storage_part" } } \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/recipes/4096k_fluid_storage_part.json b/src/main/resources/data/refinedstorage/recipes/4096k_fluid_storage_part.json similarity index 63% rename from src/main/resources/assets/refinedstorage/recipes/4096k_fluid_storage_part.json rename to src/main/resources/data/refinedstorage/recipes/4096k_fluid_storage_part.json index d7ad3601f..359d9d27b 100644 --- a/src/main/resources/assets/refinedstorage/recipes/4096k_fluid_storage_part.json +++ b/src/main/resources/data/refinedstorage/recipes/4096k_fluid_storage_part.json @@ -7,21 +7,19 @@ ], "key": { "P": { - "item": "#advanced_processor" + "item": "refinedstorage:advanced_processor" }, "E": { "item": "refinedstorage:quartz_enriched_iron" }, "S": { - "item": "refinedstorage:fluid_storage_part", - "data": 2 + "item": "refinedstorage:1024k_fluid_storage_part" }, "R": { "item": "minecraft:bucket" } }, "result": { - "item": "refinedstorage:fluid_storage_part", - "data": 3 + "item": "refinedstorage:4096k_fluid_storage_part" } } \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/recipes/4k_storage_part.json b/src/main/resources/data/refinedstorage/recipes/4k_storage_part.json similarity index 65% rename from src/main/resources/assets/refinedstorage/recipes/4k_storage_part.json rename to src/main/resources/data/refinedstorage/recipes/4k_storage_part.json index ed3b9bb5a..d6d93b75e 100644 --- a/src/main/resources/assets/refinedstorage/recipes/4k_storage_part.json +++ b/src/main/resources/data/refinedstorage/recipes/4k_storage_part.json @@ -7,21 +7,19 @@ ], "key": { "P": { - "item": "#basic_processor" + "item": "refinedstorage:basic_processor" }, "E": { "item": "refinedstorage:quartz_enriched_iron" }, "S": { - "item": "refinedstorage:storage_part", - "data": 0 + "item": "refinedstorage:1k_storage_part" }, "R": { "item": "minecraft:redstone" } }, "result": { - "item": "refinedstorage:storage_part", - "data": 1 + "item": "refinedstorage:4k_storage_part" } } \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/recipes/64k_fluid_storage_part.json b/src/main/resources/data/refinedstorage/recipes/64k_fluid_storage_part.json similarity index 61% rename from src/main/resources/assets/refinedstorage/recipes/64k_fluid_storage_part.json rename to src/main/resources/data/refinedstorage/recipes/64k_fluid_storage_part.json index a42970622..1c36d6d10 100644 --- a/src/main/resources/assets/refinedstorage/recipes/64k_fluid_storage_part.json +++ b/src/main/resources/data/refinedstorage/recipes/64k_fluid_storage_part.json @@ -7,22 +7,19 @@ ], "key": { "S": { - "type": "forge:ore_dict", - "ore": "itemSilicon" + "tag": "refinedstorage:silicons" }, "E": { "item": "refinedstorage:quartz_enriched_iron" }, "G": { - "type": "forge:ore_dict", - "ore": "blockGlass" + "tag": "forge:glass" }, "R": { "item": "minecraft:bucket" } }, "result": { - "item": "refinedstorage:fluid_storage_part", - "data": 0 + "item": "refinedstorage:64k_fluid_storage_part" } } \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/recipes/64k_storage_part.json b/src/main/resources/data/refinedstorage/recipes/64k_storage_part.json similarity index 65% rename from src/main/resources/assets/refinedstorage/recipes/64k_storage_part.json rename to src/main/resources/data/refinedstorage/recipes/64k_storage_part.json index 13b85afa0..a97509b12 100644 --- a/src/main/resources/assets/refinedstorage/recipes/64k_storage_part.json +++ b/src/main/resources/data/refinedstorage/recipes/64k_storage_part.json @@ -7,21 +7,19 @@ ], "key": { "P": { - "item": "#advanced_processor" + "item": "refinedstorage:advanced_processor" }, "E": { "item": "refinedstorage:quartz_enriched_iron" }, "S": { - "item": "refinedstorage:storage_part", - "data": 2 + "item": "refinedstorage:16k_storage_part" }, "R": { "item": "minecraft:redstone" } }, "result": { - "item": "refinedstorage:storage_part", - "data": 3 + "item": "refinedstorage:64k_storage_part" } } \ No newline at end of file diff --git a/src/main/resources/data/refinedstorage/recipes/raw_advanced_processor.json b/src/main/resources/data/refinedstorage/recipes/raw_advanced_processor.json index 02c43040e..2a0617847 100644 --- a/src/main/resources/data/refinedstorage/recipes/raw_advanced_processor.json +++ b/src/main/resources/data/refinedstorage/recipes/raw_advanced_processor.json @@ -8,7 +8,7 @@ "item": "minecraft:diamond" }, { - "item": "refinedstorage:silicon" + "tag": "refinedstorage:silicons" }, { "item": "minecraft:redstone" diff --git a/src/main/resources/data/refinedstorage/recipes/raw_basic_processor.json b/src/main/resources/data/refinedstorage/recipes/raw_basic_processor.json index 92aa06eb0..4e99bbeca 100644 --- a/src/main/resources/data/refinedstorage/recipes/raw_basic_processor.json +++ b/src/main/resources/data/refinedstorage/recipes/raw_basic_processor.json @@ -8,7 +8,7 @@ "item": "minecraft:iron_ingot" }, { - "item": "refinedstorage:silicon" + "tag": "refinedstorage:silicons" }, { "item": "minecraft:redstone" diff --git a/src/main/resources/data/refinedstorage/recipes/raw_improved_processor.json b/src/main/resources/data/refinedstorage/recipes/raw_improved_processor.json index a928dcdf9..a26e8f34a 100644 --- a/src/main/resources/data/refinedstorage/recipes/raw_improved_processor.json +++ b/src/main/resources/data/refinedstorage/recipes/raw_improved_processor.json @@ -8,7 +8,7 @@ "item": "minecraft:gold_ingot" }, { - "item": "refinedstorage:silicon" + "tag": "refinedstorage:silicons" }, { "item": "minecraft:redstone" diff --git a/src/main/resources/data/refinedstorage/tags/items/silicons.json b/src/main/resources/data/refinedstorage/tags/items/silicons.json new file mode 100644 index 000000000..2daf5b841 --- /dev/null +++ b/src/main/resources/data/refinedstorage/tags/items/silicons.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "refinedstorage:silicon" + ] +} \ No newline at end of file