aboutsummaryrefslogtreecommitdiff
path: root/main/java/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'main/java/gregtech/api')
-rw-r--r--main/java/gregtech/api/enums/TC_Aspects.java116
-rw-r--r--main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java5
-rw-r--r--main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java65
-rw-r--r--main/java/gregtech/api/util/GT_ModHandler.java5
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);