diff --git a/main/java/gregtech/GT_Mod.java b/main/java/gregtech/GT_Mod.java index f479653d..a89bc0a2 100644 --- a/main/java/gregtech/GT_Mod.java +++ b/main/java/gregtech/GT_Mod.java @@ -15,15 +15,14 @@ /* 16: */ import cpw.mods.fml.common.event.FMLServerStartingEvent; /* 17: */ import cpw.mods.fml.common.event.FMLServerStoppingEvent; /* 18: */ import cpw.mods.fml.common.registry.EntityRegistry; -import forestry.factory.gadgets.MachineCentrifuge; -/* 19: */ import forestry.factory.gadgets.MachineCentrifuge.Recipe; + import forestry.factory.gadgets.MachineCentrifuge; /* 20: */ import forestry.factory.gadgets.MachineCentrifuge.RecipeManager; -import forestry.factory.gadgets.MachineSqueezer; + import forestry.factory.gadgets.MachineSqueezer; /* 23: */ import gregtech.api.GregTech_API; /* 24: */ import gregtech.api.enchants.Enchantment_EnderDamage; /* 25: */ import gregtech.api.enchants.Enchantment_Radioactivity; /* 26: */ import gregtech.api.enums.ConfigCategories.Recipes; -import gregtech.api.enums.*; + import gregtech.api.enums.*; /* 33: */ import gregtech.api.enums.Textures.BlockIcons; /* 34: */ import gregtech.api.enums.Textures.ItemIcons; /* 35: */ import gregtech.api.interfaces.internal.IGT_Mod; @@ -41,7 +40,7 @@ import gregtech.api.enums.*; /* 47: */ import gregtech.api.util.GT_Recipe; /* 48: */ import gregtech.api.util.GT_Recipe.GT_Recipe_Map; /* 49: */ import gregtech.api.util.GT_RecipeRegistrator; -import gregtech.api.util.GT_SpawnEventHandler; + import gregtech.api.util.GT_SpawnEventHandler; /* 50: */ import gregtech.api.util.GT_Utility; /* 51: */ import gregtech.common.GT_DummyWorld; /* 52: */ import gregtech.common.GT_Network; @@ -54,7 +53,7 @@ import gregtech.api.util.GT_SpawnEventHandler; /* 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; + 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; @@ -103,12 +102,12 @@ import gregtech.loaders.misc.GT_Achievements; /* 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; + import net.minecraft.stats.Achievement; /* 109: */ import net.minecraft.util.WeightedRandomChestContent; /* 110: */ import net.minecraft.world.World; /* 111: */ import net.minecraft.world.biome.BiomeGenBase; /* 112: */ import net.minecraftforge.common.ChestGenHooks; -import net.minecraftforge.common.ForgeVersion; + import net.minecraftforge.common.ForgeVersion; /* 113: */ import net.minecraftforge.common.config.Configuration; /* 114: */ import net.minecraftforge.common.config.Property; /* 115: */ import net.minecraftforge.fluids.FluidContainerRegistry; @@ -316,6 +315,7 @@ import net.minecraftforge.common.ForgeVersion; GregTech_API.mEUtoRF = GregTech_API.sOPStuff.get(ConfigCategories.general, "100EUtoRF", 360); GregTech_API.mRFtoEU = GregTech_API.sOPStuff.get(ConfigCategories.general, "100RFtoEU", 20); GregTech_API.mRFExplosions = GregTech_API.sOPStuff.get(ConfigCategories.general, "RFExplosions", true); + GregTech_API.meIOLoaded = Loader.isModLoaded("EnderIO"); /* 310:211 */ if (tMainConfig.get("general", "hardermobspawners", true).getBoolean(true)) { /* 311:211 */ Blocks.mob_spawner.setHardness(500.0F).setResistance(6000000.0F); @@ -570,14 +570,23 @@ import net.minecraftforge.common.ForgeVersion; /* 559: */ try /* 560: */ { /* 561:415 */ for (Object tRecipe : MachineCentrifuge.RecipeManager.recipes) -/* 562: */ { -/* 563:416 */ Integer[] tOriginalChances = (Integer[])((MachineCentrifuge.Recipe)tRecipe).products.values().toArray(new Integer[((MachineCentrifuge.Recipe)tRecipe).products.size()]); -/* 564:417 */ ItemStack[] tOutputs = (ItemStack[])((MachineCentrifuge.Recipe)tRecipe).products.keySet().toArray(new ItemStack[((MachineCentrifuge.Recipe)tRecipe).products.size()]); -/* 565:418 */ int[] tChances = new int[tOriginalChances.length]; -/* 566:419 */ for (int i = 0; i < tOriginalChances.length; i++) { -/* 567:419 */ tChances[i] = (tOriginalChances[i].intValue() * 100); -/* 568: */ } -/* 569:420 */ GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.addRecipe(true, new ItemStack[] { ((MachineCentrifuge.Recipe)tRecipe).resource }, tOutputs, null, tChances, null, null, 128, 5, 0); +/* 562: */ { + + + Map outputs = ((MachineCentrifuge.CentrifugeRecipe)tRecipe).getAllProducts(); +/* 564:417 */ ItemStack[] tOutputs = new ItemStack[outputs.size()]; +/* 565:418 */ int[] tChances = new int[outputs.size()]; +int i =0; +for (Map.Entry entry : outputs.entrySet()) { + tChances[i] = (int) (entry.getValue()*10000); + tOutputs[i] = entry.getKey().copy(); + i++; +} +///* 566:419 */ for (int i = 0; i < outputs.size(); i++) { +// tOutputs[i] = outputs.entrySet(). +///* 567:419 */ tChances[i] = (tOriginalChances[i].intValue() * 100); +///* 568: */ } +/* 569:420 */ GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.addRecipe(true, new ItemStack[] { ((MachineCentrifuge.CentrifugeRecipe)tRecipe).getInput() }, tOutputs, null, tChances, null, null, 128, 5, 0); /* 570: */ } /* 571: */ } /* 572: */ catch (Throwable e) @@ -768,8 +777,7 @@ import net.minecraftforge.common.ForgeVersion; /* 757: */ } /* 758: */ } /* 759: */ } - if(gregtechproxy.mAchievements){ - achievements = new GT_Achievements();} + achievements = new GT_Achievements(); /* 760: */ Map.Entry tRecipe; /* 761:540 */ GT_Log.out.println("GT_Mod: Loading finished, deallocating temporary Init Variables."); /* 762:541 */ GregTech_API.sBeforeGTPreload = null; diff --git a/main/java/gregtech/api/GregTech_API.java b/main/java/gregtech/api/GregTech_API.java index efae1af6..15140242 100644 --- a/main/java/gregtech/api/GregTech_API.java +++ b/main/java/gregtech/api/GregTech_API.java @@ -118,6 +118,7 @@ public class GregTech_API { public static boolean sTimber = F, sDrinksAlwaysDrinkable = F, sMultiThreadedSounds = F, sDoShowAllItemsInCreative = F, sColoredGUI = T, sConstantEnergy = T, sMachineExplosions = T, sMachineFlammable = T, sMachineNonWrenchExplosions = T, sMachineRainExplosions = T, sMachineThunderExplosions = T, sMachineFireExplosions = T, sMachineWireFire = true; public static boolean mOutputRF =false; public static boolean mInputRF =false; + public static boolean meIOLoaded =false; public static int mEUtoRF = 360; public static int mRFtoEU = 20; public static boolean mRFExplosions = true; diff --git a/main/java/gregtech/api/enums/Materials.java b/main/java/gregtech/api/enums/Materials.java index c69392ca..e45ce625 100644 --- a/main/java/gregtech/api/enums/Materials.java +++ b/main/java/gregtech/api/enums/Materials.java @@ -546,7 +546,7 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer { WoodSealed ( 889, TextureSet.SET_WOOD , 3.0F, 24, 0, 1|2 |64|128 , 80, 40, 0, 0, "Sealed Wood" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeBrown , 0, Arrays.asList(new MaterialStack(Wood, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.ARBOR, 2), new TC_AspectStack(TC_Aspects.FABRICO, 1))), LiveRoot ( 832, TextureSet.SET_WOOD , 1.0F, 0, 1, 1 , 220, 200, 0, 0, "Liveroot" , 5, 16, -1, 0, F, F, 2, 4, 3, Dyes.dyeBrown , 2, Arrays.asList(new MaterialStack(Wood, 3), new MaterialStack(Magic, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.ARBOR, 2), new TC_AspectStack(TC_Aspects.VICTUS, 2), new TC_AspectStack(TC_Aspects.PRAECANTIO, 1))), IronWood ( 338, TextureSet.SET_WOOD , 6.0F, 384, 2, 1|2 |64|128 , 150, 140, 110, 0, "Ironwood" , 5, 8, -1, 0, F, F, 2, 19, 18, Dyes.dyeBrown , 2, Arrays.asList(new MaterialStack(Iron, 9), new MaterialStack(LiveRoot, 9), new MaterialStack(Gold, 1))), - Glass ( 890, TextureSet.SET_GLASS , 1.0F, 4, 0, 1 |4 , 250, 250, 250, 220, "Glass" , 0, 0, 800, 0, F, T, 1, 1, 1, Dyes.dyeWhite , 2, Arrays.asList(new MaterialStack(SiliconDioxide, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 2))), + Glass ( 890, TextureSet.SET_GLASS , 1.0F, 4, 0, 1 |4 , 250, 250, 250, 220, "Glass" , 0, 0, 1500, 0, F, T, 1, 1, 1, Dyes.dyeWhite , 2, Arrays.asList(new MaterialStack(SiliconDioxide, 1)), Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 2))), Perlite ( 925, TextureSet.SET_DULL , 1.0F, 0, 1, 1 |8 , 30, 20, 30, 0, "Perlite" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeBlack , 2, Arrays.asList(new MaterialStack(Obsidian, 2), new MaterialStack(Water, 1))), Borax ( 941, TextureSet.SET_FINE , 1.0F, 0, 1, 1 |8 , 250, 250, 250, 0, "Borax" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeWhite , 1, Arrays.asList(new MaterialStack(Sodium, 2), new MaterialStack(Boron, 4), new MaterialStack(Water, 10), new MaterialStack(Oxygen, 7))), Lignite ( 538, TextureSet.SET_LIGNITE , 1.0F, 0, 0, 1 |4|8 , 100, 70, 70, 0, "Lignite Coal" , 0, 0, -1, 0, F, F, 1, 1, 1, Dyes.dyeBlack , 1, Arrays.asList(new MaterialStack(Carbon, 2), new MaterialStack(Water, 4), new MaterialStack(DarkAsh, 1))), diff --git a/main/java/gregtech/api/enums/OrePrefixes.java b/main/java/gregtech/api/enums/OrePrefixes.java index 06e1ae97..fb7510dd 100644 --- a/main/java/gregtech/api/enums/OrePrefixes.java +++ b/main/java/gregtech/api/enums/OrePrefixes.java @@ -219,6 +219,7 @@ public enum OrePrefixes { batterySingleuse ("Single Use Batteries" , "" , "" ,F,T,F,F,F,F,F,F,F,F, 0 , -1, 64, -1), battery ("Reusable Batteries" , "" , "" ,F,T,F,F,F,F,F,F,F,F, 0 , -1, 64, -1), // Introduced by Calclavia circuit ("Circuits" , "" , "" ,T,T,F,F,F,F,F,F,F,F, 0 , -1, 64, -1), // Introduced by Calclavia + chipset ("Chipsets" , "" , "" ,T,T,F,F,F,F,F,F,F,F, 0 , -1, 64, -1), // Introduced by Buildcraft computer ("Computers" , "" , "" ,T,T,F,F,T,F,F,F,F,F, 0 , -1, 64, -1), // A whole Computer. "computerMaster" = ComputerCube // random known prefixes without special abilities. diff --git a/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java b/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java index cee5bb56..e556f4b5 100644 --- a/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java +++ b/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java @@ -76,9 +76,10 @@ import net.minecraft.world.World; checkHeatAcceptor(reactor, x + 1, y, heatAcceptors); checkHeatAcceptor(reactor, x, y - 1, heatAcceptors); checkHeatAcceptor(reactor, x, y + 1, heatAcceptors); + heat = (int) (heat * sEnergy); while ((heatAcceptors.size() > 0) && (heat > 0)) { - heat *=sEnergy; + int dheat = heat / heatAcceptors.size(); heat -= dheat; dheat = ((IReactorComponent)((ItemStackCoord)heatAcceptors.get(0)).stack.getItem()).alterHeat(reactor, ((ItemStackCoord)heatAcceptors.get(0)).stack, ((ItemStackCoord)heatAcceptors.get(0)).x, ((ItemStackCoord)heatAcceptors.get(0)).y, dheat); diff --git a/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java b/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java index c859f534..85104f45 100644 --- a/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java +++ b/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java @@ -39,6 +39,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile public final Materials mMaterial; public final long mCableLossPerMeter, mAmperage, mVoltage; public final boolean mInsulated, mCanShock; + public long mRestRF; public GT_MetaPipeEntity_Cable(int aID, String aName, String aNameRegional, float aThickNess, Materials aMaterial, long aCableLossPerMeter, long aAmperage, long aVoltage, boolean aInsulated, boolean aCanShock) { super(aID, aName, aNameRegional, 0); @@ -143,6 +144,14 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile int rfOut = (int) (aVoltage * GregTech_API.mEUtoRF / 100); if(((IEnergyReceiver)tTileEntity).receiveEnergy(tDirection, rfOut, true)==rfOut){ ((IEnergyReceiver)tTileEntity).receiveEnergy(tDirection, rfOut, false); rUsedAmperes++; + }else if(((IEnergyReceiver)tTileEntity).receiveEnergy(tDirection, rfOut, true)>0){ + if(mRestRF==0){ + int RFtrans = ((IEnergyReceiver)tTileEntity).receiveEnergy(tDirection, (int) rfOut, false);rUsedAmperes++; + mRestRF = rfOut - RFtrans; + }else{ + int RFtrans = ((IEnergyReceiver)tTileEntity).receiveEnergy(tDirection, (int) mRestRF, false); + mRestRF = mRestRF - RFtrans; + } } if(GregTech_API.mRFExplosions && ((IEnergyReceiver)tTileEntity).getMaxEnergyStored(tDirection) < rfOut * 600){ if(rfOut > 32 * GregTech_API.mEUtoRF / 100) this.doExplosion(rfOut); diff --git a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Transformer.java b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Transformer.java index 7a6b32d7..f3049a4e 100644 --- a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Transformer.java +++ b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Transformer.java @@ -2,6 +2,10 @@ package gregtech.api.metatileentity.implementations; import static gregtech.api.enums.GT_Values.V; import cofh.api.energy.IEnergyProvider; +import cofh.api.energy.IEnergyStorage; +import crazypants.enderio.machine.capbank.TileCapBank; +import crazypants.enderio.machine.capbank.network.ICapBankNetwork; +import crazypants.enderio.power.IPowerContainer; import gregtech.api.GregTech_API; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; @@ -82,7 +86,6 @@ public class GT_MetaTileEntity_Transformer extends GT_MetaTileEntity_TieredMachi for (byte i = 0; i < 6 && aBaseMetaTileEntity.getStoredEU() < aBaseMetaTileEntity.getEUCapacity(); i++) if (aBaseMetaTileEntity.inputEnergyFrom(i)) { TileEntity tTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(i); if (tTileEntity instanceof IEnergySource && ((IEnergySource)tTileEntity).emitsEnergyTo((TileEntity)aBaseMetaTileEntity, ForgeDirection.getOrientation(GT_Utility.getOppositeSide(i)))) { -// long tEU = (long)((IEnergySource)tTileEntity).getOfferedEnergy(); long tEU = Math.min(maxEUInput(), (long)((IEnergySource)tTileEntity).getOfferedEnergy()); ((IEnergySource)tTileEntity).drawEnergy(tEU); aBaseMetaTileEntity.injectEnergyUnits((byte)6, tEU, 1); @@ -90,6 +93,30 @@ public class GT_MetaTileEntity_Transformer extends GT_MetaTileEntity_TieredMachi long tEU = Math.min(maxEUInput(), (long)((IEnergyProvider)tTileEntity).extractEnergy(ForgeDirection.getOrientation(GT_Utility.getOppositeSide(i)),(int) maxEUInput()* 100 / GregTech_API.mRFtoEU ,false)); tEU = tEU * GregTech_API.mRFtoEU / 100; aBaseMetaTileEntity.injectEnergyUnits((byte)6, tEU, 1); + }else if (GregTech_API.mInputRF && tTileEntity instanceof IEnergyStorage&& ((IEnergyStorage)tTileEntity).extractEnergy(1,true)==1) { + long tEU = Math.min(maxEUInput(), (long)((IEnergyStorage)tTileEntity).extractEnergy((int) maxEUInput()* 100 / GregTech_API.mRFtoEU ,false)); + tEU = tEU * GregTech_API.mRFtoEU / 100; + aBaseMetaTileEntity.injectEnergyUnits((byte)6, tEU, 1); + }else if (GregTech_API.mInputRF && GregTech_API.meIOLoaded && tTileEntity instanceof IPowerContainer && ((IPowerContainer)tTileEntity).getEnergyStored()>0) { + int storedRF = ((IPowerContainer)tTileEntity).getEnergyStored(); + int extractRF = (int) maxEUInput()* 100 / GregTech_API.mRFtoEU; + long tEU =0; + if(tTileEntity instanceof TileCapBank){ + ICapBankNetwork network = ((TileCapBank)tTileEntity).getNetwork(); + if(network!=null&&network.getEnergyStoredL()>0){ + tEU = Math.min((Math.min(Math.min(network.getEnergyStoredL(), storedRF-extractRF),network.getMaxOutput())) * GregTech_API.mRFtoEU / 100,maxEUInput()); + network.addEnergy((int) -(tEU * 100 / GregTech_API.mRFtoEU)); + } + }else{ + if(storedRF>extractRF){ + ((IPowerContainer)tTileEntity).setEnergyStored(storedRF-extractRF); + tEU = maxEUInput(); + }else{ + ((IPowerContainer)tTileEntity).setEnergyStored(0); + tEU = storedRF * GregTech_API.mRFtoEU / 100 ; + } + } + aBaseMetaTileEntity.injectEnergyUnits((byte)6, tEU, 1); } } } diff --git a/main/java/gregtech/common/GT_Proxy.java b/main/java/gregtech/common/GT_Proxy.java index 8bae83ff..0d01131a 100644 --- a/main/java/gregtech/common/GT_Proxy.java +++ b/main/java/gregtech/common/GT_Proxy.java @@ -1868,10 +1868,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { GT_Utility.copyAmount(1L, new Object[] { aOre.mEvent.Ore })); } } else { - System.out - .println("Thingy Name: " - + aOre.mEvent.Name - + " !!!Unknown 'Thingy' detected!!! This Object seems to probably not follow a valid OreDictionary Convention, or I missed a Convention. Please report to GregTech Intergalactical for additional compatiblity. This is not an Error, an Issue nor a Lag Source, it is just an Information, which you should pass to me."); +// System.out.println("Thingy Name: "+ aOre.mEvent.Name+ " !!!Unknown 'Thingy' detected!!! This Object seems to probably not follow a valid OreDictionary Convention, or I missed a Convention. Please report to GregTech Intergalactical for additional compatiblity. This is not an Error, an Issue nor a Lag Source, it is just an Information, which you should pass to me."); } } } diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java index c8bd25d6..193118ee 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java @@ -9,7 +9,6 @@ import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import forestry.core.fluids.Fluids; import gregtech.GT_Mod; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java index 67491976..d2e527fd 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java @@ -70,21 +70,14 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M if ((i != 0) || (j != 0)) { for (byte k = 0; k < 4; k = (byte)(k + 1)) { if (((i == 0) || (j == 0)) && ((k == 1) || (k == 2))) - { - if (getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide > 4 ? -k : tSide == 3 ? k : i)) == getCasingBlock()) - { - if (getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide > 4 ? -k : tSide == 3 ? k : i)) == getCasingMeta()) {} - } - else if (!addToMachineList(getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide > 4 ? -k : tSide == 3 ? k : i)))) { + { + if (getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == getCasingBlock() && getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == getCasingMeta()) + {}else if (!addToMachineList(getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)))) { return false; } } - else if (getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide > 4 ? -k : tSide == 3 ? k : i)) == getCasingBlock()) - { - if (getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide > 4 ? -k : tSide == 3 ? k : i)) == getCasingMeta()) {} - } - else { - return false; + else if (getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == getCasingBlock()&& getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide == 4 ? -k : i), tY + j, tZ + (tSide == 2 ? -k : tSide == 3 ? k : i)) == getCasingMeta()) + {}else {return false; } } } diff --git a/main/java/gregtech/loaders/misc/GT_Achievements.java b/main/java/gregtech/loaders/misc/GT_Achievements.java index 17c22794..b3aab291 100644 --- a/main/java/gregtech/loaders/misc/GT_Achievements.java +++ b/main/java/gregtech/loaders/misc/GT_Achievements.java @@ -43,11 +43,13 @@ import net.minecraftforge.fluids.FluidStack; public class GT_Achievements { public HashMap achievementList; + public HashMap issuedAchievements; public int adjX = 5; public int adjY = 9; public GT_Achievements() { this.achievementList = new HashMap(); + this.issuedAchievements = 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"); @@ -161,11 +163,12 @@ public int adjY = 9; 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, ItemList.ZPM2.get(1, new Object[] {}), "denseaspossible", false); - + + if(GT_Mod.gregtechproxy.mAchievements){ 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); + FMLCommonHandler.instance().bus().register(this);} } public Achievement registerAchievement(String textId, int x, int y, ItemStack icon, Achievement requirement, boolean special) { @@ -218,11 +221,15 @@ public int adjY = 9; } public void issueAchievement(EntityPlayer entityplayer, String textId) { - if(entityplayer==null){ + if(entityplayer==null||!GT_Mod.gregtechproxy.mAchievements){ return; } if (this.achievementList.containsKey(textId)) { - entityplayer.triggerAchievement((StatBase) this.achievementList.get(textId)); + if(this.issuedAchievements.containsKey((entityplayer.getDisplayName()+textId))){ + return; + }else{ + this.issuedAchievements.put((entityplayer.getDisplayName()+textId), true); + entityplayer.triggerAchievement((StatBase) this.achievementList.get(textId));} } } diff --git a/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java b/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java index 9b6e2091..8bebc7c2 100644 --- a/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java +++ b/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java @@ -577,7 +577,11 @@ public class GT_CraftingRecipeLoader 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(GT_ModHandler.getIC2Item("pullingUpgrade", 1L)); + GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("pullingUpgrade", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] {"PHP","WEW",'W', OrePrefixes.cableGt01.get(Materials.Copper),'P', new ItemStack(Blocks.sticky_piston),'R', new ItemStack(Blocks.hopper),'E',OrePrefixes.circuit.get(Materials.Basic)}); + GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("cutter", 1L)); + codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("cutter", 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 8ad3003e..8d458486 100644 --- a/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -621,6 +621,8 @@ public class GT_MachineRecipeLoader GT_ModHandler.addCompressionRecipe(new ItemStack(Items.quartz, 4, 0), new ItemStack(Blocks.quartz_block, 1, 0)); GT_ModHandler.addCompressionRecipe(new ItemStack(Items.wheat, 9, 0), new ItemStack(Blocks.hay_block, 1, 0)); GT_ModHandler.addCompressionRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 4L), new ItemStack(Blocks.glowstone, 1)); + GT_ModHandler.addCompressionRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 1L), GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Graphite, 1L)); + GT_ModHandler.addPulverisationRecipe(GT_ModHandler.getModItem("appliedenergistics2", "tile.BlockSkyStone", 1L, 32767), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 45), GT_Values.NI, 0, false); GT_ModHandler.addPulverisationRecipe(GT_ModHandler.getModItem("appliedenergistics2", "tile.BlockSkyChest", 1L, 32767), GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 8L, 45), GT_Values.NI, 0, false); @@ -704,6 +706,7 @@ public class GT_MachineRecipeLoader GT_ModHandler.removeRecipeByOutput(ItemList.IC2_Fertilizer.get(1L, new Object[0])); GT_Values.RA.addImplosionRecipe(ItemList.IC2_Compressed_Coal_Chunk.get(1L, new Object[0]), 8, ItemList.IC2_Industrial_Diamond.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 4L)); + GT_Values.RA.addFluidExtractionRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quartzite,1L), null, Materials.Glass.getMolten(250), 10000, 600, 28);//(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SiliconDioxide,1L), GT_OreDictUnificator.get(OrePrefixes.dust,Materials.SiliconDioxide,2L),GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Glass,1L)/** GT_Utility.fillFluidContainer(Materials.Glass.getMolten(1000), ItemList.Cell_Empty.get(1, new Object[0]), true, true)**/, 600, 16); GT_Values.RA.addDistillationTowerRecipe(Materials.Oil.getFluid(64L), new FluidStack[]{Materials.Lubricant.getFluid(16L) , Materials.Fuel.getFluid(64L), Materials.SulfuricAcid.getFluid(64L), Materials.Glyceryl.getFluid(4L), Materials.Methane.getGas(60L)},null, 16, 64); GT_Values.RA.addDistillationTowerRecipe(new FluidStack(ItemList.sOilLight, 128), new FluidStack[]{Materials.Lubricant.getFluid(16L) , Materials.Fuel.getFluid(64L), Materials.SulfuricAcid.getFluid(64L), Materials.Glyceryl.getFluid(4L), Materials.Methane.getGas(60L)}, null, 16, 64); @@ -1079,6 +1082,10 @@ public class GT_MachineRecipeLoader GT_Values.RA.addCentrifugeRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 1L), GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Neodymium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Yttrium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Lanthanum, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cerium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cadmium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Caesium, 1L), new int[] { 2500, 2500, 2500, 2500, 2500, 2500 }, 64, 20); GT_Values.RA.addCentrifugeRecipe(GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 45), GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.BasalticMineralSand, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Olivine, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Obsidian, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Basalt, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Flint, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.RareEarth, 1L), new int[] { 2000, 2000, 2000, 2000, 2000, 2000 }, 64, 20); + + GT_Utility.removeSimpleIC2MachineRecipe(new ItemStack(Blocks.cobblestone), GT_ModHandler.getMaceratorRecipeList(), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L)); + GT_Utility.removeSimpleIC2MachineRecipe(new ItemStack(Blocks.stone), GT_ModHandler.getMaceratorRecipeList(),new ItemStack(Blocks.cobblestone)); + if (GregTech_API.sThaumcraftCompat != null) { String tKey = "GT_WOOD_TO_CHARCOAL"; diff --git a/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java index 98f2723d..54a19d49 100644 --- a/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java +++ b/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java @@ -270,7 +270,7 @@ import ic2.core.item.ItemRadioactive; /* 219: */ /* 220: */ /* 221: */ -/* 222:226 */ GT_Mod.gregtechproxy.addFluid("molten.glass", "Molten Glass", Materials.Glass, 4, 800); +/* 222:226 */ GT_Mod.gregtechproxy.addFluid("molten.glass", "Molten Glass", Materials.Glass, 4, 1500); /* 223:227 */ GT_Mod.gregtechproxy.addFluid("molten.redstone", "Molten Redstone", Materials.Redstone, 4, 500); /* 224:228 */ GT_Mod.gregtechproxy.addFluid("molten.blaze", "Molten Blaze", Materials.Blaze, 4, 6400); /* 225:229 */ GT_Mod.gregtechproxy.addFluid("molten.concrete", "Wet Concrete", Materials.Concrete, 4, 300);