diff --git a/src/main/java/gregtech/common/render/FlaskRenderer.java b/src/main/java/gregtech/common/render/FlaskRenderer.java index 591b3344f14..398c27651a0 100644 --- a/src/main/java/gregtech/common/render/FlaskRenderer.java +++ b/src/main/java/gregtech/common/render/FlaskRenderer.java @@ -24,6 +24,7 @@ public FlaskRenderer() { MinecraftForgeClient.registerItemRenderer(ItemList.VOLUMETRIC_FLASK.getItem(), this); MinecraftForgeClient.registerItemRenderer(GregtechItemList.VOLUMETRIC_FLASK_8k.getItem(), this); MinecraftForgeClient.registerItemRenderer(GregtechItemList.VOLUMETRIC_FLASK_32k.getItem(), this); + MinecraftForgeClient.registerItemRenderer(GregtechItemList.KLEIN_BOTTLE.getItem(), this); } @Override diff --git a/src/main/java/gtPlusPlus/core/item/ModItems.java b/src/main/java/gtPlusPlus/core/item/ModItems.java index 25e5a7dc2a6..00cbd6df75b 100644 --- a/src/main/java/gtPlusPlus/core/item/ModItems.java +++ b/src/main/java/gtPlusPlus/core/item/ModItems.java @@ -742,11 +742,14 @@ public static void init() { itemIonParticleBase = new IonParticles(); itemStandarParticleBase = new StandardBaseParticles(); - Item a8kFlask = VolumetricFlaskHelper.generateNewFlask("Volumetric_Flask_8k", "Large Volumetric Flask", 8000); + Item a8kFlask = VolumetricFlaskHelper.generateNewFlask("Volumetric_Flask_8k", "Large Volumetric Flask", 16000); Item a64kFlask = VolumetricFlaskHelper - .generateNewFlask("Volumetric_Flask_32k", "Gigantic Volumetric Flask", 32000); + .generateNewFlask("Volumetric_Flask_32k", "Gigantic Volumetric Flask", 256000); + Item aMAXINTFlask = VolumetricFlaskHelper + .generateNewFlask("Volumetric_Flask_Infinite", "Klein Bottle", 2147483647); GregtechItemList.VOLUMETRIC_FLASK_8k.set(a8kFlask); GregtechItemList.VOLUMETRIC_FLASK_32k.set(a64kFlask); + GregtechItemList.KLEIN_BOTTLE.set(aMAXINTFlask); itemBoilerChassis = new ItemBoilerChassis(); itemDehydratorCoilWire = new ItemDehydratorCoilWire(); diff --git a/src/main/java/gtPlusPlus/core/recipe/RecipesGeneral.java b/src/main/java/gtPlusPlus/core/recipe/RecipesGeneral.java index a4817729611..7d6e0bf22ca 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RecipesGeneral.java +++ b/src/main/java/gtPlusPlus/core/recipe/RecipesGeneral.java @@ -1,8 +1,7 @@ package gtPlusPlus.core.recipe; import static gregtech.api.enums.Mods.EnderIO; -import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; -import static gregtech.api.recipe.RecipeMaps.compressorRecipes; +import static gregtech.api.recipe.RecipeMaps.*; import static gregtech.api.util.GTRecipeBuilder.MINUTES; import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gtPlusPlus.core.recipe.common.CI.bitsd; @@ -164,28 +163,28 @@ private static void run() { ItemUtils.simpleMetaStack(ModItems.itemBasicTurbine, 2, 1)); GTValues.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(Blocks.glass, 16), - ItemUtils.getSimpleStack(Blocks.glowstone, 16), - ItemList.Large_Fluid_Cell_Steel.get(1), - CI.getNumberedAdvancedCircuit(4)) + .itemInputs(ItemList.Large_Fluid_Cell_Aluminium.get(1)) .itemOutputs(VolumetricFlaskHelper.getLargeVolumetricFlask(2)) - .fluidInputs(FluidUtils.getFluidStack("molten.borosilicateglass", 2000)) + .fluidInputs(FluidUtils.getFluidStack("molten.borosilicateglass", 4000)) .duration(15 * SECONDS) .eut(TierEU.RECIPE_HV) - .addTo(assemblerRecipes); + .addTo(fluidSolidifierRecipes); GTValues.RA.stdBuilder() - .itemInputs( - ItemUtils.getSimpleStack(Blocks.glass, 64), - ItemUtils.getSimpleStack(Blocks.glowstone, 64), - ItemList.Large_Fluid_Cell_TungstenSteel.get(1), - CI.getNumberedAdvancedCircuit(5)) + .itemInputs(ItemList.Large_Fluid_Cell_TungstenSteel.get(1)) .itemOutputs(VolumetricFlaskHelper.getGiganticVolumetricFlask(2)) - .fluidInputs(FluidUtils.getFluidStack("molten.borosilicateglass", 8000)) + .fluidInputs(FluidUtils.getFluidStack("molten.borosilicateglass", 16000)) .duration(15 * SECONDS) .eut(TierEU.RECIPE_IV) - .addTo(assemblerRecipes); + .addTo(fluidSolidifierRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Tesseract.get(1)) + .itemOutputs(VolumetricFlaskHelper.getKleinBottle(1)) + .fluidInputs(MaterialsElements.STANDALONE.CHRONOMATIC_GLASS.getFluidStack(2304)) + .duration(15 * SECONDS) + .eut(TierEU.RECIPE_UHV) + .addTo(fluidSolidifierRecipes); // Mining Explosive Logger.RECIPE("[Inspection] Explosives"); diff --git a/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java b/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java index 1c5a34e2caa..a72123a1f57 100644 --- a/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java +++ b/src/main/java/gtPlusPlus/core/tileentities/general/TileEntityVolumetricFlaskSetter.java @@ -85,6 +85,8 @@ private int getFlaskType(ItemStack aStack) { return 2; } else if (VolumetricFlaskHelper.isGiganticVolumetricFlask(aStack)) { return 3; + } else if (VolumetricFlaskHelper.isKleinBottle(aStack)) { + return 4; } return 0; } @@ -201,6 +203,8 @@ public boolean addOutput() { aOutput = VolumetricFlaskHelper.getLargeVolumetricFlask(1); } else if (aTypeInSlot == 3) { aOutput = VolumetricFlaskHelper.getGiganticVolumetricFlask(1); + } else if (aTypeInSlot == 4) { + aOutput = VolumetricFlaskHelper.getKleinBottle(1); } else { aOutput = null; } diff --git a/src/main/java/gtPlusPlus/nei/NEIGTPPConfig.java b/src/main/java/gtPlusPlus/nei/NEIGTPPConfig.java index 6f0da329943..d891baa8d7f 100644 --- a/src/main/java/gtPlusPlus/nei/NEIGTPPConfig.java +++ b/src/main/java/gtPlusPlus/nei/NEIGTPPConfig.java @@ -75,6 +75,7 @@ public synchronized void loadConfig() { if (Utils.isClient()) { API.addItemListEntry(GregtechItemList.VOLUMETRIC_FLASK_8k.get(1)); API.addItemListEntry(GregtechItemList.VOLUMETRIC_FLASK_32k.get(1)); + API.addItemListEntry(GregtechItemList.KLEIN_BOTTLE.get(1)); } sIsAdded = true; } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java index 73543efc5b2..1ed9a735594 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java @@ -134,6 +134,7 @@ public enum GregtechItemList implements IGregtechItemContainer { // Larger Volumetric Flasks VOLUMETRIC_FLASK_8k, VOLUMETRIC_FLASK_32k, + KLEIN_BOTTLE, // RTG Fuels Pellet_RTG_PU238, diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java index 57a985f3f34..a68a45c9a17 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java @@ -23,8 +23,14 @@ public static ItemStack getGiganticVolumetricFlask(int aAmount) { return GregtechItemList.VOLUMETRIC_FLASK_32k.get(aAmount); } + public static ItemStack getKleinBottle(int aAmount) { + return GregtechItemList.KLEIN_BOTTLE.get(aAmount); + } + public static boolean isVolumetricFlask(ItemStack aStack) { - return isNormalVolumetricFlask(aStack) || isLargeVolumetricFlask(aStack) || isGiganticVolumetricFlask(aStack); + return isNormalVolumetricFlask(aStack) || isLargeVolumetricFlask(aStack) + || isGiganticVolumetricFlask(aStack) + || isKleinBottle(aStack); } public static boolean isNormalVolumetricFlask(ItemStack aStack) { @@ -39,6 +45,10 @@ public static boolean isGiganticVolumetricFlask(ItemStack aStack) { return GregtechItemList.VOLUMETRIC_FLASK_32k.getItem() == aStack.getItem(); } + public static boolean isKleinBottle(ItemStack aStack) { + return GregtechItemList.KLEIN_BOTTLE.getItem() == aStack.getItem(); + } + public static int getMaxFlaskCapacity(ItemStack aStack) { if (aStack != null) { Item aItem = aStack.getItem(); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/render/FlaskRenderer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/render/FlaskRenderer.java index 20d904ae80d..0a70227dc7e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/render/FlaskRenderer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/render/FlaskRenderer.java @@ -23,6 +23,7 @@ public final class FlaskRenderer implements net.minecraftforge.client.IItemRende public FlaskRenderer() { MinecraftForgeClient.registerItemRenderer(GregtechItemList.VOLUMETRIC_FLASK_8k.getItem(), this); MinecraftForgeClient.registerItemRenderer(GregtechItemList.VOLUMETRIC_FLASK_32k.getItem(), this); + MinecraftForgeClient.registerItemRenderer(GregtechItemList.KLEIN_BOTTLE.getItem(), this); } @Override diff --git a/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_Infinite.png b/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_Infinite.png new file mode 100644 index 00000000000..51c53b17801 Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_Infinite.png differ diff --git a/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_Infinite.window.png b/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_Infinite.window.png new file mode 100644 index 00000000000..086c030cc8e Binary files /dev/null and b/src/main/resources/assets/gregtech/textures/items/gt.Volumetric_Flask_Infinite.window.png differ