Oil Drill configurable
This commit is contained in:
parent
d682ca0d36
commit
0f2db4f76a
3 changed files with 115 additions and 102 deletions
|
@ -1,99 +1,104 @@
|
|||
package gregtech.api.metatileentity.implementations;
|
||||
|
||||
import gregtech.api.enums.Textures;
|
||||
import gregtech.api.gui.*;
|
||||
import gregtech.api.interfaces.ITexture;
|
||||
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
|
||||
import gregtech.api.metatileentity.MetaTileEntity;
|
||||
import gregtech.api.objects.GT_RenderedTexture;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class GT_MetaTileEntity_Hatch_DataAccess extends GT_MetaTileEntity_Hatch {
|
||||
public GT_MetaTileEntity_Hatch_DataAccess(int aID, String aName, String aNameRegional, int aTier) {
|
||||
super(aID, aName, aNameRegional, aTier, 16, "Data Access for Multiblocks");
|
||||
}
|
||||
|
||||
public GT_MetaTileEntity_Hatch_DataAccess(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
|
||||
super(aName, aTier, aTier == 4 ? 4 : 16, aDescription, aTextures);
|
||||
}
|
||||
|
||||
public GT_MetaTileEntity_Hatch_DataAccess(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
|
||||
super(aName, aTier, aTier == 4 ? 4 : 16, aDescription, aTextures);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
|
||||
return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_DATA_ACCESS)};
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
|
||||
return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_DATA_ACCESS)};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSimpleMachine() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFacingValid(byte aFacing) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAccessAllowed(EntityPlayer aPlayer) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValidSlot(int aIndex) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
||||
return new GT_MetaTileEntity_Hatch_DataAccess(mName, mTier, mDescriptionArray, mTextures);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
|
||||
if (aBaseMetaTileEntity.isClientSide()) return true;
|
||||
aBaseMetaTileEntity.openGUI(aPlayer);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
|
||||
switch (mTier) {
|
||||
case 4:
|
||||
return new GT_Container_2by2(aPlayerInventory, aBaseMetaTileEntity);
|
||||
default:
|
||||
return new GT_Container_4by4(aPlayerInventory, aBaseMetaTileEntity);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
|
||||
switch (mTier) {
|
||||
case 4:
|
||||
return new GT_GUIContainer_2by2(aPlayerInventory, aBaseMetaTileEntity, "Data Access Hatch", "DataAccess");
|
||||
case 6:
|
||||
return new GT_GUIContainer_4by4(aPlayerInventory, aBaseMetaTileEntity, "Data Access Hatch", "DataAccess");
|
||||
default:
|
||||
return new GT_GUIContainer_4by4(aPlayerInventory, aBaseMetaTileEntity, "Data Access Hatch", "DataAccess");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
package gregtech.api.metatileentity.implementations;
|
||||
|
||||
import gregtech.api.enums.Textures;
|
||||
import gregtech.api.gui.*;
|
||||
import gregtech.api.interfaces.ITexture;
|
||||
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
|
||||
import gregtech.api.metatileentity.MetaTileEntity;
|
||||
import gregtech.api.objects.GT_RenderedTexture;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class GT_MetaTileEntity_Hatch_DataAccess extends GT_MetaTileEntity_Hatch {
|
||||
public GT_MetaTileEntity_Hatch_DataAccess(int aID, String aName, String aNameRegional, int aTier) {
|
||||
super(aID, aName, aNameRegional, aTier, 16, "Data Access for Multiblocks");
|
||||
}
|
||||
|
||||
public GT_MetaTileEntity_Hatch_DataAccess(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
|
||||
super(aName, aTier, aTier == 4 ? 4 : 16, aDescription, aTextures);
|
||||
}
|
||||
|
||||
public GT_MetaTileEntity_Hatch_DataAccess(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
|
||||
super(aName, aTier, aTier == 4 ? 4 : 16, aDescription, aTextures);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITexture[] getTexturesActive(ITexture aBaseTexture) {
|
||||
return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_DATA_ACCESS)};
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
|
||||
return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_DATA_ACCESS)};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSimpleMachine() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFacingValid(byte aFacing) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAccessAllowed(EntityPlayer aPlayer) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValidSlot(int aIndex) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
|
||||
return new GT_MetaTileEntity_Hatch_DataAccess(mName, mTier, mDescriptionArray, mTextures);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
|
||||
if (aBaseMetaTileEntity.isClientSide()) return true;
|
||||
aBaseMetaTileEntity.openGUI(aPlayer);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
|
||||
switch (mTier) {
|
||||
case 4:
|
||||
return new GT_Container_2by2(aPlayerInventory, aBaseMetaTileEntity);
|
||||
default:
|
||||
return new GT_Container_4by4(aPlayerInventory, aBaseMetaTileEntity);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
|
||||
switch (mTier) {
|
||||
case 4:
|
||||
return new GT_GUIContainer_2by2(aPlayerInventory, aBaseMetaTileEntity, "Data Access Hatch", "DataAccess");
|
||||
case 6:
|
||||
return new GT_GUIContainer_4by4(aPlayerInventory, aBaseMetaTileEntity, "Data Access Hatch", "DataAccess");
|
||||
default:
|
||||
return new GT_GUIContainer_4by4(aPlayerInventory, aBaseMetaTileEntity, "Data Access Hatch", "DataAccess");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getInventoryStackLimit() {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -810,16 +810,24 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
return false;
|
||||
}
|
||||
|
||||
public int getTotalConfigValue(){
|
||||
int config = 0;
|
||||
ArrayList<ItemStack> tCircuitList = getDataItems(1);
|
||||
for (ItemStack tCircuit : tCircuitList)
|
||||
config += tCircuit.getItemDamage();
|
||||
return config;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param state using bitmask, 1 for IntegratedCircuit, 2 for DataStick, 4 for DataOrb
|
||||
*/
|
||||
private boolean isCorrectDataItem(ItemStack aStack, int state){
|
||||
if ((state & 1) != 0 && ItemList.Circuit_Integrated.isStackEqual(aStack, false, true)) return true;
|
||||
if ((state & 1) != 0 && ItemList.Circuit_Integrated.isStackEqual(aStack, true, true)) return true;
|
||||
if ((state & 2) != 0 && ItemList.Tool_DataStick.isStackEqual(aStack, false, true)) return true;
|
||||
if ((state & 4) != 0 && ItemList.Tool_DataOrb.isStackEqual(aStack, false, true)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param state using bitmask, 1 for IntegratedCircuit, 2 for DataStick, 4 for DataOrb
|
||||
*/
|
||||
|
|
|
@ -102,7 +102,7 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
|
|||
if (tryFillChunkList()) {
|
||||
float speed = .5F+(GT_Utility.getTier(getMaxInputVoltage()) - getMinTier()) *.25F;
|
||||
FluidStack tFluid = pumpOil(speed);
|
||||
if (tFluid != null){
|
||||
if (tFluid != null && tFluid.amount > getTotalConfigValue()){
|
||||
this.mOutputFluids = new FluidStack[]{tFluid};
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue