aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/java/gregtech/GT_Mod.java37
-rw-r--r--main/java/gregtech/api/enums/OrePrefixes.java1
-rw-r--r--main/java/gregtech/api/enums/TextureSet.java2
-rw-r--r--main/java/gregtech/api/enums/Textures.java2
-rw-r--r--main/java/gregtech/api/items/GT_MetaGenerated_Tool.java11
-rw-r--r--main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java8
-rw-r--r--main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java12
-rw-r--r--main/java/gregtech/api/util/GT_ModHandler.java80
-rw-r--r--main/java/gregtech/common/GT_Proxy.java11
-rw-r--r--main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java10
-rw-r--r--main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java2
-rw-r--r--main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java15
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java4
-rw-r--r--main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java5
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java11
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Drill_HV.java7
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Drill_LV.java1
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_HardHammer.java10
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_JackHammer.java7
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Pickaxe.java1
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Turbine.java25
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Turbine_Huge.java7
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Turbine_Large.java7
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Turbine_Normal.java7
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_Turbine_Small.java7
-rw-r--r--main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java6
-rw-r--r--main/java/gregtech/loaders/misc/GT_Achievements.java469
-rw-r--r--main/java/gregtech/loaders/oreprocessing/ProcessingPlate2.java10
-rw-r--r--main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHammer.java21
-rw-r--r--main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java88
-rw-r--r--main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java9
-rw-r--r--main/java/gregtech/loaders/postload/GT_ScrapboxDropLoader.java8
-rw-r--r--main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java4
-rw-r--r--main/resources/assets/gregtech/lang/en_US.lang361
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.02/Thumbs.dbbin117760 -> 118784 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/iconsets/TURBINE.pngbin0 -> 1227 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/iconsets/TURBINE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/iconsets/Thumbs.dbbin36352 -> 36864 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/Thumbs.dbbin62464 -> 65536 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/DULL/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/DULL/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/DULL/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/DULL/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/EMERALD/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/EMERALD/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/EMERALD/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/EMERALD/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FIERY/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FIERY/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FIERY/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FIERY/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FINE/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FINE/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FINE/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FINE/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FLINT/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FLINT/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FLINT/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FLINT/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FLUID/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FLUID/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FLUID/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/FLUID/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GLASS/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GLASS/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GLASS/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/GLASS/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/LAPIS/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/LAPIS/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/LAPIS/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/LAPIS/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/LEAF/Thumbs.dbbin0 -> 65536 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/LEAF/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/LEAF/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/METALLIC/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/METALLIC/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/METALLIC/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/METALLIC/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/NONE/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/NONE/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/NONE/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/NONE/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/OPAL/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/OPAL/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/OPAL/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/OPAL/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/PAPER/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/PAPER/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/PAPER/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/PAPER/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/POWDER/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/POWDER/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/POWDER/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/POWDER/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/ROUGH/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/ROUGH/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/ROUGH/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/ROUGH/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/RUBY/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/RUBY/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/RUBY/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/RUBY/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SAND/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SAND/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SAND/Thumbs.dbbin0 -> 61440 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SAND/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SAND/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SHARDS/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SHARDS/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SHARDS/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SHARDS/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SHINY/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SHINY/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SHINY/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/SHINY/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/WOOD/TURBINE_BLADE.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/WOOD/TURBINE_BLADE_OVERLAY.pngbin0 -> 143 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/WOOD/turbineBlade.pngbin0 -> 1238 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/materialicons/WOOD/turbineBlade_OVERLAY.pngbin0 -> 143 bytes
147 files changed, 1196 insertions, 70 deletions
diff --git a/main/java/gregtech/GT_Mod.java b/main/java/gregtech/GT_Mod.java
index e0b255a50f..3b79b8adaf 100644
--- a/main/java/gregtech/GT_Mod.java
+++ b/main/java/gregtech/GT_Mod.java
@@ -53,6 +53,7 @@ import gregtech.api.enums.*;
/* 59: */ import gregtech.loaders.load.GT_FuelLoader;
/* 60: */ import gregtech.loaders.load.GT_ItemIterator;
/* 61: */ import gregtech.loaders.load.GT_SonictronLoader;
+import gregtech.loaders.misc.GT_Achievements;
/* 62: */ import gregtech.loaders.misc.GT_CoverLoader;
/* 63: */ import gregtech.loaders.postload.GT_BlockResistanceLoader;
/* 64: */ import gregtech.loaders.postload.GT_BookAndLootLoader;
@@ -101,6 +102,7 @@ import gregtech.api.enums.*;
/* 106: */ import net.minecraft.item.crafting.CraftingManager;
/* 107: */ import net.minecraft.item.crafting.FurnaceRecipes;
/* 108: */ import net.minecraft.item.crafting.IRecipe;
+import net.minecraft.stats.Achievement;
/* 109: */ import net.minecraft.util.WeightedRandomChestContent;
/* 110: */ import net.minecraft.world.World;
/* 111: */ import net.minecraft.world.biome.BiomeGenBase;
@@ -125,6 +127,7 @@ import net.minecraftforge.common.ForgeVersion;
/* 129: */ public static final int VERSION = 508;
/* 130: */ public static final int REQUIRED_IC2 = 624;
/* 131: 72 */ public static int MAX_IC2 = 2147483647;
+ public static GT_Achievements achievements;
/* 132: */
/* 133: */ static
/* 134: */ {
@@ -303,6 +306,9 @@ import net.minecraftforge.common.ForgeVersion;
/* 307:207 */ gregtechproxy.mNerfedWoodPlank = tMainConfig.get("general", "WoodNeedsSawForCrafting", true).getBoolean(true);
/* 308:208 */ gregtechproxy.mNerfedVanillaTools = tMainConfig.get("general", "smallerVanillaToolDurability", true).getBoolean(true);
/* 309:209 */ gregtechproxy.mSortToTheEnd = tMainConfig.get("general", "EnsureToBeLoadedLast", true).getBoolean(true);
+ gregtechproxy.mDisableIC2Cables = tMainConfig.get("general", "DisableIC2Cables", false).getBoolean(false);
+ gregtechproxy.mAchievements = tMainConfig.get("general", "EnableAchievements", true).getBoolean(true);
+
/* 310:211 */ if (tMainConfig.get("general", "hardermobspawners", true).getBoolean(true)) {
/* 311:211 */ Blocks.mob_spawner.setHardness(500.0F).setResistance(6000000.0F);
/* 312: */ }
@@ -320,7 +326,7 @@ import net.minecraftforge.common.ForgeVersion;
/* 324:225 */ tPrefix.mDefaultStackSize = ((byte)Math.min(64, Math.max(16, tMainConfig.get("features", "MaxOtherBlockStackSize", 64).getInt())));
/* 325: */ }
/* 326: */ }
-/* 327:229 */ GT_Config.troll = (Calendar.getInstance().get(2) + 1 == 4) && (Calendar.getInstance().get(5) >= 1) && (Calendar.getInstance().get(5) <= 2);
+/* 327:229 */ //GT_Config.troll = (Calendar.getInstance().get(2) + 1 == 4) && (Calendar.getInstance().get(5) >= 1) && (Calendar.getInstance().get(5) <= 2);
/* 328: */
/* 329:231 */ Materials.init(GregTech_API.sMaterialProperties);
/* 330: */
@@ -753,6 +759,8 @@ import net.minecraftforge.common.ForgeVersion;
/* 757: */ }
/* 758: */ }
/* 759: */ }
+ if(gregtechproxy.mAchievements){
+ achievements = new GT_Achievements();}
/* 760: */ Map.Entry<IRecipeInput, RecipeOutput> tRecipe;
/* 761:540 */ GT_Log.out.println("GT_Mod: Loading finished, deallocating temporary Init Variables.");
/* 762:541 */ GregTech_API.sBeforeGTPreload = null;
@@ -777,33 +785,6 @@ import net.minecraftforge.common.ForgeVersion;
/* 781: */ }
/* 782: */ }
/* 783:565 */ gregtechproxy.onServerStarting();
-/* 784: */
-/* 785: */
-/* 786: */
-/* 787: */
-/* 788: */
-/* 789: */
-/* 790: */
-/* 791: */
-/* 792: */
-/* 793: */
-/* 794: */
-/* 795: */
-/* 796: */
-/* 797: */
-/* 798: */
-/* 799: */
-/* 800: */
-/* 801: */
-/* 802: */
-/* 803: */
-/* 804: */
-/* 805: */
-/* 806: */
-/* 807: */
-/* 808: */
-/* 809: */
-/* 810: */
/* 811:593 */ GT_Log.out.println("GT_Mod: Unificating outputs of all known Recipe Types.");
/* 812:594 */ ArrayList<ItemStack> tStacks = new ArrayList(10000);
/* 813:595 */ GT_Log.out.println("GT_Mod: IC2 Machines");
diff --git a/main/java/gregtech/api/enums/OrePrefixes.java b/main/java/gregtech/api/enums/OrePrefixes.java
index ad2231a6e4..06e1ae97b7 100644
--- a/main/java/gregtech/api/enums/OrePrefixes.java
+++ b/main/java/gregtech/api/enums/OrePrefixes.java
@@ -121,6 +121,7 @@ public enum OrePrefixes {
toolHeadDrill ("Drill Tips" , "" , " Drill Tip" ,T,T,F,F,F,F,T,T,F,F, B[6] , M * 4 , 16, 40), // consisting out of 4 Ingots.
toolHeadChainsaw ("Chainsaw Tips" , "" , " Chainsaw Tip" ,T,T,F,F,F,F,T,T,F,F, B[6] , M * 2 , 16, 41), // consisting out of 2 Ingots.
toolHeadWrench ("Wrench Tips" , "" , " Wrench Tip" ,T,T,F,F,F,F,T,T,F,F, B[6] , M * 4 , 16, 42), // consisting out of 4 Ingots.
+ turbineBlade ("Turbine Blades" , "" , " Turbine Blade" ,T,T,F,F,F,F,T,T,F,F, B[6] , M * 6 , 64, 100), // consisting out of 6 Ingots.
toolSword ("Swords" , "" , "" ,F,T,F,F,F,F,T,F,T,F, B[6] , M * 2 , 1, -1), // vanilly Sword
toolPickaxe ("Pickaxes" , "" , "" ,F,T,F,F,F,F,T,F,T,F, B[6] , M * 3 , 1, -1), // vanilly Pickaxe
toolShovel ("Shovels" , "" , "" ,F,T,F,F,F,F,T,F,T,F, B[6] , M * 1 , 1, -1), // vanilly Shovel
diff --git a/main/java/gregtech/api/enums/TextureSet.java b/main/java/gregtech/api/enums/TextureSet.java
index bae20e91f5..4a4bf6165e 100644
--- a/main/java/gregtech/api/enums/TextureSet.java
+++ b/main/java/gregtech/api/enums/TextureSet.java
@@ -152,7 +152,7 @@ public class TextureSet {
mTextures[ 97] = new Textures.ItemIcons .CustomIcon("materialicons/"+mSetName+"/crateGtIngot");
mTextures[ 98] = new Textures.ItemIcons .CustomIcon("materialicons/"+mSetName+"/crateGtGem");
mTextures[ 99] = new Textures.ItemIcons .CustomIcon("materialicons/"+mSetName+"/crateGtPlate");
- mTextures[100] = new Textures.ItemIcons .CustomIcon("materialicons/"+mSetName+"/void");
+ mTextures[100] = new Textures.ItemIcons .CustomIcon("materialicons/"+mSetName+"/turbineBlade");
mTextures[101] = new Textures.ItemIcons .CustomIcon("materialicons/"+mSetName+"/void");
mTextures[102] = new Textures.ItemIcons .CustomIcon("materialicons/"+mSetName+"/void");
mTextures[103] = new Textures.ItemIcons .CustomIcon("materialicons/"+mSetName+"/void");
diff --git a/main/java/gregtech/api/enums/Textures.java b/main/java/gregtech/api/enums/Textures.java
index f7278f0d8a..f749a2d2d5 100644
--- a/main/java/gregtech/api/enums/Textures.java
+++ b/main/java/gregtech/api/enums/Textures.java
@@ -323,7 +323,7 @@ public class Textures {
, HANDLE_SWORD, HANDLE_FILE, HANDLE_SAW, HANDLE_SCREWDRIVER, HANDLE_BUZZSAW, HANDLE_ELECTRIC_SCREWDRIVER, HANDLE_SOLDERING
, POWER_UNIT_LV, POWER_UNIT_MV, POWER_UNIT_HV
, DURABILITY_BAR_0, DURABILITY_BAR_1, DURABILITY_BAR_2, DURABILITY_BAR_3, DURABILITY_BAR_4, DURABILITY_BAR_5, DURABILITY_BAR_6, DURABILITY_BAR_7, DURABILITY_BAR_8
- , ENERGY_BAR_0, ENERGY_BAR_1, ENERGY_BAR_2, ENERGY_BAR_3, ENERGY_BAR_4, ENERGY_BAR_5, ENERGY_BAR_6, ENERGY_BAR_7, ENERGY_BAR_8
+ , ENERGY_BAR_0, ENERGY_BAR_1, ENERGY_BAR_2, ENERGY_BAR_3, ENERGY_BAR_4, ENERGY_BAR_5, ENERGY_BAR_6, ENERGY_BAR_7, ENERGY_BAR_8, TURBINE
;
public static final IIconContainer[]
diff --git a/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java b/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
index 4942ff2a8d..d4e13ad232 100644
--- a/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
+++ b/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
@@ -13,6 +13,7 @@ import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
+import gregtech.common.tools.GT_Tool_Turbine;
import java.util.*;
import java.util.Map.Entry;
@@ -238,11 +239,19 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
IToolStats tStats = getToolStats(aStack);
int tOffset = getElectricStats(aStack) != null ? 2 : 1;
if (tStats != null) {
+ String name = aStack.getUnlocalizedName();
+ if(name.equals("gt.metatool.01.170")||name.equals("gt.metatool.01.172")||name.equals("gt.metatool.01.174")||name.equals("gt.metatool.01.176")){
+ aList.add(tOffset + 0, EnumChatFormatting.WHITE + "Durability: " + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " / " + tMaxDamage + EnumChatFormatting.GRAY);
+ 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*20) + EnumChatFormatting.GRAY+ "L/sec");
+
+ }else{
aList.add(tOffset + 0, EnumChatFormatting.WHITE + "Durability: " + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " / " + tMaxDamage + EnumChatFormatting.GRAY);
aList.add(tOffset + 1, EnumChatFormatting.WHITE + tMaterial.mDefaultLocalName + EnumChatFormatting.YELLOW + " lvl " + getHarvestLevel(aStack, "") + EnumChatFormatting.GRAY);
aList.add(tOffset + 2, EnumChatFormatting.WHITE + "Attack Damage: " + EnumChatFormatting.BLUE + getToolCombatDamage(aStack) + EnumChatFormatting.GRAY);
aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Mining Speed: " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed) + EnumChatFormatting.GRAY);
- }
+ }}
}
public static final Materials getPrimaryMaterial(ItemStack aStack) {
diff --git a/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
index a7d92915f5..5a3dfd4e8b 100644
--- a/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
+++ b/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
@@ -2,6 +2,7 @@ package gregtech.api.metatileentity;
import static gregtech.api.enums.GT_Values.NW;
import static gregtech.api.enums.GT_Values.V;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Textures;
@@ -387,7 +388,9 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|| (getCoverIDAtSide((byte)4) == 0 && worldObj.getPrecipitationHeight(xCoord-1, zCoord ) - 1 < yCoord)
|| (getCoverIDAtSide((byte)5) == 0 && worldObj.getPrecipitationHeight(xCoord+1, zCoord ) - 1 < yCoord)) {
if (GregTech_API.sMachineRainExplosions && worldObj.isRaining() && getBiome().rainfall > 0) {
- if (getRandomNumber(10)==0) doEnergyExplosion(); else setOnFire();
+ if (getRandomNumber(10)==0) {doEnergyExplosion();
+ GT_Mod.instance.achievements.issueAchievement(this.getWorldObj().getPlayerEntityByName(mOwnerName), "badweather");
+ }else setOnFire();
}
if (!hasValidMetaTileEntity()) {
mRunningThroughTick = false;
@@ -395,6 +398,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
}
if (GregTech_API.sMachineThunderExplosions && worldObj.isThundering() && getBiome().rainfall > 0 && getRandomNumber(3) == 0) {
doEnergyExplosion();
+ GT_Mod.instance.achievements.issueAchievement(this.getWorldObj().getPlayerEntityByName(mOwnerName), "badweather");
}
}
}
@@ -683,7 +687,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
public boolean playerOwnsThis(EntityPlayer aPlayer, boolean aCheckPrecicely) {if (!canAccessData()) return false; if (aCheckPrecicely || privateAccess() || mOwnerName.equals("")) if (mOwnerName.equals("")&&isServerSide()) setOwnerName(aPlayer.getDisplayName()); else if (privateAccess() && !aPlayer.getDisplayName().equals("Player") && !mOwnerName.equals("Player") && !mOwnerName.equals(aPlayer.getDisplayName())) return false; return true;}
public boolean privateAccess() {if (!canAccessData()) return mLockUpgrade; return mLockUpgrade || mMetaTileEntity.ownerControl();}
- public void doEnergyExplosion() {if (getUniversalEnergyCapacity() > 0 && getUniversalEnergyStored() >= getUniversalEnergyCapacity()/5) doExplosion(oOutput*(getUniversalEnergyStored() >= getUniversalEnergyCapacity()?4:getUniversalEnergyStored() >= getUniversalEnergyCapacity()/2?2:1));}
+ public void doEnergyExplosion() {if (getUniversalEnergyCapacity() > 0 && getUniversalEnergyStored() >= getUniversalEnergyCapacity()/5) {doExplosion(oOutput*(getUniversalEnergyStored() >= getUniversalEnergyCapacity()?4:getUniversalEnergyStored() >= getUniversalEnergyCapacity()/2?2:1)); GT_Mod.instance.achievements.issueAchievement(this.getWorldObj().getPlayerEntityByName(mOwnerName), "electricproblems");}}
@Override
public void doExplosion(long aAmount) {
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 4411c528df..b93e467111 100644
--- a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -1,6 +1,7 @@
package gregtech.api.metatileentity.implementations;
import static gregtech.api.enums.GT_Values.V;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
import gregtech.api.gui.GT_Container_MultiMachine;
@@ -179,10 +180,9 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
if (!polluteEnvironment(getPollutionPerTick(mInventory[1]))) {
stopMachine();
}
-
if (mMaxProgresstime > 0 && ++mProgresstime>=mMaxProgresstime) {
- if (mOutputItems != null) for (ItemStack tStack : mOutputItems) if (tStack != null) addOutput(tStack);
- if (mOutputFluids != null&&mOutputFluids.length==1) {for (FluidStack tStack : mOutputFluids) if (tStack != null) addOutput(tStack);}
+ if (mOutputItems != null) for (ItemStack tStack : mOutputItems) if (tStack != null) {GT_Mod.instance.achievements.issueAchivementHatch(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), tStack);addOutput(tStack);}
+ if (mOutputFluids != null&&mOutputFluids.length==1) {for (FluidStack tStack : mOutputFluids) if (tStack != null) {addOutput(tStack);}}
else if(mOutputFluids!=null&&mOutputFluids.length>1){
addFluidOutputs(mOutputFluids);}
mEfficiency = Math.max(0, Math.min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - ((getIdealStatus() - getRepairStatus()) * 1000)));
@@ -191,6 +191,12 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
mMaxProgresstime = 0;
mEfficiencyIncrease = 0;
if (aBaseMetaTileEntity.isAllowedToWork()) checkRecipe(mInventory[1]);
+ if(mOutputFluids!=null&&mOutputFluids.length>0){
+ System.out.println("fluids"+mOutputFluids.length);
+ GT_Mod.instance.achievements.issueAchivementHatchFluid(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), mOutputFluids[0]);
+ if(mOutputFluids.length>1){GT_Mod.instance.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "oilplant");}
+ mOutputFluids = null;
+ }
}
}
} else {
diff --git a/main/java/gregtech/api/util/GT_ModHandler.java b/main/java/gregtech/api/util/GT_ModHandler.java
index 6f44731c62..91addfbdec 100644
--- a/main/java/gregtech/api/util/GT_ModHandler.java
+++ b/main/java/gregtech/api/util/GT_ModHandler.java
@@ -16,6 +16,7 @@ import ic2.api.reactor.IReactorComponent;
import ic2.api.recipe.IRecipeInput;
import ic2.api.recipe.RecipeInputItemStack;
import ic2.api.recipe.RecipeOutput;
+import ic2.core.AdvRecipe;
import java.util.*;
import java.util.Map.Entry;
@@ -1010,6 +1011,85 @@ public class GT_ModHandler {
return rReturn;
}
+// public static int replaceRecipe(ItemStack aOldItem, ItemStack aNewItem){
+// int replaced =0;
+// ArrayList<IRecipe> tList = (ArrayList<IRecipe>)CraftingManager.getInstance().getRecipeList();
+// System.out.println("tList.size "+tList.size());
+// for (int i = 0; i < tList.size(); i++){
+// System.out.println(tList.get(i).getClass());
+// if(tList.get(i) instanceof ShapedRecipes){
+// ShapedRecipes tRecipe = (ShapedRecipes)tList.get(i);
+// System.out.println("found recipe!");
+// for( int g =0 ; g < tRecipe.recipeItems.length;g++){
+// if(GT_Utility.areStacksEqual(aOldItem, tRecipe.recipeItems[g], true)){
+// ItemStack[] tItems = tRecipe.recipeItems;
+// for(int f = 0; f < tItems.length;f++){
+// if(GT_Utility.areStacksEqual(aOldItem, tItems[f], true)){
+// tItems[f]=aNewItem;
+// }
+// }
+// ShapedRecipes nRecipe = new ShapedRecipes(tRecipe.recipeWidth,tRecipe.recipeHeight,tItems,tRecipe.getRecipeOutput());
+// tList.set(i, nRecipe);
+// replaced++;
+// }
+// }
+// }
+//
+// if(tList.get(i) instanceof AdvRecipe){
+// AdvRecipe tRecipe = (AdvRecipe)tList.get(i);
+// System.out.println("found recipe!");
+// for( int g =0 ; g < tRecipe.input.length;g++){
+// if(GT_Utility.areStacksEqual(aOldItem, (ItemStack) tRecipe.input[g], true)){
+// ItemStack[] tItems = (ItemStack[]) tRecipe.input;
+// for(int f = 0; f < tItems.length;f++){
+// if(GT_Utility.areStacksEqual(aOldItem, tItems[f], true)){
+// tItems[f]=aNewItem;
+// }
+// }
+// System.out.println("converted Recipe");
+// AdvRecipe nRecipe = new AdvRecipe(tRecipe.getRecipeOutput(),tItems);
+// tList.set(i, nRecipe);
+// replaced++;
+// }
+// }
+// }
+//// if(tList.get(i) instanceof GT_Shaped_Recipe){
+//// GT_Shaped_Recipe tRecipe = (GT_Shaped_Recipe)tList.get(i);
+//// System.out.println("found recipe!");
+//// for( int g =0 ; g < tRecipe.getInput().length;g++){
+//// if(GT_Utility.areStacksEqual(aOldItem, (ItemStack)tRecipe.getInput()[g], true)){
+//// ItemStack[] tItems = (ItemStack[]) tRecipe.getInput();
+//// for(int f = 0; f < tItems.length;f++){
+//// if(GT_Utility.areStacksEqual(aOldItem, tItems[f], true)){
+//// tItems[f]=aNewItem;
+//// }
+//// }
+//// GT_Shaped_Recipe nRecipe = new GT_Shaped_Recipe(tItems,tRecipe.getRecipeOutput());
+//// tList.set(i, nRecipe);
+//// replaced++;
+//// }
+//// }
+//// }
+// if(tList.get(i) instanceof ShapelessRecipes){
+// ShapelessRecipes tRecipe = (ShapelessRecipes)tList.get(i);
+// System.out.println("found recipe!");
+// for( int g =0 ; g < tRecipe.recipeItems.size();g++){
+// if(GT_Utility.areStacksEqual(aOldItem, (ItemStack) tRecipe.recipeItems.get(g), true)){
+// List tItems = tRecipe.recipeItems;
+// for(int f = 0; f < tItems.size();f++){
+// if(GT_Utility.areStacksEqual(aOldItem, (ItemStack) tItems.get(f), true)){
+// tItems.set(f,aNewItem);
+// }
+// }
+// ShapelessRecipes nRecipe = new ShapelessRecipes(tRecipe.getRecipeOutput(),tItems);
+// tList.set(i, nRecipe);
+// replaced++;
+// }
+// }
+// }
+// }return replaced;
+// }
+
public static boolean removeRecipeByOutput(ItemStack aOutput) {
return removeRecipeByOutput(aOutput, T, F, F);
}
diff --git a/main/java/gregtech/common/GT_Proxy.java b/main/java/gregtech/common/GT_Proxy.java
index 6b9cbf9686..e6dce1cd51 100644
--- a/main/java/gregtech/common/GT_Proxy.java
+++ b/main/java/gregtech/common/GT_Proxy.java
@@ -149,6 +149,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
public boolean mHungerEffect = true;
public boolean mOnline = true;
public boolean mIgnoreTcon = true;
+ public boolean mDisableIC2Cables = false;
+ public boolean mAchievements = true;
public int mSkeletonsShootGTArrows = 16;
public int mMaxEqualEntitiesAtOneSpot = 3;
public int mFlintChance = 30;
@@ -610,6 +612,11 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 1L), tBits,
new Object[] { "Xx", Character.valueOf('X'), OrePrefixes.foil.get(aMaterial) });
+ GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 1L), tBits, new Object[] { "fPd", "SPS", " P ",
+ Character.valueOf('P'), aMaterial == Materials.Wood ? OrePrefixes.plank.get(aMaterial) : OrePrefixes.plateDouble.get(aMaterial),
+ Character.valueOf('R'), OrePrefixes.ring.get(aMaterial), Character.valueOf('S'), OrePrefixes.screw.get(aMaterial) });
+
+
GT_ModHandler.addCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.arrowGtWood, aMaterial, 1L), tBits, new Object[] { " A", " S ",
"F ", Character.valueOf('S'), OrePrefixes.stick.get(Materials.Wood), Character.valueOf('F'), OreDictNames.craftingFeather,
Character.valueOf('A'), OrePrefixes.toolHeadArrow.get(aMaterial) });
@@ -1310,11 +1317,11 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
GT_OreDictUnificator.set(OrePrefixes.ingot, Materials.RedAlloy, new ItemStack(aEvent.Ore.getItem(), 1, 0));
GT_OreDictUnificator.set(OrePrefixes.ingot, Materials.BlueAlloy, new ItemStack(aEvent.Ore.getItem(), 1, 1));
GT_OreDictUnificator.set(OrePrefixes.ingot, Materials.Brass, new ItemStack(aEvent.Ore.getItem(), 1, 2));
-
+ if(!mDisableIC2Cables){
GT_Values.RA.addWiremillRecipe(GT_ModHandler.getIC2Item("copperCableItem", 3L), new ItemStack(aEvent.Ore.getItem(), 1,
8), 400, 1);
GT_Values.RA.addWiremillRecipe(GT_ModHandler.getIC2Item("ironCableItem", 6L),
- new ItemStack(aEvent.Ore.getItem(), 1, 9), 400, 2);
+ new ItemStack(aEvent.Ore.getItem(), 1, 9), 400, 2);}
GT_Values.RA.addCutterRecipe(new ItemStack(aEvent.Ore.getItem(), 1, 3), new ItemStack(aEvent.Ore.getItem(), 16, 4),
null, 400, 8);
}
diff --git a/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java b/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java
index 745575a01e..44d8b330c6 100644
--- a/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java
+++ b/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java
@@ -1,12 +1,16 @@
/* 1: */ package gregtech.common;
/* 2: */
-/* 3: */ import gregtech.api.GregTech_API;
+/* 3: */ import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
/* 4: */ import gregtech.api.enums.Materials;
/* 5: */ import gregtech.api.util.GT_Config;
/* 6: */ import gregtech.api.world.GT_Worldgen;
/* 7: */ import gregtech.common.blocks.GT_TileEntity_Ores;
+import gregtech.loaders.misc.GT_Achievements;
+
/* 8: */ import java.util.ArrayList;
/* 9: */ import java.util.Random;
+
/* 10: */ import net.minecraft.world.World;
/* 11: */ import net.minecraft.world.chunk.IChunkProvider;
/* 12: */
@@ -44,6 +48,10 @@
/* 44:32 */ this.mBetweenMeta = ((short)GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "OreSporadiclyInbetween", aBetween.mMetaItemSubID));
/* 45:33 */ this.mSporadicMeta = ((short)GregTech_API.sWorldgenFile.get("worldgen." + this.mWorldGenName, "OreSporaticlyAround", aSporadic.mMetaItemSubID));
/* 46:34 */ if (this.mEnabled) {
+ GT_Achievements.registerOre(aPrimary,aMinY,aMaxY,aWeight,aOverworld,aNether,aEnd);
+/* 46:34 */ GT_Achievements.registerOre(aSecondary,aMinY,aMaxY,aWeight,aOverworld,aNether,aEnd);
+/* 46:34 */ GT_Achievements.registerOre(aBetween,aMinY,aMaxY,aWeight,aOverworld,aNether,aEnd);
+/* 46:34 */ GT_Achievements.registerOre(aSporadic,aMinY,aMaxY,aWeight,aOverworld,aNether,aEnd);
/* 47:34 */ sWeight += this.mWeight;
/* 48: */ }
/* 49: */ }
diff --git a/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java b/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java
index 137ed5d07b..3900fa02cf 100644
--- a/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java
+++ b/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java
@@ -44,7 +44,7 @@
/* 44: */
/* 45: */ public GT_MetaGenerated_Item_02()
/* 46: */ {
-/* 47: 36 */ super("metaitem.02", new OrePrefixes[] { OrePrefixes.toolHeadSword, OrePrefixes.toolHeadPickaxe, OrePrefixes.toolHeadShovel, OrePrefixes.toolHeadAxe, OrePrefixes.toolHeadHoe, OrePrefixes.toolHeadHammer, OrePrefixes.toolHeadFile, OrePrefixes.toolHeadSaw, OrePrefixes.toolHeadDrill, OrePrefixes.toolHeadChainsaw, OrePrefixes.toolHeadWrench, OrePrefixes.toolHeadUniversalSpade, OrePrefixes.toolHeadSense, OrePrefixes.toolHeadPlow, OrePrefixes.toolHeadArrow, OrePrefixes.toolHeadBuzzSaw, null, null, null, OrePrefixes.wireFine, OrePrefixes.gearGtSmall, OrePrefixes.rotor, OrePrefixes.stickLong, OrePrefixes.springSmall, OrePrefixes.spring, OrePrefixes.arrowGtWood, OrePrefixes.arrowGtPlastic, OrePrefixes.gemChipped, OrePrefixes.gemFlawed, OrePrefixes.gemFlawless, OrePrefixes.gemExquisite, OrePrefixes.gearGt });
+/* 47: 36 */ super("metaitem.02", new OrePrefixes[] { OrePrefixes.toolHeadSword, OrePrefixes.toolHeadPickaxe, OrePrefixes.toolHeadShovel, OrePrefixes.toolHeadAxe, OrePrefixes.toolHeadHoe, OrePrefixes.toolHeadHammer, OrePrefixes.toolHeadFile, OrePrefixes.toolHeadSaw, OrePrefixes.toolHeadDrill, OrePrefixes.toolHeadChainsaw, OrePrefixes.toolHeadWrench, OrePrefixes.toolHeadUniversalSpade, OrePrefixes.toolHeadSense, OrePrefixes.toolHeadPlow, OrePrefixes.toolHeadArrow, OrePrefixes.toolHeadBuzzSaw, OrePrefixes.turbineBlade , null, null, OrePrefixes.wireFine, OrePrefixes.gearGtSmall, OrePrefixes.rotor, OrePrefixes.stickLong, OrePrefixes.springSmall, OrePrefixes.spring, OrePrefixes.arrowGtWood, OrePrefixes.arrowGtPlastic, OrePrefixes.gemChipped, OrePrefixes.gemFlawed, OrePrefixes.gemFlawless, OrePrefixes.gemExquisite, OrePrefixes.gearGt});
/* 48: 37 */ INSTANCE = this;
/* 49: */
/* 50: 39 */ int tLastID = 0;
diff --git a/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java b/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java
index 155625dd8b..f6ed7f412c 100644
--- a/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java
+++ b/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java
@@ -43,6 +43,11 @@ import gregtech.api.enums.ConfigCategories;
/* 42: */ import gregtech.common.tools.GT_Tool_SoftHammer;
import gregtech.common.tools.GT_Tool_Soldering_Iron;
/* 43: */ import gregtech.common.tools.GT_Tool_Sword;
+import gregtech.common.tools.GT_Tool_Turbine;
+import gregtech.common.tools.GT_Tool_Turbine_Huge;
+import gregtech.common.tools.GT_Tool_Turbine_Large;
+import gregtech.common.tools.GT_Tool_Turbine_Normal;
+import gregtech.common.tools.GT_Tool_Turbine_Small;
/* 44: */ import gregtech.common.tools.GT_Tool_UniversalSpade;
/* 45: */ import gregtech.common.tools.GT_Tool_WireCutter;
/* 46: */ import gregtech.common.tools.GT_Tool_Wrench;
@@ -94,6 +99,11 @@ import gregtech.common.tools.GT_Tool_Soldering_Iron;
/* 92: */ public static final short BUZZSAW = 140;
/* 93: */ public static final short SCREWDRIVER_LV = 150;
public static final short SOLDERING_IRON_LV = 160;
+ public static final short TURBINE_SMALL = 170;
+ public static final short TURBINE = 172;
+ public static final short TURBINE_LARGE = 174;
+ public static final short TURBINE_HUGE = 176;
+ public static final short TURBINE_BLADE = 178;
/* 94: */
/* 95: */ public GT_MetaGenerated_Tool_01()
/* 96: */ {
@@ -137,6 +147,11 @@ import gregtech.common.tools.GT_Tool_Soldering_Iron;
/* =4:57 */ addTool(140, "Buzzsaw (LV)", "Not suitable for harvesting Blocks", new GT_Tool_BuzzSaw(), new Object[] { ToolDictNames.craftingToolSaw, new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 2L) });
/* =5:58 */ GregTech_API.registerTool(addTool(150, "Screwdriver (LV)", "Adjusts Covers and Machines", new GT_Tool_Screwdriver_LV(), new Object[] { ToolDictNames.craftingToolScrewdriver, new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L) }), GregTech_API.sScrewdriverList);
/* =6: */ GregTech_API.registerTool(addTool(SOLDERING_IRON_LV, "Soldering Iron (LV)", "Fixes burned out Circuits. Needs soldering materials in inventory", new GT_Tool_Soldering_Iron(), new Object[] { ToolDictNames.craftingToolSolderingIron, new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L) }), GregTech_API.sSolderingToolList);
+
+ addTool(TURBINE_SMALL, "Small Turbine", "Turbine Rotors for your power station", new GT_Tool_Turbine_Small(), new Object[] {});
+ addTool(TURBINE, "Turbine", "Turbine Rotors for your power station", new GT_Tool_Turbine_Normal(), new Object[] {});
+ addTool(TURBINE_LARGE, "Large Turbine", "Turbine Rotors for your power station", new GT_Tool_Turbine_Large(), new Object[] {});
+ addTool(TURBINE_HUGE, "Huge Turbine", "Turbine Rotors for your power station", new GT_Tool_Turbine_Huge(), new Object[] {});
/* =7:60 */ GT_ModHandler.addCraftingRecipe(INSTANCE.getToolWithStats(24, 1, Materials.Flint, Materials.Stone, null), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { " I ", "SIS", "SSS", Character.valueOf('I'), new ItemStack(Items.flint, 1), Character.valueOf('S'), OrePrefixes.stone });
/* =8:61 */ GT_ModHandler.addCraftingRecipe(INSTANCE.getToolWithStats(24, 1, Materials.Bronze, Materials.Stone, null), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { " I ", "SIS", "SSS", Character.valueOf('I'), OrePrefixes.ingot.get(Materials.Bronze), Character.valueOf('S'), OrePrefixes.stone });
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java
index 5f66a7c54b..b139161228 100644
--- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java
@@ -1,6 +1,7 @@
/* 1: */ package gregtech.common.tileentities.machines.multi;
/* 2: */
-/* 3: */ import gregtech.api.GregTech_API;
+/* 3: */ import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
/* 4: */ import gregtech.api.enums.Materials;
/* 5: */ import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.Textures;
@@ -225,6 +226,7 @@ import gregtech.api.enums.Textures;
/* 224: */ {
/* 225:151 */ if (++this.mProgresstime >= this.mMaxProgresstime)
/* 226: */ {
+ GT_Mod.instance.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "steel");
/* 227:152 */ addOutputProducts();
/* 228:153 */ this.mOutputItem1 = null;
/* 229:154 */ this.mOutputItem2 = null;
diff --git a/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java b/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java
index 3249ea4531..9b0b1683c2 100644
--- a/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java
+++ b/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java
@@ -132,7 +132,7 @@ public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_TieredMach
this.mInventory[0] = null;
}
}
- if (this.mInventory[1] == null)
+ if (this.mInventory[1] == null&&mItemStack!=null)
{
this.mInventory[1] = mItemStack.copy();
this.mInventory[1].stackSize = Math.min(mItemStack.getMaxStackSize(), this.mItemCount);
@@ -188,12 +188,15 @@ public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_TieredMach
@Override
public void saveNBTData(NBTTagCompound aNBT) {
aNBT.setInteger("mItemCount", this.mItemCount);
+ if(this.mItemStack!=null)
aNBT.setTag("mItemStack", this.mItemStack.writeToNBT(new NBTTagCompound()));
}
@Override
public void loadNBTData(NBTTagCompound aNBT) {
+ if(aNBT.hasKey("mItemCount"))
this.mItemCount = aNBT.getInteger("mItemCount");
+ if(aNBT.hasKey("mItemStack"))
this.mItemStack = ItemStack.loadItemStackFromNBT((NBTTagCompound) aNBT.getTag("mItemStack"));
}
diff --git a/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java b/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java
index 391177bd66..66bed7d5bf 100644
--- a/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java
+++ b/main/java/gregtech/common/tools/GT_Tool_Chainsaw_LV.java
@@ -1,6 +1,7 @@
/* 1: */ package gregtech.common.tools;
/* 2: */
-/* 3: */ import gregtech.api.GregTech_API;
+/* 3: */ import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
/* 4: */ import gregtech.api.enums.Materials;
import gregtech.api.enums.Textures;
/* 5: */ import gregtech.api.enums.Textures.ItemIcons;
@@ -10,6 +11,7 @@ import gregtech.api.enums.Textures;
/* 8: */ import java.util.Map;
/* 9: */ import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
/* 10: */ import net.minecraft.item.ItemStack;
/* 11: */ import net.minecraft.util.ChatComponentText;
/* 12: */ import net.minecraft.util.EnumChatFormatting;
@@ -87,6 +89,13 @@ import gregtech.api.enums.Textures;
/* 84: */ {
/* 85:82 */ return true;
/* 86: */ }
+
+ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer)
+/* 117: */ {
+/* 118:117 */ super.onToolCrafted(aStack, aPlayer);
+ GT_Mod.achievements.issueAchievement(aPlayer, "brrrr");
+/* 121: */ }
+
/* 87: */
/* 88: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
/* 89: */ {
diff --git a/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java b/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java
index a71722a17d..bdf696c0c8 100644
--- a/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java
+++ b/main/java/gregtech/common/tools/GT_Tool_Drill_HV.java
@@ -5,6 +5,7 @@ import gregtech.api.enums.Textures;
/* 4: */ import gregtech.api.enums.Textures.ItemIcons;
/* 5: */ import gregtech.api.interfaces.IIconContainer;
/* 6: */ import gregtech.common.GT_Proxy;
+import net.minecraft.entity.player.EntityPlayer;
/* 7: */ import net.minecraft.item.ItemStack;
/* 8: */
/* 9: */ public class GT_Tool_Drill_HV
@@ -49,6 +50,12 @@ import gregtech.api.enums.Textures;
/* 48: */ {
/* 49:48 */ return 4.0F;
/* 50: */ }
+
+ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer)
+/* 117: */ {
+/* 118:117 */ super.onToolCrafted(aStack, aPlayer);
+ GT_Mod.achievements.issueAchievement(aPlayer, "highpowerdrill");
+/* 121: */ }
/* 51: */
/* 52: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
/* 53: */ {
diff --git a/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java b/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java
index 941b3c037b..625f20593c 100644
--- a/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java
+++ b/main/java/gregtech/common/tools/GT_Tool_Drill_LV.java
@@ -122,6 +122,7 @@ import gregtech.api.enums.Textures;
/* 119:118 */ super.onToolCrafted(aStack, aPlayer);
/* 120:119 */ aPlayer.triggerAchievement(AchievementList.buildPickaxe);
/* 121:120 */ aPlayer.triggerAchievement(AchievementList.buildBetterPickaxe);
+ GT_Mod.achievements.issueAchievement(aPlayer, "driltime");
/* 122: */ }
/* 123: */
/* 124: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
diff --git a/main/java/gregtech/common/tools/GT_Tool_HardHammer.java b/main/java/gregtech/common/tools/GT_Tool_HardHammer.java
index 67cb45ff24..eeb323f8be 100644
--- a/main/java/gregtech/common/tools/GT_Tool_HardHammer.java
+++ b/main/java/gregtech/common/tools/GT_Tool_HardHammer.java
@@ -1,6 +1,7 @@
/* 1: */ package gregtech.common.tools;
/* 2: */
-/* 3: */ import gregtech.api.GregTech_API;
+/* 3: */ import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
/* 4: */ import gregtech.api.enums.Materials;
/* 5: */ import gregtech.api.interfaces.IIconContainer;
/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
@@ -20,6 +21,7 @@
/* 18: */ import net.minecraft.entity.monster.EntityIronGolem;
/* 19: */ import net.minecraft.entity.player.EntityPlayer;
/* 20: */ import net.minecraft.item.ItemStack;
+import net.minecraft.stats.AchievementList;
/* 21: */ import net.minecraft.util.ChatComponentText;
/* 22: */ import net.minecraft.util.EnumChatFormatting;
/* 23: */ import net.minecraft.util.IChatComponent;
@@ -179,6 +181,12 @@ import net.minecraftforge.event.world.BlockEvent;
/* 176: */ {
/* 177:173 */ return new ChatComponentText(EnumChatFormatting.RED + aEntity.getCommandSenderName() + EnumChatFormatting.WHITE + " was squashed by " + EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE);
/* 178: */ }
+
+ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer)
+/* 117: */ {
+/* 118:117 */ super.onToolCrafted(aStack, aPlayer);
+ GT_Mod.achievements.issueAchievement(aPlayer, "tools");
+/* 121: */ }
/* 179: */ }
diff --git a/main/java/gregtech/common/tools/GT_Tool_JackHammer.java b/main/java/gregtech/common/tools/GT_Tool_JackHammer.java
index 17f8c6be64..cb50cfbd8d 100644
--- a/main/java/gregtech/common/tools/GT_Tool_JackHammer.java
+++ b/main/java/gregtech/common/tools/GT_Tool_JackHammer.java
@@ -101,6 +101,13 @@ import net.minecraftforge.event.world.BlockEvent;
/* 97: */ }
/* 98: 91 */ return rConversions;
/* 99: */ }
+
+ public void onToolCrafted(ItemStack aStack, EntityPlayer aPlayer)
+/* 117: */ {
+/* 118:117 */ super.onToolCrafted(aStack, aPlayer);
+ GT_Mod.achievements.issueAchievement(aPlayer, "hammertime");
+/* 121: */ }
+
/* 100: */
/* 101: */ public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack)
/* 102: */ {
diff --git a/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java b/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java
index e4bca9b7af..d535fd4a48 100644
--- a/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java
+++ b/main/java/gregtech/common/tools/GT_Tool_Pickaxe.java
@@ -118,6 +118,7 @@
/* 118:117 */ super.onToolCrafted(aStack, aPlayer);
/* 119:118 */ aPlayer.triggerAchievement(AchievementList.buildPickaxe);
/* 120:119 */ aPlayer.triggerAchievement(AchievementList.buildBetterPickaxe);
+ GT_Mod.achievements.issueAchievement(aPlayer, "flintpick");
/* 121: */ }
/* 122: */
/* 123: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
diff --git a/main/java/gregtech/common/tools/GT_Tool_Turbine.java b/main/java/gregtech/common/tools/GT_Tool_Turbine.java
new file mode 100644
index 0000000000..bf79012661
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Turbine.java
@@ -0,0 +1,25 @@
+package gregtech.common.tools;
+
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import net.minecraft.block.Block;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IChatComponent;
+
+public abstract class GT_Tool_Turbine extends GT_Tool{
+ public abstract float getBaseDamage();
+ @Override public boolean isMinableBlock(Block aBlock, byte aMetaData) {return false;}
+ @Override public IIconContainer getIcon(boolean aIsToolHead, ItemStack aStack) {return aIsToolHead ? Textures.ItemIcons.TURBINE : null;}
+ @Override public short[] getRGBa(boolean aIsToolHead, ItemStack aStack) {return aIsToolHead ? GT_MetaGenerated_Tool.getPrimaryMaterial(aStack).mRGBa : null;}
+ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
+ {
+ return new ChatComponentText(EnumChatFormatting.GREEN + aPlayer.getCommandSenderName() + EnumChatFormatting.WHITE + " put " + EnumChatFormatting.RED +
+ aEntity.getCommandSenderName()+"s" + EnumChatFormatting.WHITE + " head into a turbine");
+ }
+ public abstract float getSpeedMultiplier();
+ public abstract float getMaxDurabilityMultiplier();
+}
diff --git a/main/java/gregtech/common/tools/GT_Tool_Turbine_Huge.java b/main/java/gregtech/common/tools/GT_Tool_Turbine_Huge.java
new file mode 100644
index 0000000000..0bf3b783a5
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Turbine_Huge.java
@@ -0,0 +1,7 @@
+package gregtech.common.tools;
+
+public class GT_Tool_Turbine_Huge extends GT_Tool_Turbine {
+ @Override public float getSpeedMultiplier() {return 4.0F;}
+ @Override public float getMaxDurabilityMultiplier() {return 4.0F;}
+ @Override public float getBaseDamage() {return 3.0F;}
+}
diff --git a/main/java/gregtech/common/tools/GT_Tool_Turbine_Large.java b/main/java/gregtech/common/tools/GT_Tool_Turbine_Large.java
new file mode 100644
index 0000000000..57947aea7a
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Turbine_Large.java
@@ -0,0 +1,7 @@
+package gregtech.common.tools;
+
+public class GT_Tool_Turbine_Large extends GT_Tool_Turbine {
+ @Override public float getSpeedMultiplier() {return 3.0F;}
+ @Override public float getMaxDurabilityMultiplier() {return 3.0F;}
+ @Override public float getBaseDamage() {return 5.0F;}
+}
diff --git a/main/java/gregtech/common/tools/GT_Tool_Turbine_Normal.java b/main/java/gregtech/common/tools/GT_Tool_Turbine_Normal.java
new file mode 100644
index 0000000000..8327a74332
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Turbine_Normal.java
@@ -0,0 +1,7 @@
+package gregtech.common.tools;
+
+public class GT_Tool_Turbine_Normal extends GT_Tool_Turbine {
+ @Override public float getSpeedMultiplier() {return 2.0F;}
+ @Override public float getMaxDurabilityMultiplier() {return 2.0F;}
+ @Override public float getBaseDamage() {return 2.5F;}
+}
diff --git a/main/java/gregtech/common/tools/GT_Tool_Turbine_Small.java b/main/java/gregtech/common/tools/GT_Tool_Turbine_Small.java
new file mode 100644
index 0000000000..fb93a2b290
--- /dev/null
+++ b/main/java/gregtech/common/tools/GT_Tool_Turbine_Small.java
@@ -0,0 +1,7 @@
+package gregtech.common.tools;
+
+public class GT_Tool_Turbine_Small extends GT_Tool_Turbine {
+ @Override public float getSpeedMultiplier() {return 1.0F;}
+ @Override public float getMaxDurabilityMultiplier() {return 1.0F;}
+ @Override public float getBaseDamage() {return 0.0F;}
+}
diff --git a/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java b/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java
index 78c4fecb4c..431654124d 100644
--- a/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java
+++ b/main/java/gregtech/common/tools/GT_Tool_UniversalSpade.java
@@ -1,11 +1,14 @@
/* 1: */ package gregtech.common.tools;
/* 2: */
-/* 3: */ import gregtech.api.GregTech_API;
+/* 3: */ import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
/* 4: */ import gregtech.api.enums.Materials;
/* 5: */ import gregtech.api.interfaces.IIconContainer;
/* 6: */ import gregtech.api.items.GT_MetaGenerated_Tool;
/* 7: */ import gregtech.common.items.behaviors.Behaviour_Crowbar;
+
/* 8: */ import java.util.Map;
+
/* 9: */ import net.minecraft.block.Block;
/* 10: */ import net.minecraft.block.material.Material;
/* 11: */ import net.minecraft.entity.EntityLivingBase;
@@ -124,6 +127,7 @@
/* 124: */ {
/* 125:122 */ super.onToolCrafted(aStack, aPlayer);
/* 126:123 */ aPlayer.triggerAchievement(AchievementList.buildSword);
+ GT_Mod.achievements.issueAchievement(aPlayer, "unitool");
/* 127: */ }
/* 128: */
/* 129: */ public IChatComponent getDeathMessage(EntityLivingBase aPlayer, EntityLivingBase aEntity)
diff --git a/main/java/gregtech/loaders/misc/GT_Achievements.java b/main/java/gregtech/loaders/misc/GT_Achievements.java
new file mode 100644
index 0000000000..bdc340b255
--- /dev/null
+++ b/main/java/gregtech/loaders/misc/GT_Achievements.java
@@ -0,0 +1,469 @@
+package gregtech.loaders.misc;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import cpw.mods.fml.common.FMLCommonHandler;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent;
+import cpw.mods.fml.common.gameevent.PlayerEvent.ItemSmeltedEvent;
+import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OreDictNames;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.objects.ItemData;
+import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import gregtech.common.blocks.GT_Block_Casings1;
+import gregtech.common.blocks.GT_TileEntity_Ores;
+import gregtech.common.items.GT_MetaGenerated_Item_01;
+import gregtech.common.items.GT_MetaGenerated_Tool_01;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.stats.Achievement;
+import net.minecraft.stats.AchievementList;
+import net.minecraft.stats.StatBase;
+import net.minecraftforge.common.AchievementPage;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.event.entity.player.EntityItemPickupEvent;
+import net.minecraftforge.fluids.FluidStack;
+
+public class GT_Achievements {
+
+ public HashMap<String, Achievement> achievementList;
+public int adjX = 5;
+public int adjY = 9;
+
+ public GT_Achievements() {
+ this.achievementList = new HashMap();
+ for (int i = 0; i < oreList.size(); i++) {
+ if (GT_Values.D1 && this.achievementList.get(oreList.get(i).name()) == null) {
+ GT_Log.out.println("achievement." + oreList.get(i).name() + "=Find " + oreList.get(i).name() + " Ore");
+ GT_Log.out.println("achievement." + oreList.get(i).name() + ".desc=Height: " + (oreStats.get(i)[0]) + "-" + (oreStats.get(i)[1]) + ", Chance: "+ (oreStats.get(i)[2]) + ", " + (oreStats.get(i)[3] == 1 ? "Overworld" : "") + "/" + (oreStats.get(i)[4] == 1 ? "Nether" : "") + "/"+ (oreStats.get(i)[5] == 1 ? "End" : ""));
+ }
+ registerOreAchievement(oreList.get(i));
+ }
+ registerAchievement("flintpick", 0, 0, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(2, 1, Materials.Flint, Materials.Wood, null), "", false);
+ registerAchievement("crops", -4, 0, GT_ModHandler.getIC2Item("crop", 1L), "flintpick", false);
+ registerAchievement("havestlead", -4, 2, ItemList.Crop_Drop_Plumbilia.get(1, new Object[] {}), "crops", false);
+ registerAchievement("havestcopper", -2, 1, ItemList.Crop_Drop_Coppon.get(1, new Object[] {}), "crops", false);
+ registerAchievement("havesttin", -2, -1, ItemList.Crop_Drop_Tine.get(1, new Object[] {}), "crops", false);
+ registerAchievement("havestoil", -4, -4, ItemList.Crop_Drop_OilBerry.get(1, new Object[] {}), "crops", false);
+ registerAchievement("havestiron", -2, -3, ItemList.Crop_Drop_Ferru.get(1, new Object[] {}), "crops", false);
+ registerAchievement("havestgold", -2, -6, ItemList.Crop_Drop_Aurelia.get(1, new Object[] {}), "havestiron", false);
+ registerAchievement("havestsilver", -4, -5, ItemList.Crop_Drop_Argentia.get(1, new Object[] {}), "havestiron", false);
+ registerAchievement("havestemeralds", -2, -8, ItemList.Crop_Drop_BobsYerUncleRanks.get(1, new Object[] {}), "havestgold", false);
+
+ registerAchievement("tools", 0, 4, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(12, 1, Materials.Iron, Materials.Wood, null), "flintpick", false);
+ registerAchievement("driltime", 2, 4, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(100, 1, Materials.BlueSteel, Materials.StainlessSteel, null),"tools", false);
+ registerAchievement("brrrr", 2, 6, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(110, 1, Materials.BlueSteel, Materials.StainlessSteel, null),"driltime", false);
+ registerAchievement("highpowerdrill", 3, 5,GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(104, 1, Materials.TungstenSteel, Materials.TungstenSteel, null), "driltime", false);
+ registerAchievement("hammertime", 3, 7,GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(130, 1, Materials.TungstenSteel, Materials.TungstenSteel, null), "highpowerdrill", false);
+ registerAchievement("repair", 4, 5, ItemList.Machine_HV_Disassembler.get(1, new Object[] {}), "highpowerdrill", false);
+
+ registerAchievement("unitool", -2, 4, GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(32, 1, Materials.Steel, Materials.Iron, null), "tools", false);
+ registerAchievement("recycling", -4, 4, ItemList.Machine_LV_ArcFurnace.get(1, new Object[] {}), "unitool", false);
+
+ registerAchievement("crushed", 0, 6, GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Tin, 1L), "tools", false);
+ registerAchievement("cleandust", 0, 10, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), "crushed", false);
+ registerAchievement("washing", -2, 6, GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Iron, 1L), "crushed", false);
+ registerAchievement("spinit", -4, 6, GT_OreDictUnificator.get(OrePrefixes.crushedCentrifuged, Materials.Redstone, 1L), "crushed", false);
+ registerAchievement("newfuel", -4, 8, ItemList.ThoriumCell_4.get(1, new Object[] {}), "spinit", false);
+ registerAchievement("newmetal", -4, 10, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lutetium, 1L), "newfuel", false);
+ registerAchievement("reflect", -2, 9, ItemList.Neutron_Reflector.get(1, new Object[] {}), "newfuel", false);
+
+ registerAchievement("bronze", 2, 0, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 1L), "flintpick", false);
+ registerAchievement("simplyeco", 2, 2, ItemList.Machine_Bronze_Boiler_Solar.get(1, new Object[] {}), "bronze", false);
+ registerAchievement("firststeam", 2, -2, ItemList.Machine_Bronze_Boiler.get(1, new Object[] {}), "bronze", false);
+ registerAchievement("alloysmelter", 2, -4, ItemList.Machine_Bronze_AlloySmelter.get(1, new Object[] {}), "firststeam", false);
+ registerAchievement("macerator", 0, -2, ItemList.Machine_Bronze_Macerator.get(1, new Object[] {}), "firststeam", false);
+ registerAchievement("extract", 0, -4, ItemList.Machine_Bronze_Extractor.get(1, new Object[] {}), "alloysmelter", false);
+
+ registerAchievement("smallparts", 0, -8, ItemList.Circuit_Primitive.get(1, new Object[] {}), "extract", false);
+ registerAchievement("bettercircuits", 0, -10, ItemList.Circuit_Good.get(1, new Object[] {}), "smallparts", false);
+ registerAchievement("stepforward", -2, -10, ItemList.Circuit_Advanced.get(1, new Object[] {}), "bettercircuits", false);
+ registerAchievement("energyflow", -4, -10, ItemList.Circuit_Master.get(1, new Object[] {}), "stepforward", false);
+ registerAchievement("orbs", -6, -10, ItemList.Energy_LapotronicOrb.get(1, new Object[] {}), "energyflow", false);
+ registerAchievement("thatspower", -8, -10, ItemList.Energy_LapotronicOrb2.get(1, new Object[] {}), "orbs", false);
+ registerAchievement("datasaving", -2, -12, ItemList.Tool_DataOrb.get(1, new Object[] {}), "stepforward", false);
+ registerAchievement("superbuffer", 0, -12, ItemList.Automation_SuperBuffer_LV.get(1, new Object[] {}), "datasaving", false);
+ registerAchievement("newstorage", -2, -14, ItemList.Quantum_Chest_HV.get(1, new Object[] {}), "superbuffer", false);
+ registerAchievement("whereistheocean", 2, -14, ItemList.Quantum_Tank_IV.get(1, new Object[] {}), "superbuffer", false);
+ registerAchievement("luck", 2, -6, ItemList.ZPM.get(1, new Object[] {}), "", false);
+
+ registerAchievement("steel", 4, 0, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L), "bronze", false);
+ registerAchievement("highpressure", 4, 2, ItemList.Machine_Steel_Boiler.get(1, new Object[] {}), "steel", false);
+ registerAchievement("extremepressure", 4, 4, ItemList.Machine_Multi_LargeBoiler_Steel.get(1, new Object[] {}), "highpressure", false);
+ registerAchievement("cheapermac", 6, 1, ItemList.Machine_LV_Hammer.get(1, new Object[] {}), "steel", false);
+ registerAchievement("complexalloys", 6, 3, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.BlueSteel, 1L), "cheapermac", false);
+
+ registerAchievement("magneticiron", 4, -2, GT_OreDictUnificator.get(OrePrefixes.stick, Materials.IronMagnetic, 1L), "steel", false);
+ registerAchievement("lvmotor", 4, -6, ItemList.Electric_Motor_LV.get(1, new Object[] {}), "magneticiron", false);
+ registerAchievement("pump", 2, -8, ItemList.Electric_Pump_LV.get(1, new Object[] {}), "lvmotor", false);
+ registerAchievement("closeit", 2, -10, ItemList.Cover_Shutter.get(1, new Object[] {}), "pump", false);
+ registerAchievement("slurp", 2, -12, ItemList.Pump_HV.get(1, new Object[] {}), "closeit", false);
+ registerAchievement("transport", 4, -10, ItemList.Conveyor_Module_LV.get(1, new Object[] {}), "lvmotor", false);
+ registerAchievement("manipulation", 4, -12, ItemList.Cover_Controller.get(1, new Object[] {}), "transport", false);
+ registerAchievement("buffer", 4, -14, ItemList.Automation_ChestBuffer_LV.get(1, new Object[] {}), "manipulation", false);
+ registerAchievement("complexmachines", 6, -9, ItemList.Robot_Arm_LV.get(1, new Object[] {}), "lvmotor", false);
+ registerAchievement("avengers", 8, -11, ItemList.Machine_LV_Assembler.get(1, new Object[] {}), "complexmachines", false);
+ registerAchievement("filterregulate", 10, -11, ItemList.Component_Filter.get(1, new Object[] {}), "avengers", false);
+
+ registerAchievement("steampower", 6, -6, ItemList.Generator_Steam_Turbine_LV.get(1, new Object[] {}), "lvmotor", false);
+ registerAchievement("batterys", 6, -4, ItemList.Battery_Buffer_2by2_MV.get(1, new Object[] {}), "steampower", false);
+ registerAchievement("badweather", 6, -8, ItemList.Casing_FireHazard.get(1, new Object[] {}), "steampower", false);
+ registerAchievement("electricproblems", 7, -7, ItemList.Casing_ExplosionHazard.get(1, new Object[] {}), "steampower", false);
+ registerAchievement("ebf", 8, -6, ItemList.Machine_Multi_BlastFurnace.get(1, new Object[] {}), "steampower", false);
+ registerAchievement("energyhatch", 12, -6, ItemList.Hatch_Energy_LV.get(1, new Object[] {}), "ebf", false);
+
+ registerAchievement("aluminium", 8, 0, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Aluminium, 1L), "steel", false);
+ registerAchievement("highpowersmelt", 8, 2, ItemList.Machine_Multi_Furnace.get(1, new Object[] {}), "aluminium", false);
+ registerAchievement("oilplant", 8, 4, ItemList.Distillation_Tower.get(1, new Object[] {}), "highpowersmelt", false);
+ registerAchievement("factory", 8, 6, ItemList.Processing_Array.get(1, new Object[] {}), "oilplant", false);
+ registerAchievement("upgradeebf", 8, -2, ItemList.Hatch_Energy_MV.get(1, new Object[] {}), "aluminium", false);
+ registerAchievement("maintainance", 10, -2, ItemList.Hatch_Maintenance.get(1, new Object[] {}), "upgradeebf", false);
+
+ registerAchievement("titan", 10, 0, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titanium, 1L), "aluminium", false);
+ registerAchievement("magic", 10, 4, ItemList.MagicEnergyConverter_LV.get(1, new Object[] {}), "titan", false);
+ registerAchievement("highmage", 10, 6, ItemList.MagicEnergyAbsorber_HV.get(1, new Object[] {}), "magic", false);
+ registerAchievement("artificaldia", 11, 2, ItemList.IC2_Industrial_Diamond.get(1, new Object[] {}), "titan", false);
+ registerAchievement("muchsteam", 12, 1, ItemList.LargeTurbine.get(1, new Object[] {}), "titan", false);
+ registerAchievement("efficientsteam", 12, 3, ItemList.LargeTurbine.get(1, new Object[] {}), "muchsteam", false);
+
+ registerAchievement("upgrade", 14, 0, ItemList.Casing_Coil_Kanthal.get(1, new Object[] {}), "titan", false);
+ registerAchievement("tungsten", 16, 0, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tungsten, 1L), "upgrade", false);
+ registerAchievement("hightech", 15, -1, ItemList.Field_Generator_LV.get(1, new Object[] {}), "tungsten", false);
+ registerAchievement("amplifier", 17, -3, ItemList.Machine_LV_Amplifab.get(1, new Object[] {}), "hightech", false);
+ registerAchievement("scanning", 13, -2, ItemList.Machine_HV_Scanner.get(1, new Object[] {}), "hightech", false);
+ registerAchievement("alienpower", 14, -4, ItemList.Generator_Naquadah_Mark_I.get(1, new Object[] {}), "hightech", false);
+ registerAchievement("universal", 15, -6, ItemList.Machine_LV_Massfab.get(1, new Object[] {}), "hightech", false);
+ registerAchievement("replication", 17, -6, ItemList.Machine_LV_Replicator.get(1, new Object[] {}), "universal", false);
+
+ registerAchievement("upgrade2", 16, 6, ItemList.Casing_Coil_Nichrome.get(1, new Object[] {}), "tungsten", false);
+ registerAchievement("tungstensteel", 14, 6, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 1L), "upgrade2", false);
+ registerAchievement("conducting", 12, 6, ItemList.Casing_Coil_Superconductor.get(1, new Object[] {}), "tungstensteel", false);
+ registerAchievement("fusion", 14, 8, ItemList.FusionComputer_LuV.get(1, new Object[] {}), "tungstensteel", false);
+ registerAchievement("higherefficency", 14, 10, ItemList.Generator_Plasma_IV.get(1, new Object[] {}), "fusion", false);
+ registerAchievement("advancing", 12, 8, ItemList.FusionComputer_ZPMV.get(1, new Object[] {}), "fusion", false);
+ registerAchievement("tothelimit", 12, 10, ItemList.Generator_Plasma_LuV.get(1, new Object[] {}), "advancing", false);
+ registerAchievement("denseaspossible", 10, 10, ItemList.FusionComputer_UV.get(1, new Object[] {}), "tothelimit", false);
+ registerAchievement("fullefficiency", 10, 12, ItemList.Generator_Plasma_ZPMV.get(1, new Object[] {}), "denseaspossible", false);
+ registerAchievement("whatnow", 8, 10, GT_OreDictUnificator.get(OrePrefixes.battery, Materials.Ultimate, 1L), "denseaspossible", false);
+
+ AchievementPage.registerAchievementPage(new AchievementPage("GregTech 5", (Achievement[]) this.achievementList.values().toArray(
+ new Achievement[this.achievementList.size()])));
+ MinecraftForge.EVENT_BUS.register(this);
+ FMLCommonHandler.instance().bus().register(this);
+ }
+
+ public Achievement registerAchievement(String textId, int x, int y, ItemStack icon, Achievement requirement, boolean special) {
+ Achievement achievement = new Achievement(textId, textId, this.adjX + x, this.adjY+y, icon, requirement);
+ if (special) {
+ achievement.setSpecial();
+ }
+ achievement.registerStat();
+ if (GT_Values.D2) {
+ GT_Log.out.println("achievement." + textId + "=");
+ GT_Log.out.println("achievement." + textId + ".desc=");
+ }
+ this.achievementList.put(textId, achievement);
+ return achievement;
+ }
+
+ public Achievement registerAchievement(String textId, int x, int y, ItemStack icon, String requirement, boolean special) {
+ Achievement achievement = new Achievement(textId, textId, this.adjX + x, this.adjY+y, icon, getAchievement(requirement));
+ if (special) {
+ achievement.setSpecial();
+ }
+ achievement.registerStat();
+ if (GT_Values.D2) {
+ GT_Log.out.println("achievement." + textId + "=");
+ GT_Log.out.println("achievement." + textId + ".desc=");
+ }
+ this.achievementList.put(textId, achievement);
+ return achievement;
+ }
+
+ public static List<Materials> oreList = new ArrayList<Materials>();
+ public static List<Integer[]> oreStats = new ArrayList<Integer[]>();
+
+ public static void registerOre(Materials aMaterial, int min, int max, int chance, boolean overworld, boolean nether, boolean end) {
+ if (aMaterial != Materials._NULL) {
+ oreList.add(aMaterial);
+ }
+ oreStats.add(new Integer[] { min, max, chance, overworld ? 1 : 0, nether ? 1 : 0, end ? 1 : 0 });
+ }
+
+ public static int oreReg = -1;
+
+ public Achievement registerOreAchievement(Materials aMaterial) {
+ if (this.achievementList.get(aMaterial.name()) == null) {
+ oreReg++;
+ return registerAchievement(aMaterial.name(), -(6 + oreReg % 5), ((oreReg) / 5) - 8, new ItemStack(GregTech_API.sBlockOres1, 1,
+ aMaterial.mMetaItemSubID), AchievementList.openInventory, false);
+ }
+ return null;
+ }
+
+ public void issueAchievement(EntityPlayer entityplayer, String textId) {
+ if(entityplayer==null){
+ return;
+ }
+ if (this.achievementList.containsKey(textId)) {
+ entityplayer.triggerAchievement((StatBase) this.achievementList.get(textId));
+ }
+ }
+
+ public Achievement getAchievement(String textId) {
+ if (this.achievementList.containsKey(textId)) {
+ return (Achievement) this.achievementList.get(textId);
+ }
+ return null;
+ }
+
+ public void issueAchivementHatch(EntityPlayer player, ItemStack stack){
+ if (player == null||stack==null) {
+ return;
+ }
+ ItemData data = GT_OreDictUnificator.getItemData(stack);
+
+ if (data != null) {
+ if (data.mPrefix == OrePrefixes.ingot) {
+ if(data.mMaterial.mMaterial==Materials.Aluminium){
+ issueAchievement(player, "aluminium");
+ }else if(data.mMaterial.mMaterial==Materials.Titanium){
+ issueAchievement(player, "titan");
+ }else if(data.mMaterial.mMaterial==Materials.BlueSteel){
+ issueAchievement(player, "complexalloys");
+ }else if(data.mMaterial.mMaterial==Materials.Tungsten){
+ issueAchievement(player, "tungsten");
+ }else if(data.mMaterial.mMaterial==Materials.TungstenSteel){
+ issueAchievement(player, "tungstensteel");
+ }
+
+
+ }}
+ if(stack.getUnlocalizedName().equals("ic2.itemPartIndustrialDiamond")){
+ issueAchievement(player, "artificaldia");
+ }
+ }
+
+ public void issueAchivementHatchFluid(EntityPlayer player, FluidStack fluid){
+ System.out.println("fluid!");
+ if (player == null||fluid==null) {
+ return;
+ }
+ if(fluid.getFluid().getUnlocalizedName().equals("plasma.helium")){
+ issueAchievement(player, "fusion");
+ }else if(fluid.getFluid().getUnlocalizedName().equals("molten.europium")){
+ issueAchievement(player, "advancing");
+ }else if(fluid.getFluid().getUnlocalizedName().equals("molten.americum")){
+ issueAchievement(player, "tothelimit");
+ }else if(fluid.getFluid().getUnlocalizedName().equals("molten.neutronium")){
+ issueAchievement(player, "denseaspossible");
+ }else if(fluid.getFluid().getUnlocalizedName().equals("plasma.nitrogen")){
+ issueAchievement(player, "higherefficency");
+ }
+ }
+
+ @SubscribeEvent
+ public void onCrafting(ItemCraftedEvent event) {
+ System.out.println("crafting");
+ EntityPlayer player = event.player;
+ ItemStack stack = event.crafting;
+ if (player == null||stack==null) {
+ return;
+ }
+ System.out.println(stack.getUnlocalizedName());
+ if(stack.getUnlocalizedName().startsWith("gt.metaitem.")){
+ if(stack.getUnlocalizedName().equals("gt.metaitem.01.2300")){
+ issueAchievement(player, "bronze");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.2300")){
+ issueAchievement(player, "bronze");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32700")){
+ issueAchievement(player, "smallparts");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.23354")){
+ issueAchievement(player, "magneticiron");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32600")){
+ issueAchievement(player, "lvmotor");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32610")){
+ issueAchievement(player, "pump");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32630")){
+ issueAchievement(player, "transport");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32650")){
+ issueAchievement(player, "complexmachines");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32670")){
+ issueAchievement(player, "hightech");
+ }
+ }else if(stack.getUnlocalizedName().equals("ic2.blockCrop")){
+ issueAchievement(player, "crops");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.")){
+ if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.arcfurnace.tier.")){
+ issueAchievement(player, "recycling");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.disassembler.tier.")){
+ issueAchievement(player, "repair");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.boiler.solar")){
+ issueAchievement(player, "simplyeco");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.boiler.bronze")){
+ issueAchievement(player, "firststeam");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.boiler.steel")){
+ issueAchievement(player, "highpressure");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.bronzemachine.macerator")){
+ issueAchievement(player, "macerator");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.bronzemachine.alloysmelter")){
+ issueAchievement(player, "alloysmelter");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.bronzemachine.extractor")){
+ issueAchievement(player, "extract");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.disassembler.tier.")){
+ issueAchievement(player, "repair");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.automation.superbuffer.tier.")){
+ issueAchievement(player, "superbuffer");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.quantum.tank.tier.")){
+ issueAchievement(player, "whereistheocean");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.disassembler.tier.")){
+ issueAchievement(player, "repair");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.quantum.chest.tier.")){
+ issueAchievement(player, "newstorage");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.hammer.tier.")){
+ issueAchievement(player, "cheapermac");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.automation.chestbuffer.tier.")){
+ issueAchievement(player, "buffer");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicgenerator.steamturbine.tier.")){
+ issueAchievement(player, "steampower");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.pump.tier.")){
+ issueAchievement(player, "slurp");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.assembler.tier.")){
+ issueAchievement(player, "avengers");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.multimachine.blastfurnace")){
+ issueAchievement(player, "ebf");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.batterybuffer.")){
+ issueAchievement(player, "batterys");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.hatch.energy.tier.02")){
+ issueAchievement(player, "upgradeebf");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.multimachine.multifurnace")){
+ issueAchievement(player, "highpowersmelt");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.hatch.energy.tier.01")){
+ issueAchievement(player, "energyhatch");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.multimachine.processingarray")){
+ issueAchievement(player, "factory");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.basicgenerator.magicenergyconverter.tier.01")){
+ issueAchievement(player, "magic");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.basicgenerator.magicenergyabsorber.tier.03")){
+ issueAchievement(player, "highmage");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.amplifab.tier.")){
+ issueAchievement(player, "amplifier");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.massfab.tier.")){
+ issueAchievement(player, "universal");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicgenerator.naquadah.tier.")){
+ issueAchievement(player, "alienpower");
+ }else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.replicator.tier.")){
+ issueAchievement(player, "replication");
+ }
+ }else if(stack.getUnlocalizedName().equals("gt.Thoriumcell")){
+ issueAchievement(player, "newfuel");
+ }else if(stack.getUnlocalizedName().equals("gt.neutronreflector")){
+ issueAchievement(player, "reflect");
+ }else if(stack.getUnlocalizedName().equals("gt.blockcasings.13")){
+ issueAchievement(player, "upgrade");
+ }else if(stack.getUnlocalizedName().equals("gt.blockcasings.14")){
+ issueAchievement(player, "upgrade2");
+ }else if(stack.getUnlocalizedName().equals("gt.blockcasings.15")){
+ issueAchievement(player, "conducting");
+ }
+
+ }
+
+ @SubscribeEvent
+ public void onSmelting(ItemSmeltedEvent event) {
+ EntityPlayer player = event.player;
+ ItemStack stack = event.smelting;
+ if (player == null||stack==null) {
+ return;
+ }
+ if (stack.getItem() == Items.bread) {
+ event.player.triggerAchievement(AchievementList.makeBread);
+ }
+ }
+
+ @SubscribeEvent
+ public void onItemPickup(EntityItemPickupEvent event) {
+ EntityPlayer player = event.entityPlayer;
+ ItemStack stack = event.item.getEntityItem();
+ if (player == null||stack==null) {
+ return;
+ }
+ ItemData data = GT_OreDictUnificator.getItemData(stack);
+ if (data != null) {
+ if (data.mPrefix == OrePrefixes.dust) {
+ if(data.mMaterial.mMaterial == Materials.Lutetium){
+ issueAchievement(player, "newmetal");
+ }
+ issueAchievement(player, "cleandust");
+ } else if (data.mPrefix == OrePrefixes.ore || data.mPrefix == OrePrefixes.oreBlackgranite || data.mPrefix == OrePrefixes.oreEndstone
+ || data.mPrefix == OrePrefixes.oreNetherrack || data.mPrefix == OrePrefixes.oreRedgranite) {
+ for (int i = 0; i < data.getAllMaterialStacks().size(); i++) {
+ issueAchievement(player, data.getAllMaterialStacks().get(i).mMaterial.name());
+
+ }return;
+ }else if(data.mPrefix == OrePrefixes.crushed){
+ issueAchievement(player, "crushed");
+ }else if(data.mPrefix == OrePrefixes.crushedPurified){
+ issueAchievement(player, "washing");
+ }else if(data.mPrefix == OrePrefixes.crushedCentrifuged){
+ issueAchievement(player, "spinit");
+ }
+ }
+ System.out.println(stack.getUnlocalizedName());
+ if(stack.getUnlocalizedName().startsWith("gt.metaitem.")){
+ if(stack.getUnlocalizedName().equals("gt.metaitem.02.32500")){
+ issueAchievement(player, "havestlead");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.02.32501")){
+ issueAchievement(player, "havestsilver");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.02.32503")){
+ issueAchievement(player, "havestiron");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.02.32504")){
+ issueAchievement(player, "havestgold");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.02.32530")){
+ issueAchievement(player, "havestcopper");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.02.32540")){
+ issueAchievement(player, "havesttin");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.02.32510")){
+ issueAchievement(player, "havestoil");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.02.32511")){
+ issueAchievement(player, "havestemeralds");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32706")){
+ issueAchievement(player, "energyflow");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32702")){
+ issueAchievement(player, "bettercircuits");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32707")){
+ issueAchievement(player, "datasaving");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32597")){
+ issueAchievement(player, "orbs");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32599")){
+ issueAchievement(player, "thatspower");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32598")){
+ issueAchievement(player, "luck");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32749")){
+ issueAchievement(player, "closeit");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32730")){
+ issueAchievement(player, "manipulation");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32729")){
+ issueAchievement(player, "filterregulate");
+ }
+ }else if(stack.getUnlocalizedName().equals("ic2.itemPartCircuitAdv")){
+ issueAchievement(player, "stepforward");
+ }
+ }
+}
diff --git a/main/java/gregtech/loaders/oreprocessing/ProcessingPlate2.java b/main/java/gregtech/loaders/oreprocessing/ProcessingPlate2.java
index 53c944d2c4..88f121b51f 100644
--- a/main/java/gregtech/loaders/oreprocessing/ProcessingPlate2.java
+++ b/main/java/gregtech/loaders/oreprocessing/ProcessingPlate2.java
@@ -4,6 +4,7 @@
/* */ import gregtech.api.enums.GT_Values;
/* */ import gregtech.api.enums.Materials;
/* */ import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.SubTag;
/* */ import gregtech.api.interfaces.internal.IGT_RecipeAdder;
/* */ import gregtech.api.util.GT_ModHandler;
/* */ import gregtech.api.util.GT_OreDictUnificator;
@@ -22,7 +23,6 @@
/* 22 */ GT_ModHandler.removeRecipeByOutput(aStack);
/* */
/* 24 */ GregTech_API.registerCover(aStack, new gregtech.api.objects.GT_RenderedTexture(aMaterial.mIconSet.mTextures[72], aMaterial.mRGBa, false), null);
-/* */
/* 26 */ if (!aMaterial.contains(gregtech.api.enums.SubTag.NO_SMASHING)) {
/* 27 */ GT_Values.RA.addBenderRecipe(GT_Utility.copyAmount(2L, new Object[] { aStack }), GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L), (int)Math.max(aMaterial.getMass() * 2L, 1L), 96);
/* */ }
@@ -33,10 +33,4 @@
/* 33 */ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L), gregtech.api.enums.ItemList.Circuit_Integrated.getWithDamage(0L, 2L, new Object[0]), Materials.Glue.getFluid(10L), GT_Utility.copyAmount(1L, new Object[] { aStack }), 64, 8);
/* */ }
/* */ }
-/* */ }
-
-
-/* Location: F:\Torrent\minecraft\jdgui test\gregtech_1.7.10-5.07.07-dev.jar!\gregtech\loaders\oreprocessing\ProcessingPlate2.class
- * Java compiler version: 6 (50.0)
- * JD-Core Version: 0.7.1-SNAPSHOT-20140817
- */ \ No newline at end of file
+/* */ } \ No newline at end of file
diff --git a/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHammer.java b/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHammer.java
index 6a101dd00d..5a89aed13c 100644
--- a/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHammer.java
+++ b/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHammer.java
@@ -1,12 +1,15 @@
/* */ package gregtech.loaders.oreprocessing;
/* */
/* */ import gregtech.api.enums.Dyes;
+import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
/* */ import gregtech.api.enums.Materials;
/* */ import gregtech.api.enums.OrePrefixes;
/* */ import gregtech.api.enums.SubTag;
/* */ import gregtech.api.interfaces.IOreRecipeRegistrator;
/* */ import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
/* */ import gregtech.api.util.GT_ModHandler.RecipeBits;
/* */ import gregtech.common.items.GT_MetaGenerated_Tool_01;
/* */ import net.minecraft.init.Blocks;
@@ -36,13 +39,15 @@ import gregtech.api.enums.ItemList;
/* 35 */ GT_ModHandler.addCraftingRecipe(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(34, 1, aMaterial, aMaterial, null), GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "fPh", " S ", Character.valueOf('S'), OrePrefixes.stick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(aMaterial) });
/* 36 */ GT_ModHandler.addCraftingRecipe(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(36, 1, aMaterial, aMaterial, null), GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "PPf", "PP ", "Sh ", Character.valueOf('S'), OrePrefixes.stick.get(aMaterial), Character.valueOf('P'), OrePrefixes.plate.get(aMaterial) });
/* */ GT_ModHandler.addCraftingRecipe(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(160, 1, aMaterial, Materials.Rubber, new long[] { 100000L, 32L, 1L, -1L }), GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "LBf", "Sd ", "P ", 'B', OrePrefixes.bolt.get(aMaterial), 'P', OrePrefixes.plate.get(Materials.Rubber),'S',OrePrefixes.stick.get(Materials.Iron),'L',ItemList.Battery_RE_LV_Lithium.get(1L, new Object[0]) });
-/* */ }
+/* */
+// GT_ModHandler.addCraftingRecipe(GT_Utility.copyAmount(1L,OrePrefixes.turbineBlade.get(aMaterial)), gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "B", "B", "B", 'S', OrePrefixes.screw.get(aMaterial), 'B', OrePrefixes.plate.get(aMaterial) });
+
+
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 4L),GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Magnalium, 1L),GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(170, 1, aMaterial, aMaterial, null), 160, 100);
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 8L),GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Titanium, 1L),GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(172, 1, aMaterial, aMaterial, null), 320, 400);
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 12L),GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.TungstenSteel, 1L),GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(174, 1, aMaterial, aMaterial, null), 640, 1600);
+ GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 16L),GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Americium, 1L),GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(176, 1, aMaterial, aMaterial, null), 1280, 6400);
+}
/* */ }
/* */ }
-/* */ }
-
-
-/* Location: F:\Torrent\minecraft\jdgui test\gregtech_1.7.10-5.07.07-dev.jar!\gregtech\loaders\oreprocessing\ProcessingToolHeadHammer.class
- * Java compiler version: 6 (50.0)
- * JD-Core Version: 0.7.1-SNAPSHOT-20140817
- */ \ No newline at end of file
+/* */ } \ No newline at end of file
diff --git a/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java b/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java
index a619e9c114..9b6e2091dd 100644
--- a/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java
+++ b/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java
@@ -20,8 +20,10 @@ import gregtech.common.GT_Proxy;
import java.io.PrintStream;
+import cpw.mods.fml.common.Loader;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
+import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class GT_CraftingRecipeLoader
@@ -492,8 +494,90 @@ public class GT_CraftingRecipeLoader
GT_ModHandler.addShapelessCraftingRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 5L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { OrePrefixes.dust.get(Materials.Potassium), OrePrefixes.cell.get(Materials.Nitrogen), OrePrefixes.cell.get(Materials.Oxygen), OrePrefixes.cell.get(Materials.Oxygen), OrePrefixes.cell.get(Materials.Oxygen) });
GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("carbonFiber", 1L));
-
- GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("glassFiberCableItem", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "GGG", "EDE", "GGG", Character.valueOf('G'), new ItemStack(Blocks.glass, 1, 32767), Character.valueOf('D'), OrePrefixes.dust.get(Materials.Silver), Character.valueOf('E'), ItemList.IC2_Energium_Dust.get(1L, new Object[0]) });
+ if(GT_Mod.gregtechproxy.mDisableIC2Cables){
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("copperCableItem", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("insulatedCopperCableItem", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("goldCableItem", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("insulatedGoldCableItem", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("insulatedIronCableItem", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("glassFiberCableItem", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("tinCableItem", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("ironCableItem", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("insulatedTinCableItem", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("detectorCableItem", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("splitterCableItem", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("electrolyzer", 1L));
+
+ if(Loader.isModLoaded("NotEnoughItems")){
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("copperCableItem", 1L));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("insulatedCopperCableItem", 1L));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("goldCableItem", 1L));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("insulatedGoldCableItem", 1L));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("insulatedIronCableItem", 1L));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("glassFiberCableItem", 1L));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("tinCableItem", 1L));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("ironCableItem", 1L));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("insulatedTinCableItem", 1L));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("detectorCableItem", 1L));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("splitterCableItem", 1L));
+ codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("electrolyzer", 1L));
+ }
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("batBox", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("batBox", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "PCP","BBB","PPP", 'C', OrePrefixes.cableGt01.get(Materials.Tin), 'P', OrePrefixes.plank.get(Materials.Wood), 'B', OrePrefixes.battery.get(Materials.Basic)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("mfeUnit", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("mfeUnit", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "CEC","EME","CEC", 'C', OrePrefixes.cableGt01.get(Materials.Gold), 'E', OrePrefixes.battery.get(Materials.Elite), 'M', GT_ModHandler.getIC2Item("machine", 1L)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("lvTransformer", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("lvTransformer", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "PCP","POP","PCP", 'C', OrePrefixes.cableGt01.get(Materials.Tin),'O', GT_ModHandler.getIC2Item("coil", 1L), 'P', OrePrefixes.plank.get(Materials.Wood)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("mvTransformer", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("mvTransformer", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "CMC", 'C', OrePrefixes.cableGt01.get(Materials.Copper),'M', GT_ModHandler.getIC2Item("machine", 1L)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("hvTransformer", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("hvTransformer", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {" C ","IMB"," C ",'C', OrePrefixes.cableGt01.get(Materials.Gold),'M', GT_ModHandler.getIC2Item("mvTransformer", 1L),'I', OrePrefixes.circuit.get(Materials.Basic),'B', OrePrefixes.battery.get(Materials.Advanced)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("evTransformer", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("evTransformer", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {" C ","IMB"," C ",'C', OrePrefixes.cableGt01.get(Materials.Aluminium),'M', GT_ModHandler.getIC2Item("hvTransformer", 1L),'I', OrePrefixes.circuit.get(Materials.Advanced),'B', OrePrefixes.battery.get(Materials.Master)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("cesuUnit", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("cesuUnit", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"PCP","BBB","PPP",'C', OrePrefixes.cableGt01.get(Materials.Copper),'P', OrePrefixes.plate.get(Materials.Bronze),'B', OrePrefixes.battery.get(Materials.Advanced)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("luminator", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("teleporter", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("teleporter", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"GFG","CMC","GDG",'C', OrePrefixes.cableGt01.get(Materials.Platinum),'G', OrePrefixes.circuit.get(Materials.Advanced),'D', OrePrefixes.gem.get(Materials.Diamond), 'M', GT_ModHandler.getIC2Item("machine", 1L), 'F', GT_ModHandler.getIC2Item("frequencyTransmitter", 1L)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("energyOMat", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("energyOMat", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"RBR","CMC",'C', OrePrefixes.cableGt01.get(Materials.Copper),'R', OrePrefixes.dust.get(Materials.Redstone),'B', OrePrefixes.battery.get(Materials.Basic), 'M', GT_ModHandler.getIC2Item("machine", 1L)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("advBattery", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("advBattery", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"CTC","TST","TLT",'C', OrePrefixes.cableGt01.get(Materials.Copper),'S', OrePrefixes.dust.get(Materials.Sulfur),'L', OrePrefixes.dust.get(Materials.Lead), 'T', GT_ModHandler.getIC2Item("casingbronze", 1L)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("boatElectric", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("boatElectric", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"CCC","XWX","XXX",'C', OrePrefixes.cableGt01.get(Materials.Copper),'X', OrePrefixes.plate.get(Materials.Iron), 'W', GT_ModHandler.getIC2Item("waterMill", 1L)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("cropnalyzer", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("cropnalyzer", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"CC ","RGR","RIR",'C', OrePrefixes.cableGt01.get(Materials.Copper),'R', OrePrefixes.dust.get(Materials.Redstone),'G', OrePrefixes.block.get(Materials.Glass), 'I', OrePrefixes.circuit.get(Materials.Basic)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("coil", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("coil", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"CCC","CXC","CCC",'C', OrePrefixes.wireGt01.get(Materials.Copper),'X', OrePrefixes.ingot.get(Materials.AnyIron)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("powerunit", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("powerunit", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"BCA","BIM","BCA",'C', OrePrefixes.cableGt01.get(Materials.Copper),'B', OrePrefixes.battery.get(Materials.Basic),'A', GT_ModHandler.getIC2Item("casingiron", 1L), 'I', OrePrefixes.circuit.get(Materials.Basic),'M', GT_ModHandler.getIC2Item("elemotor", 1L)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("powerunitsmall", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("powerunitsmall", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {" CA","BIM"," CA",'C', OrePrefixes.cableGt01.get(Materials.Copper),'B', OrePrefixes.battery.get(Materials.Basic),'A', GT_ModHandler.getIC2Item("casingiron", 1L), 'I', OrePrefixes.circuit.get(Materials.Basic),'M', GT_ModHandler.getIC2Item("elemotor", 1L)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("remote", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("remote", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {" C ","TLT"," F ",'C', OrePrefixes.cableGt01.get(Materials.Copper),'L', OrePrefixes.dust.get(Materials.Lapis),'T', GT_ModHandler.getIC2Item("casingtin", 1L),'F', GT_ModHandler.getIC2Item("frequencyTransmitter", 1L)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("odScanner", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("odScanner", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"PGP","CBC","WWW",'W', OrePrefixes.cableGt01.get(Materials.Copper),'G', OrePrefixes.dust.get(Materials.Glowstone),'B', OrePrefixes.battery.get(Materials.Advanced),'C', OrePrefixes.circuit.get(Materials.Advanced),'P', GT_ModHandler.getIC2Item("casinggold", 1L)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("ovScanner", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("ovScanner", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"PDP","GCG","WSW",'W', OrePrefixes.cableGt01.get(Materials.Gold),'G', OrePrefixes.dust.get(Materials.Glowstone),'D', OrePrefixes.battery.get(Materials.Elite),'C', OrePrefixes.circuit.get(Materials.Advanced),'P', GT_ModHandler.getIC2Item("casinggold", 1L),'S', GT_ModHandler.getIC2Item("odScanner", 1L)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("solarHelmet", 1L));
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("staticBoots", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("staticBoots", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"I I","IWI","CCC",'C', OrePrefixes.cableGt01.get(Materials.Copper),'I', OrePrefixes.ingot.get(Materials.Iron),'W', new ItemStack(Blocks.wool)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("ecMeter", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("ecMeter", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {" G ","CIC","C C",'C', OrePrefixes.cableGt01.get(Materials.Copper),'G', OrePrefixes.dust.get(Materials.Glowstone),'I', OrePrefixes.circuit.get(Materials.Basic)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("obscurator", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("obscurator", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"RER","CAC","RRR",'C', OrePrefixes.cableGt01.get(Materials.Gold),'R', OrePrefixes.dust.get(Materials.Redstone),'E', OrePrefixes.battery.get(Materials.Advanced), 'A', OrePrefixes.circuit.get(Materials.Advanced)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("overclockerUpgrade", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("overclockerUpgrade", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"CCC","WEW",'W', OrePrefixes.cableGt01.get(Materials.Copper),'C', GT_ModHandler.getIC2Item("reactorCoolantSimple", 1L), 'E', OrePrefixes.circuit.get(Materials.Basic)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("transformerUpgrade", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("transformerUpgrade", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"GGG","WTW","GEG",'W', OrePrefixes.cableGt01.get(Materials.Gold),'T', GT_ModHandler.getIC2Item("mvTransformer", 1L),'E', OrePrefixes.circuit.get(Materials.Basic),'G', OrePrefixes.block.get(Materials.Glass)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("energyStorageUpgrade", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("energyStorageUpgrade", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"PPP","WBW","PEP",'W', OrePrefixes.cableGt01.get(Materials.Copper),'E', OrePrefixes.circuit.get(Materials.Basic),'P', OrePrefixes.plank.get(Materials.Wood),'B', OrePrefixes.battery.get(Materials.Basic)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("ejectorUpgrade", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("ejectorUpgrade", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"PHP","WEW",'W', OrePrefixes.cableGt01.get(Materials.Copper),'E', OrePrefixes.circuit.get(Materials.Basic),'P', new ItemStack(Blocks.piston),'H', new ItemStack(Blocks.hopper)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("suBattery", 1L));
+ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("suBattery", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"W","C","R",'W', OrePrefixes.cableGt01.get(Materials.Copper),'C', OrePrefixes.dust.get(Materials.HydratedCoal),'R', OrePrefixes.dust.get(Materials.Redstone)});
+ GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("frequencyTransmitter", 1L));
+ }else{GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("glassFiberCableItem", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "GGG", "EDE", "GGG", Character.valueOf('G'), new ItemStack(Blocks.glass, 1, 32767), Character.valueOf('D'), OrePrefixes.dust.get(Materials.Silver), Character.valueOf('E'), ItemList.IC2_Energium_Dust.get(1L, new Object[0]) });}
GT_ModHandler.removeRecipeByOutput(ItemList.IC2_Energium_Dust.get(1L, new Object[0]));
if (GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.gregtechrecipes, "energycrystalruby", true)) {
diff --git a/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
index e1a21303fe..d7241b9296 100644
--- a/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
+++ b/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
@@ -1,5 +1,6 @@
package gregtech.loaders.postload;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.ConfigCategories.Recipes;
@@ -46,7 +47,7 @@ public class GT_MachineRecipeLoader
GT_Utility.removeSimpleIC2MachineRecipe(GT_Values.NI, ic2.api.recipe.Recipes.metalformerExtruding.getRecipes(), ItemList.Cell_Empty.get(3L, new Object[0]));
GT_Utility.removeSimpleIC2MachineRecipe(ItemList.IC2_Energium_Dust.get(1L, new Object[0]), ic2.api.recipe.Recipes.compressor.getRecipes(), GT_Values.NI);
GT_Utility.removeSimpleIC2MachineRecipe(new ItemStack(Items.gunpowder), ic2.api.recipe.Recipes.extractor.getRecipes(), GT_Values.NI);
- GT_Utility.removeSimpleIC2MachineRecipe(new ItemStack(Blocks.wool, 1, 32767), ic2.api.recipe.Recipes.extractor.getRecipes(), GT_Values.NI);
+ GT_Utility.removeSimpleIC2MachineRecipe(new ItemStack(Blocks.wool, 1, 32767), ic2.api.recipe.Recipes.extractor.getRecipes(), GT_Values.NI);
}
catch (Throwable e) {}
GT_Values.RA.addFluidExtractionRecipe(new ItemStack(Items.wheat_seeds, 1, 32767), GT_Values.NI, Materials.SeedOil.getFluid(5L), 10000, 32, 2);
@@ -838,12 +839,13 @@ public class GT_MachineRecipeLoader
GT_Values.RA.addFormingPressRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), ItemList.Shape_Mold_Credit.get(0L, new Object[0]), ItemList.Credit_Iron.get(4L, new Object[0]), 100, 16);
GT_Values.RA.addFormingPressRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), ItemList.Shape_Mold_Credit.get(0L, new Object[0]), ItemList.Credit_Iron.get(4L, new Object[0]), 100, 16);
+ if(!GT_Mod.gregtechproxy.mDisableIC2Cables){
GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Copper, 1L), GT_ModHandler.getIC2Item("copperCableItem", 3L), 100, 2);
GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.AnnealedCopper, 1L), GT_ModHandler.getIC2Item("copperCableItem", 3L), 100, 2);
GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tin, 1L), GT_ModHandler.getIC2Item("tinCableItem", 4L), 150, 1);
GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L), GT_ModHandler.getIC2Item("ironCableItem", 6L), 200, 2);
GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L), GT_ModHandler.getIC2Item("ironCableItem", 6L), 200, 2);
- GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Gold, 1L), GT_ModHandler.getIC2Item("goldCableItem", 6L), 200, 1);
+ GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Gold, 1L), GT_ModHandler.getIC2Item("goldCableItem", 6L), 200, 1);}
GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 8L), GT_ModHandler.getIC2Item("carbonFiber", 1L), 400, 2);
GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphene, 1L), GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Graphene, 1L), 400, 2);
if (!GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "torchesFromCoal", false)) {
@@ -957,11 +959,12 @@ public class GT_MachineRecipeLoader
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Phosphorus, 1L), new ItemStack(Blocks.torch, 6), 400, 1);
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1L), ItemList.IC2_Resin.get(1L, new Object[0]), new ItemStack(Blocks.torch, 6), 400, 1);
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 8L), new ItemStack(Items.flint, 1), ItemList.IC2_Compressed_Coal_Ball.get(1L, new Object[0]), 400, 4);
+ if(!GT_Mod.gregtechproxy.mDisableIC2Cables){
GT_Values.RA.addAssemblerRecipe(GT_ModHandler.getIC2Item("tinCableItem", 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 1L), GT_ModHandler.getIC2Item("insulatedTinCableItem", 1L), 100, 2);
GT_Values.RA.addAssemblerRecipe(GT_ModHandler.getIC2Item("copperCableItem", 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 1L), GT_ModHandler.getIC2Item("insulatedCopperCableItem", 1L), 100, 2);
GT_Values.RA.addAssemblerRecipe(GT_ModHandler.getIC2Item("goldCableItem", 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 2L), GT_ModHandler.getIC2Item("insulatedGoldCableItem", 1L), 200, 2);
GT_Values.RA.addAssemblerRecipe(GT_ModHandler.getIC2Item("ironCableItem", 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 3L), GT_ModHandler.getIC2Item("insulatedIronCableItem", 1L), 300, 2);
-
+ }
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Wood, 1L), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1L), new ItemStack(Items.wooden_sword, 1), 100, 16);
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Stone, 1L), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1L), new ItemStack(Items.stone_sword, 1), 100, 16);
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1L), new ItemStack(Items.iron_sword, 1), 100, 16);
diff --git a/main/java/gregtech/loaders/postload/GT_ScrapboxDropLoader.java b/main/java/gregtech/loaders/postload/GT_ScrapboxDropLoader.java
index 4d32ce3074..b916886abe 100644
--- a/main/java/gregtech/loaders/postload/GT_ScrapboxDropLoader.java
+++ b/main/java/gregtech/loaders/postload/GT_ScrapboxDropLoader.java
@@ -1,12 +1,15 @@
/* 1: */ package gregtech.loaders.postload;
/* 2: */
-/* 3: */ import gregtech.api.enums.ItemList;
+/* 3: */ import gregtech.GT_Mod;
+import gregtech.api.enums.ItemList;
/* 4: */ import gregtech.api.enums.Materials;
/* 5: */ import gregtech.api.enums.OrePrefixes;
/* 6: */ import gregtech.api.util.GT_Log;
/* 7: */ import gregtech.api.util.GT_ModHandler;
/* 8: */ import gregtech.api.util.GT_OreDictUnificator;
+
/* 9: */ import java.io.PrintStream;
+
/* 10: */ import net.minecraft.init.Blocks;
/* 11: */ import net.minecraft.init.Items;
/* 12: */ import net.minecraft.item.ItemStack;
@@ -57,8 +60,9 @@
/* 57:54 */ GT_ModHandler.addScrapboxDrop(1.8F, ItemList.Circuit_Board_Basic.get(1L, new Object[0]));
/* 58:55 */ GT_ModHandler.addScrapboxDrop(0.4F, ItemList.Circuit_Board_Advanced.get(1L, new Object[0]));
/* 59:56 */ GT_ModHandler.addScrapboxDrop(0.2F, ItemList.Circuit_Board_Elite.get(1L, new Object[0]));
+ if(!GT_Mod.gregtechproxy.mDisableIC2Cables){
/* 60:57 */ GT_ModHandler.addScrapboxDrop(2.0F, GT_ModHandler.getIC2Item("insulatedCopperCableItem", 1L));
-/* 61:58 */ GT_ModHandler.addScrapboxDrop(0.4F, GT_ModHandler.getIC2Item("insulatedGoldCableItem", 1L));
+/* 61:58 */ GT_ModHandler.addScrapboxDrop(0.4F, GT_ModHandler.getIC2Item("insulatedGoldCableItem", 1L));}
/* 62:59 */ GT_ModHandler.addScrapboxDrop(0.9F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L));
/* 63:60 */ GT_ModHandler.addScrapboxDrop(0.8F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L));
/* 64:61 */ GT_ModHandler.addScrapboxDrop(0.8F, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L));
diff --git a/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
index af525f8c00..78264f6284 100644
--- a/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -1046,12 +1046,12 @@ import net.minecraftforge.oredict.OreDictionary;
/* 1024: 962 */ makeWires(Materials.RedAlloy, 2000, 0L, 1L, 1L, gregtech.api.enums.GT_Values.V[0], true, false);
/* 1025: */
/* 1026: 964 */ makeWires(Materials.Superconductor, 2020, 1L, 1L, 4L, gregtech.api.enums.GT_Values.V[9], false, true);
-/* 1027: */
+/* 1027: */ if(!GT_Mod.gregtechproxy.mDisableIC2Cables){
/* 1028: 966 */ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("copperCableItem", 2L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "xP", Character.valueOf('P'), OrePrefixes.plate.get(Materials.AnyCopper) });
/* 1029: 967 */ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("goldCableItem", 4L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "xP", Character.valueOf('P'), OrePrefixes.plate.get(Materials.Gold) });
/* 1030: 968 */ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("ironCableItem", 3L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "xP", Character.valueOf('P'), OrePrefixes.plate.get(Materials.AnyIron) });
/* 1031: 969 */ GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("tinCableItem", 3L), GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "xP", Character.valueOf('P'), OrePrefixes.plate.get(Materials.Tin) });
-/* 1032: */
+/* 1032: */ }
/* 1033: */
/* 1034: */
/* 1035: 973 */ GT_OreDictUnificator.registerOre(OrePrefixes.pipeSmall.get(Materials.Wood), new GT_MetaPipeEntity_Fluid(5101, "GT_Pipe_Wood_Small", "Small Wooden Fluid Pipe", 0.375F, Materials.Wood, 10, 350, false).getStackForm(1L));
diff --git a/main/resources/assets/gregtech/lang/en_US.lang b/main/resources/assets/gregtech/lang/en_US.lang
new file mode 100644
index 0000000000..2a9610b3ea
--- /dev/null
+++ b/main/resources/assets/gregtech/lang/en_US.lang
@@ -0,0 +1,361 @@
+achievement.Naquadah=Find Naquadah Ore
+achievement.Naquadah.desc=Height: 10-60, Chance: 10, //End
+achievement.NaquadahEnriched=Find NaquadahEnriched Ore
+achievement.NaquadahEnriched.desc=Height: 10-60, Chance: 10, //End
+achievement.Lignite=Find Lignite Ore
+achievement.Lignite.desc=Height: 50-130, Chance: 160, Overworld//
+achievement.Coal=Find Coal Ore
+achievement.Coal.desc=Height: 50-130, Chance: 160, Overworld//
+achievement.Magnetite=Find Magnetite Ore
+achievement.Magnetite.desc=Height: 50-120, Chance: 160, Overworld/Nether/
+achievement.Iron=Find Iron Ore
+achievement.Iron.desc=Height: 50-120, Chance: 160, Overworld/Nether/
+achievement.VanadiumMagnetite=Find VanadiumMagnetite Ore
+achievement.VanadiumMagnetite.desc=Height: 50-120, Chance: 160, Overworld/Nether/
+achievement.Gold=Find Gold Ore
+achievement.Gold.desc=Height: 60-80, Chance: 160, Overworld//
+achievement.BrownLimonite=Find BrownLimonite Ore
+achievement.BrownLimonite.desc=Height: 10-40, Chance: 120, Overworld/Nether/
+achievement.YellowLimonite=Find YellowLimonite Ore
+achievement.YellowLimonite.desc=Height: 10-40, Chance: 120, Overworld/Nether/
+achievement.BandedIron=Find BandedIron Ore
+achievement.BandedIron.desc=Height: 10-40, Chance: 120, Overworld/Nether/
+achievement.Malachite=Find Malachite Ore
+achievement.Malachite.desc=Height: 10-40, Chance: 120, Overworld/Nether/
+achievement.Tin=Find Tin Ore
+achievement.Tin.desc=Height: 40-120, Chance: 50, Overworld//End
+achievement.Cassiterite=Find Cassiterite Ore
+achievement.Cassiterite.desc=Height: 40-120, Chance: 50, Overworld//End
+achievement.Tetrahedrite=Find Tetrahedrite Ore
+achievement.Tetrahedrite.desc=Height: 80-120, Chance: 70, Overworld/Nether/
+achievement.Copper=Find Copper Ore
+achievement.Copper.desc=Height: 80-120, Chance: 70, Overworld/Nether/
+achievement.Stibnite=Find Stibnite Ore
+achievement.Stibnite.desc=Height: 80-120, Chance: 70, Overworld/Nether/
+achievement.NetherQuartz=Find NetherQuartz Ore
+achievement.NetherQuartz.desc=Height: 40-80, Chance: 80, /Nether/
+achievement.Sulfur=Find Sulfur Ore
+achievement.Sulfur.desc=Height: 5-20, Chance: 100, /Nether/
+achievement.Pyrite=Find Pyrite Ore
+achievement.Pyrite.desc=Height: 5-20, Chance: 100, /Nether/
+achievement.Sphalerite=Find Sphalerite Ore
+achievement.Sphalerite.desc=Height: 5-20, Chance: 100, /Nether/
+achievement.Chalcopyrite=Find Chalcopyrite Ore
+achievement.Chalcopyrite.desc=Height: 10-30, Chance: 80, Overworld/Nether/
+achievement.Bauxite=Find Bauxite Ore
+achievement.Bauxite.desc=Height: 50-90, Chance: 80, Overworld//
+achievement.Aluminium=Find Aluminium Ore
+achievement.Aluminium.desc=Height: 50-90, Chance: 80, Overworld//
+achievement.Ilmenite=Find Ilmenite Ore
+achievement.Ilmenite.desc=Height: 50-90, Chance: 80, Overworld//
+achievement.RockSalt=Find RockSalt Ore
+achievement.RockSalt.desc=Height: 50-60, Chance: 50, Overworld//
+achievement.Salt=Find Salt Ore
+achievement.Salt.desc=Height: 50-60, Chance: 50, Overworld//
+achievement.Lepidolite=Find Lepidolite Ore
+achievement.Lepidolite.desc=Height: 50-60, Chance: 50, Overworld//
+achievement.Spodumene=Find Spodumene Ore
+achievement.Spodumene.desc=Height: 50-60, Chance: 50, Overworld//
+achievement.Redstone=Find Redstone Ore
+achievement.Redstone.desc=Height: 10-40, Chance: 60, Overworld/Nether/
+achievement.Ruby=Find Ruby Ore
+achievement.Ruby.desc=Height: 10-40, Chance: 60, Overworld/Nether/
+achievement.Cinnabar=Find Cinnabar Ore
+achievement.Cinnabar.desc=Height: 10-40, Chance: 60, Overworld/Nether/
+achievement.Soapstone=Find Soapstone Ore
+achievement.Soapstone.desc=Height: 10-40, Chance: 40, Overworld//
+achievement.Talc=Find Talc Ore
+achievement.Talc.desc=Height: 10-40, Chance: 40, Overworld//
+achievement.Glauconite=Find Glauconite Ore
+achievement.Glauconite.desc=Height: 10-40, Chance: 40, Overworld//
+achievement.Pentlandite=Find Pentlandite Ore
+achievement.Pentlandite.desc=Height: 10-40, Chance: 40, Overworld//
+achievement.Garnierite=Find Garnierite Ore
+achievement.Garnierite.desc=Height: 10-40, Chance: 40, Overworld/Nether/End
+achievement.Nickel=Find Nickel Ore
+achievement.Nickel.desc=Height: 10-40, Chance: 40, Overworld/Nether/End
+achievement.Cobaltite=Find Cobaltite Ore
+achievement.Cobaltite.desc=Height: 10-40, Chance: 40, Overworld/Nether/End
+achievement.Cooperite=Find Cooperite Ore
+achievement.Cooperite.desc=Height: 40-50, Chance: 5, Overworld//End
+achievement.Palladium=Find Palladium Ore
+achievement.Palladium.desc=Height: 40-50, Chance: 5, Overworld//End
+achievement.Platinum=Find Platinum Ore
+achievement.Platinum.desc=Height: 40-50, Chance: 5, Overworld//End
+achievement.Iridium=Find Iridium Ore
+achievement.Iridium.desc=Height: 40-50, Chance: 5, Overworld//End
+achievement.Pitchblende=Find Pitchblende Ore
+achievement.Pitchblende.desc=Height: 10-40, Chance: 40, Overworld//
+achievement.Uranium=Find Uranium Ore
+achievement.Uranium.desc=Height: 10-40, Chance: 40, Overworld//
+achievement.Uraninite=Find Uraninite Ore
+achievement.Uraninite.desc=Height: 10-40, Chance: 40, Overworld//
+achievement.Plutonium=Find Plutonium Ore
+achievement.Plutonium.desc=Height: 20-30, Chance: 10, Overworld//
+achievement.Bastnasite=Find Bastnasite Ore
+achievement.Bastnasite.desc=Height: 20-40, Chance: 30, Overworld//
+achievement.Monazite=Find Monazite Ore
+achievement.Monazite.desc=Height: 20-40, Chance: 30, Overworld//
+achievement.Neodymium=Find Neodymium Ore
+achievement.Neodymium.desc=Height: 20-40, Chance: 30, Overworld//
+achievement.Wulfenite=Find Wulfenite Ore
+achievement.Wulfenite.desc=Height: 20-50, Chance: 5, Overworld//End
+achievement.Molybdenite=Find Molybdenite Ore
+achievement.Molybdenite.desc=Height: 20-50, Chance: 5, Overworld//End
+achievement.Molybdenum=Find Molybdenum Ore
+achievement.Molybdenum.desc=Height: 20-50, Chance: 5, Overworld//End
+achievement.Powellite=Find Powellite Ore
+achievement.Powellite.desc=Height: 20-50, Chance: 5, Overworld//End
+achievement.Scheelite=Find Scheelite Ore
+achievement.Scheelite.desc=Height: 20-50, Chance: 10, Overworld//End
+achievement.Tungstate=Find Tungstate Ore
+achievement.Tungstate.desc=Height: 20-50, Chance: 10, Overworld//End
+achievement.Lithium=Find Lithium Ore
+achievement.Lithium.desc=Height: 20-50, Chance: 10, Overworld//End
+achievement.Almandine=Find Almandine Ore
+achievement.Almandine.desc=Height: 10-40, Chance: 60, Overworld//
+achievement.Pyrope=Find Pyrope Ore
+achievement.Pyrope.desc=Height: 10-40, Chance: 60, Overworld//
+achievement.Sapphire=Find Sapphire Ore
+achievement.Sapphire.desc=Height: 10-40, Chance: 60, Overworld//
+achievement.GreenSapphire=Find GreenSapphire Ore
+achievement.GreenSapphire.desc=Height: 10-40, Chance: 60, Overworld//
+achievement.Grossular=Find Grossular Ore
+achievement.Grossular.desc=Height: 20-30, Chance: 20, Overworld//End
+achievement.Spessartine=Find Spessartine Ore
+achievement.Spessartine.desc=Height: 20-30, Chance: 20, Overworld//End
+achievement.Pyrolusite=Find Pyrolusite Ore
+achievement.Pyrolusite.desc=Height: 20-30, Chance: 20, Overworld//End
+achievement.Tantalite=Find Tantalite Ore
+achievement.Tantalite.desc=Height: 20-30, Chance: 20, Overworld//End
+achievement.Quartzite=Find Quartzite Ore
+achievement.Quartzite.desc=Height: 40-80, Chance: 60, Overworld//
+achievement.Barite=Find Barite Ore
+achievement.Barite.desc=Height: 40-80, Chance: 60, Overworld//
+achievement.CertusQuartz=Find CertusQuartz Ore
+achievement.CertusQuartz.desc=Height: 40-80, Chance: 60, Overworld//
+achievement.Graphite=Find Graphite Ore
+achievement.Graphite.desc=Height: 5-20, Chance: 40, Overworld//
+achievement.Diamond=Find Diamond Ore
+achievement.Diamond.desc=Height: 5-20, Chance: 40, Overworld//
+achievement.Bentonite=Find Bentonite Ore
+achievement.Bentonite.desc=Height: 10-40, Chance: 60, Overworld//End
+achievement.Magnesite=Find Magnesite Ore
+achievement.Magnesite.desc=Height: 10-40, Chance: 60, Overworld//End
+achievement.Olivine=Find Olivine Ore
+achievement.Olivine.desc=Height: 10-40, Chance: 60, Overworld//End
+achievement.Apatite=Find Apatite Ore
+achievement.Apatite.desc=Height: 40-60, Chance: 60, Overworld//
+achievement.Phosphorus=Find Phosphorus Ore
+achievement.Phosphorus.desc=Height: 40-60, Chance: 60, Overworld//
+achievement.Phosphate=Find Phosphate Ore
+achievement.Phosphate.desc=Height: 40-60, Chance: 60, Overworld//
+achievement.Galena=Find Galena Ore
+achievement.Galena.desc=Height: 30-60, Chance: 40, Overworld//
+achievement.Silver=Find Silver Ore
+achievement.Silver.desc=Height: 30-60, Chance: 40, Overworld//
+achievement.Lead=Find Lead Ore
+achievement.Lead.desc=Height: 30-60, Chance: 40, Overworld//
+achievement.Lazurite=Find Lazurite Ore
+achievement.Lazurite.desc=Height: 20-50, Chance: 40, Overworld//End
+achievement.Sodalite=Find Sodalite Ore
+achievement.Sodalite.desc=Height: 20-50, Chance: 40, Overworld//End
+achievement.Lapis=Find Lapis Ore
+achievement.Lapis.desc=Height: 20-50, Chance: 40, Overworld//End
+achievement.Calcite=Find Calcite Ore
+achievement.Calcite.desc=Height: 20-50, Chance: 40, Overworld//End
+achievement.Beryllium=Find Beryllium Ore
+achievement.Beryllium.desc=Height: 5-30, Chance: 30, Overworld//End
+achievement.Emerald=Find Emerald Ore
+achievement.Emerald.desc=Height: 5-30, Chance: 30, Overworld//End
+achievement.Thorium=Find Thorium Ore
+achievement.Thorium.desc=Height: 5-30, Chance: 30, Overworld//End
+
+achievement.flintpick=First Tools
+achievement.flintpick.desc=Craft a flint pick
+achievement.crops=Farming
+achievement.crops.desc=Craft Crops
+achievement.havestlead=Harvest Lead
+achievement.havestlead.desc=Get Plumbilia Leafs
+achievement.havestcopper=Harvest Copper
+achievement.havestcopper.desc=Get Coppon Fiber
+achievement.havesttin=Harvest Tin
+achievement.havesttin.desc=Get Tine Twig
+achievement.havestoil=Harvest Oil
+achievement.havestoil.desc=Get Oilberrys
+achievement.havestiron=Harvest Iron
+achievement.havestiron.desc=Get Ferru Leafs
+achievement.havestgold=Harvest Gold
+achievement.havestgold.desc=Get Aurelia Leafs
+achievement.havestsilver=Harvest Silver
+achievement.havestsilver.desc=Get Argentia Leafs
+achievement.havestemeralds=Harvest Emeralds
+achievement.havestemeralds.desc=Get Bobs yer uncle Berrys
+achievement.tools=More Tools
+achievement.tools.desc=Craft a Hammer
+achievement.driltime=Drilltime!
+achievement.driltime.desc=Craft a Drill(LV)
+achievement.brrrr=Brrrr...
+achievement.brrrr.desc=Craft a Chainsaw(LV)
+achievement.highpowerdrill=High Power Drill
+achievement.highpowerdrill.desc=Craft a Drill(HV)
+achievement.hammertime=Hammertime
+achievement.hammertime.desc=Craft a Jackhammer
+achievement.repair=Repairs
+achievement.repair.desc=Craft a Disassembler
+achievement.unitool=Universal Tool
+achievement.unitool.desc=Craft a Universal Spade
+achievement.recycling=Recycling
+achievement.recycling.desc=Craft a Arc Furnace
+achievement.crushed=Crushed
+achievement.crushed.desc=Crush Ores with a Hammer
+achievement.cleandust=Clean
+achievement.cleandust.desc=Clean a dust in a cauldron
+achievement.washing=Washing
+achievement.washing.desc=Get purified crushed ores
+achievement.spinit=Spin it
+achievement.spinit.desc=Get centrifuged ore
+achievement.newfuel=New Fuel
+achievement.newfuel.desc=Craft a Thorium Fuel Cell
+achievement.newmetal=New Metal
+achievement.newmetal.desc=Make Lutetium from Thorium Fuel Cells
+achievement.reflect=Reflect
+achievement.reflect.desc=Craft a Iridium Neutron Reflector
+achievement.bronze=Bronze
+achievement.bronze.desc=Craft bronze dust
+achievement.simplyeco=Simply Eco
+achievement.simplyeco.desc=Craft a Solar Boiler
+achievement.firststeam=First Steam
+achievement.firststeam.desc=Craft a Bronze Boiler
+achievement.alloysmelter=Alloysmelter
+achievement.alloysmelter.desc=Craft a Steam Alloysmelter
+achievement.macerator=Macerator
+achievement.macerator.desc=Craft a Steam Macerator
+achievement.extract=Extract
+achievement.extract.desc=Craft a Steam Extractor
+achievement.smallparts=Small Parts
+achievement.smallparts.desc=Craft NAND Chips
+achievement.bettercircuits=Better Circuits
+achievement.bettercircuits.desc=Get Good Circuits
+achievement.stepforward=Step forward
+achievement.stepforward.desc=Craft Advanced Circuits
+achievement.energyflow=Energyflow
+achievement.energyflow.desc=Get Energyflow Circuits
+achievement.orbs=Orbs
+achievement.orbs.desc=Get a Lapotronic Energy Orb
+achievement.thatspower=That is Power
+achievement.thatspower.desc=Get a Lapotronic Energy Orb Cluster
+achievement.datasaving=Datasaving
+achievement.datasaving.desc=Get a Dataorb
+achievement.superbuffer=Superbuffer
+achievement.superbuffer.desc=Craft a LV Superbuffer
+achievement.newstorage=New Storage
+achievement.newstorage.desc=Craft a Quantum Chest
+achievement.whereistheocean=Where is the Ocean?
+achievement.whereistheocean.desc=Build a Quantum Tank
+achievement.luck=Real Luck
+achievement.luck.desc=Find a Zero Point Module in a Jungle Temple
+achievement.steel=Steel
+achievement.steel.desc=Produce Steel in a Bronze Blast Furnace
+achievement.highpressure=High Pressure
+achievement.highpressure.desc=Craft a High Pressure Boiler
+achievement.extremepressure=Extreme Pressure
+achievement.extremepressure.desc=Start up a Large Boiler
+achievement.cheapermac=Cheaper than a Macerator
+achievement.cheapermac.desc=Craft a LV Forge Hammer
+achievement.complexalloys=Complex Alloys
+achievement.complexalloys.desc=Produce a Blue Steel Ingot
+achievement.magneticiron=Magnetic Iron
+achievement.magneticiron.desc=Craft a Magnetic Iron Rod with 4 Redstone
+achievement.lvmotor=Low Voltage Motor
+achievement.lvmotor.desc=Craft a Low Voltage Motor
+achievement.pump=Pump
+achievement.pump.desc=Craft a LV Pump
+achievement.closeit=Close it!
+achievement.closeit.desc=Get a Shutter Cover
+achievement.slurp=Slurp
+achievement.slurp.desc=Craft a Advanced Pump II
+achievement.transport=Transport
+achievement.transport.desc=Craft a LV Conveyor
+achievement.manipulation=Manipulation
+achievement.manipulation.desc=Get a Machine Controller
+achievement.buffer=Buffer
+achievement.buffer.desc=Craft a LV Chest Buffer
+achievement.complexmachines=Complex Machines
+achievement.complexmachines.desc=Craft a LV Robot Arm
+achievement.avengers=Avengers Assemble
+achievement.avengers.desc=Craft a LV Assembler
+achievement.filterregulate=Filter and Regulate
+achievement.filterregulate.desc=Get a Item Filter
+achievement.steampower=Steampower
+achievement.steampower.desc=Craft a Basic Steam Turbine
+achievement.batterys=Batterys
+achievement.batterys.desc=Craft a Battery Buffer
+achievement.badweather=Bad Weather
+achievement.badweather.desc=Forget to build a Roof above your Machines
+achievement.electricproblems=Electric Problems
+achievement.electricproblems.desc=Loose a Machine due to Overvoltage
+achievement.ebf=Electric Blast Furnace
+achievement.ebf.desc=Craft a Electric Blast Furnace
+achievement.energyhatch=You need three of them
+achievement.energyhatch.desc=Craft a LV Energy Hatch
+achievement.aluminium=Aluminium
+achievement.aluminium.desc=Produce a Aluminium Ingot
+achievement.highpowersmelt=High Power Smelter
+achievement.highpowersmelt.desc=Craft a Multi Furnace
+achievement.oilplant=Oil Plant
+achievement.oilplant.desc=Start up a Distillation Tower
+achievement.factory=Factory
+achievement.factory.desc=Craft a Processing Array
+achievement.upgradeebf=Upgrade your EBF
+achievement.upgradeebf.desc=Craft a MV Energy Hatch
+achievement.maintainance=Maintainance
+achievement.maintainance.desc=Fix all Maintainance Problems in a Machine
+achievement.titan=Titanium
+achievement.titan.desc=Produce a Titanium Ingot
+achievement.magic=Magic?
+achievement.magic.desc=Craft a LV Magic Energy Converter
+achievement.highmage=High Mage
+achievement.highmage.desc=Craft a HV Magic Energy Absorber
+achievement.artificaldia=Artifical Diamond
+achievement.artificaldia.desc=Produce a Industrial Diamond in a Implosion Compressor
+achievement.muchsteam=So much Steam
+achievement.muchsteam.desc=Start up a Large Turbine
+achievement.efficientsteam=Efficient Steam
+achievement.efficientsteam.desc=Use Superheated Steam in a Large Turbine
+achievement.upgrade=Upgrade your Coils
+achievement.upgrade.desc=Craft a Kanthal Heating Coil
+achievement.tungsten=Tungsten
+achievement.tungsten.desc=Cool down a Hot Tungsten Ingot
+achievement.hightech=Hightech
+achievement.hightech.desc=Craft a LV Field Generator
+achievement.amplifier=Amplifier
+achievement.amplifier.desc=Craft a AmpFab
+achievement.scanning=Scanning
+achievement.scanning.desc=Complete a Element Scan
+achievement.alienpower=Alien Power
+achievement.alienpower.desc=Craft a Naquadah Generator Mark I
+achievement.universal=Universal
+achievement.universal.desc=Craft a MassFab
+achievement.replication=Replication
+achievement.replication.desc=Crafta Replicator
+achievement.upgrade2=Upgrade your Coils (again)
+achievement.upgrade2.desc=Craft a Nichrome Heating Coil
+achievement.tungstensteel=Tungstensteel
+achievement.tungstensteel.desc=Cool down a Hot Tungstensteel Ingot
+achievement.conducting=Conducting
+achievement.conducting.desc=Craft a Superconductiong Coil
+achievement.fusion=Fusion
+achievement.fusion.desc=Produce Helium Plasma
+achievement.higherefficency=Higher efficiency
+achievement.higherefficency.desc=Produce Nitrogen Plasma
+achievement.advancing=Advancing
+achievement.advancing.desc=Produce Europium
+achievement.tothelimit=Going for the Limit
+achievement.tothelimit.desc=Produce Americium
+achievement.denseaspossible=As Dense As Possible
+achievement.denseaspossible.desc=Produce Neutronium
+achievement.fullefficiency=Full Efficiency
+achievement.fullefficiency.desc=Craft a Plasma Generator III
+achievement.whatnow=What now?
+achievement.whatnow.desc=Craft a Ultimate Battery \ No newline at end of file
diff --git a/main/resources/assets/gregtech/textures/items/gt.metaitem.02/Thumbs.db b/main/resources/assets/gregtech/textures/items/gt.metaitem.02/Thumbs.db
index f42eaf5041..cdc2a841f9 100644
--- a/main/resources/assets/gregtech/textures/items/gt.metaitem.02/Thumbs.db
+++ b/main/resources/assets/gregtech/textures/items/gt.metaitem.02/Thumbs.db
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/iconsets/TURBINE.png b/main/resources/assets/gregtech/textures/items/iconsets/TURBINE.png
new file mode 100644
index 0000000000..7be4cc29d3
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/iconsets/TURBINE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/iconsets/TURBINE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/iconsets/TURBINE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/iconsets/TURBINE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/iconsets/Thumbs.db b/main/resources/assets/gregtech/textures/items/iconsets/Thumbs.db
index 0cae027cf9..734c40032f 100644
--- a/main/resources/assets/gregtech/textures/items/iconsets/Thumbs.db
+++ b/main/resources/assets/gregtech/textures/items/iconsets/Thumbs.db
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/Thumbs.db b/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/Thumbs.db
index 8037ca62fe..7124131009 100644
--- a/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/Thumbs.db
+++ b/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/Thumbs.db
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/DIAMOND/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/DULL/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/DULL/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/DULL/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/DULL/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/DULL/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/DULL/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/DULL/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/DULL/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/DULL/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/DULL/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/DULL/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/DULL/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/EMERALD/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FIERY/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/FIERY/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FIERY/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FIERY/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/FIERY/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FIERY/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FIERY/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/FIERY/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FIERY/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FIERY/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/FIERY/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FIERY/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FINE/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/FINE/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FINE/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FINE/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/FINE/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FINE/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FINE/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/FINE/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FINE/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FINE/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/FINE/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FINE/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FLINT/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/FLINT/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FLINT/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FLINT/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/FLINT/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FLINT/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FLINT/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/FLINT/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FLINT/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FLINT/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/FLINT/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FLINT/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FLUID/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/FLUID/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FLUID/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FLUID/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/FLUID/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FLUID/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FLUID/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/FLUID/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FLUID/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/FLUID/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/FLUID/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/FLUID/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GEM_HORIZONTAL/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GEM_VERTICAL/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GLASS/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/GLASS/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GLASS/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GLASS/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/GLASS/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GLASS/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GLASS/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/GLASS/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GLASS/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/GLASS/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/GLASS/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/GLASS/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/LAPIS/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/LEAF/Thumbs.db b/main/resources/assets/gregtech/textures/items/materialicons/LEAF/Thumbs.db
new file mode 100644
index 0000000000..d91d05245d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/LEAF/Thumbs.db
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/LEAF/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/LEAF/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/LEAF/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/LEAF/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/LEAF/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/LEAF/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/LIGNITE/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/MAGNETIC/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/METALLIC/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/NETHERSTAR/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/NONE/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/NONE/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/NONE/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/NONE/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/NONE/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/NONE/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/NONE/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/NONE/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/NONE/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/NONE/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/NONE/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/NONE/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/OPAL/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/OPAL/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/OPAL/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/OPAL/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/OPAL/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/OPAL/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/OPAL/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/OPAL/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/OPAL/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/OPAL/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/OPAL/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/OPAL/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/PAPER/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/PAPER/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/PAPER/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/PAPER/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/PAPER/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/PAPER/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/PAPER/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/PAPER/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/PAPER/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/PAPER/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/PAPER/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/PAPER/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/POWDER/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/POWDER/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/POWDER/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/POWDER/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/POWDER/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/POWDER/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/POWDER/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/POWDER/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/POWDER/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/POWDER/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/POWDER/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/POWDER/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/QUARTZ/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/ROUGH/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/RUBY/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/RUBY/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/RUBY/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/RUBY/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/RUBY/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/RUBY/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/RUBY/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/RUBY/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/RUBY/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/RUBY/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/RUBY/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/RUBY/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SAND/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/SAND/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SAND/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SAND/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/SAND/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SAND/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SAND/Thumbs.db b/main/resources/assets/gregtech/textures/items/materialicons/SAND/Thumbs.db
new file mode 100644
index 0000000000..0156664b08
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SAND/Thumbs.db
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SAND/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/SAND/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SAND/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SAND/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/SAND/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SAND/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SHARDS/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SHINY/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/SHINY/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SHINY/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SHINY/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/SHINY/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SHINY/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SHINY/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/SHINY/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SHINY/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/SHINY/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/SHINY/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/SHINY/turbineBlade_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/WOOD/TURBINE_BLADE.png b/main/resources/assets/gregtech/textures/items/materialicons/WOOD/TURBINE_BLADE.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/WOOD/TURBINE_BLADE.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/WOOD/TURBINE_BLADE_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/WOOD/TURBINE_BLADE_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/WOOD/TURBINE_BLADE_OVERLAY.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/WOOD/turbineBlade.png b/main/resources/assets/gregtech/textures/items/materialicons/WOOD/turbineBlade.png
new file mode 100644
index 0000000000..a4a6bd742d
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/WOOD/turbineBlade.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/materialicons/WOOD/turbineBlade_OVERLAY.png b/main/resources/assets/gregtech/textures/items/materialicons/WOOD/turbineBlade_OVERLAY.png
new file mode 100644
index 0000000000..d83a131004
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/materialicons/WOOD/turbineBlade_OVERLAY.png
Binary files differ