diff --git a/main/java/gregtech/GT_Mod.java b/main/java/gregtech/GT_Mod.java index 09473be8..1b91d8ea 100644 --- a/main/java/gregtech/GT_Mod.java +++ b/main/java/gregtech/GT_Mod.java @@ -661,6 +661,9 @@ for (Map.Entry entry : outputs.entrySet()) { if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "ic2_" + (tName = "massFabricator"), true)) { GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item(tName, 1L)); } + if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "ic2_" + (tName = "replicator"), true)) { + GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item(tName, 1L)); + } if (gregtechproxy.mNerfedVanillaTools) { GT_Log.out.println("GT_Mod: Nerfing Vanilla Tool Durability"); diff --git a/main/java/gregtech/api/enums/Materials.java b/main/java/gregtech/api/enums/Materials.java index 99e9db3d..0d60f1b5 100644 --- a/main/java/gregtech/api/enums/Materials.java +++ b/main/java/gregtech/api/enums/Materials.java @@ -215,10 +215,10 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer { Ammonium ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 , 255, 255, 255, 0, "Ammonium" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Amordrine ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8|16 |64 , 255, 255, 255, 0, "Amordrine" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Andesite ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 |8 , 255, 255, 255, 0, "Andesite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), - Angmallen ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8|16 |64 , 255, 255, 255, 0, "Angmallen" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Angmallen ( 958, TextureSet.SET_METALLIC , 10.0F, 128, 2, 1|2 |8|16 |64 , 215, 225, 138, 0, "Angmallen" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Ardite ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8 |64 , 255, 0, 0, 0, "Ardite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeYellow ), Aredrite ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8 |64 , 255, 0, 0, 0, "Aredrite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeYellow ), - Atlarus ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8 |64 , 255, 255, 255, 0, "Atlarus" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Atlarus ( 965, TextureSet.SET_METALLIC , 6.0F, 64, 2, 1|2 |8 |64 , 255, 255, 255, 0, "Atlarus" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Bitumen ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 |8 , 255, 255, 255, 0, "Bitumen" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Black ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 0 , 0, 0, 0, 0, "Black" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeBlack ), Blizz ( 851, TextureSet.SET_SHINY , 1.0F, 0, 2, 1 , 220, 233, 255, 0, "Blizz" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), @@ -226,10 +226,10 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer { Bluestone ( 813, TextureSet.SET_DULL , 1.0F, 0, 2, 1 , 255, 255, 255, 0, "Bluestone" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeBlue ), Bloodstone ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 , 255, 255, 255, 0, "Bloodstone" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeRed ), Blutonium ( -1, TextureSet.SET_SHINY , 1.0F, 0, 2, 1|2 |8 , 0, 0, 255, 0, "Blutonium" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeBlue ), - Carmot ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8 |64 , 255, 255, 255, 0, "Carmot" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), - Celenegil ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8|16 |64 , 255, 255, 255, 0, "Celenegil" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Carmot ( 962, TextureSet.SET_METALLIC , 16.0F, 128, 1, 1|2 |8 |64 , 217, 205, 140, 0, "Carmot" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Celenegil ( 964, TextureSet.SET_METALLIC , 10.0F, 4096, 2, 1|2 |8|16 |64 , 148, 204, 72, 0, "Celenegil" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), CertusQuartz ( 516, TextureSet.SET_QUARTZ , 5.0F, 32, 1, 1 |4|8 |64 , 210, 210, 230, 0, "Certus Quartz" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeLightGray , Arrays.asList(new TC_AspectStack(TC_Aspects.POTENTIA, 1), new TC_AspectStack(TC_Aspects.VITREUS, 1))), - Ceruclase ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 |8 , 255, 255, 255, 0, "Ceruclase" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Ceruclase ( 952, TextureSet.SET_METALLIC , 6.0F, 1280, 2, 1|2 |8 , 140, 189, 208, 0, "Ceruclase" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Citrine ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 , 255, 255, 255, 0, "Citrine" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), //ChargedCertusQuartz ( 517, TextureSet.SET_QUARTZ , 5.0F, 32, 1, 1 |4|8 |64 , 210, 210, 230, 0, "Charged Certus Quartz" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeLightGray , Arrays.asList(new TC_AspectStack(TC_Aspects.POTENTIA, 2), new TC_AspectStack(TC_Aspects.VITREUS, 1))), CobaltHexahydrate ( 853, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1 |16 , 80, 80, 250, 0, "Cobalt Hexahydrate" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeBlue ), @@ -258,7 +258,7 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer { EnderiumBase ( -1, TextureSet.SET_DULL , 8.0F, 256, 3, 1|2 |64 , 89, 145, 135, 0, "Enderium Base" , 0, 0, 3000, 3000, T, F, 1, 1, 1, Dyes.dyeGreen , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.ALIENIS, 1))), Energized ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 0 , 255, 255, 255, 0, "Energized" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Epidote ( 862, TextureSet.SET_DULL , 1.0F, 0, 2, 1 , 255, 255, 255, 0, "Epidote" , 0, 0, -1, 0, F, F, 0, 1, 1, Dyes._NULL ), - Eximite ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8 |64 , 255, 255, 255, 0, "Eximite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Eximite ( 959, TextureSet.SET_METALLIC , 5.0F, 2560, 3, 1|2 |8 |64 , 124, 90, 150, 0, "Eximite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), FierySteel ( 346, TextureSet.SET_FIERY , 8.0F, 256, 3, 1|2 |16 |64|128 , 64, 0, 0, 0, "Fiery Steel" , 5, 2048, 1811, 1000, T, F, 1, 1, 1, Dyes.dyeRed , Arrays.asList(new TC_AspectStack(TC_Aspects.PRAECANTIO, 3), new TC_AspectStack(TC_Aspects.IGNIS, 3), new TC_AspectStack(TC_Aspects.CORPUS, 3))), Firestone ( 347, TextureSet.SET_QUARTZ , 6.0F, 1280, 3, 1 |4|8 |64 , 200, 20, 0, 0, "Firestone" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeRed ), Fluorite ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 |8 , 255, 255, 255, 0, "Fluorite" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeGreen ), @@ -274,11 +274,11 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer { Greenschist ( 866, TextureSet.SET_DULL , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Green Schist" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeGreen ), Greenstone ( 867, TextureSet.SET_DULL , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Greenstone" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeGreen ), Greywacke ( 868, TextureSet.SET_DULL , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Greywacke" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeGray ), - Haderoth ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8|16 |64 , 255, 255, 255, 0, "Haderoth" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Haderoth ( 963, TextureSet.SET_METALLIC , 10.0F, 3200, 3, 1|2 |8|16 |64 , 119, 52, 30, 0, "Haderoth" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Hematite ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 |8 , 255, 255, 255, 0, "Hematite" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), - Hepatizon ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8|16 |64 , 255, 255, 255, 0, "Hepatizon" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Hepatizon ( 957, TextureSet.SET_METALLIC , 12.0F, 128, 2, 1|2 |8|16 |64 , 117, 94, 117, 0, "Hepatizon" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), HSLA ( 322, TextureSet.SET_METALLIC , 6.0F, 500, 2, 1|2 |64|128 , 128, 128, 128, 0, "HSLA Steel" , 0, 0, 1811, 1000, T, F, 3, 1, 1, Dyes._NULL , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 1), new TC_AspectStack(TC_Aspects.ORDO, 1))), - Ignatius ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 |16 , 255, 255, 255, 0, "Ignatius" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Ignatius ( 950, TextureSet.SET_METALLIC , 12.0F, 512, 2, 1 |16 , 255, 169, 83, 0, "Ignatius" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Infernal ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 0 , 255, 255, 255, 0, "Infernal" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Infuscolium ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8 |64 , 255, 255, 255, 0, "Infuscolium" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), InfusedGold ( 323, TextureSet.SET_SHINY , 12.0F, 64, 3, 1|2 |8 |64|128 , 255, 200, 60, 0, "Infused Gold" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeYellow ), @@ -290,11 +290,11 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer { InfusedOrder ( 545, TextureSet.SET_SHARDS , 8.0F, 64, 3, 1 |4|8 |64|128 , 252, 252, 252, 0, "Ordo" , 5, 240, -1, 0, F, T, 3, 1, 1, Dyes.dyeWhite , Arrays.asList(new TC_AspectStack(TC_Aspects.PRAECANTIO, 1), new TC_AspectStack(TC_Aspects.ORDO, 2))), InfusedVis ( -1, TextureSet.SET_SHARDS , 8.0F, 64, 3, 1 |4|8 |64|128 , 255, 0, 255, 0, "Auram" , 5, 240, -1, 0, F, T, 3, 1, 1, Dyes.dyePurple , Arrays.asList(new TC_AspectStack(TC_Aspects.PRAECANTIO, 1), new TC_AspectStack(TC_Aspects.AURAM, 2))), InfusedDull ( -1, TextureSet.SET_SHARDS , 32.0F, 64, 3, 1 |4|8 |64|128 , 100, 100, 100, 0, "Vacuus" , 5, 160, -1, 0, F, T, 3, 1, 1, Dyes.dyeLightGray , Arrays.asList(new TC_AspectStack(TC_Aspects.PRAECANTIO, 1), new TC_AspectStack(TC_Aspects.VACUOS, 2))), - Inolashite ( -1, TextureSet.SET_NONE , 6.0F, 128, 3, 1|2 |8|16 |64 , 255, 255, 255, 0, "Inolashite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Inolashite ( 954, TextureSet.SET_NONE , 8.0F, 2304, 3, 1|2 |8|16 |64 , 148, 216, 187, 0, "Inolashite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Invisium ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 , 255, 255, 255, 0, "Invisium" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), Jade ( 537, TextureSet.SET_SHINY , 1.0F, 0, 2, 1 |8 , 0, 100, 0, 0, "Jade" , 0, 0, -1, 0, F, F, 5, 1, 1, Dyes.dyeGreen , Arrays.asList(new TC_AspectStack(TC_Aspects.LUCRUM, 6), new TC_AspectStack(TC_Aspects.VITREUS, 3))), Jasper ( 511, TextureSet.SET_EMERALD , 1.0F, 0, 2, 1 |4|8 , 200, 80, 80, 100, "Jasper" , 0, 0, -1, 0, F, T, 3, 1, 1, Dyes.dyeRed , Arrays.asList(new TC_AspectStack(TC_Aspects.LUCRUM, 4), new TC_AspectStack(TC_Aspects.VITREUS, 2))), - Kalendrite ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 |16 , 255, 255, 255, 0, "Kalendrite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Kalendrite ( 953, TextureSet.SET_METALLIC , 5.0F, 2560, 3, 1 |16 , 170, 91, 189, 0, "Kalendrite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Komatiite ( 869, TextureSet.SET_DULL , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Komatiite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeYellow ), Lava ( 700, TextureSet.SET_FLUID , 1.0F, 0, 1, 16 , 255, 64, 0, 0, "Lava" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeOrange ), Lemurite ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 |16 , 255, 255, 255, 0, "Lemurite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), @@ -323,16 +323,16 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer { ObsidianFlux ( -1, TextureSet.SET_DULL , 1.0F, 0, 1, 1|2 , 80, 50, 100, 0, "Fluxed Obsidian" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyePurple ), Oilsands ( 878, TextureSet.SET_NONE , 1.0F, 0, 1, 1 |8 , 10, 10, 10, 0, "Oilsands" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Onyx ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Onyx" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), - Orichalcum ( -1, TextureSet.SET_NONE , 6.0F, 64, 3, 1|2 |8 |64 , 255, 255, 255, 0, "Orichalcum" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Orichalcum ( 966, TextureSet.SET_METALLIC , 4.5F, 3456, 3, 1|2 |8 |64 , 84, 122, 56, 0, "Orichalcum" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Osmonium ( -1, TextureSet.SET_NONE , 6.0F, 64, 1, 1|2 |8 |64 , 255, 255, 255, 0, "Osmonium" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeBlue ), - Oureclase ( -1, TextureSet.SET_NONE , 6.0F, 64, 1, 1|2 |8 |64 , 255, 255, 255, 0, "Oureclase" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Oureclase ( 961, TextureSet.SET_METALLIC , 6.0F, 1920, 3, 1|2 |8 |64 , 183, 98, 21, 0, "Oureclase" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Painite ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 255, 255, 255, 0, "Painite" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), Peanutwood ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 255, 255, 255, 0, "Peanut Wood" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), Petroleum ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 |8 , 255, 255, 255, 0, "Petroleum" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Pewter ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 255, 255, 255, 0, "Pewter" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), Phoenixite ( -1, TextureSet.SET_NONE , 6.0F, 64, 1, 1|2 |8 |64 , 255, 255, 255, 0, "Phoenixite" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), Potash ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 255, 255, 255, 0, "Potash" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), - Prometheum ( -1, TextureSet.SET_NONE , 6.0F, 64, 1, 1|2 |8 |64 , 255, 255, 255, 0, "Prometheum" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Prometheum ( 960, TextureSet.SET_METALLIC , 8.0F, 512, 1, 1|2 |8 |64 , 90, 129, 86, 0, "Prometheum" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Quartzite ( 523, TextureSet.SET_QUARTZ , 1.0F, 0, 1, 1 |4|8 , 210, 230, 210, 0, "Quartzite" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeWhite ), Quicklime ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Quicklime" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Randomite ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 |8 , 255, 255, 255, 0, "Randomite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), @@ -342,14 +342,14 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer { Rubracium ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 |8|16 , 255, 255, 255, 0, "Rubracium" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), RyuDragonRyder ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 255, 255, 255, 0, "Ryu Dragon Ryder" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Sand ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 255, 255, 255, 0, "Sand" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeYellow ), - Sanguinite ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1|2 |8 , 255, 255, 255, 0, "Sanguinite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Sanguinite ( 955, TextureSet.SET_METALLIC , 3.0F, 4480, 4, 1|2 |8 , 185, 0, 0, 0, "Sanguinite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Siltstone ( 876, TextureSet.SET_DULL , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Siltstone" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Spinel ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 255, 255, 255, 0, "Spinel" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), Starconium ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1|2 |8 , 255, 255, 255, 0, "Starconium" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), Sugilite ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Sugilite" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), Sunstone ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 |8 , 255, 255, 255, 0, "Sunstone" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeYellow , Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.ALIENIS, 1))), Tar ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 10, 10, 10, 0, "Tar" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeBlack ), - Tartarite ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1|2 |8|16 , 255, 255, 255, 0, "Tartarite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Tartarite ( 956, TextureSet.SET_METALLIC , 20.0F, 7680, 5, 1|2 |8|16 , 255, 118, 60, 0, "Tartarite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Tapazite ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Tapazite" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeGreen ), Thyrium ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 1|2 |8 , 255, 255, 255, 0, "Thyrium" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), Tourmaline ( -1, TextureSet.SET_RUBY , 1.0F, 0, 1, 1 , 255, 255, 255, 0, "Tourmaline" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ), @@ -360,7 +360,7 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer { Void ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 255, 255, 255, 200, "Void" , 0, 0, -1, 0, F, T, 1, 1, 1, Dyes._NULL , Arrays.asList(new TC_AspectStack(TC_Aspects.VACUOS, 1))), Voidstone ( -1, TextureSet.SET_NONE , 1.0F, 0, 1, 0 , 255, 255, 255, 200, "Voidstone" , 0, 0, -1, 0, F, T, 1, 1, 1, Dyes._NULL , Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.VACUOS, 1))), Vulcanite ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8 |64 , 255, 255, 255, 0, "Vulcanite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), - Vyroxeres ( -1, TextureSet.SET_NONE , 6.0F, 64, 2, 1|2 |8 |64 , 255, 255, 255, 0, "Vyroxeres" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), + Vyroxeres ( 951, TextureSet.SET_METALLIC , 9.0F, 768, 3, 1|2 |8 |64 , 85, 224, 1, 0, "Vyroxeres" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes._NULL ), Wimalite ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 8 , 255, 255, 255, 0, "Wimalite" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeYellow ), Yellorite ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 8 , 255, 255, 255, 0, "Yellorite" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeYellow ), Yellorium ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "Yellorium" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes.dyeYellow ), diff --git a/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java b/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java index 7c6e719c..ce72d933 100644 --- a/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java +++ b/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java @@ -252,6 +252,7 @@ public interface IGT_RecipeAdder { public boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt); + public boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs,FluidStack aFluidPutput, int[] aChances, int aDuration, int aEUt); diff --git a/main/java/gregtech/api/interfaces/internal/IThaumcraftCompat.java b/main/java/gregtech/api/interfaces/internal/IThaumcraftCompat.java index 4db941a0..0b48d43d 100644 --- a/main/java/gregtech/api/interfaces/internal/IThaumcraftCompat.java +++ b/main/java/gregtech/api/interfaces/internal/IThaumcraftCompat.java @@ -1,5 +1,6 @@ package gregtech.api.interfaces.internal; +import gregtech.api.enums.TC_Aspects; import gregtech.api.enums.TC_Aspects.TC_AspectStack; import java.util.List; @@ -37,5 +38,6 @@ public interface IThaumcraftCompat { public boolean registerThaumcraftAspectsToItem(ItemStack aStack, List aAspects, boolean aAdditive); public boolean registerThaumcraftAspectsToItem(ItemStack aStack, List aAspects, String aOreDict); public Object addCrucibleRecipe(String aResearch, Object aInput, ItemStack aOutput, List aAspects); + public Object addInfusionRecipe(String aResearch, ItemStack aMainInput,ItemStack[] aSideInputs, ItemStack aOutput,int aInstability, List aAspects); public Object addResearch(String aResearch, String aName, String aText, String[] aParentResearches, String aCategory, ItemStack aIcon, int aComplexity, int aType, int aX, int aY, List aAspects, ItemStack[] aResearchTriggers, Object[] aPages); } \ No newline at end of file diff --git a/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java b/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java index ec381add..c24e3947 100644 --- a/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java +++ b/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java @@ -23,6 +23,9 @@ public class GT_CoolantCellIC_Item public boolean canStoreHeat(IReactor aReactor, ItemStack aStack, int x, int y) { + if(aReactor.isFluidCooled()&&(getControlTagOfStack(aStack))!=0){ + return false; + } return true; } @@ -43,7 +46,11 @@ public class GT_CoolantCellIC_Item public int alterHeat(IReactor aReactor, ItemStack aStack, int x, int y, int aHeat) { + int tHeat = getHeatOfStack(aStack); + if ((tHeat == 0) && (getControlTagOfStack(aStack) != 0)) { + setControlTagOfStack(aStack, 0); + } tHeat += aHeat; if (tHeat > this.heatStorage) { @@ -61,6 +68,9 @@ public class GT_CoolantCellIC_Item { aHeat = 0; } + if ((tHeat > 0) && (getControlTagOfStack(aStack) == 0) && (!aReactor.isFluidCooled())) { + setControlTagOfStack(aStack, 1); + } setHeatForStack(aStack, tHeat); } return aHeat; diff --git a/main/java/gregtech/api/items/GT_CoolantCell_Item.java b/main/java/gregtech/api/items/GT_CoolantCell_Item.java index 723a3eef..fe56ffc3 100644 --- a/main/java/gregtech/api/items/GT_CoolantCell_Item.java +++ b/main/java/gregtech/api/items/GT_CoolantCell_Item.java @@ -1,9 +1,13 @@ package gregtech.api.items; import gregtech.api.GregTech_API; +import ic2.core.util.StackUtil; + import java.util.List; + import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.StatCollector; public class GT_CoolantCell_Item extends GT_Generic_Item @@ -44,6 +48,12 @@ public class GT_CoolantCell_Item { super.addAdditionalToolTips(aList, aStack); aList.add("Stored Heat: " + getHeatOfStack(aStack)); + switch (getControlTagOfStack(aStack)) + { + case 1: + aList.add(StatCollector.translateToLocal("ic2.reactoritem.heatwarning.line1")); + aList.add(StatCollector.translateToLocal("ic2.reactoritem.heatwarning.line2")); + } } protected static int getHeatOfStack(ItemStack aStack) @@ -56,4 +66,17 @@ public class GT_CoolantCell_Item } return tNBT.getInteger("heat"); } + + public int getControlTagOfStack(ItemStack stack) + { + NBTTagCompound nbtData = StackUtil.getOrCreateNbtData(stack); + return nbtData.getInteger("tag"); + } + + public void setControlTagOfStack(ItemStack stack, int tag) + { + NBTTagCompound nbtData = StackUtil.getOrCreateNbtData(stack); + nbtData.setInteger("tag", tag); + } + } diff --git a/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java b/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java index 292e2d46..24830c8c 100644 --- a/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java +++ b/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java @@ -245,6 +245,8 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements aList.add(tOffset + 1, EnumChatFormatting.WHITE + tMaterial.mDefaultLocalName + EnumChatFormatting.YELLOW + " lvl " + getHarvestLevel(aStack, "") + EnumChatFormatting.GRAY); aList.add(tOffset + 2, EnumChatFormatting.WHITE + "Turbine Efficency: " + EnumChatFormatting.BLUE + (50.0F+(10.0F*getToolCombatDamage(aStack))) + EnumChatFormatting.GRAY); aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Steam flow: " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed*1000) + EnumChatFormatting.GRAY+ "L/sec"); + aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Gas flow(EU burnvalue per tick): " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed*25) + EnumChatFormatting.GRAY+ "EU/t"); + aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Plasma flow(Plasma energyvalue per tick): " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed*1000) + EnumChatFormatting.GRAY+ "EU/t"); }else{ aList.add(tOffset + 0, EnumChatFormatting.WHITE + "Durability: " + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " / " + tMaxDamage + EnumChatFormatting.GRAY); diff --git a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index 1ff909d3..f4c56427 100644 --- a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -385,11 +385,14 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { public boolean addOutput(FluidStack aLiquid) { if (aLiquid == null) return false; + FluidStack tLiquid = aLiquid.copy(); for (GT_MetaTileEntity_Hatch_Output tHatch : mOutputHatches) { if (isValidMetaTileEntity(tHatch) && GT_ModHandler.isSteam(aLiquid)?tHatch.outputsSteam():tHatch.outputsLiquids()) { - int tAmount = tHatch.fill(aLiquid, false); - if (tAmount >= aLiquid.amount) { - return tHatch.fill(aLiquid, true) >= aLiquid.amount; + int tAmount = tHatch.fill(tLiquid, false); + if (tAmount >= tLiquid.amount) { + return tHatch.fill(tLiquid, true) >= tLiquid.amount; + }else if(tAmount>0){ + tLiquid.amount = tLiquid.amount - tHatch.fill(tLiquid, true); } } } diff --git a/main/java/gregtech/common/GT_RecipeAdder.java b/main/java/gregtech/common/GT_RecipeAdder.java index 64b1625b..719d517b 100644 --- a/main/java/gregtech/common/GT_RecipeAdder.java +++ b/main/java/gregtech/common/GT_RecipeAdder.java @@ -669,6 +669,24 @@ public class GT_RecipeAdder } return false; } + + public boolean addPlasmaArcFurnaceRecipe(ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, FluidStack aFluidOutput, int[] aChances, int aDuration, int aEUt) + { + if ((aInput == null) || (aOutputs == null)||aFluidInput==null) { + return false; + } + for (ItemStack tStack : aOutputs) { + if (tStack != null) + { + if ((aDuration = GregTech_API.sRecipeFile.get("arcfurnace", aInput, aDuration)) <= 0) { + return false; + } + GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes.addRecipe(true, new ItemStack[] { aInput }, aOutputs, null, aChances, new FluidStack[] { aFluidInput }, new FluidStack[]{aFluidOutput}, Math.max(1, aDuration), Math.max(1, aEUt), 0); + return true; + } + } + return false; + } public boolean addPulveriserRecipe(ItemStack aInput, ItemStack[] aOutputs, int[] aChances, int aDuration, int aEUt) { diff --git a/main/java/gregtech/common/GT_ThaumcraftCompat.java b/main/java/gregtech/common/GT_ThaumcraftCompat.java index e850c026..aa002170 100644 --- a/main/java/gregtech/common/GT_ThaumcraftCompat.java +++ b/main/java/gregtech/common/GT_ThaumcraftCompat.java @@ -199,6 +199,14 @@ public class GT_ThaumcraftCompat return ThaumcraftApi.addCrucibleRecipe(aResearch, GT_Utility.copy(new Object[] { aOutput }), ((aInput instanceof ItemStack)) || ((aInput instanceof ArrayList)) ? aInput : aInput.toString(), getAspectList(aAspects)); } + public Object addInfusionRecipe(String aResearch, ItemStack aMainInput,ItemStack[] aSideInputs, ItemStack aOutput,int aInstability, List aAspects) + { + if ((GT_Utility.isStringInvalid(aResearch)) || (aMainInput == null)|| (aSideInputs==null) || (aOutput == null) || (aAspects == null) || (aAspects.isEmpty())) { + return null; + } + return ThaumcraftApi.addInfusionCraftingRecipe(aResearch, GT_Utility.copy(new Object[] { aOutput }), aInstability, getAspectList(aAspects), aMainInput, aSideInputs); + } + public boolean registerThaumcraftAspectsToItem(ItemStack aExampleStack, List aAspects, String aOreDict) { if (aAspects.isEmpty()) { diff --git a/main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java b/main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java index 3550fffd..c6f588a3 100644 --- a/main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java +++ b/main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java @@ -31,7 +31,7 @@ public class GT_GUIContainer_FusionReactor extends GT_GUIContainerMetaTile_Machi } } if(this.mContainer!=null){ - fontRendererObj.drawString(GT_Utility.formatNumbers(this.mContainer.mEnergy)+" EU", 50, 155, 0x00b0b000); + fontRendererObj.drawString(GT_Utility.formatNumbers(this.mContainer.mEnergy)+" EU", 50, 155, 0x00ff0000); } } } diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java index c48a2793..632cdcbd 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java @@ -16,6 +16,7 @@ import gregtech.api.util.GT_Utility; import java.util.ArrayList; +import scala.actors.threadpool.Arrays; import net.minecraft.block.Block; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; @@ -152,6 +153,10 @@ public class GT_MetaTileEntity_DistillationTower tmpHatches[hatchNumber]=this.mOutputHatches.get(i); }else{return false;} } + this.mOutputHatches.clear(); + for(int i=0;i< tmpHatches.length;i++){ + this.mOutputHatches.add(tmpHatches[i]); + } return tAmount >= 26; } diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java index 89b8c29e..4443db4b 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import net.minecraft.block.Block; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; @@ -43,6 +44,16 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc { return new String[] { "Controller Block for the Heat Exchanger", "Size: 3x3x4", "Controller (front middle at bottom)", "3x3x4 of Stable Titanium Casing (hollow, Min 24!)", "2 Titanium Pipe Casing Blocks inside the Hollow Casing", "1x Distillated Water Input (one of the Casings)","min 1 Steam Output (one of the Casings)", "1x Maintenance Hatch (one of the Casings)", "1x Hot Fluid Input (botton Center)", "1x Cold Fluid Output (top Center)" }; } + + @Override + public void loadNBTData(NBTTagCompound aNBT) { + superheated = aNBT.getBoolean("superheated"); + super.loadNBTData(aNBT);} + + @Override + public void saveNBTData(NBTTagCompound aNBT) { + aNBT.setBoolean("superheated", superheated); + super.saveNBTData(aNBT);} public GT_MetaTileEntity_Hatch_Input mInputHotFluidHatch; public GT_MetaTileEntity_Hatch_Output mOutputColdFluidHatch; @@ -111,7 +122,7 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc } public boolean onRunningTick(ItemStack aStack) - { + { if (this.mEUt > 0) { int tGeneratedEU = (int)(this.mEUt * 2L * this.mEfficiency / 10000L); @@ -238,7 +249,7 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc public int getPollutionPerTick(ItemStack aStack) { - return 10; + return 0; } public int getDamageToComponent(ItemStack aStack) diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java index 435d9fea..461bf159 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; import gregtech.api.GregTech_API; import gregtech.api.enums.ItemList; @@ -34,8 +35,6 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M protected int baseEff=0; protected int optFlow=0; protected int counter=0; - @Override - public abstract boolean checkRecipe(ItemStack aStack); @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { @@ -111,6 +110,61 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M return ((addMaintenanceToMachineList(tTileEntity, getCasingTextureIndex())) || (addInputToMachineList(tTileEntity, getCasingTextureIndex())) || (addOutputToMachineList(tTileEntity, getCasingTextureIndex()))|| (addMufflerToMachineList(tTileEntity, getCasingTextureIndex()))); } + private int[] mLastTicks = new int[256]; + private int mCurrentTick; + private long mOverall; + + public int getAverage(int aCurrent){ + ++mCurrentTick; + mCurrentTick = mCurrentTick % 256; + mOverall = mOverall - mLastTicks[mCurrentTick]; + mOverall = mOverall + aCurrent; + mLastTicks[mCurrentTick] = aCurrent; + return (int) (mOverall/256); + } + + @Override + public void saveNBTData(NBTTagCompound aNBT) { + super.saveNBTData(aNBT); + aNBT.setLong("mOverall", mOverall); + } + + @Override + public void loadNBTData(NBTTagCompound aNBT) { + super.loadNBTData(aNBT); + mOverall = aNBT.getLong("mOverall"); + mOverall = mOverall - mOverall%256; + int tAverage = (int) (mOverall <<7); + for(int i = 0;i<256;i++){ + mLastTicks[i]=tAverage; + } + } + + @Override + public boolean checkRecipe(ItemStack aStack) { + ArrayList tFluids = getStoredFluids(); + if (tFluids.size()>0){ + if(baseEff==0 || optFlow == 0 || counter >= 1000 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled() || this.getBaseMetaTileEntity().hasInventoryBeenModified()){ + counter = 0; + baseEff = (int) ((50.0F+(10.0F*((GT_MetaGenerated_Tool)aStack.getItem()).getToolCombatDamage(aStack)))*100); + optFlow = (int) Math.max(Float.MIN_NORMAL, ((GT_MetaGenerated_Tool)aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() * ((GT_MetaGenerated_Tool)aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed*50); + }else{ + counter++;}} + this.mEUt = fluidIntoPower(tFluids, optFlow, baseEff); + this.mMaxProgresstime = 1; + this.mEfficiencyIncrease = (10); + if(mEUt<=0){ + mEfficiency=0; + mOverall=0; + mLastTicks = new int[256]; + stopMachine(); + return false; + }else{ + return true;} + } + + abstract int fluidIntoPower(ArrayList aFluids, int aOptFlow, int aBaseEff); + @Override public int getDamageToComponent(ItemStack aStack) { return 1; @@ -126,10 +180,7 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M } return 0; } - - - @Override - public int getPollutionPerTick(ItemStack aStack) {return 0;} + @Override public int getAmountOfOutputs() {return 0;} @Override diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java index 8a4014fe..010f05a0 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java @@ -42,36 +42,6 @@ public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeT "Needs a Turbine Item (inside controller GUI)"}; } - @Override - public boolean checkRecipe(ItemStack aStack) { - ArrayList steams = getStoredFluids(); - if(this.mMufflerHatches.size()==0){ - return false; - } - if (steams.size()>0) - {if(baseEff==0 || optFlow == 0 || counter >= 1000 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled() || this.getBaseMetaTileEntity().hasInventoryBeenModified()){ - counter = 0; - baseEff = (int) ((50.0F+(10.0F*((GT_MetaGenerated_Tool)aStack.getItem()).getToolCombatDamage(aStack)))*100); - optFlow = (int) Math.max(Float.MIN_NORMAL, ((GT_MetaGenerated_Tool)aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() * ((GT_MetaGenerated_Tool)aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed*50); - } - int tEU=0; - for(int i=0;i0&&depleteInput(new FluidStack(steams.get(i),optFlow/(fuelValue*2)))){ - tEU += optFlow/2;} - } - this.mEUt = baseEff*tEU/10000; - this.mMaxProgresstime = 1; - this.mEfficiencyIncrease = (this.mMaxProgresstime * 10); - if(mEUt==0){return false;} - return true; - } - if(this.mEfficiency>50){ - this.mEfficiency = this.mEfficiency-50; - return true; - }else{return false;} - } - public int getFuelValue(FluidStack aLiquid) { if (aLiquid == null || GT_Recipe_Map.sTurbineFuels == null) return 0; FluidStack tLiquid; @@ -94,6 +64,27 @@ public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeT public byte getCasingTextureIndex() { return 46; } + @Override + public int getPollutionPerTick(ItemStack aStack) { + return 10; + } + + @Override + int fluidIntoPower(ArrayList aFluids, int aOptFlow, int aBaseEff) { + int tEU=0; + int tOut=0; + int tOptFlow = aOptFlow; + boolean b = false; + for(int i=0;i0&&depleteInput(new FluidStack(aFluids.get(i),Math.max(tOptFlow/(fuelValue*2),1)))){ + tEU += tOptFlow/2;} + } + if(tEU>0)b=true; + tEU = getAverage(tEU); + if(b&&tEU<=0)tEU=3; + return tEU * aBaseEff / 10000; + } } diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java index 48bd34bf..4acae119 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java @@ -36,42 +36,6 @@ public class GT_MetaTileEntity_LargeTurbine_HPSteam extends GT_MetaTileEntity_La "Turbine Casings for the rest (24 at least!)", "Needs a Turbine Item (inside controller GUI)" }; } - - @Override - public boolean checkRecipe(ItemStack aStack) { - ArrayList steams = getStoredFluids(); - if (steams.size()>0) - {if(baseEff==0 || optFlow == 0 || counter >= 1000 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled() || this.getBaseMetaTileEntity().hasInventoryBeenModified()){ - counter = 0; - baseEff = (int) ((50.0F+(10.0F*((GT_MetaGenerated_Tool)aStack.getItem()).getToolCombatDamage(aStack)))*100); - optFlow = (int) Math.max(Float.MIN_NORMAL, ((GT_MetaGenerated_Tool)aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() * ((GT_MetaGenerated_Tool)aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed*50); - } - int tEU=0; - int distOut=0; - for(int i=0;ioptFlow) {tEU = optFlow;} - float tEff = tEU/(optFlow); - this.mEUt = (int) (tEff*tEU*baseEff/10000); - this.mMaxProgresstime = 1; -// System.out.println("Eff: "+baseEff+" optFlow: "+optFlow+" tEff: "+tEff+" eut: "+mEUt+" out: "+distOut); - this.mEfficiencyIncrease = (this.mMaxProgresstime * 10); - if(mEUt==0){return false;} - addOutput(GT_ModHandler.getSteam(distOut)); - return true; - } - if(this.mEfficiency>50){ - this.mEfficiency = this.mEfficiency-50; - return true; - }else{return false;} - } @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {return new GT_MetaTileEntity_LargeTurbine_HPSteam(mName);} @@ -87,6 +51,29 @@ public class GT_MetaTileEntity_LargeTurbine_HPSteam extends GT_MetaTileEntity_La public byte getCasingTextureIndex() { return 46; } + @Override + public int getPollutionPerTick(ItemStack aStack) { + return 0; + } + + @Override + int fluidIntoPower(ArrayList aFluids, int aOptFlow, int aBaseEff) { + int tEU=0; + int tOut=0; + for(int i=0;i0&&tOut steams = getStoredFluids(); - if (steams.size()>0) - {if(baseEff==0 || optFlow == 0 || counter >= 1000 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled() || this.getBaseMetaTileEntity().hasInventoryBeenModified()){ - counter = 0; - baseEff = (int) ((50.0F+(10.0F*((GT_MetaGenerated_Tool)aStack.getItem()).getToolCombatDamage(aStack)))*100); - optFlow = (int) Math.max(Float.MIN_NORMAL, ((GT_MetaGenerated_Tool)aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() * ((GT_MetaGenerated_Tool)aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed*50); - optFlow *=40; - } - int tEU=0; - for(int i=0;i0&&depleteInput(new FluidStack(steams.get(i),Math.max(optFlow/(fuelValue*2),1)))){ - tEU += optFlow/2;} - } - this.mEUt = baseEff*tEU/10000; - this.mMaxProgresstime = 1; - this.mEfficiencyIncrease = (this.mMaxProgresstime * 10); - if(mEUt==0){return false;} - return true; - } - if(this.mEfficiency>50){ - this.mEfficiency = this.mEfficiency-50; - return true; - }else{return false;} - } - + public int getFuelValue(FluidStack aLiquid) { if (aLiquid == null || GT_Recipe_Map.sTurbineFuels == null) return 0; FluidStack tLiquid; @@ -91,6 +63,27 @@ public class GT_MetaTileEntity_LargeTurbine_Plasma extends GT_MetaTileEntity_Lar public byte getCasingTextureIndex() { return 46; } + @Override + public int getPollutionPerTick(ItemStack aStack) { + return 0; + } + + @Override + int fluidIntoPower(ArrayList aFluids, int aOptFlow, int aBaseEff) { + int tEU=0; + int tOut=0; + int tOptFlow = aOptFlow * 40; + boolean b = false; + for(int i=0;i0&&depleteInput(new FluidStack(aFluids.get(i),Math.max(tOptFlow/(fuelValue*2),1)))){ + tEU += tOptFlow/2;} + } + if(tEU>0)b=true; + tEU = getAverage(tEU); + if(b&&tEU<=0)tEU=3; + return tEU * aBaseEff / 10000; + } } diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java index e4307033..19a7f6ba 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java @@ -35,52 +35,7 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg "1x Maintenance Hatch (side centered)", "Turbine Casings for the rest (24 at least!)", "Needs a Turbine Item (inside controller GUI)" }; - } - - private float water; - private int useWater(float input){ - water = water + input; - int usage = (int)water; - water = water - (int)usage; - return usage; - } - - - @Override - public boolean checkRecipe(ItemStack aStack) { - ArrayList steams = getStoredFluids(); - if (steams.size()>0) - {if(baseEff==0 || optFlow == 0 || counter >= 1000 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled() || this.getBaseMetaTileEntity().hasInventoryBeenModified()){ - counter = 0; - baseEff = (int) ((50.0F+(10.0F*((GT_MetaGenerated_Tool)aStack.getItem()).getToolCombatDamage(aStack)))*100); - optFlow = (int) Math.max(Float.MIN_NORMAL, ((GT_MetaGenerated_Tool)aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() * ((GT_MetaGenerated_Tool)aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed*50); - } - int tEU=0; - float distOut=0; - for(int i=0;ioptFlow/2) {tEU = optFlow/2;} - float tEff = tEU/(optFlow/2); - this.mEUt = (int) (tEff*tEU*baseEff/10000); - this.mMaxProgresstime = 1; -// System.out.println("Eff: "+baseEff+" optFlow: "+optFlow+" tEff: "+tEff+" eut: "+mEUt+" out: "+distOut); - this.mEfficiencyIncrease = (this.mMaxProgresstime * 10); - if(mEUt==0){return false;} - addOutput(GT_ModHandler.getDistilledWater(useWater(distOut))); - return true; - } - if(this.mEfficiency>50){ - this.mEfficiency = this.mEfficiency-50; - return true; - }else{return false;} - } + } @Override public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {return new GT_MetaTileEntity_LargeTurbine_Steam(mName);} @@ -96,6 +51,37 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg public byte getCasingTextureIndex() { return 46; } + @Override + public int getPollutionPerTick(ItemStack aStack) { + return 0; + } + + private float water; + private int useWater(float input){ + water = water + input; + int usage = (int)water; + water = water - (int)usage; + return usage; + } + + @Override + int fluidIntoPower(ArrayList aFluids, int aOptFlow, int aBaseEff) { + int tEU=0; + int tOut=0; + for(int i=0;i0&&tOut
You have finally found a way to reverse this Process by using Vitreus Essentia for recrystallising the Shards."); GregTech_API.sThaumcraftCompat.addResearch(tKey, "Shard Recrystallisation", "Fixing your precious crystals", new String[] { "ALCHEMICALMANUFACTURE" }, "ALCHEMY", GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedOrder, 1L), 3, 0, -11, -3, Arrays.asList(new TC_Aspects.TC_AspectStack[] { new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 5L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 3L), new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3L) }), null, new Object[] { "gt.research.page.1." + tKey, GregTech_API.sThaumcraftCompat.addCrucibleRecipe(tKey, OrePrefixes.dust.get(Materials.Amber), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Amber, 1L), Arrays.asList(new TC_Aspects.TC_AspectStack[] { new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L) })), GregTech_API.sThaumcraftCompat.addCrucibleRecipe(tKey, OrePrefixes.dust.get(Materials.InfusedOrder), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedOrder, 1L), Arrays.asList(new TC_Aspects.TC_AspectStack[] { new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L) })), GregTech_API.sThaumcraftCompat.addCrucibleRecipe(tKey, OrePrefixes.dust.get(Materials.InfusedEntropy), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedEntropy, 1L), Arrays.asList(new TC_Aspects.TC_AspectStack[] { new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L) })), GregTech_API.sThaumcraftCompat.addCrucibleRecipe(tKey, OrePrefixes.dust.get(Materials.InfusedAir), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedAir, 1L), Arrays.asList(new TC_Aspects.TC_AspectStack[] { new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L) })), GregTech_API.sThaumcraftCompat.addCrucibleRecipe(tKey, OrePrefixes.dust.get(Materials.InfusedEarth), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedEarth, 1L), Arrays.asList(new TC_Aspects.TC_AspectStack[] { new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L) })), GregTech_API.sThaumcraftCompat.addCrucibleRecipe(tKey, OrePrefixes.dust.get(Materials.InfusedFire), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedFire, 1L), Arrays.asList(new TC_Aspects.TC_AspectStack[] { new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L) })), GregTech_API.sThaumcraftCompat.addCrucibleRecipe(tKey, OrePrefixes.dust.get(Materials.InfusedWater), GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedWater, 1L), Arrays.asList(new TC_Aspects.TC_AspectStack[] { new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L) })) }); + + tKey = "GT_MAGICENERGY"; + GT_LanguageManager.addStringLocalization("gt.research.page.1." + tKey, + "While trying to find new ways to integrate magic into your industrial factories, you have discovered a way to convert magical energy into electrical power."); + GregTech_API.sThaumcraftCompat.addResearch(tKey, + "Magic Energy Conversion", + "Magic to Power", + new String[] {"ARCANEBORE"}, + "ARTIFICE", + ItemList.MagicEnergyConverter_LV.get(1L, new Object[0]), + 3, 0, -3, 10, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITO, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 10L)}), + null, new Object[] { "gt.research.page.1." + tKey, + GregTech_API.sThaumcraftCompat.addInfusionRecipe(tKey, + ItemList.Hull_LV.get(1L, new Object[0]), + new ItemStack[]{ + new ItemStack(Blocks.beacon), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Advanced, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate,Materials.Thaumium, 1L), + ItemList.Sensor_MV.get(2L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Advanced, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate,Materials.Thaumium, 1L), + ItemList.Sensor_MV.get(2L, new Object[0]) + }, + ItemList.MagicEnergyConverter_LV.get(1L, new Object[0]), + 5, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L) }))}); + + tKey = "GT_MAGICENERGY2"; + GT_LanguageManager.addStringLocalization("gt.research.page.1." + tKey, + "Attempts to increase the output of your Magic Energy generators have resulted in significant improvements."); + GregTech_API.sThaumcraftCompat.addResearch(tKey, + "Adept Magic Energy Conversion", + "Magic to Power", + new String[] {"GT_MAGICENERGY"}, + "ARTIFICE", + ItemList.MagicEnergyConverter_MV.get(1L, new Object[0]), + 1, 1, -4, 12, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITO, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 10L)}), + null, new Object[] { "gt.research.page.1." + tKey, + GregTech_API.sThaumcraftCompat.addInfusionRecipe(tKey, + ItemList.Hull_MV.get(1L, new Object[0]), + new ItemStack[]{ + new ItemStack(Blocks.beacon), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Data, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate,Materials.Thaumium, 1L), + ItemList.Sensor_HV.get(2L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Data, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate,Materials.Iridium, 1L), + ItemList.Sensor_HV.get(2L, new Object[0]) + }, + ItemList.MagicEnergyConverter_MV.get(1L, new Object[0]), + 6, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L) }))}); + + tKey = "GT_MAGICENERGY3"; + GT_LanguageManager.addStringLocalization("gt.research.page.1." + tKey, + "Attempts to further increase the output of your Magic Energy generators have resulted in great improvements."); + GregTech_API.sThaumcraftCompat.addResearch(tKey, + "Master Magic Energy Conversion", + "Magic to Power", + new String[] {"GT_MAGICENERGY2"}, + "ARTIFICE", + ItemList.MagicEnergyConverter_HV.get(1L, new Object[0]), + 1, 1, -4, 14, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITO, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 40L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 20L)}), + null, new Object[] { "gt.research.page.1." + tKey, + GregTech_API.sThaumcraftCompat.addInfusionRecipe(tKey, + ItemList.Hull_HV.get(1L, new Object[0]), + new ItemStack[]{ + new ItemStack(Blocks.beacon), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Elite, 1L), + GT_OreDictUnificator.get(OrePrefixes.plateDouble,Materials.Thaumium, 1L), + ItemList.Field_Generator_MV.get(1L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Elite, 1L), + GT_OreDictUnificator.get(OrePrefixes.plateDouble,Materials.Europium, 1L), + ItemList.Field_Generator_MV.get(1L, new Object[0]) + }, + ItemList.MagicEnergyConverter_HV.get(1L, new Object[0]), + 8, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L) }))}); + + + + + tKey = "GT_MAGICABSORB"; + GT_LanguageManager.addStringLocalization("gt.research.page.1." + tKey, + "Research into magical energy conversion methods has identified a way to convert surrounding energies into electrical power."); + GregTech_API.sThaumcraftCompat.addResearch(tKey, + "Magic Energy Absorption", + "Harvesting Magic", + new String[] {"GT_MAGICENERGY"}, + "ARTIFICE", + ItemList.MagicEnergyAbsorber_LV.get(1L, new Object[0]), + 3, 0, -2, 12, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITO, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 10L)}), + null, new Object[] { "gt.research.page.1." + tKey, + GregTech_API.sThaumcraftCompat.addInfusionRecipe(tKey, + ItemList.Hull_LV.get(1L, new Object[0]), + new ItemStack[]{ + ItemList.MagicEnergyConverter_LV.get(1L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Advanced, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate,Materials.Thaumium, 1L), + ItemList.Sensor_MV.get(2L, new Object[0]) + }, + ItemList.MagicEnergyAbsorber_LV.get(1L, new Object[0]), + 6, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 16L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 4L) }))}); + + tKey = "GT_MAGICABSORB2"; + GT_LanguageManager.addStringLocalization("gt.research.page.1." + tKey, + "Moar output! Drain all the Magic!"); + GregTech_API.sThaumcraftCompat.addResearch(tKey, + "Improved Magic Energy Absorption", + "Harvesting Magic", + new String[] {"GT_MAGICABSORB"}, + "ARTIFICE", + ItemList.MagicEnergyAbsorber_EV.get(1L, new Object[0]), + 3, 1, -2, 14, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITO, 10L), + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 20L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 10L)}), + null, new Object[] { "gt.research.page.1." + tKey, + GregTech_API.sThaumcraftCompat.addInfusionRecipe(tKey, + ItemList.Hull_MV.get(1L, new Object[0]), + new ItemStack[]{ + ItemList.MagicEnergyConverter_MV.get(1L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Advanced, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate,Materials.Thaumium, 1L), + ItemList.Sensor_HV.get(2L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Advanced, 1L), + GT_OreDictUnificator.get(OrePrefixes.plate,Materials.Thaumium, 1L) + }, + ItemList.MagicEnergyAbsorber_MV.get(1L, new Object[0]), + 6, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 32L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 8L) })) + + + + , GregTech_API.sThaumcraftCompat.addInfusionRecipe(tKey, + ItemList.Hull_HV.get(1L, new Object[0]), + new ItemStack[]{ + ItemList.MagicEnergyConverter_MV.get(1L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Elite, 1L), + GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 16), + ItemList.Field_Generator_MV.get(1L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Elite, 1L), + GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 16) + }, + ItemList.MagicEnergyAbsorber_HV.get(1L, new Object[0]), + 8, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 64L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 16L) })) + + + ,GregTech_API.sThaumcraftCompat.addInfusionRecipe(tKey, + ItemList.Hull_EV.get(1L, new Object[0]), + new ItemStack[]{ + ItemList.MagicEnergyConverter_HV.get(1L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Master, 1L), + GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 16), + ItemList.Field_Generator_HV.get(1L, new Object[0]), + GT_OreDictUnificator.get(OrePrefixes.circuit,Materials.Master, 1L), + GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1, 16) + }, + ItemList.MagicEnergyAbsorber_EV.get(1L, new Object[0]), + 10, + Arrays.asList(new TC_Aspects.TC_AspectStack[] { + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 256L), + new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 128L), + new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 256L), + new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 64L) })) + }); + } for (MaterialStack[] tMats : this.mAlloySmelterList) { diff --git a/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java index a96d4a8a..70865acd 100644 --- a/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java +++ b/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java @@ -942,20 +942,23 @@ public class GT_Loader_MetaTileEntities ItemList.MagicEnergyConverter_MV.set(new GT_MetaTileEntity_MagicEnergyConverter(1124, "basicgenerator.magicenergyconverter.tier.02", "Adept Magic Energy Converter",2).getStackForm(1L)); ItemList.MagicEnergyConverter_HV.set(new GT_MetaTileEntity_MagicEnergyConverter(1125, "basicgenerator.magicenergyconverter.tier.03", "Master Magic Energy Converter",3).getStackForm(1L)); - GT_ModHandler.addCraftingRecipe(ItemList.MagicEnergyConverter_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CTC", "FMF", "CBC", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('B'), new ItemStack(Blocks.beacon), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('T'), ItemList.Field_Generator_LV, Character.valueOf('F'), OrePrefixes.plate.get(Materials.Platinum) }); - GT_ModHandler.addCraftingRecipe(ItemList.MagicEnergyConverter_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CTC", "FMF", "CBC", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('B'), new ItemStack(Blocks.beacon), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Data), Character.valueOf('T'), ItemList.Field_Generator_MV, Character.valueOf('F'), OrePrefixes.plate.get(Materials.Iridium) }); - GT_ModHandler.addCraftingRecipe(ItemList.MagicEnergyConverter_HV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CTC", "FMF", "CBC", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('B'), new ItemStack(Blocks.beacon), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('T'), ItemList.Field_Generator_HV, Character.valueOf('F'), OrePrefixes.plate.get(Materials.Neutronium) }); ItemList.MagicEnergyAbsorber_LV.set(new GT_MetaTileEntity_MagicalEnergyAbsorber(1127, "basicgenerator.magicenergyabsorber.tier.01", "Novice Magic Energy Absorber",1).getStackForm(1L)); ItemList.MagicEnergyAbsorber_MV.set(new GT_MetaTileEntity_MagicalEnergyAbsorber(1128, "basicgenerator.magicenergyabsorber.tier.02", "Adept Magic Energy Absorber",2).getStackForm(1L)); ItemList.MagicEnergyAbsorber_HV.set(new GT_MetaTileEntity_MagicalEnergyAbsorber(1129, "basicgenerator.magicenergyabsorber.tier.03", "Master Magic Energy Absorber",3).getStackForm(1L)); ItemList.MagicEnergyAbsorber_EV.set(new GT_MetaTileEntity_MagicalEnergyAbsorber(1130, "basicgenerator.magicenergyabsorber.tier.04", "Grandmaster Magic Energy Absorber",4).getStackForm(1L)); - + if (GregTech_API.sThaumcraftCompat == null){ + + GT_ModHandler.addCraftingRecipe(ItemList.MagicEnergyConverter_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CTC", "FMF", "CBC", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('B'), new ItemStack(Blocks.beacon), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('T'), ItemList.Field_Generator_LV, Character.valueOf('F'), OrePrefixes.plate.get(Materials.Platinum) }); + GT_ModHandler.addCraftingRecipe(ItemList.MagicEnergyConverter_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CTC", "FMF", "CBC", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('B'), new ItemStack(Blocks.beacon), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Data), Character.valueOf('T'), ItemList.Field_Generator_MV, Character.valueOf('F'), OrePrefixes.plate.get(Materials.Iridium) }); + GT_ModHandler.addCraftingRecipe(ItemList.MagicEnergyConverter_HV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CTC", "FMF", "CBC", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('B'), new ItemStack(Blocks.beacon), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('T'), ItemList.Field_Generator_HV, Character.valueOf('F'), OrePrefixes.plate.get(Materials.Neutronium) }); + GT_ModHandler.addCraftingRecipe(ItemList.MagicEnergyAbsorber_LV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CTC", "FMF", "CBC", Character.valueOf('M'), ItemList.Hull_LV, Character.valueOf('B'), ItemList.MagicEnergyConverter_LV.get(1L, new Object[0]), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Advanced), Character.valueOf('T'), ItemList.Field_Generator_LV, Character.valueOf('F'), OrePrefixes.plate.get(Materials.Platinum) }); GT_ModHandler.addCraftingRecipe(ItemList.MagicEnergyAbsorber_MV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CTC", "FMF", "CBC", Character.valueOf('M'), ItemList.Hull_MV, Character.valueOf('B'), ItemList.MagicEnergyConverter_MV.get(1L, new Object[0]), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Data), Character.valueOf('T'), ItemList.Field_Generator_MV, Character.valueOf('F'), OrePrefixes.plate.get(Materials.Iridium) }); GT_ModHandler.addCraftingRecipe(ItemList.MagicEnergyAbsorber_HV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CTC", "FMF", "CBC", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('B'), ItemList.MagicEnergyConverter_MV.get(1L, new Object[0]), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Elite), Character.valueOf('T'), ItemList.Field_Generator_HV, Character.valueOf('F'), OrePrefixes.plate.get(Materials.Europium) }); GT_ModHandler.addCraftingRecipe(ItemList.MagicEnergyAbsorber_EV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CTC", "FMF", "CBC", Character.valueOf('M'), ItemList.Hull_HV, Character.valueOf('B'), ItemList.MagicEnergyConverter_HV.get(1L, new Object[0]), Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('T'), ItemList.Field_Generator_EV, Character.valueOf('F'), OrePrefixes.plate.get(Materials.Neutronium) }); - + } + ItemList.FusionComputer_LuV.set(new GT_MetaTileEntity_FusionComputer1(1193, "fusioncomputer.tier.06", "Fusion Control Computer Mark I").getStackForm(1L)); ItemList.FusionComputer_ZPMV.set(new GT_MetaTileEntity_FusionComputer2(1194, "fusioncomputer.tier.07", "Fusion Control Computer Mark II").getStackForm(1L)); ItemList.FusionComputer_UV.set(new GT_MetaTileEntity_FusionComputer3(1195, "fusioncomputer.tier.08", "Fusion Control Computer Mark III").getStackForm(1L)); diff --git a/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.1.png b/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.1.png index 5f517195..30698a20 100644 Binary files a/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.1.png and b/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.1.png differ diff --git a/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.2.png b/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.2.png index 29aa1d2b..b5c2580b 100644 Binary files a/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.2.png and b/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.2.png differ diff --git a/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.3.png b/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.3.png index 37189f0d..3280ff2d 100644 Binary files a/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.3.png and b/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.3.png differ diff --git a/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.4.png b/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.4.png index 2ef5e676..a18d0495 100644 Binary files a/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.4.png and b/main/resources/assets/ic2/textures/blocks/crop/blockCrop.Corium.4.png differ