Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pilad patches #57

Merged
merged 4 commits into from
Mar 10, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -105,4 +135,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 @@ -148,4 +148,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