aboutsummaryrefslogtreecommitdiff
path: root/main/java/gregtech
diff options
context:
space:
mode:
Diffstat (limited to 'main/java/gregtech')
-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
33 files changed, 835 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), Ch