diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java index 53ee7bde80..9036ff94dd 100644 --- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java +++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java @@ -49,6 +49,7 @@ import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; @@ -88,6 +89,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.IPlantable; +import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; @@ -105,10 +107,12 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse private boolean isIC2Mode = false; private byte glasTier = 0; private int waterusage = 0; + private int weedexusage = 0; private boolean isNoHumidity = false; private static final int CASING_INDEX = 49; private static final String STRUCTURE_PIECE_MAIN = "main"; private static final Item forestryfertilizer = GameRegistry.findItem("Forestry", "fertilizerCompound"); + private static final Fluid weedex = Materials.WeedEX9000.mFluid; private static final IStructureDefinition<GT_MetaTileEntity_ExtremeIndustrialGreenhouse> STRUCTURE_DEFINITION = StructureDefinition.<GT_MetaTileEntity_ExtremeIndustrialGreenhouse>builder() .addShape(STRUCTURE_PIECE_MAIN, transpose(new String[][] { @@ -242,6 +246,8 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse .addInfo("Use screwdriver while sneaking to enable/disable IC2 mode") .addInfo("Use wire cutters to give incoming IC2 crops 0 humidity") .addInfo("Uses 1000L of water per crop per operation") + .addInfo("If there are >= 1000 crops -> Uses 1L of Weed-EX 9000 per crop per second") + .addInfo("Otherwise, around 1% of crops will die each operation") .addInfo("You can insert fertilizer each operation to get more drops (max +400%)") .addInfo("-------------------- SETUP MODE --------------------") .addInfo("Does not take power") @@ -424,7 +430,9 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse if (mStorage.isEmpty()) return false; waterusage = 0; + weedexusage = 0; for (GreenHouseSlot s : mStorage) waterusage += s.input.stackSize; + if (waterusage >= 1000) weedexusage = waterusage; waterusage *= 1000; List<GT_MetaTileEntity_Hatch_Input> fluids = mInputHatches; @@ -454,6 +462,16 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse watercheck -= used; } + // weedex + if (weedexusage > 0 && !this.depleteInput(new FluidStack(weedex, isIC2Mode ? weedexusage * 5 : weedexusage))) { + IGregTechTileEntity baseMTE = this.getBaseMetaTileEntity(); + int tokill = baseMTE.getRandomNumber((int) ((double) weedexusage * 0.02d) + 1); + for (int i = 0; i < tokill; ) { + GreenHouseSlot removed = mStorage.remove(baseMTE.getRandomNumber(mStorage.size())); + i -= removed.input.stackSize; + } + } + // OVERCLOCK // FERTILIZER IDEA: // IC2 +10% per fertilizer per crop per operation @@ -855,6 +873,7 @@ public class GT_MetaTileEntity_ExtremeIndustrialGreenhouse : ("Setup mode " + (setupphase == 1 ? "(input)" : "(output)"))) + EnumChatFormatting.RESET, "Uses " + waterusage + "L/operation of water", + "Uses " + weedexusage + "L/second of Weed-EX 9000", "Max slots: " + EnumChatFormatting.GREEN + this.mMaxSlots + EnumChatFormatting.RESET, "Used slots: " + ((mStorage.size() > mMaxSlots) ? EnumChatFormatting.RED : EnumChatFormatting.GREEN) + this.mStorage.size() + EnumChatFormatting.RESET)); |