diff options
Diffstat (limited to 'main/java')
20 files changed, 227 insertions, 93 deletions
diff --git a/main/java/gregtech/api/enums/TC_Aspects.java b/main/java/gregtech/api/enums/TC_Aspects.java index d3f74ffe2d..79a9b61782 100644 --- a/main/java/gregtech/api/enums/TC_Aspects.java +++ b/main/java/gregtech/api/enums/TC_Aspects.java @@ -3,71 +3,77 @@ package gregtech.api.enums; import java.util.List; public enum TC_Aspects { - AER - , ALIENIS - , AQUA - , ARBOR - , AURAM - , BESTIA - , COGNITO - , CORPUS - , ELECTRUM - , EXAMINIS - , FABRICO - , FAMES - , GELUM - , GRANUM - , HERBA - , HUMANUS - , IGNIS - , INSTRUMENTUM - , ITER - , LIMUS - , LUCRUM - , LUX - , MACHINA - , MAGNETO - , MESSIS - , METALLUM - , METO - , MORTUUS - , MOTUS - , NEBRISUM - , ORDO - , PANNUS - , PERDITIO - , PERFODIO - , PERMUTATIO - , POTENTIA - , PRAECANTIO - , RADIO - , SANO - , SENSUS - , SPIRITUS - , STRONTIO - , TELUM - , TERRA - , TEMPESTAS - , TENEBRAE - , TUTAMEN - , VACUOS - , VENENUM - , VICTUS - , VINCULUM - , VITIUM - , VITREUS - , VOLATUS + AER(1) + , ALIENIS(20) + , AQUA(3) + , ARBOR(1) + , AURAM(16) + , BESTIA(6) + , COGNITO(2) + , CORPUS(2) + , ELECTRUM(24) + , EXAMINIS(32) + , FABRICO(2) + , FAMES(2) + , GELUM(1) + , GRANUM(4) + , HERBA(2) + , HUMANUS(8) + , IGNIS(4) + , INSTRUMENTUM(4) + , ITER(6) + , LIMUS(3) + , LUCRUM(32) + , LUX(4) + , MACHINA(16) + , MAGNETO(24) + , MESSIS(3) + , METALLUM(8) + , METO(2) + , MORTUUS(16) + , MOTUS(4) + , NEBRISUM(48) + , ORDO(8) + , PANNUS(6) + , PERDITIO(2) + , PERFODIO(4) + , PERMUTATIO(12) + , POTENTIA(16) + , PRAECANTIO(16) + , RADIO(48) + , SANO(24) + , SENSUS(4) + , SPIRITUS(24) + , STRONTIO(64) + , TELUM(6) + , TERRA(1) + , TEMPESTAS(64) + , TENEBRAE(24) + , TUTAMEN(12) + , VACUOS(6) + , VENENUM(16) + , VICTUS(4) + , VINCULUM(16) + , VITIUM(48) + , VITREUS(3) + , VOLATUS(12) ; /** * The Thaumcraft Aspect Object of the Mod itself. */ public Object mAspect; - + public int mValue; + + private TC_Aspects(int aValue){ + mValue = aValue; + } + public static class TC_AspectStack { public TC_Aspects mAspect; public long mAmount; + public TC_AspectStack(TC_Aspects aAspect, long aAmount) { mAspect = aAspect; mAmount = aAmount; diff --git a/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java index 2d631545fc..d5b39ee9b7 100644 --- a/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java +++ b/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java @@ -940,7 +940,8 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE @Override public byte getOutputRedstoneSignal(byte aSide) { - return (byte)(getCoverBehaviorAtSide(aSide).manipulatesSidedRedstoneOutput(aSide, getCoverIDAtSide(aSide), getCoverDataAtSide(aSide), this) || (mRedstone && getCoverBehaviorAtSide(aSide).letsRedstoneGoOut(aSide, getCoverIDAtSide(aSide), getCoverDataAtSide(aSide), this))?mSidedRedstone[aSide]&15:0); + return getCoverBehaviorAtSide(aSide).manipulatesSidedRedstoneOutput(aSide, getCoverIDAtSide(aSide), getCoverDataAtSide(aSide), this) ? mSidedRedstone[aSide]: 0; +// return (byte)(getCoverBehaviorAtSide(aSide).manipulatesSidedRedstoneOutput(aSide, getCoverIDAtSide(aSide), getCoverDataAtSide(aSide), this) || (mRedstone && getCoverBehaviorAtSide(aSide).letsRedstoneGoOut(aSide, getCoverIDAtSide(aSide), getCoverDataAtSide(aSide), this))?mSidedRedstone[aSide]&15:0); } @Override @@ -949,7 +950,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE } @Override - public void setOutputRedstoneSignal(byte aSide, byte aStrength) { + public void setOutputRedstoneSignal(byte aSide, byte aStrength) { aStrength = (byte)Math.min(Math.max(0, aStrength), 15); if (aSide >= 0 && aSide < 6 && mSidedRedstone[aSide] != aStrength) { mSidedRedstone[aSide] = aStrength; 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 f4c56427fa..0e7039131a 100644 --- a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -4,6 +4,8 @@ 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.enums.Materials; +import gregtech.api.enums.OrePrefixes; import gregtech.api.gui.GT_Container_MultiMachine; import gregtech.api.gui.GT_GUIContainer_MultiMachine; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -12,6 +14,7 @@ import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.objects.GT_ItemStack; import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; import gregtech.common.items.GT_MetaGenerated_Tool_01; @@ -322,7 +325,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { stopMachine(); return false; } - if (mRuntime++>1000) { + if (mRuntime++>10) { mRuntime = 0; if (getBaseMetaTileEntity().getRandomNumber(6000) == 0) { switch (getBaseMetaTileEntity().getRandomNumber(6)) { @@ -336,6 +339,66 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { } if (mInventory[1] != null && getBaseMetaTileEntity().getRandomNumber(2) == 0 &&!mInventory[1].getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.")) { if(mInventory[1].getItem() instanceof GT_MetaGenerated_Tool_01){ + NBTTagCompound tNBT = mInventory[1].getTagCompound(); + if (tNBT != null) + { + NBTTagCompound tNBT2 = tNBT.getCompoundTag("GT.CraftingComponents"); + if (!tNBT.getBoolean("mDis")) + { + tNBT2 = new NBTTagCompound(); + Materials tMaterial = GT_MetaGenerated_Tool.getPrimaryMaterial(mInventory[1]); + ItemStack tTurbine = GT_OreDictUnificator.get(OrePrefixes.turbineBlade, tMaterial, 1); + int i = mInventory[1].getItemDamage(); + if(i == 170){ + ItemStack tStack = GT_Utility.copyAmount(1, tTurbine); + tNBT2.setTag("Ingredient.0", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.1", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.2", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.3", tStack.writeToNBT(new NBTTagCompound())); + tStack = GT_OreDictUnificator.get(OrePrefixes.stickLong,Materials.Magnalium,1); + tNBT2.setTag("Ingredient.4", tStack.writeToNBT(new NBTTagCompound())); + }else if(i == 172){ + ItemStack tStack = GT_Utility.copyAmount(1, tTurbine); + tNBT2.setTag("Ingredient.0", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.1", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.2", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.3", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.5", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.6", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.7", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.8", tStack.writeToNBT(new NBTTagCompound())); + tStack = GT_OreDictUnificator.get(OrePrefixes.stickLong,Materials.Titanium,1); + tNBT2.setTag("Ingredient.4", tStack.writeToNBT(new NBTTagCompound())); + }else if(i == 174){ + ItemStack tStack = GT_Utility.copyAmount(2, tTurbine); + tNBT2.setTag("Ingredient.0", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.1", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.2", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.3", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.5", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.6", tStack.writeToNBT(new NBTTagCompound())); + tStack = GT_OreDictUnificator.get(OrePrefixes.stickLong,Materials.TungstenSteel,1); + tNBT2.setTag("Ingredient.4", tStack.writeToNBT(new NBTTagCompound())); + }else if(i == 176){ + ItemStack tStack = GT_Utility.copyAmount(2, tTurbine); + tNBT2.setTag("Ingredient.0", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.1", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.2", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.3", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.5", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.6", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.7", tStack.writeToNBT(new NBTTagCompound())); + tNBT2.setTag("Ingredient.8", tStack.writeToNBT(new NBTTagCompound())); + tStack = GT_OreDictUnificator.get(OrePrefixes.stickLong,Materials.Americium,1); + tNBT2.setTag("Ingredient.4", tStack.writeToNBT(new NBTTagCompound())); + } + tNBT.setTag("GT.CraftingComponents", tNBT2); + tNBT.setBoolean("mDis", true); + mInventory[1].setTagCompound(tNBT); + + } + } + ((GT_MetaGenerated_Tool)mInventory[1].getItem()).doDamage(mInventory[1], (long) Math.min(mEUt/5, Math.pow(mEUt, 0.7))); if(mInventory[1].stackSize==0)mInventory[1]=null; } diff --git a/main/java/gregtech/api/util/GT_ModHandler.java b/main/java/gregtech/api/util/GT_ModHandler.java index 93aba7cfb7..22759cd057 100644 --- a/main/java/gregtech/api/util/GT_ModHandler.java +++ b/main/java/gregtech/api/util/GT_ModHandler.java @@ -1500,7 +1500,7 @@ public class GT_ModHandler { if (aPlayer instanceof EntityPlayer) { EntityPlayer tPlayer = (EntityPlayer)aPlayer; if (tPlayer.capabilities.isCreativeMode) return T; - System.out.println("hier"); + if(isElectricItem(aStack)&&ic2.api.item.ElectricItem.manager.getCharge(aStack)>1000.0d){ for (int i = 0; i < tPlayer.inventory.mainInventory.length; i++) { if (GT_Utility.isStackInList(tPlayer.inventory.mainInventory[i], GregTech_API.sSolderingMetalList)) { tPlayer.inventory.mainInventory[i].stackSize--; @@ -1508,7 +1508,10 @@ public class GT_ModHandler { if (canUseElectricItem(aStack, 10000)) { return GT_ModHandler.useElectricItem(aStack, 10000, (EntityPlayer)aPlayer); } + GT_ModHandler.useElectricItem(aStack, (int) ic2.api.item.ElectricItem.manager.getCharge(aStack), (EntityPlayer)aPlayer); + return false; } + } } } else { damageOrDechargeItem(aStack, 1, 1000, aPlayer); diff --git a/main/java/gregtech/common/GT_Proxy.java b/main/java/gregtech/common/GT_Proxy.java index 97edf9f6db..8698d53189 100644 --- a/main/java/gregtech/common/GT_Proxy.java +++ b/main/java/gregtech/common/GT_Proxy.java @@ -202,7 +202,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { "naturalAluminum", "naturalAluminium", "antimatterMilligram", "antimatterGram", "strangeMatter", "coalGenerator", "electricFurnace", "unfinishedTank", "valvePart", "aquaRegia", "leatherSeal", "leatherSlimeSeal", "hambone", "slimeball", "clay", "enrichedUranium", "camoPaste", "antiBlock", "burntQuartz", "salmonRaw","blockHopper" ,"blockEnderObsidian","blockIcestone","blockMagicWood","blockEnderCore","blockHeeEndium", - "oreHeeEndium","oreHeeEndPowder","oreHeeStardust","oreHeeIgneousRock","oreHeeInstabilityOrb","crystalPureFluix","shardNether","gemFluorite", + "oreHeeEndPowder","oreHeeStardust","oreHeeIgneousRock","oreHeeInstabilityOrb","crystalPureFluix","shardNether","gemFluorite", "stickObsidian","caveCrystal","shardCrystal","dyeCrystal"})); private final Collection<String> mInvalidNames = new HashSet(Arrays.asList(new String[] { "diamondShard", "redstoneRoot", "obsidianStick", "bloodstoneOre", "universalCable", "bronzeTube", "ironTube", "netherTube", "obbyTube", "infiniteBattery", "eliteBattery", "advancedBattery", "10kEUStore", @@ -1052,6 +1052,9 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { if (aEvent.Name.equals("copperWire")) { GT_OreDictUnificator.registerOre(OreDictNames.craftingWireCopper, aEvent.Ore); } + if (aEvent.Name.equals("oreHeeEndrium")) { + GT_OreDictUnificator.registerOre(OrePrefixes.ore, Materials.Endium, aEvent.Ore); + } if (aEvent.Name.equals("sheetPlastic")) { GT_OreDictUnificator.registerOre(OrePrefixes.plate, Materials.Plastic, aEvent.Ore); } 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 2d93c1d63b..f92806b3a9 100644 --- a/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java +++ b/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java @@ -2,6 +2,7 @@ package gregtech.common; import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_Config;
import gregtech.api.world.GT_Worldgen;
@@ -91,6 +92,8 @@ public class GT_Worldgen_GT_Ore_Layer }
}
}
+ if(GT_Values.D1){
+ System.out.println("Generated Orevein: "+this.mWorldGenName);}
return true;
}
}
diff --git a/main/java/gregtech/common/GT_Worldgenerator.java b/main/java/gregtech/common/GT_Worldgenerator.java index 8dada2088b..0d2f5fc33e 100644 --- a/main/java/gregtech/common/GT_Worldgenerator.java +++ b/main/java/gregtech/common/GT_Worldgenerator.java @@ -85,13 +85,13 @@ public class GT_Worldgenerator if (tWorldGen.executeWorldgen(this.mWorld, this.mRandom, this.mBiome, this.mDimensionType, this.mX, this.mZ, this.mChunkGenerator, this.mChunkProvider))
{
temp = false;
- break;
}
}
catch (Throwable e)
{
e.printStackTrace(GT_Log.err);
}
+ break;
}
}
}
diff --git a/main/java/gregtech/common/blocks/GT_Block_Machines.java b/main/java/gregtech/common/blocks/GT_Block_Machines.java index 3943331295..07dfa1dbfe 100644 --- a/main/java/gregtech/common/blocks/GT_Block_Machines.java +++ b/main/java/gregtech/common/blocks/GT_Block_Machines.java @@ -297,7 +297,7 @@ public class GT_Block_Machines public float getPlayerRelativeBlockHardness(EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ)
{
TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
- if (((tTileEntity instanceof BaseMetaTileEntity)) && (((BaseMetaTileEntity)tTileEntity).privateAccess()) && (!((BaseMetaTileEntity)tTileEntity).playerOwnsThis(aPlayer, true))) {
+ if (((tTileEntity instanceof BaseMetaTileEntity)) && (((BaseMetaTileEntity)tTileEntity).privateAccess()) && (!((BaseMetaTileEntity)tTileEntity).playerOwnsThis(aPlayer, false))) {
return -1.0F;
}
return super.getPlayerRelativeBlockHardness(aPlayer, aWorld, aX, aY, aZ);
diff --git a/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java b/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java index 23c3959592..39960e3940 100644 --- a/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java +++ b/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java @@ -1,7 +1,9 @@ package gregtech.common.covers; import net.minecraft.entity.player.EntityPlayer; +import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; +import gregtech.api.GregTech_API; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -24,8 +26,7 @@ public class GT_Cover_NeedMaintainance extends GT_CoverBehavior{ int real = multi.getRepairStatus(); if((aCoverVariable ==0||aCoverVariable==1)&&(ideal-real>0)){ needsRepair=true; - } - if((aCoverVariable ==2||aCoverVariable==3)&&(ideal-real>1)){ + }if((aCoverVariable ==2||aCoverVariable==3)&&(ideal-real>1)){ needsRepair=true; }if((aCoverVariable ==4||aCoverVariable==5)&&(ideal-real>2)){ needsRepair=true; @@ -38,6 +39,7 @@ public class GT_Cover_NeedMaintainance extends GT_CoverBehavior{ } aTileEntity.setOutputRedstoneSignal(aSide, (byte)(needsRepair ? 0 : 15)); + aTileEntity.setOutputRedstoneSignal(GT_Utility.getOppositeSide(aSide), (byte)(needsRepair ? 0 : 15)); return aCoverVariable; } diff --git a/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java b/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java index 28c87dbb0d..827fb27b71 100644 --- a/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java +++ b/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java @@ -18,6 +18,11 @@ public class GT_Cover_RedstoneTransmitterInternal return true;
}
+ public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ {
+ return true;
+ }
+
public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
{
return 1;
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 786b48043a..fa46b2bd43 100644 --- a/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java +++ b/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java @@ -146,7 +146,7 @@ public class GT_MetaGenerated_Tool_01 addTool(130, "JackHammer (HV)", "Breaks Rocks into pieces", new GT_Tool_JackHammer(), new Object[] { ToolDictNames.craftingToolJackHammer, new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 2L) });
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) });
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);
- 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);
+ GregTech_API.registerTool(addTool(SOLDERING_IRON_LV, "Soldering Iron (LV)", "Fixes burned out Circuits. Needs soldering materials in inventory and 10kEU", 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[] {});
diff --git a/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Item.java b/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Item.java index 4826c84663..57571cd408 100644 --- a/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Item.java +++ b/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Item.java @@ -40,15 +40,16 @@ public class Behaviour_Plunger_Item {
IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity)aTileEntity).getMetaTileEntity();
if ((tMetaTileEntity instanceof IMetaTileEntityItemPipe)) {
- for (IMetaTileEntityItemPipe tTileEntity : GT_Utility.sortMapByValuesAcending(IMetaTileEntityItemPipe.Util.scanPipes((IMetaTileEntityItemPipe)tMetaTileEntity, new HashMap(), 0L, false, true)).keySet())
+ for (Object tTileEntity : GT_Utility.sortMapByValuesAcending(IMetaTileEntityItemPipe.Util.scanPipes((IMetaTileEntityItemPipe)tMetaTileEntity, new HashMap(), 0L, false, true)).keySet())
+
{
int i = 0;
- for (int j = tTileEntity.getSizeInventory(); i < j; i++) {
- if (tTileEntity.isValidSlot(i)) {
- if ((tTileEntity.getStackInSlot(i) != null) && (
+ for (int j = ((IMetaTileEntityItemPipe)tTileEntity).getSizeInventory(); i < j; i++) {
+ if (((IMetaTileEntityItemPipe)tTileEntity).isValidSlot(i)) {
+ if ((((IMetaTileEntityItemPipe)tTileEntity).getStackInSlot(i) != null) && (
(aPlayer.capabilities.isCreativeMode) || (((GT_MetaGenerated_Tool)aItem).doDamage(aStack, this.mCosts))))
{
- ItemStack tStack = tTileEntity.decrStackSize(i, 64);
+ ItemStack tStack = ((IMetaTileEntityItemPipe)tTileEntity).decrStackSize(i, 64);
if (tStack != null)
{
EntityItem tEntity = new EntityItem(aWorld, ((IGregTechTileEntity)aTileEntity).getOffsetX((byte)aSide, 1) + 0.5D, ((IGregTechTileEntity)aTileEntity).getOffsetY((byte)aSide, 1) + 0.5D, ((IGregTechTileEntity)aTileEntity).getOffsetZ((byte)aSide, 1) + 0.5D, tStack);
diff --git a/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java b/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java index bb19069cf5..5791e7605b 100644 --- a/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java +++ b/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java @@ -1,8 +1,12 @@ package gregtech.common.tileentities.generators; +import static gregtech.api.enums.GT_Values.V; + import java.util.ArrayList; import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.aspects.IEssentiaContainerItem; import thaumcraft.api.visnet.VisNetHandler; import cpw.mods.fml.common.Loader; import net.minecraft.block.Block; @@ -17,8 +21,10 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; import gregtech.api.GregTech_API; import gregtech.api.enums.ConfigCategories; +import gregtech.api.enums.TC_Aspects; import gregtech.api.enums.Textures; import gregtech.api.enums.Textures.BlockIcons; import gregtech.api.interfaces.ITexture; @@ -30,8 +36,7 @@ import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; -public class GT_MetaTileEntity_MagicalEnergyAbsorber - extends GT_MetaTileEntity_BasicGenerator +public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_BasicGenerator { public int mEfficiency; @@ -154,12 +159,25 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber } } - //Absorb entchantments - + //Absorb entchantments try { if ((this.mInventory[0] != null) && (this.mInventory[1] == null)) { + if(isThaumcraftLoaded && this.mInventory[0].getItem() instanceof IEssentiaContainerItem){ + AspectList tAspect = ((IEssentiaContainerItem)this.mInventory[0].getItem()).getAspects(this.mInventory[0]); + TC_Aspects tValue = TC_Aspects.valueOf(tAspect.getAspects()[0].getTag().toUpperCase()); + int tEU = (tValue.mValue*tAspect.getAmount((Aspect) tValue.mAspect)*100); + getBaseMetaTileEntity().increaseStoredEnergyUnits(tEU, true); + ItemStack tStack = this.mInventory[0].copy(); + tStack.setTagCompound(null); + tStack.setItemDamage(0); + tStack.stackSize=1; + this.mInventory[1]=tStack; + this.mInventory[0].stackSize--; + if(this.mInventory[0].stackSize<1){this.mInventory[0]=null;} + + }else{ if ((this.mInventory[0].isItemEnchanted()) && (this.mInventory[0].getItem().getItemEnchantability() > 0)) { NBTTagList tEnchantments = this.mInventory[0].getEnchantmentTagList(); @@ -203,7 +221,7 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber this.mInventory[1] = this.mInventory[0]; this.mInventory[0] = null; } - } + }} catch (Throwable e){} } } @@ -221,6 +239,8 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber if(above==null||Blocks.air==above){return false;} return Blocks.dragon_egg == above || above.getUnlocalizedName().equals("tile.dragonEgg"); } + + @Override public long maxEUStore(){return Math.max(getEUVar(), V[mTier] * 16000 + getMinimumStoredEU());} public int getEfficiency() { diff --git a/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java b/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java index a5a0e9c87f..c56f03e38e 100644 --- a/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java +++ b/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java @@ -92,17 +92,16 @@ public class GT_MetaTileEntity_Boxinator return 0;
}
-public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
-{
- if(super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack))
- return getInputSlot() != aIndex && ItemList.Crate_Empty.isStackEqual(aStack) || ItemList.Schematic_1by1.isStackEqual(getInputAt(1)) || ItemList.Schematic_2by2.isStackEqual(getInputAt(1)) || ItemList.Schematic_3by3.isStackEqual(getInputAt(1)) || gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes.findRecipe(getBaseMetaTileEntity(), true, GT_Values.V[mTier], null, new ItemStack[] {
- GT_Utility.copyAmount(64L, new Object[] {
- aStack
- }), getInputAt(1)
- }) != null;
- else
- return false;
-}
+ public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+ {
+ if (super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack))
+ {
+ if ((ItemList.Schematic_1by1.isStackEqual(getInputAt(1))) || (ItemList.Schematic_2by2.isStackEqual(getInputAt(1))) || (ItemList.Schematic_3by3.isStackEqual(getInputAt(1)))) {
+ return GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes.findRecipe(getBaseMetaTileEntity(), true, gregtech.api.enums.GT_Values.V[this.mTier], null, new ItemStack[] { GT_Utility.copyAmount(64L, new Object[] { aStack }), getInputAt(1) }) != null;
+ }else{return GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes.containsInput(aStack);}
+ }
+ return false;
+ }
}
diff --git a/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java b/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java index 09389f7251..1a5d8e1a6d 100644 --- a/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java +++ b/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java @@ -41,13 +41,13 @@ public class GT_MetaTileEntity_Disassembler {
getInputAt(0).stackSize -= 1;
this.mEUt = (16 * (1 << this.mTier - 1) * (1 << this.mTier - 1));
- this.mMaxProgresstime = 160;
+ this.mMaxProgresstime = 80;
for (int i = 0; i < this.mOutputItems.length; i++) {
if (getBaseMetaTileEntity().getRandomNumber(100) < 50 + 10 * this.mTier)
{
this.mOutputItems[i] = GT_Utility.loadItem(tNBT, "Ingredient." + i);
if (this.mOutputItems[i] != null) {
- this.mMaxProgresstime *= 2;
+ this.mMaxProgresstime *= 1.7;
}
}
}
diff --git a/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java b/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java index bdf62625e1..40020ef435 100644 --- a/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java +++ b/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Pump.java @@ -195,9 +195,11 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch { return y + 1; } } else if (getBaseMetaTileEntity().getBlock(getBaseMetaTileEntity().getXCoord(), y, getBaseMetaTileEntity().getZCoord()) != GT_Utility - .getBlockFromStack(GT_ModHandler.getIC2Item("miningPipeTip", 1L))) { + .getBlockFromStack(GT_ModHandler.getIC2Item("miningPipeTip", 1L))&&this.mInventory[0] != null&&this.mInventory[0].stackSize>0&>_Utility.areStacksEqual(this.mInventory[0], GT_ModHandler.getIC2Item("miningPipe", 1L))) { getBaseMetaTileEntity().getWorld().setBlock(getBaseMetaTileEntity().getXCoord(), y, getBaseMetaTileEntity().getZCoord(), GT_Utility.getBlockFromStack(GT_ModHandler.getIC2Item("miningPipeTip", 1L))); + getBaseMetaTileEntity().decrStackSize(0, 1); + } return y; } diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java index ae30b44a9a..f402e730db 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java @@ -355,6 +355,9 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { } } } + if(this.mEUStore<=0&&mMaxProgresstime>0){ + stopMachine(); + } if (getRepairStatus() > 0) { if (mMaxProgresstime > 0 && doRandomMaintenanceDamage()) { this.getBaseMetaTileEntity().decreaseStoredEnergyUnits(mEUt, true); diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java index ceed528bf4..e743bcb10c 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java @@ -71,7 +71,7 @@ public class GT_MetaTileEntity_LargeTurbine_Plasma extends GT_MetaTileEntity_Lar @Override int fluidIntoPower(ArrayList<FluidStack> aFluids, int aOptFlow, int aBaseEff) { - aOptFlow *= 40; + aOptFlow *= 20; int tEU = 0; int actualOptimalFlow = 0; diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java index 535069b333..af799b8ab9 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java @@ -72,9 +72,9 @@ public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_Larg int remainingFlow = (int) (aOptFlow * 1.25f); // Allowed to use up to 125% of optimal flow. Variable required outside of loop for multi-hatch scenarios. for (int i = 0; i < aFluids.size() && remainingFlow > 0; i++) { // loop through each hatch; extract inputs and track totals. - if (aFluids.get(i).getFluid().getUnlocalizedName(aFluids.get(i)).equals("fluid.steam") - || aFluids.get(i).getFluid().getUnlocalizedName(aFluids.get(i)).equals("ic2.fluidSteam")) { - flow = aFluids.get(i).amount; // Get all (steam) in hatch + String fluidName = aFluids.get(i).getFluid().getUnlocalizedName(aFluids.get(i)); + if (fluidName.equals("fluid.steam") || fluidName.equals("ic2.fluidSteam") || fluidName.equals("fluid.mfr.steam.still.name")) { + flow = aFluids.get(i).amount; // Get all (steam) in hatch flow = Math.min(flow, Math.min(remainingFlow, (int) (aOptFlow * 1.25f))); // try to use up to 125% of optimal flow w/o exceeding remainingFlow depleteInput(new FluidStack(aFluids.get(i), flow)); // deplete that amount remainingFlow -= flow; // track amount we're allowed to continue depleting from hatches diff --git a/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 583c39fbd1..02997f89ea 100644 --- a/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -28,6 +28,13 @@ import ic2.api.recipe.IMachineRecipeManager; import java.io.PrintStream; import java.util.Arrays; +import cofh.api.modhelpers.ThaumcraftHelper; +import cpw.mods.fml.common.Loader; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.api.ThaumcraftApiHelper; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.aspects.IEssentiaContainerItem; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -733,6 +740,22 @@ public class GT_MachineRecipeLoader GT_Values.RA.addDistillationTowerRecipe(Materials.Water.getFluid(288L), new FluidStack[]{GT_ModHandler.getDistilledWater(260L)}, null, 16, 64); GT_Values.RA.addDistillationTowerRecipe(new FluidStack(FluidRegistry.getFluid("ic2biomass"), 250), new FluidStack[]{new FluidStack(FluidRegistry.getFluid("ic2biogas"), 8000),Materials.Water.getFluid(125L)}, ItemList.IC2_Fertilizer.get(1, new Object[0]), 150, 512); GT_Values.RA.addFuel(GT_ModHandler.getIC2Item("biogasCell", 1L), null, 32, 1); + + GT_Values.RA.addFuel(GT_ModHandler.getModItem("Thaumcraft", "ItemShard", 1L, 6), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("ForbiddenMagic", "GluttonyShard", 1L), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("ForbiddenMagic", "FMResource", 1L, 3), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("ForbiddenMagic", "NetherShard", 1L), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("ForbiddenMagic", "NetherShard", 1L,1), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("ForbiddenMagic", "NetherShard", 1L,2), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("ForbiddenMagic", "NetherShard", 1L,3), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("ForbiddenMagic", "NetherShard", 1L,4), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("ForbiddenMagic", "NetherShard", 1L,5), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("ForbiddenMagic", "NetherShard", 1L,6), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("TaintedMagic", "WarpedShard", 1L), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("TaintedMagic", "FluxShard", 1L), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("TaintedMagic", "EldritchShard", 1L), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("ThaumicTinkerer", "kamiResource", 1L,6), null, 720, 5); + GT_Values.RA.addFuel(GT_ModHandler.getModItem("ThaumicTinkerer", "kamiResource", 1L,7), null, 720, 5); GT_Values.RA.addElectrolyzerRecipe(GT_Values.NI, ItemList.Cell_Empty.get(1L, new Object[0]), Materials.Water.getFluid(3000L), Materials.Hydrogen.getGas(2000L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, null, 1500, 30); GT_Values.RA.addElectrolyzerRecipe(GT_Values.NI, ItemList.Cell_Empty.get(1L, new Object[0]), GT_ModHandler.getDistilledWater(3000L), Materials.Hydrogen.getGas(2000L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, null, 1500, 30); |