aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2019-02-23 14:58:29 +0100
committerGitHub <noreply@github.com>2019-02-23 14:58:29 +0100
commit89b4aa72d90a552a73e88097979e400615bf0532 (patch)
treee5d2e265943589a8923d927ebe2325a1b5d6e626
parent6f02b700fa1aaec71ab62477e9d2e1168fa0f210 (diff)
parent6cc3eefe3c238ecaa3f13c45a37afe2e77ec84e8 (diff)
downloadGT5-Unofficial-89b4aa72d90a552a73e88097979e400615bf0532.tar.gz
GT5-Unofficial-89b4aa72d90a552a73e88097979e400615bf0532.tar.bz2
GT5-Unofficial-89b4aa72d90a552a73e88097979e400615bf0532.zip
Merge pull request #175 from GTNewHorizons/bmf
several fixes:
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java8
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java30
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Machines.java11
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_NaquadahReactor.java38
7 files changed, 48 insertions, 45 deletions
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
index 1ebeda2895..576b2ca3ca 100644
--- a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
@@ -47,10 +47,10 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
* 9 = BaseMetaPipeEntity, Cutter lvl 1 to dismantle
* 10 = BaseMetaPipeEntity, Cutter lvl 2 to dismantle
* 11 = BaseMetaPipeEntity, Cutter lvl 3 to dismantle
- * 12 = BaseMetaPipeEntity, Axe lvl 0 to dismantle
- * 13 = BaseMetaPipeEntity, Axe lvl 1 to dismantle
- * 14 = BaseMetaPipeEntity, Axe lvl 2 to dismantle
- * 15 = BaseMetaPipeEntity, Axe lvl 3 to dismantle
+ * 12 = GT++
+ * 13 = GT++
+ * 14 = GT++
+ * 15 = GT++
*/
byte getTileEntityBaseType();
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java
index e128c8c842..6388c7044c 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java
@@ -83,7 +83,7 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity {
@Override
public byte getTileEntityBaseType() {
- return mMaterial == null ? 4 : (byte) ((mMaterial.contains(SubTag.WOOD) ? 12 : 4) + Math.max(0, Math.min(3, mMaterial.mToolQuality)));
+ return (byte) (mMaterial == null ? 4 : (byte) (4) + Math.max(0, Math.min(3, mMaterial.mToolQuality)));
}
@Override
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java
index fd04893ec7..9db9ad910e 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java
@@ -33,7 +33,7 @@ public class GT_MetaPipeEntity_Frame extends MetaPipeEntity {
@Override
public byte getTileEntityBaseType() {
- return mMaterial == null ? 4 : (byte) ((mMaterial.contains(SubTag.WOOD) ? 12 : 4) + Math.max(0, Math.min(3, mMaterial.mToolQuality)));
+ return (byte) (mMaterial == null ? 4 : (byte) (4) + Math.max(0, Math.min(3, mMaterial.mToolQuality)));
}
@Override
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java
index bba105c95f..650e9a031e 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java
@@ -64,7 +64,7 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE
@Override
public byte getTileEntityBaseType() {
- return mMaterial == null ? 4 : (byte) ((mMaterial.contains(SubTag.WOOD) ? 12 : 4) + Math.max(0, Math.min(3, mMaterial.mToolQuality)));
+ return (byte) (mMaterial == null ? 4 : (byte) (4) + Math.max(0, Math.min(3, mMaterial.mToolQuality)));
}
@Override
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java
index da1fd9170e..ccc0fc0af4 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java
@@ -1,8 +1,12 @@
package gregtech.api.metatileentity.implementations;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.objects.ItemData;
+import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
@@ -11,6 +15,8 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidContainerItem;
+import net.minecraftforge.fluids.IFluidHandler;
import java.util.Collection;
@@ -215,7 +221,8 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
}
}
}
- if (mInventory[getInputSlot()] != null && aBaseMetaTileEntity.getUniversalEnergyStored() < (maxEUOutput() * 20 + getMinimumStoredEU()) && GT_Utility.getFluidForFilledItem(mInventory[getInputSlot()], true) != null) {
+
+ if (mInventory[getInputSlot()] != null && aBaseMetaTileEntity.getUniversalEnergyStored() < (maxEUOutput() * 20 + getMinimumStoredEU()) && ((GT_Utility.getFluidForFilledItem(mInventory[getInputSlot()], true) != null) || solidFuelOverride(mInventory[getInputSlot()]))) {
long tFuelValue = getFuelValue(mInventory[getInputSlot()]);
//System.out.println(" tFuelValue : " + tFuelValue );
if (tFuelValue > 0) {
@@ -232,7 +239,26 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
if (aBaseMetaTileEntity.isServerSide())
aBaseMetaTileEntity.setActive(aBaseMetaTileEntity.isAllowedToWork() && aBaseMetaTileEntity.getUniversalEnergyStored() >= maxEUOutput() + getMinimumStoredEU());
}
-
+
+ /**
+ * @param stack the fuel stack
+ * @return if the stack is a solid fuel
+ */
+ public boolean solidFuelOverride(ItemStack stack) {
+ //this could be used for a coal generator for example aswell...
+ ItemData association = GT_OreDictUnificator.getAssociation(stack);
+ //if it is a gregtech Item, make sure its not a VOLUMETRIC_FLASK, cell, motlen cell or plasma cell, else do vanilla checks
+ return association != null ? !OrePrefixes.cell.equals(association.mPrefix) &&
+ !OrePrefixes.cellMolten.equals(association.mPrefix) &&
+ !OrePrefixes.cellPlasma.equals(association.mPrefix) &&
+ !GT_Utility.areStacksEqual(ItemList.VOLUMETRIC_FLASK.get(1L), stack, true) :
+ stack != null && //when the stack is null its not a solid
+ stack.getItem() != null && //when the item in the stack is null its not a solid
+ !(stack.getItem() instanceof IFluidContainerItem) && //when the item is a fluid container its not a solid...
+ !(stack.getItem() instanceof IFluidHandler) && //when the item is a fluid handler its not a solid...
+ !stack.getItem().getUnlocalizedName().contains("bucket"); //since we cant really check for buckets...
+ }
+
public abstract int getPollution();
public abstract GT_Recipe_Map getRecipes();
diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java
index 8f943c8588..d0ca757e3c 100644
--- a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java
+++ b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java
@@ -60,15 +60,8 @@ public class GT_Block_Machines
}
public String getHarvestTool(int aMeta) {
- switch (aMeta / 4) {
- case 0:
- return "wrench";
- case 1:
- return "wrench";
- case 2:
- return "cutter";
- case 3:
- return "axe";
+ if (aMeta >= 8 && aMeta <= 11) {
+ return "cutter";
}
return "wrench";
}
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_NaquadahReactor.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_NaquadahReactor.java
index 769b87676c..c075fda8a4 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_NaquadahReactor.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_NaquadahReactor.java
@@ -12,25 +12,21 @@ import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_NaquadahReactor extends GT_MetaTileEntity_BasicGenerator {
- public int mEfficiency;
- public GT_Recipe.GT_Recipe_Map mRecipeMap = null;
+ private int mEfficiency;
public GT_MetaTileEntity_NaquadahReactor(int aID, String aName, String[] aDescription, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, aDescription, new ITexture[0]);
if (aTier > 8 || aTier < 4) {
- new Exception("Tier without Recipe Map!");
+ new Exception("Tier without Recipe Map!").printStackTrace();
}
onConfigLoad();
}
- public GT_MetaTileEntity_NaquadahReactor(int aID, String aName, String[] aDescription, String aNameRegional, GT_Recipe.GT_Recipe_Map mRecipeMap, int aTier) {
- super(aID, aName, aNameRegional, aTier, aDescription, new ITexture[0]);
- this.mRecipeMap=mRecipeMap;
- onConfigLoad();
- }
-
public GT_MetaTileEntity_NaquadahReactor(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
+ if (aTier > 8 || aTier < 4) {
+ new Exception("Tier without Recipe Map!").printStackTrace();
+ }
onConfigLoad();
}
@@ -66,7 +62,7 @@ public class GT_MetaTileEntity_NaquadahReactor extends GT_MetaTileEntity_BasicGe
break;
}
default:{
- ret = mRecipeMap;
+ ret = null;
break;
}
@@ -75,31 +71,19 @@ public class GT_MetaTileEntity_NaquadahReactor extends GT_MetaTileEntity_BasicGe
}
public int getCapacity() {
- return mRecipeMap != null ? mRecipeMap.mMinimalInputFluids>0 ? 8000*(mTier+1) : 0 : 0 ;
+ return getRecipes() != null ? getRecipes().mMinimalInputFluids>0 ? 8000*(mTier+1) : 0 : 0 ;
}
public int getEfficiency() {
- return mEfficiency;
+ return mEfficiency == 0 ? onConfigLoad() : mEfficiency;
}
private int getBaseEff(){
- int ret;
- switch (this.mTier){
- case 4: {
- ret = 80;
- break;
- }
- default: {
- ret = 100 + (50*(mTier-5));
- break;
- }
-
- }
- return ret;
+ return mTier == 4 ? 80 : 100 + (50*(mTier-5));
}
- public void onConfigLoad() {
- this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "SolidNaquadah.efficiency.tier." + this.mTier, getBaseEff());
+ public int onConfigLoad() {
+ return this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "SolidNaquadah.efficiency.tier." + this.mTier, getBaseEff());
}
public ITexture[] getFront(byte aColor) {