diff options
Diffstat (limited to 'main/java/gregtech/api')
4 files changed, 132 insertions, 59 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); |