diff options
author | Bass <tudurap.com@gmail.com> | 2019-11-26 06:54:33 +0000 |
---|---|---|
committer | Bass <tudurap.com@gmail.com> | 2019-11-26 06:54:33 +0000 |
commit | ce39aac7316e8d8c5d0f6f34b7aa8b8ff61bfba9 (patch) | |
tree | 352efd20768fa282cf3b1eaaaa77a0422c092f89 /src | |
parent | 96db49fa7dd72899d2255a19b269e66e9acb8d19 (diff) | |
download | GT5-Unofficial-ce39aac7316e8d8c5d0f6f34b7aa8b8ff61bfba9.tar.gz GT5-Unofficial-ce39aac7316e8d8c5d0f6f34b7aa8b8ff61bfba9.tar.bz2 GT5-Unofficial-ce39aac7316e8d8c5d0f6f34b7aa8b8ff61bfba9.zip |
Range config for oil drilling rig
Adds screwdriver range configuration to oil drilling rigs
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java index 6e6c2c7922..c33dca9d97 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrillBase.java @@ -4,6 +4,7 @@ import gregtech.api.gui.GT_GUIContainer_MultiMachine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_Utility; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -26,6 +27,8 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D private ArrayList<Chunk> mOilFieldChunks = new ArrayList<Chunk>(); private int mOilId = 0; + private int chunkRangeConfig = getRangeInChunks(); + public GT_MetaTileEntity_OilDrillBase(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); } @@ -38,12 +41,14 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); aNBT.setInteger("mOilId", mOilId); + aNBT.setInteger("chunkRangeConfig", chunkRangeConfig); } @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); mOilId = aNBT.getInteger("mOilId"); + chunkRangeConfig = aNBT.getInteger("chunkRangeConfig"); } protected String[] getDescriptionInternal(String tierSuffix) { @@ -57,7 +62,8 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D "1x Output Hatch (One of base casings)", "1x Maintenance Hatch (One of base casings)", "1x " + VN[getMinTier()] + "+ Energy Hatch (Any bottom layer casing)", - "Working on " + getRangeInChunks() + " * " + getRangeInChunks() + " chunks", + "Working on " + getRangeInChunks() + "x" + getRangeInChunks() + " chunks", + "Use Screwdriver to configure range", "Use Programmed Circuits to ignore near exhausted oil field"}; } @@ -70,6 +76,21 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D protected abstract int getRangeInChunks(); @Override + public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { + super.onScrewdriverRightClick(aSide, aPlayer, aX, aY, aZ); + if (aPlayer.isSneaking()) { + if (chunkRangeConfig > 1) { + chunkRangeConfig--; + } + } else { + if (chunkRangeConfig < getRangeInChunks()) { + chunkRangeConfig++; + } + } + GT_Utility.sendChatToPlayer(aPlayer, "Set to work on " + chunkRangeConfig + "x" + chunkRangeConfig + " chunks");//TODO Add translation support + } + + @Override protected boolean checkHatches() { return !mMaintenanceHatches.isEmpty() && !mOutputHatches.isEmpty() && !mEnergyHatches.isEmpty(); } @@ -82,7 +103,7 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D this.mEUt = -7 << (tier << 1);//(1/4) A of current tier when at bottom (7/8) A of current tier while mining this.mMaxProgresstime = Math.max(1, (workState == STATE_AT_BOTTOM ? - (64 * (getRangeInChunks() * getRangeInChunks()))>>(getMinTier()-1) : + (64 * (chunkRangeConfig * chunkRangeConfig))>>(getMinTier()-1) : 120 ) >> tier); } @@ -123,7 +144,7 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D if (mOilFieldChunks.isEmpty()) { Chunk tChunk = getBaseMetaTileEntity().getWorld().getChunkFromBlockCoords(getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getZCoord()); - int range = getRangeInChunks(); + int range = chunkRangeConfig; int xChunk = Math.floorDiv(tChunk.xPosition,range) * range; //Java was written by idiots. For negative values, / returns rounded towards zero. Fucking morons. int zChunk = Math.floorDiv(tChunk.zPosition,range) * range; if (debugDriller) { |