Skip to content

Commit

Permalink
Merge pull request #57 from IdealIndustrial/pilad-patches
Browse files Browse the repository at this point in the history
Pilad patches
  • Loading branch information
AndreySolodovnikov authored Mar 10, 2020
2 parents 7d49064 + 3d16c61 commit a796d31
Show file tree
Hide file tree
Showing 9 changed files with 82 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,7 @@ public interface IGT_RecipeAdder {
* Adds a Recipe for the Mixer
*/
public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt);
public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, ItemStack aInput5, ItemStack aInput6, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt);

/**
* Adds a Recipe for the Laser Engraver
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,17 @@
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Utility;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;

public class GT_MetaTileEntity_Hatch_OutputBus extends GT_MetaTileEntity_Hatch {

private boolean mAutoOutput = false;

public GT_MetaTileEntity_Hatch_OutputBus(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, getSlots(aTier), new String[]{"Item Output for Multiblocks",
"Capacity: " + getSlots(aTier) + " stack" + (getSlots(aTier) >= 2 ? "s" : "")});
Expand Down Expand Up @@ -66,6 +72,30 @@ public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlaye
return true;
}

@Override
public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
super.onScrewdriverRightClick(aSide, aPlayer, aX, aY, aZ);
if(getBaseMetaTileEntity().isServerSide()){
mAutoOutput = !mAutoOutput;
if(mAutoOutput)
GT_Utility.sendChatToPlayer(aPlayer,"Automatic output enabled");
else
GT_Utility.sendChatToPlayer(aPlayer,"Automatic output disabled");
}
}

@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
aNBT.setBoolean("mMode",mAutoOutput);
}

@Override
public void loadNBTData(NBTTagCompound aNBT) {
super.loadNBTData(aNBT);
mAutoOutput = aNBT.getBoolean("mMode");
}

@Override
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
switch (mTier) {
Expand Down Expand Up @@ -107,4 +137,18 @@ public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aInde
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return false;
}

@Override
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
super.onPostTick(aBaseMetaTileEntity, aTick);
if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() && (aTick&0x7)==0&&mAutoOutput) {
IInventory tTileEntity =aBaseMetaTileEntity.getIInventoryAtSide(aBaseMetaTileEntity.getFrontFacing());
if(tTileEntity!=null){
for (ItemStack aMInventory : mInventory)
GT_Utility.moveOneItemStack(aBaseMetaTileEntity, tTileEntity, aBaseMetaTileEntity.getFrontFacing(), aBaseMetaTileEntity.getBackFacing(), null, false, (byte) 64, (byte) 1, (byte) 64, (byte) 1);
}
}
}


}
6 changes: 5 additions & 1 deletion src/main/java/gregtech/common/GT_RecipeAdder.java
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,10 @@ public boolean addAutoclaveRecipe(ItemStack aInput, FluidStack aFluid, ItemStack
}

public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt) {
return addMixerRecipe(aInput1, aInput2, aInput3, aInput4, null, null, aFluidInput, aFluidOutput, aOutput, aDuration, aEUt);
}

public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aInput3, ItemStack aInput4, ItemStack aInput5, ItemStack aInput6, FluidStack aFluidInput, FluidStack aFluidOutput, ItemStack aOutput, int aDuration, int aEUt) {
if (((aInput1 == null) && (aFluidInput == null)) || ((aOutput == null) && (aFluidOutput == null))) {
return false;
}
Expand All @@ -799,7 +803,7 @@ public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aI
if ((aFluidOutput != null) && ((aDuration = GregTech_API.sRecipeFile.get("mixer", aFluidOutput.getFluid().getName(), aDuration)) <= 0)) {
return false;
}
GT_Recipe.GT_Recipe_Map.sMixerRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2, aInput3, aInput4}, new ItemStack[]{aOutput}, null, null, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
GT_Recipe.GT_Recipe_Map.sMixerRecipes.addRecipe(true, new ItemStack[]{aInput1, aInput2, aInput3, aInput4, aInput5, aInput6}, new ItemStack[]{aOutput}, null, null, new FluidStack[]{aFluidInput}, new FluidStack[]{aFluidOutput}, aDuration, aEUt, 0);
return true;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,4 +179,8 @@ public final int fill(FluidStack aFluid, boolean doFill) {
}
return super.fill(aFluid, doFill);
}

public int getCapacity() {
return 32000;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -197,4 +197,9 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
}
}


public int getCapacity() {
return 32000;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -189,4 +189,8 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
}
}

public int getCapacity() {
return 32000;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,21 @@
public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeRegistrator {
public ProcessingCrushedOre() {
OrePrefixes.crushedCentrifuged.add(this);
OrePrefixes.crushedPurified.add(this);
OrePrefixes.crushedPurified.add(this);
OrePrefixes.crushed.add(this);
OrePrefixes.dustImpure.add(this);
}

public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack) {
switch (aPrefix) {
case crushed:
GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Water.getFluid(10L), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1L), 10000, 4, 8);
GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_ModHandler.getDistilledWater(10L), GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 1L), 10000, 4, 8);
break;
case dustImpure:
GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), Materials.Water.getFluid(10L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), 10000, 4, 8);
GT_Values.RA.addAutoclaveRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_ModHandler.getDistilledWater(10L), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), 10000, 4, 8);
break;
case crushedCentrifuged:
GT_Values.RA.addForgeHammerRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), 10, 16);
GT_ModHandler.addPulverisationRecipe(GT_Utility.copyAmount(1L, new Object[]{aStack}), GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, GT_Utility.selectItemInList(2, aMaterial.mMacerateInto, aMaterial.mOreByProducts), 1L), 10, false);
Expand Down
Loading

0 comments on commit a796d31

Please sign in to comment.