Merge remote-tracking branch 'remotes/JohannesGaessler/SteamProductionImprovement' into unstable

This commit is contained in:
Techlone 2017-04-16 02:20:26 +05:00
commit 2115280ab9
87 changed files with 654 additions and 193 deletions

View file

@ -23,6 +23,10 @@ public class GT_MetaTileEntity_E_Furnace extends GT_MetaTileEntity_BasicMachine
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public GT_MetaTileEntity_E_Furnace(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) {
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
@Override
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_E_Furnace(mName, mTier, mDescription, mTextures, mGUIName, mNEIName);

View file

@ -37,9 +37,16 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier
super(aName, aTier, aSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicBatteryBuffer(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, int aSlotCount) {
super(aName, aTier, aSlotCount, aDescription, aTextures);
}
@Override
public String[] getDescription() {
return new String[]{mDescription, mInventory.length + " Slots"};
String[] desc = new String[mDescription.length];
System.arraycopy(mDescription, 0, desc, 0, mDescription.length);
desc[mDescription.length] = mInventory.length + " Slots";
return desc;
}
@Override

View file

@ -22,9 +22,17 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
super(aID, aName, aNameRegional, aTier, 3, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicGenerator(int aID, String aName, String aNameRegional, int aTier, String[] aDescription, ITexture... aTextures) {
super(aID, aName, aNameRegional, aTier, 3, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicGenerator(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 3, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicGenerator(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 3, aDescription, aTextures);
}
@Override
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
@ -51,7 +59,10 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
@Override
public String[] getDescription() {
return new String[]{mDescription, "Fuel Efficiency: " + getEfficiency() + "%"};
String[] desc = new String[mDescription.length + 1];
System.arraycopy(mDescription, 0, desc, 0, mDescription.length);
desc[mDescription.length] = "Fuel Efficiency: " + getEfficiency() + "%";
return desc;
}
@Override
@ -179,7 +190,6 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
@Override
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() && aTick % 10 == 0) {
long tProducedEU = 0;
if (mFluid == null) {
if (aBaseMetaTileEntity.getUniversalEnergyStored() < maxEUOutput() + getMinimumStoredEU()) {
mInventory[getStackDisplaySlot()] = null;
@ -193,7 +203,8 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
if (tFuelValue > 0 && tConsumed > 0 && mFluid.amount > tConsumed) {
long tFluidAmountToUse = Math.min(mFluid.amount / tConsumed, (maxEUStore() - aBaseMetaTileEntity.getUniversalEnergyStored()) / tFuelValue);
if (tFluidAmountToUse > 0 && aBaseMetaTileEntity.increaseStoredEnergyUnits(tFluidAmountToUse * tFuelValue, true)) {
tProducedEU = tFluidAmountToUse * tFuelValue;
GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(), new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()),
10 * getPollution());
mFluid.amount -= tFluidAmountToUse * tConsumed;
}
}
@ -205,14 +216,11 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
if (aBaseMetaTileEntity.addStackToSlot(getOutputSlot(), tEmptyContainer)) {
aBaseMetaTileEntity.increaseStoredEnergyUnits(tFuelValue, true);
aBaseMetaTileEntity.decrStackSize(getInputSlot(), 1);
tProducedEU = tFuelValue;
GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(), new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()),
10 * getPollution());
}
}
}
if(tProducedEU>0&&getPollution()>0){
GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(), new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(), this.getBaseMetaTileEntity().getZCoord()),
(int) ((tProducedEU * getPollution()/(500*mTier))+1));
}
}
if (aBaseMetaTileEntity.isServerSide())

View file

@ -21,6 +21,10 @@ public class GT_MetaTileEntity_BasicHull extends GT_MetaTileEntity_BasicTank {
public GT_MetaTileEntity_BasicHull(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicHull(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
@Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {

View file

@ -12,6 +12,10 @@ public abstract class GT_MetaTileEntity_BasicHull_NonElectric extends GT_MetaTil
super(aName, aTier, 1, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicHull_NonElectric(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 1, aDescription, aTextures);
}
@Override
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aConnections, byte aColorIndex, boolean aConnected, boolean aRedstone) {
return mTextures[Math.min(2, aSide)][aColorIndex + 1];

View file

@ -92,6 +92,15 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
mNEIName = aNEIName;
}
public GT_MetaTileEntity_BasicMachine(String aName, int aTier, int aAmperage, String[] aDescription, ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName) {
super(aName, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aTextures);
mInputSlotCount = Math.max(0, aInputSlotCount);
mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
mAmperage = aAmperage;
mGUIName = aGUIName;
mNEIName = aNEIName;
}
public boolean setMainFacing(byte aDirection){
mMainFacing = aDirection;
if(getBaseMetaTileEntity().getFrontFacing() == mMainFacing){

View file

@ -41,6 +41,10 @@ public abstract class GT_MetaTileEntity_BasicMachine_Bronze extends GT_MetaTileE
super(aName, aBricked ? 1 : 0, 0, aDescription, aTextures, aInputSlotCount, aOutputSlotCount, "", "");
}
public GT_MetaTileEntity_BasicMachine_Bronze(String aName, String[] aDescription, ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount, boolean aBricked) {
super(aName, aBricked ? 1 : 0, 0, aDescription, aTextures, aInputSlotCount, aOutputSlotCount, "", "");
}
@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);

View file

@ -607,6 +607,18 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
mGUIParameterB = (byte) aGUIParameterB;
}
public GT_MetaTileEntity_BasicMachine_GT_Recipe(String aName, int aTier, String[] aDescription, GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity, int aAmperage, int aGUIParameterA, int aGUIParameterB, ITexture[][][] aTextures, String aGUIName, String aNEIName, String aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, int aSpecialEffect) {
super(aName, aTier, aAmperage, aDescription, aTextures, aInputSlots, aOutputSlots, aGUIName, aNEIName);
mSharedTank = aSharedTank;
mTankCapacity = aTankCapacity;
mSpecialEffect = aSpecialEffect;
mRequiresFluidForFiltering = aRequiresFluidForFiltering;
mRecipes = aRecipes;
mSound = aSound;
mGUIParameterA = (byte) aGUIParameterA;
mGUIParameterB = (byte) aGUIParameterB;
}
@Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_BasicMachine_GT_Recipe(mName, mTier, mDescription, mRecipes, mInputSlotCount, mOutputItems == null ? 0 : mOutputItems.length, mTankCapacity, mAmperage, mGUIParameterA, mGUIParameterB, mTextures, mGUIName, mNEIName, mSound, mSharedTank, mRequiresFluidForFiltering, mSpecialEffect);

View file

@ -20,6 +20,10 @@ public abstract class GT_MetaTileEntity_BasicMachine_Steel extends GT_MetaTileEn
public GT_MetaTileEntity_BasicMachine_Steel(String aName, String aDescription, ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount, boolean aBricked) {
super(aName, aDescription, aTextures, aInputSlotCount, aOutputSlotCount, aBricked);
}
public GT_MetaTileEntity_BasicMachine_Steel(String aName, String[] aDescription, ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount, boolean aBricked) {
super(aName, aDescription, aTextures, aInputSlotCount, aOutputSlotCount, aBricked);
}
/*
@Override

View file

@ -27,9 +27,17 @@ public abstract class GT_MetaTileEntity_BasicTank extends GT_MetaTileEntity_Tier
super(aID, aName, aNameRegional, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicTank(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String[] aDescription, ITexture... aTextures) {
super(aID, aName, aNameRegional, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicTank(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicTank(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
@Override
public boolean isSimpleMachine() {

View file

@ -23,6 +23,10 @@ public abstract class GT_MetaTileEntity_Buffer extends GT_MetaTileEntity_TieredM
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_Buffer(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
@Override
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
ITexture[][][] rTextures = new ITexture[6][17][];

View file

@ -17,6 +17,10 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_Hatch(String aName, int aTier, int aInvSlotCount, String []aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public static int getSlots(int aTier) {
return aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 9 : 16;
}

View file

@ -18,6 +18,10 @@ public class GT_MetaTileEntity_Hatch_Dynamo extends GT_MetaTileEntity_Hatch {
super(aName, aTier, 0, aDescription, aTextures);
}
public GT_MetaTileEntity_Hatch_Dynamo(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 0, aDescription, aTextures);
}
@Override
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
return new ITexture[]{aBaseTexture, Textures.BlockIcons.OVERLAYS_ENERGY_OUT_MULTI[mTier]};

View file

@ -18,6 +18,10 @@ public class GT_MetaTileEntity_Hatch_Energy extends GT_MetaTileEntity_Hatch {
super(aName, aTier, 0, aDescription, aTextures);
}
public GT_MetaTileEntity_Hatch_Energy(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 0, aDescription, aTextures);
}
@Override
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
return new ITexture[]{aBaseTexture, Textures.BlockIcons.OVERLAYS_ENERGY_IN_MULTI[mTier]};

View file

@ -22,6 +22,10 @@ public class GT_MetaTileEntity_Hatch_Input extends GT_MetaTileEntity_Hatch {
super(aName, aTier, 3, aDescription, aTextures);
}
public GT_MetaTileEntity_Hatch_Input(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 3, aDescription, aTextures);
}
@Override
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_IN)};

View file

@ -22,6 +22,10 @@ public class GT_MetaTileEntity_Hatch_InputBus extends GT_MetaTileEntity_Hatch {
public GT_MetaTileEntity_Hatch_InputBus(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 9 : 16, aDescription, aTextures);
}
public GT_MetaTileEntity_Hatch_InputBus(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 9 : 16, aDescription, aTextures);
}
@Override
public ITexture[] getTexturesActive(ITexture aBaseTexture) {

View file

@ -46,10 +46,26 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
mAuto = aAuto;
}
public GT_MetaTileEntity_Hatch_Maintenance(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, boolean aAuto) {
super(aName, aTier, aAuto ? 4 : 1, aDescription, aTextures);
mAuto = aAuto;
}
@Override
public String[] getDescription() {
if(mAuto)return new String[]{mDescription,"4 Ducttape, 2 Lubricant Cells","4 Steel Screws, 2 Adv Circuits","For each autorepair"};
return new String[]{mDescription, "Cannot be shared between Multiblocks!"};
if (mAuto) {
String[] desc = new String[mDescription.length + 3];
System.arraycopy(mDescription, 0, desc, 0, mDescription.length);
desc[mDescription.length] = "4 Ducttape, 2 Lubricant Cells";
desc[mDescription.length + 1] = "4 Ducttape, 2 Lubricant Cells";
desc[mDescription.length + 2] = "For each autorepair";
return desc;
} else {
String[] desc = new String[mDescription.length + 1];
System.arraycopy(mDescription, 0, desc, 0, mDescription.length);
desc[mDescription.length] = "Cannot be shared between Multiblocks!";
return desc;
}
}
@Override

View file

@ -19,9 +19,17 @@ public class GT_MetaTileEntity_Hatch_Muffler extends GT_MetaTileEntity_Hatch {
super(aName, aTier, 0, aDescription, aTextures);
}
public GT_MetaTileEntity_Hatch_Muffler(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 0, aDescription, aTextures);
}
@Override
public String[] getDescription() {
return new String[]{mDescription, "DO NOT OBSTRUCT THE OUTPUT!","Reduces Pollution to "+calculatePollutionReduction(100)+"%"};
String[] desc = new String[mDescription.length + 2];
System.arraycopy(mDescription, 0, desc, 0, mDescription.length);
desc[mDescription.length] = "DO NOT OBSTRUCT THE OUTPUT!";
desc[mDescription.length + 1] = "Reduces Pollution to "+calculatePollutionReduction(100)+"%";
return desc;
}
@Override

View file

@ -24,6 +24,10 @@ public class GT_MetaTileEntity_Hatch_Output extends GT_MetaTileEntity_Hatch {
super(aName, aTier, 3, aDescription, aTextures);
}
public GT_MetaTileEntity_Hatch_Output(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 3, aDescription, aTextures);
}
@Override
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)};

View file

@ -19,6 +19,10 @@ public class GT_MetaTileEntity_Hatch_OutputBus extends GT_MetaTileEntity_Hatch {
super(aName, aTier, aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 9 : 16, aDescription, aTextures);
}
public GT_MetaTileEntity_Hatch_OutputBus(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 9 : 16, aDescription, aTextures);
}
@Override
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE_OUT)};

View file

@ -49,7 +49,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
public GT_MetaTileEntity_MultiBlockBase(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, 2);
this.disableMaintenance = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.disableMaintenance", false);
GT_MetaTileEntity_MultiBlockBase.disableMaintenance = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.disableMaintenance", false);
this.damageFactorLow = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorLow", 5);
this.damageFactorHigh = (float) GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorHigh", 0.6f);
this.mNEI = "";
@ -57,7 +57,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
public GT_MetaTileEntity_MultiBlockBase(String aName) {
super(aName, 2);
this.disableMaintenance = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.disableMaintenance", false);
GT_MetaTileEntity_MultiBlockBase.disableMaintenance = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.disableMaintenance", false);
this.damageFactorLow = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorLow", 5);
this.damageFactorHigh = (float) GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorHigh", 0.6f);
}
@ -221,7 +221,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
if (mMachine) {
for (GT_MetaTileEntity_Hatch_Maintenance tHatch : mMaintenanceHatches) {
if (isValidMetaTileEntity(tHatch)) {
if (!this.disableMaintenance) {
if (!GT_MetaTileEntity_MultiBlockBase.disableMaintenance) {
if(tHatch.mAuto && (!mWrench||!mScrewdriver||!mSoftHammer||!mHardHammer||!mSolderingTool||!mCrowbar))tHatch.autoMaintainance();
if (tHatch.mWrench) mWrench = true;
if (tHatch.mScrewdriver) mScrewdriver = true;
@ -255,7 +255,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
if (mMaxProgresstime > 0 && ++mProgresstime >= mMaxProgresstime) {
if (mOutputItems != null) for (ItemStack tStack : mOutputItems)
if (tStack != null) {
try{GT_Mod.instance.achievements.issueAchivementHatch(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), tStack);}catch(Exception e){}
try{GT_Mod.achievements.issueAchivementHatch(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), tStack);}catch(Exception e){}
addOutput(tStack);
}
if (mOutputFluids != null && mOutputFluids.length == 1) {
@ -275,7 +275,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
if (mOutputFluids != null && mOutputFluids.length > 0) {
if (mOutputFluids.length > 1) {
try {
GT_Mod.instance.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "oilplant");
GT_Mod.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "oilplant");
} catch (Exception e) {
}
}

View file

@ -14,7 +14,7 @@ public abstract class GT_MetaTileEntity_TieredMachineBlock extends MetaTileEntit
/**
* A simple Description.
*/
public final String mDescription;
public final String[] mDescription;
/**
* Contains all Textures used by this Block.
@ -22,6 +22,16 @@ public abstract class GT_MetaTileEntity_TieredMachineBlock extends MetaTileEntit
public final ITexture[][][] mTextures;
public GT_MetaTileEntity_TieredMachineBlock(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String aDescription, ITexture... aTextures) {
super(aID, aName, aNameRegional, aInvSlotCount);
mTier = (byte) Math.max(0, Math.min(aTier, 9));
mDescription = new String[]{aDescription};
// must always be the last call!
if (GT.isClientSide()) mTextures = getTextureSet(aTextures);
else mTextures = null;
}
public GT_MetaTileEntity_TieredMachineBlock(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String[] aDescription, ITexture... aTextures) {
super(aID, aName, aNameRegional, aInvSlotCount);
mTier = (byte) Math.max(0, Math.min(aTier, 9));
mDescription = aDescription;
@ -32,6 +42,13 @@ public abstract class GT_MetaTileEntity_TieredMachineBlock extends MetaTileEntit
}
public GT_MetaTileEntity_TieredMachineBlock(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) {
super(aName, aInvSlotCount);
mTier = (byte) aTier;
mDescription = new String[]{aDescription};
mTextures = aTextures;
}
public GT_MetaTileEntity_TieredMachineBlock(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aInvSlotCount);
mTier = (byte) aTier;
mDescription = aDescription;
@ -55,7 +72,7 @@ public abstract class GT_MetaTileEntity_TieredMachineBlock extends MetaTileEntit
@Override
public String[] getDescription() {
return new String[]{mDescription};
return mDescription;
}
/**

View file

@ -36,6 +36,10 @@ public class GT_MetaTileEntity_Transformer extends GT_MetaTileEntity_TieredMachi
super(aName, aTier, 0, aDescription, aTextures);
}
public GT_MetaTileEntity_Transformer(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 0, aDescription, aTextures);
}
@Override
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
ITexture[][][] rTextures = new ITexture[12][17][];

View file

@ -32,11 +32,11 @@ public class GT_Pollution {
* Lava Boiler(20)
* High Pressure Boiler(20)
* Bronze Blast Furnace(50)
* Diesel Generator(14/28/75)
* Gas Turbine(7/14/37)
* Diesel Generator(40/80/160)
* Gas Turbine(20/40/80)
* Charcoal Pile(100)
*
* Large Diesel Generator(300)
* Large Diesel Engine(320)
* Electric Blast Furnace(100)
* Implosion Compressor(2000)
* Large Boiler(240)

View file

@ -24,6 +24,10 @@ public class GT_MetaTileEntity_ChestBuffer
public GT_MetaTileEntity_ChestBuffer(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_ChestBuffer(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_ChestBuffer(this.mName, this.mTier, this.mInventory.length, this.mDescription, this.mTextures);

View file

@ -25,6 +25,10 @@ public class GT_MetaTileEntity_Filter
public GT_MetaTileEntity_Filter(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_Filter(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Filter(this.mName, this.mTier, this.mInventory.length, this.mDescription, this.mTextures);

View file

@ -27,6 +27,10 @@ public class GT_MetaTileEntity_Regulator
public GT_MetaTileEntity_Regulator(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_Regulator(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Regulator(this.mName, this.mTier, this.mInventory.length, this.mDescription, this.mTextures);

View file

@ -18,6 +18,10 @@ public class GT_MetaTileEntity_SuperBuffer
public GT_MetaTileEntity_SuperBuffer(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_SuperBuffer(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_SuperBuffer(this.mName, this.mTier, this.mInventory.length, this.mDescription, this.mTextures);

View file

@ -31,6 +31,10 @@ public class GT_MetaTileEntity_TypeFilter
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_TypeFilter(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_TypeFilter(this.mName, this.mTier, this.mInventory.length, this.mDescription, this.mTextures);
}

View file

@ -31,9 +31,17 @@ public abstract class GT_MetaTileEntity_Boiler
super(aID, aName, aNameRegional, 0, 4, aDescription, aTextures);
}
public GT_MetaTileEntity_Boiler(int aID, String aName, String aNameRegional, String[] aDescription, ITexture... aTextures) {
super(aID, aName, aNameRegional, 0, 4, aDescription, aTextures);
}
public GT_MetaTileEntity_Boiler(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 4, aDescription, aTextures);
}
public GT_MetaTileEntity_Boiler(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 4, aDescription, aTextures);
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
ITexture[] tmp = mTextures[aSide >= 2 ? aSide != aFacing ? 2 : ((byte) (aActive ? 4 : 3)) : aSide][aColorIndex + 1];

View file

@ -22,12 +22,18 @@ import net.minecraftforge.fluids.IFluidHandler;
public class GT_MetaTileEntity_Boiler_Bronze
extends GT_MetaTileEntity_Boiler {
public GT_MetaTileEntity_Boiler_Bronze(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, "An early way to get Steam Power", new ITexture[0]);
super(aID, aName, aNameRegional, new String[]{
"An early way to get Steam Power",
"Produces 120L of Steam per second",
"Causes 20 Pollution per second"}, new ITexture[0]);
}
public GT_MetaTileEntity_Boiler_Bronze(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public GT_MetaTileEntity_Boiler_Bronze(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
ITexture[][][] rTextures = new ITexture[5][17][];

View file

@ -22,13 +22,20 @@ import net.minecraftforge.fluids.IFluidHandler;
public class GT_MetaTileEntity_Boiler_Lava
extends GT_MetaTileEntity_Boiler {
public GT_MetaTileEntity_Boiler_Lava(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, "A Boiler running off Lava", new ITexture[0]);
super(aID, aName, aNameRegional, new String[]{
"A Boiler running off Lava",
"Produces 600L of Steam per second",
"Causes 20 Pollution per second"}, new ITexture[0]);
}
public GT_MetaTileEntity_Boiler_Lava(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public GT_MetaTileEntity_Boiler_Lava(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
ITexture[][][] rTextures = new ITexture[5][17][];
for (byte i = -1; i < 16; i++) {

View file

@ -18,12 +18,21 @@ import net.minecraftforge.fluids.IFluidHandler;
public class GT_MetaTileEntity_Boiler_Solar
extends GT_MetaTileEntity_Boiler {
public GT_MetaTileEntity_Boiler_Solar(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, "Steam Power by the Sun", new ITexture[0]);
super(aID, aName, aNameRegional, new String[]{
"Steam Power by the Sun",
"Produces 120L of Steam per second",
"Calcifies over time, reducing Steam output to 40L/s",
"Break and replace to decalcify"},
new ITexture[0]);
}
public GT_MetaTileEntity_Boiler_Solar(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public GT_MetaTileEntity_Boiler_Solar(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
ITexture[][][] rTextures = new ITexture[4][17][];

View file

@ -22,13 +22,20 @@ import net.minecraftforge.fluids.IFluidHandler;
public class GT_MetaTileEntity_Boiler_Steel
extends GT_MetaTileEntity_Boiler {
public GT_MetaTileEntity_Boiler_Steel(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, "Faster than the Bronze Boiler", new ITexture[0]);
super(aID, aName, aNameRegional, new String[]{
"Faster than the Bronze Boiler",
"Produces 300L of Steam per second",
"Causes 20 Pollution per second"}, new ITexture[0]);
}
public GT_MetaTileEntity_Boiler_Steel(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public GT_MetaTileEntity_Boiler_Steel(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
ITexture[][][] rTextures = new ITexture[5][17][];
for (byte i = -1; i < 16; i = (byte) (i + 1)) {

View file

@ -18,10 +18,15 @@ import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_DieselGenerator
extends GT_MetaTileEntity_BasicGenerator {
public static final int BASE_POLLUTION = 2;
public int mEfficiency;
public GT_MetaTileEntity_DieselGenerator(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, "Requires liquid Fuel", new ITexture[0]);
super(aID, aName, aNameRegional, aTier, new String[]{
"Requires liquid Fuel",
"Causes " + (int) (20 * BASE_POLLUTION * Math.pow(2, aTier - 1)) + " Pollution per second"},
new ITexture[0]);
onConfigLoad();
}
@ -29,6 +34,11 @@ public class GT_MetaTileEntity_DieselGenerator
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public GT_MetaTileEntity_DieselGenerator(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public boolean isOutputFacing(byte aSide) {
return aSide == getBaseMetaTileEntity().getFrontFacing();
@ -105,6 +115,6 @@ public class GT_MetaTileEntity_DieselGenerator
@Override
public int getPollution() {
return 10;
return (int) (GT_MetaTileEntity_DieselGenerator.BASE_POLLUTION * Math.pow(2, mTier - 1));
}
}

View file

@ -25,6 +25,11 @@ public class GT_MetaTileEntity_FluidNaquadahReactor
onConfigLoad();
}
public GT_MetaTileEntity_FluidNaquadahReactor(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public boolean isOutputFacing(byte aSide) {
return (aSide > 1) && (aSide != getBaseMetaTileEntity().getFrontFacing()) && (aSide != getBaseMetaTileEntity().getBackFacing());
}

View file

@ -13,10 +13,15 @@ import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_GasTurbine
extends GT_MetaTileEntity_BasicGenerator {
public static final int BASE_POLLUTION = 1;
public int mEfficiency;
public GT_MetaTileEntity_GasTurbine(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, "Requires flammable Gasses", new ITexture[0]);
super(aID, aName, aNameRegional, aTier, new String[]{
"Requires flammable Gasses",
"Causes " + (int) (20 * BASE_POLLUTION * Math.pow(2, aTier - 1)) + " Pollution per second"});
onConfigLoad();
}
@ -24,6 +29,11 @@ public class GT_MetaTileEntity_GasTurbine
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public GT_MetaTileEntity_GasTurbine(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public boolean isOutputFacing(byte aSide) {
return aSide == getBaseMetaTileEntity().getFrontFacing();
@ -92,6 +102,6 @@ public class GT_MetaTileEntity_GasTurbine
@Override
public int getPollution() {
return 5;
return (int) (GT_MetaTileEntity_GasTurbine.BASE_POLLUTION * Math.pow(2, mTier - 1));
}
}

View file

@ -22,6 +22,10 @@ public class GT_MetaTileEntity_LightningRod extends GT_MetaTileEntity_TieredMach
public GT_MetaTileEntity_LightningRod(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_LightningRod(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
@Override
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {

View file

@ -25,6 +25,11 @@ public class GT_MetaTileEntity_MagicEnergyConverter
onConfigLoad();
}
public GT_MetaTileEntity_MagicEnergyConverter(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public boolean isOutputFacing(byte aSide) {
return aSide == getBaseMetaTileEntity().getFrontFacing();
}

View file

@ -34,7 +34,7 @@ import static gregtech.api.enums.GT_Values.V;
public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_BasicGenerator {
public static final ArrayList<EntityEnderCrystal> sUsedDragonCrystalList = new ArrayList();
public static final ArrayList<EntityEnderCrystal> sUsedDragonCrystalList = new ArrayList<EntityEnderCrystal>();
public static boolean sAllowMultipleEggs = true;
public static GT_MetaTileEntity_MagicalEnergyAbsorber mActiveSiphon = null;
public static int sEnergyPerEnderCrystal = 32;
@ -53,6 +53,11 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public GT_MetaTileEntity_MagicalEnergyAbsorber(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public boolean isOutputFacing(byte aSide) {
return aSide == getBaseMetaTileEntity().getFrontFacing();

View file

@ -25,6 +25,11 @@ public class GT_MetaTileEntity_PlasmaGenerator
onConfigLoad();
}
public GT_MetaTileEntity_PlasmaGenerator(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public boolean isOutputFacing(byte aSide) {
return aSide == getBaseMetaTileEntity().getFrontFacing();
}

View file

@ -24,6 +24,11 @@ public class GT_MetaTileEntity_SolidNaquadahReactor
onConfigLoad();
}
public GT_MetaTileEntity_SolidNaquadahReactor(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public boolean isOutputFacing(byte aSide) {
return (aSide > 1) && (aSide != getBaseMetaTileEntity().getFrontFacing()) && (aSide != getBaseMetaTileEntity().getBackFacing());
}

View file

@ -17,7 +17,9 @@ public class GT_MetaTileEntity_SteamTurbine extends GT_MetaTileEntity_BasicGener
public int mEfficiency;
public GT_MetaTileEntity_SteamTurbine(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, "Requires Steam to run", new ITexture[0]);
super(aID, aName, aNameRegional, aTier, new String[]{
"Converts Steam into EU",
"Base rate: 2L of Steam -> 1 EU"}, new ITexture[0]);
onConfigLoad();
}
@ -26,6 +28,11 @@ public class GT_MetaTileEntity_SteamTurbine extends GT_MetaTileEntity_BasicGener
onConfigLoad();
}
public GT_MetaTileEntity_SteamTurbine(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public boolean isOutputFacing(byte aSide) {
return aSide == getBaseMetaTileEntity().getFrontFacing();
}
@ -40,7 +47,12 @@ public class GT_MetaTileEntity_SteamTurbine extends GT_MetaTileEntity_BasicGener
@Override
public String[] getDescription() {
return new String[]{mDescription, "Fuel Efficiency: " + (600 / getEfficiency()) + "%"};
String[] desc = new String[mDescription.length + 2];
System.arraycopy(mDescription, 0, desc, 0, mDescription.length);
desc[mDescription.length] = "Fuel Efficiency: " + (600 / getEfficiency()) + "%";
desc[mDescription.length + 1] = String.format("Consumes up to %sL of Steam per second",
(int) (4000 * (8 * Math.pow(4, mTier) + Math.pow(2, mTier)) / (600 / getEfficiency())));
return desc;
}
public int getCapacity() {

View file

@ -18,6 +18,10 @@ public class GT_MetaTileEntity_BasicHull_Bronze
super(aName, aTier, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicHull_Bronze(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_BasicHull_Bronze(this.mName, this.mTier, this.mDescription, this.mTextures);
}

View file

@ -18,6 +18,10 @@ public class GT_MetaTileEntity_BasicHull_BronzeBricks
super(aName, aTier, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicHull_BronzeBricks(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_BasicHull_BronzeBricks(this.mName, this.mTier, this.mDescription, this.mTextures);
}

View file

@ -18,6 +18,10 @@ public class GT_MetaTileEntity_BasicHull_Steel
super(aName, aTier, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicHull_Steel(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_BasicHull_Steel(this.mName, this.mTier, this.mDescription, this.mTextures);
}

View file

@ -18,6 +18,10 @@ public class GT_MetaTileEntity_BasicHull_SteelBricks
super(aName, aTier, aDescription, aTextures);
}
public GT_MetaTileEntity_BasicHull_SteelBricks(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_BasicHull_SteelBricks(this.mName, this.mTier, this.mDescription, this.mTextures);
}

View file

@ -75,6 +75,15 @@ public class GT_MetaTileEntity_AdvSeismicProspector extends GT_MetaTileEntity_Ba
step = aStep;
}
protected GT_MetaTileEntity_AdvSeismicProspector(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures,
String aGUIName, String aNEIName, int aNear, int aMiddle, int aRadius, int aStep) {
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
radius = aRadius;
near = aNear;
middle = aMiddle;
step = aStep;
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_AdvSeismicProspector(this.mName, this.mTier, this.mDescription, this.mTextures,
this.mGUIName, this.mNEIName, this.near, this.middle, this.radius, this.step);

View file

@ -22,6 +22,10 @@ public class GT_MetaTileEntity_Boxinator
super(aName, aTier, 1, aDescription, aTextures, 2, 1, aGUIName, aNEIName);
}
public GT_MetaTileEntity_Boxinator(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) {
super(aName, aTier, 1, aDescription, aTextures, 2, 1, aGUIName, aNEIName);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Boxinator(this.mName, this.mTier, this.mDescription, this.mTextures, this.mGUIName, this.mNEIName);
}

View file

@ -20,6 +20,10 @@ public class GT_MetaTileEntity_Charger extends GT_MetaTileEntity_BasicBatteryBuf
super(aName, aTier, aDescription, aTextures, aSlotCount);
}
public GT_MetaTileEntity_Charger(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, int aSlotCount) {
super(aName, aTier, aDescription, aTextures, aSlotCount);
}
@Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Charger(mName, mTier, mDescription, mTextures, mInventory.length);

View file

@ -29,6 +29,10 @@ public class GT_MetaTileEntity_CuringOven
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public GT_MetaTileEntity_CuringOven(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) {
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_CuringOven(this.mName, this.mTier, this.mDescription, this.mTextures, this.mGUIName, this.mNEIName);
}

View file

@ -22,6 +22,10 @@ public class GT_MetaTileEntity_Disassembler
super(aName, aTier, 1, aDescription, aTextures, 1, 9, aGUIName, aNEIName);
}
public GT_MetaTileEntity_Disassembler(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) {
super(aName, aTier, 1, aDescription, aTextures, 1, 9, aGUIName, aNEIName);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Disassembler(this.mName, this.mTier, this.mDescription, this.mTextures, this.mGUIName, this.mNEIName);
}

View file

@ -30,6 +30,10 @@ public class GT_MetaTileEntity_Massfabricator
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public GT_MetaTileEntity_Massfabricator(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) {
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Massfabricator(this.mName, this.mTier, this.mDescription, this.mTextures, this.mGUIName, this.mNEIName);
}

View file

@ -50,6 +50,10 @@ public class GT_MetaTileEntity_MicrowaveEnergyTransmitter extends GT_MetaTileEnt
super(aName, aTier, 3, aDescription, aTextures);
}
public GT_MetaTileEntity_MicrowaveEnergyTransmitter(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 3, aDescription, aTextures);
}
@Override
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
if (aBaseMetaTileEntity.isClientSide()) return true;

View file

@ -24,6 +24,10 @@ public class GT_MetaTileEntity_MonsterRepellent extends GT_MetaTileEntity_Tiered
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public GT_MetaTileEntity_MonsterRepellent(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_MonsterRepellent(this.mName, this.mTier, this.mInventory.length, this.mDescription, this.mTextures);
}

View file

@ -26,6 +26,10 @@ public class GT_MetaTileEntity_PotionBrewer
super(aName, aTier, 1, aDescription, aTextures, 1, 0, aGUIName, aNEIName);
}
public GT_MetaTileEntity_PotionBrewer(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) {
super(aName, aTier, 1, aDescription, aTextures, 1, 0, aGUIName, aNEIName);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_PotionBrewer(this.mName, this.mTier, this.mDescription, this.mTextures, this.mGUIName, this.mNEIName);
}

View file

@ -27,7 +27,7 @@ import static gregtech.api.enums.GT_Values.V;
public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
public ArrayList<ChunkPosition> mPumpList = new ArrayList();
public ArrayList<ChunkPosition> mPumpList = new ArrayList<ChunkPosition>();
public int mPumpTimer = 0;
public int mPumpCountBelow = 0;
public Block mPumpedBlock1 = null;
@ -41,6 +41,10 @@ public class GT_MetaTileEntity_Pump extends GT_MetaTileEntity_Hatch {
super(aName, aTier, 3, aDescription, aTextures);
}
public GT_MetaTileEntity_Pump(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 3, aDescription, aTextures);
}
@Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Pump(this.mName, this.mTier, this.mDescription, this.mTextures);

View file

@ -29,6 +29,10 @@ public class GT_MetaTileEntity_Replicator
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public GT_MetaTileEntity_Replicator(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) {
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Replicator(this.mName, this.mTier, this.mDescription, this.mTextures, this.mGUIName, this.mNEIName);
}

View file

@ -24,6 +24,10 @@ public class GT_MetaTileEntity_RockBreaker
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public GT_MetaTileEntity_RockBreaker(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) {
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_RockBreaker(this.mName, this.mTier, this.mDescription, this.mTextures, this.mGUIName, this.mNEIName);
}

View file

@ -34,6 +34,10 @@ public class GT_MetaTileEntity_Scanner
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public GT_MetaTileEntity_Scanner(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) {
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Scanner(this.mName, this.mTier, this.mDescription, this.mTextures, this.mGUIName, this.mNEIName);
}

View file

@ -38,6 +38,10 @@ public class GT_MetaTileEntity_SeismicProspector extends GT_MetaTileEntity_Basic
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public GT_MetaTileEntity_SeismicProspector(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures, String aGUIName, String aNEIName) {
super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_SeismicProspector(this.mName, this.mTier, this.mDescription, this.mTextures, this.mGUIName, this.mNEIName);
}

View file

@ -59,6 +59,10 @@ public class GT_MetaTileEntity_Teleporter extends GT_MetaTileEntity_BasicTank {
super(aName, aTier, 3, aDescription, aTextures);
}
public GT_MetaTileEntity_Teleporter(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 3, aDescription, aTextures);
}
private static float weightCalculation(Entity aEntity) {
try {
if ((aEntity instanceof EntityFX)) {

View file

@ -50,7 +50,8 @@ public class GT_MetaTileEntity_BronzeBlastFurnace
"Controller Block for the Bronze Blast Furnace",
"How to get your first Steel",
"Size(WxHxD): 3x4x3 (Hollow, with opening on top)",
"Bronze Plated Bricks for the rest (32 at least!)"};
"Bronze Plated Bricks for the rest (32 at least!)",
"Causes 50 Pollution per second"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {

View file

@ -44,7 +44,8 @@ public class GT_MetaTileEntity_Charcoal_Pit extends GT_MetaTileEntity_MultiBlock
"11x1x11 of Bricks (Bottom layer only)",
"11x5x11 of Logs (Above bottom Brick layer)",
"Only grass/dirt can touch Log blocks",
"No air between logs allowed"};
"No air between logs allowed",
"Causes 100 Pollution per second"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {

View file

@ -16,171 +16,188 @@ import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_MultiBlockBase {
private int mHeatingCapacity = 0;
private int mHeatingCapacity = 0;
public GT_MetaTileEntity_Cleanroom(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
}
public GT_MetaTileEntity_Cleanroom(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
}
public GT_MetaTileEntity_Cleanroom(String aName) {
super(aName);
}
public GT_MetaTileEntity_Cleanroom(String aName) {
super(aName);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Cleanroom(this.mName);
}
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Cleanroom(this.mName);
}
public String[] getDescription() {
return new String[]{
"Controller Block for the Cleanroom",
"Min(WxHxD): 3x3x3 (Hollow), Max(WxHxD): 15x15x15 (Hollow)",
"Controller (Top center), Walls Plascrete",
"Top besides contoller and corners filter casings",
"1 Reinforced Door",
"1x Energy Hatch, 1x Maintainance Hatch",
"up to 10 Machine Hull to transfer Items&Energy inside",
""};
}
public String[] getDescription() {
return new String[] {
"Controller Block for the Cleanroom",
"Min(WxHxD): 3x3x3 (Hollow), Max(WxHxD): 15x15x15 (Hollow)",
"Controller (Top center), Walls Plascrete",
"Top besides contoller and corners filter casings",
"1 Reinforced Door",
"1x Energy Hatch, 1x Maintainance Hatch",
"up to 10 Machine Hull to transfer Items & Energy inside"};
}
public boolean checkRecipe(ItemStack aStack) {
this.mEfficiencyIncrease = 100;
this.mMaxProgresstime = 100;
this.mEUt = -4;
return true;
}
public boolean checkRecipe(ItemStack aStack) {
this.mEfficiencyIncrease = 100;
this.mMaxProgresstime = 100;
this.mEUt = -4;
return true;
}
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
int x=1;
int z=1;
int y=1;
int mDoorCount=0;
int mHullCount=0;
int mPlascreteCount=0;
boolean doorState=false;
mUpdate = 100;
for(int i = 1;i<8;i++){
Block tBlock = aBaseMetaTileEntity.getBlockOffset(i, 0, 0);
int tMeta = aBaseMetaTileEntity.getMetaIDOffset(i, 0, 0);
if(tBlock != GregTech_API.sBlockCasings3 || tMeta != 11){
if(tBlock ==GregTech_API.sBlockReinforced || tMeta == 2){
x=i;
z=i;
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
int x = 1;
int z = 1;
int y = 1;
int mDoorCount = 0;
int mHullCount = 0;
int mPlascreteCount = 0;
boolean doorState = false;
mUpdate = 100;
for (int i = 1; i < 8; i++) {
Block tBlock = aBaseMetaTileEntity.getBlockOffset(i, 0, 0);
int tMeta = aBaseMetaTileEntity.getMetaIDOffset(i, 0, 0);
if (tBlock != GregTech_API.sBlockCasings3 || tMeta != 11) {
if (tBlock == GregTech_API.sBlockReinforced || tMeta == 2) {
x = i;
z = i;
break;
} else {
return false;
}
}
}
for (int i = -1; i > -16; i--) {
Block tBlock = aBaseMetaTileEntity.getBlockOffset(x, i, z);
int tMeta = aBaseMetaTileEntity.getMetaIDOffset(x, i, z);
if (tBlock != GregTech_API.sBlockReinforced || tMeta != 2) {
y = i + 1;
break;
}else{return false;}
}
}
}
for(int i = -1; i>-16;i--){
Block tBlock = aBaseMetaTileEntity.getBlockOffset(x, i, z);
int tMeta = aBaseMetaTileEntity.getMetaIDOffset(x, i, z);
if(tBlock != GregTech_API.sBlockReinforced || tMeta != 2){
y = i+1;
break;
if (y > -2) {
return false;
}
}
if(y>-2){return false;}
for(int dX=-x;dX<=x;dX++){
for(int dZ=-z;dZ<=z;dZ++){
for(int dY=0;dY>=y;dY--){
if(dX==-x||dX==x||dY==-y||dY==y||dZ==-z||dZ==z){
Block tBlock = aBaseMetaTileEntity.getBlockOffset(dX, dY, dZ);
int tMeta = aBaseMetaTileEntity.getMetaIDOffset(dX, dY, dZ);
if(y==0){
if(dX==-x||dX==x||dZ==-z||dZ==z){
if(tBlock!=GregTech_API.sBlockReinforced||tMeta!=2){return false;}
}else if(dX==0&&dZ==0){
}else {
if(tBlock!=GregTech_API.sBlockCasings3||tMeta!=11){return false;}
}
}else if(tBlock==GregTech_API.sBlockReinforced&&tMeta==2){
mPlascreteCount++;
}else{
IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(dX, dY, dZ);
if((!addMaintenanceToMachineList(tTileEntity, 82)) && (!addEnergyInputToMachineList(tTileEntity, 82))){
if(tBlock instanceof ic2.core.block.BlockIC2Door){
if((tMeta&8)==0){
doorState=(Math.abs(dX)>Math.abs(dZ)==((tMeta&1)!=0))!=((tMeta&4)!=0);
for (int dX = -x; dX <= x; dX++) {
for (int dZ = -z; dZ <= z; dZ++) {
for (int dY = 0; dY >= y; dY--) {
if (dX == -x || dX == x || dY == -y || dY == y || dZ == -z || dZ == z) {
Block tBlock = aBaseMetaTileEntity.getBlockOffset(dX, dY, dZ);
int tMeta = aBaseMetaTileEntity.getMetaIDOffset(dX, dY, dZ);
if (y == 0) {
if (dX == -x || dX == x || dZ == -z || dZ == z) {
if (tBlock != GregTech_API.sBlockReinforced || tMeta != 2) {
return false;
}
} else if (dX == 0 && dZ == 0) {
} else {
if (tBlock != GregTech_API.sBlockCasings3 || tMeta != 11) {
return false;
}
}
mDoorCount++;
}else{
if (tTileEntity == null) {
{return false;}
}
IMetaTileEntity aMetaTileEntity = tTileEntity.getMetaTileEntity();
if (aMetaTileEntity == null) {return false;}
if (aMetaTileEntity instanceof GT_MetaTileEntity_BasicHull){mHullCount++;
}else {return false;}
} else if (tBlock == GregTech_API.sBlockReinforced && tMeta == 2) {
mPlascreteCount++;
} else {
IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(dX, dY, dZ);
if ((!addMaintenanceToMachineList(tTileEntity, 82)) && (!addEnergyInputToMachineList(tTileEntity, 82))) {
if (tBlock instanceof ic2.core.block.BlockIC2Door) {
if ((tMeta & 8) == 0) {
doorState = (Math.abs(dX) > Math.abs(dZ) == ((tMeta & 1) != 0)) != ((tMeta & 4) != 0);
}
mDoorCount++;
} else {
if (tTileEntity == null) {
{
return false;
}
}
IMetaTileEntity aMetaTileEntity = tTileEntity.getMetaTileEntity();
if (aMetaTileEntity == null) {
return false;
}
if (aMetaTileEntity instanceof GT_MetaTileEntity_BasicHull) {
mHullCount++;
} else {
return false;
}
}
}
}
} else {
}
}
}
}
if (mMaintenanceHatches.size() != 1 || mEnergyHatches.size() != 1 || mDoorCount != 2 || mHullCount > 10) {
return false;
}
for (int dX = -x + 1; dX <= x - 1; dX++) {
for (int dZ = -z + 1; dZ <= z - 1; dZ++) {
for (int dY = -1; dY >= y + 1; dY--) {
IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(dX, dY, dZ);
if (tTileEntity != null) {
IMetaTileEntity aMetaTileEntity = tTileEntity.getMetaTileEntity();
if (aMetaTileEntity != null && aMetaTileEntity instanceof GT_MetaTileEntity_BasicMachine_GT_Recipe) {
((GT_MetaTileEntity_BasicMachine_GT_Recipe) aMetaTileEntity).mCleanroom = this;
}
}
}
}else{
}
}
}
}
if(mMaintenanceHatches.size()!=1||mEnergyHatches.size()!=1||mDoorCount!=2||mHullCount>10){return false;}
for(int dX=-x+1;dX<=x-1;dX++){
for(int dZ=-z+1;dZ<=z-1;dZ++){
for(int dY=-1;dY>=y+1;dY--){
IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(dX, dY, dZ);
if(tTileEntity!=null){
IMetaTileEntity aMetaTileEntity = tTileEntity.getMetaTileEntity();
if (aMetaTileEntity != null && aMetaTileEntity instanceof GT_MetaTileEntity_BasicMachine_GT_Recipe){
((GT_MetaTileEntity_BasicMachine_GT_Recipe)aMetaTileEntity).mCleanroom = this;
}
}
}
if (doorState) {
mEfficiency = Math.max(0, mEfficiency - 200);
}
return true;
}
if(doorState){
mEfficiency=Math.max(0,mEfficiency-200);
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
if (aSide == 0 || aSide == 1) {
return new ITexture[] { new GT_RenderedTexture(Textures.BlockIcons.BLOCK_PLASCRETE),
new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_TOP_CLEANROOM_ACTIVE : Textures.BlockIcons.OVERLAY_TOP_CLEANROOM) };
}
return new ITexture[] { new GT_RenderedTexture(Textures.BlockIcons.BLOCK_PLASCRETE) };
}
return true;
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "MultiblockDisplay.png");
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
if (aSide == 0 || aSide == 1) {
return new ITexture[]{new GT_RenderedTexture(Textures.BlockIcons.BLOCK_PLASCRETE), new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_TOP_CLEANROOM_ACTIVE : Textures.BlockIcons.OVERLAY_TOP_CLEANROOM)};
public GT_Recipe.GT_Recipe_Map getRecipeMap() {
return null;
}
}
return new ITexture[]{new GT_RenderedTexture(Textures.BlockIcons.BLOCK_PLASCRETE)};
}
public boolean isCorrectMachinePart(ItemStack aStack) {
return true;
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "MultiblockDisplay.png");
}
public boolean isFacingValid(byte aFacing) {
return aFacing > 1;
}
public GT_Recipe.GT_Recipe_Map getRecipeMap() {
return null;
}
public int getMaxEfficiency(ItemStack aStack) {
return 10000;
}
public boolean isCorrectMachinePart(ItemStack aStack) {
return true;
}
public int getPollutionPerTick(ItemStack aStack) {
return 0;
}
public boolean isFacingValid(byte aFacing) {
return aFacing > 1;
}
public int getDamageToComponent(ItemStack aStack) {
return 0;
}
public int getMaxEfficiency(ItemStack aStack) {
return 10000;
}
public int getAmountOfOutputs() {
return 0;
}
public int getPollutionPerTick(ItemStack aStack) {
return 0;
}
public int getDamageToComponent(ItemStack aStack) {
return 0;
}
public int getAmountOfOutputs() {
return 0;
}
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
}

View file

@ -31,6 +31,7 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock
public GT_MetaTileEntity_DieselEngine(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
}
public GT_MetaTileEntity_DieselEngine(String aName) {
super(aName);
}
@ -48,7 +49,9 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock
"1x Dynamo Hatch (back centered)",
"Engine Intake Casings not obstructed in front (only air blocks)",
"Supply Diesel Fuel and Lubricant to run. Supply Oxygen to boost output (optional).",
"2048EU/t default output, 6144EU/t boosted output"};
"Default: Produces 2048EU/t at 100% efficiency",
"Boosted: Produces 6144EU/t at 150% efficiency",
"Causes " + 20 * getPollutionPerTick(null) + " Pollution per second"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
@ -216,8 +219,9 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock
@Override
public int getPollutionPerTick(ItemStack aStack) {
return 15;
return 16;
}
@Override
public boolean explodesOnComponentBreak(ItemStack aStack) {
return true;

View file

@ -44,7 +44,8 @@ public class GT_MetaTileEntity_ElectricBlastFurnace
"1x Energy Hatch (Any bottom layer casing)",
"1x Maintenance Hatch (Any bottom layer casing)",
"1x Muffler Hatch (Top middle)",
"Heat Proof Machine Casings for the rest"};
"Heat Proof Machine Casings for the rest",
"Causes " + 20 * getPollutionPerTick(null) + " Pollution per second"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {

View file

@ -41,7 +41,8 @@ public class GT_MetaTileEntity_ImplosionCompressor
"1x Maintenance Hatch (Any casing)",
"1x Muffler Hatch (Any casing)",
"1x Energy Hatch (Any casing)",
"Solid Steel Casings for the rest (16 at least!)"};
"Solid Steel Casings for the rest (16 at least!)",
"Causes " + 20 * getPollutionPerTick(null) + " Pollution per second"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {

View file

@ -23,6 +23,7 @@ public abstract class GT_MetaTileEntity_LargeBoiler
extends GT_MetaTileEntity_MultiBlockBase {
private boolean firstRun = true;
private int mSuperEfficencyIncrease = 0;
private int integratedCircuitConfig = 0; //Steam output is reduced by 1000L per config
public GT_MetaTileEntity_LargeBoiler(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
@ -35,7 +36,8 @@ public abstract class GT_MetaTileEntity_LargeBoiler
public String[] getDescription() {
return new String[]{
"Controller Block for the Large Boiler",
"Produces "+(getEUt()*40)*(runtimeBoost(20)/20f)+"L of Steam with 1 Coal in "+runtimeBoost(20)+" ticks",
"Produces "+(getEUt()*40)*(runtimeBoost(20)/20f)+"L of Steam with 1 Coal at "+getEUt()* 40+"L/s",
"A programmed circuit in the main block throttles the boiler (-1000L/s per config)",
"Size(WxHxD): 3x5x3, Controller (Front middle in Fireboxes)",
"3x1x3 of Fire Boxes (Bottom layer, Min 3)",
"3x4x3 of Casings (Above Fireboxes, hollow, Min 24!)",
@ -45,7 +47,9 @@ public abstract class GT_MetaTileEntity_LargeBoiler
"1x Output Hatch (Any Casing)",
"1x Maintenance Hatch (Any Firebox)",
"1x Muffler Hatch (Any Firebox)",
"Refined liquid fuels have 1/4 efficiency"};
"Diesel fuels have 1/4 efficiency",
String.format("Takes %.2f seconds to heat up", 500.0 / getEfficiencyIncrease()),
"Causes up to " + 20 * getPollutionPerTick(null) + " Pollution per second"};
}
public abstract Block getCasingBlock();
@ -88,14 +92,26 @@ public abstract class GT_MetaTileEntity_LargeBoiler
}
public boolean checkRecipe(ItemStack aStack) {
//Do we have an integrated circuit with a valid configuration?
if (mInventory[1] != null && mInventory[1].getUnlocalizedName().startsWith("gt.integrated_circuit")) {
int circuit_config = mInventory[1].getItemDamage();
if (circuit_config >= 1 && circuit_config <= 25) {
// If so, overwrite the current config
this.integratedCircuitConfig = circuit_config;
}
} else {
//If not, set the config to zero
this.integratedCircuitConfig = 0;
}
this.mSuperEfficencyIncrease=0;
for (GT_Recipe tRecipe : GT_Recipe.GT_Recipe_Map.sDieselFuels.mRecipeList) {
FluidStack tFluid = GT_Utility.getFluidForFilledItem(tRecipe.getRepresentativeInput(0), true);
if ((tFluid != null) && (tRecipe.mSpecialValue > 1)) {
tFluid.amount = 1000;
if (depleteInput(tFluid)) {
this.mMaxProgresstime = (runtimeBoost(tRecipe.mSpecialValue / 2));
this.mEUt = getEUt();
this.mMaxProgresstime = adjustBurnTimeForConfig(runtimeBoost(tRecipe.mSpecialValue / 2));
this.mEUt = adjustEUtForConfig(getEUt());
this.mEfficiencyIncrease = (this.mMaxProgresstime * getEfficiencyIncrease() * 4);
return true;
}
@ -106,8 +122,8 @@ public abstract class GT_MetaTileEntity_LargeBoiler
if (tFluid != null) {
tFluid.amount = 1000;
if (depleteInput(tFluid)) {
this.mMaxProgresstime = Math.max(1, runtimeBoost(tRecipe.mSpecialValue * 2));
this.mEUt = getEUt();
this.mMaxProgresstime = adjustBurnTimeForConfig(Math.max(1, runtimeBoost(tRecipe.mSpecialValue * 2)));
this.mEUt = adjustEUtForConfig(getEUt());
this.mEfficiencyIncrease = (this.mMaxProgresstime * getEfficiencyIncrease());
return true;
}
@ -117,7 +133,8 @@ public abstract class GT_MetaTileEntity_LargeBoiler
if (!tInputList.isEmpty()) {
for (ItemStack tInput : tInputList) {
if ((GT_Utility.getFluidForFilledItem(tInput, true) == null) && ((this.mMaxProgresstime = runtimeBoost(GT_ModHandler.getFuelValue(tInput) / 80)) > 0)) {
this.mEUt = getEUt();
this.mMaxProgresstime = adjustBurnTimeForConfig(this.mMaxProgresstime);
this.mEUt = adjustEUtForConfig(getEUt());
this.mEfficiencyIncrease = (this.mMaxProgresstime * getEfficiencyIncrease());
this.mOutputItems = new ItemStack[]{GT_Utility.getContainerItem(tInput, true)};
tInput.stackSize -= 1;
@ -155,12 +172,11 @@ public abstract class GT_MetaTileEntity_LargeBoiler
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
if (mProgresstime > 0 && firstRun) {
firstRun = false;
GT_Mod.instance.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "extremepressure");
GT_Mod.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "extremepressure");
}
super.onPostTick(aBaseMetaTileEntity, aTick);
}
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
@ -226,7 +242,8 @@ public abstract class GT_MetaTileEntity_LargeBoiler
}
public int getPollutionPerTick(ItemStack aStack) {
return 12;
int adjustedEUOutput = Math.max(25, getEUt() - 25 * integratedCircuitConfig);
return Math.max(1, 12 * adjustedEUOutput / getEUt());
}
public int getDamageToComponent(ItemStack aStack) {
@ -236,4 +253,17 @@ public abstract class GT_MetaTileEntity_LargeBoiler
public boolean explodesOnComponentBreak(ItemStack aStack) {
return false;
}
private int adjustEUtForConfig(int rawEUt){
int adjustedSteamOutput = rawEUt - 25 * integratedCircuitConfig;
return Math.max(adjustedSteamOutput, 25);
}
private int adjustBurnTimeForConfig(int rawBurnTime){
if(mEfficiency < 10000){
return rawBurnTime;
}
int adjustedEUt = Math.max(25, getEUt() - 25 * integratedCircuitConfig);
return rawBurnTime * getEUt() / adjustedEUt;
}
}

View file

@ -42,7 +42,8 @@ public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeT
"1x Dynamo Hatch (Back centered)",
"Stainless Steel Turbine Casings for the rest (24 at least!)",
"Needs a Turbine Item (Inside controller GUI)",
"Output depending on Rotor: 102-6720EU/t"};
"Output depending on Rotor: 102-6720EU/t",
"Causes " + 20 * getPollutionPerTick(null) + " Pollution per second"};
}
public int getFuelValue(FluidStack aLiquid) {

View file

@ -45,7 +45,8 @@ public class GT_MetaTileEntity_MultiFurnace
"1x Maintenance Hatch (One of bottom)",
"1x Muffler Hatch (Top middle)",
"1x Energy Hatch (One of bottom)",
"Heat Proof Machine Casings for the rest",};
"Heat Proof Machine Casings for the rest",
"Causes " + 20 * getPollutionPerTick(null) + " Pollution per second"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {

View file

@ -39,7 +39,8 @@ public class GT_MetaTileEntity_PyrolyseOven extends GT_MetaTileEntity_MultiBlock
"1x Maintenance Hatch (Any bottom layer casing)",
"1x Muffler Hatch (Centered 3x1x3 area in Top layer)",
"1x Energy Hatch (Any bottom layer casing)",
"ULV Machine Casings for the rest (60 at least!)"};
"ULV Machine Casings for the rest (60 at least!)",
"Causes " + 20 * getPollutionPerTick(null) + " Pollution per second"};
}
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {

View file

@ -22,6 +22,10 @@ public class GT_MetaTileEntity_AlloySmelter_Bronze
super(aName, aDescription, aTextures, 2, 1, true);
}
public GT_MetaTileEntity_AlloySmelter_Bronze(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 2, 1, true);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_AlloySmelter_Bronze(this.mName, this.mDescription, this.mTextures);
}

View file

@ -22,6 +22,10 @@ public class GT_MetaTileEntity_AlloySmelter_Steel
super(aName, aDescription, aTextures, 2, 1, true);
}
public GT_MetaTileEntity_AlloySmelter_Steel(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 2, 1, true);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_AlloySmelter_Steel(this.mName, this.mDescription, this.mTextures);
}

View file

@ -24,6 +24,10 @@ public class GT_MetaTileEntity_Compressor_Bronze
super(aName, aDescription, aTextures, 1, 1, false);
}
public GT_MetaTileEntity_Compressor_Bronze(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 1, 1, false);
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "BronzeCompressor.png", GT_Recipe.GT_Recipe_Map.sCompressorRecipes.mUnlocalizedName);
}

View file

@ -24,6 +24,10 @@ public class GT_MetaTileEntity_Compressor_Steel
super(aName, aDescription, aTextures, 1, 1, false);
}
public GT_MetaTileEntity_Compressor_Steel(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 1, 1, false);
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "SteelCompressor.png", GT_Recipe.GT_Recipe_Map.sCompressorRecipes.mUnlocalizedName);
}

View file

@ -24,6 +24,10 @@ public class GT_MetaTileEntity_Extractor_Bronze
super(aName, aDescription, aTextures, 1, 1, false);
}
public GT_MetaTileEntity_Extractor_Bronze(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 1, 1, false);
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "BronzeExtractor.png", GT_Recipe.GT_Recipe_Map.sExtractorRecipes.mUnlocalizedName);
}

View file

@ -24,6 +24,10 @@ public class GT_MetaTileEntity_Extractor_Steel
super(aName, aDescription, aTextures, 1, 1, false);
}
public GT_MetaTileEntity_Extractor_Steel(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 1, 1, false);
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "SteelExtractor.png", GT_Recipe.GT_Recipe_Map.sExtractorRecipes.mUnlocalizedName);
}

View file

@ -22,6 +22,10 @@ public class GT_MetaTileEntity_ForgeHammer_Bronze
super(aName, aDescription, aTextures, 1, 1, false);
}
public GT_MetaTileEntity_ForgeHammer_Bronze(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 1, 1, false);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_ForgeHammer_Bronze(this.mName, this.mDescription, this.mTextures);
}

View file

@ -22,6 +22,10 @@ public class GT_MetaTileEntity_ForgeHammer_Steel
super(aName, aDescription, aTextures, 1, 1, false);
}
public GT_MetaTileEntity_ForgeHammer_Steel(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 1, 1, false);
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_ForgeHammer_Steel(this.mName, this.mDescription, this.mTextures);
}

View file

@ -23,6 +23,10 @@ public class GT_MetaTileEntity_Furnace_Bronze
super(aName, aDescription, aTextures, 1, 1, true);
}
public GT_MetaTileEntity_Furnace_Bronze(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 1, 1, true);
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "BronzeFurnace.png", "smelting");
}

View file

@ -23,6 +23,10 @@ public class GT_MetaTileEntity_Furnace_Steel
super(aName, aDescription, aTextures, 1, 1, true);
}
public GT_MetaTileEntity_Furnace_Steel(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 1, 1, true);
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "SteelFurnace.png", "smelting");
}

View file

@ -29,6 +29,10 @@ public class GT_MetaTileEntity_Macerator_Bronze
super(aName, aDescription, aTextures, 1, 1, false);
}
public GT_MetaTileEntity_Macerator_Bronze(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 1, 1, false);
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "BronzeMacerator.png", GT_Recipe_Map.sMaceratorRecipes.mUnlocalizedName);
}

View file

@ -29,6 +29,10 @@ public class GT_MetaTileEntity_Macerator_Steel
super(aName, aDescription, aTextures, 1, 1, false);
}
public GT_MetaTileEntity_Macerator_Steel(String aName, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aDescription, aTextures, 1, 1, false);
}
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "SteelMacerator.png", GT_Recipe_Map.sMaceratorRecipes.mUnlocalizedName);
}

View file

@ -25,8 +25,15 @@ public class GT_MetaTileEntity_Locker
super(aName, aTier, 4, aDescription, aTextures);
}
public GT_MetaTileEntity_Locker(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 4, aDescription, aTextures);
}
public String[] getDescription() {
return new String[]{this.mDescription, "Click with Screwdriver to change Style"};
String[] desc = new String[mDescription.length + 1];
System.arraycopy(mDescription, 0, desc, 0, mDescription.length);
desc[mDescription.length] = "Click with Screwdriver to change Style";
return desc;
}
public ITexture[][][] getTextureSet(ITexture[] aTextures) {

View file

@ -25,6 +25,10 @@ public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_TieredMach
super(aName, aTier, 3, aDescription, aTextures);
}
public GT_MetaTileEntity_QuantumChest(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 3, aDescription, aTextures);
}
@Override
public boolean isSimpleMachine() {
return true;

View file

@ -19,6 +19,10 @@ public class GT_MetaTileEntity_QuantumTank
super(aName, aTier, 3, aDescription, aTextures);
}
public GT_MetaTileEntity_QuantumTank(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 3, aDescription, aTextures);
}
@Override
public ITexture[][][] getTextureSet(ITexture[] aTextures) {
return new ITexture[0][0][0];