aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity/implementations
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2016-10-27 23:55:28 +0200
committerTechnus <daniel112092@gmail.com>2016-10-27 23:55:28 +0200
commitd85a01caada7f7170b454efaa41453de2500e984 (patch)
treedb76c208e3de5639c432fbd4d30d4bfdf88bb0f5 /src/main/java/gregtech/api/metatileentity/implementations
parent1cf608fe14131a4e7f4d25ed8a043310e65da9ff (diff)
downloadGT5-Unofficial-d85a01caada7f7170b454efaa41453de2500e984.tar.gz
GT5-Unofficial-d85a01caada7f7170b454efaa41453de2500e984.tar.bz2
GT5-Unofficial-d85a01caada7f7170b454efaa41453de2500e984.zip
Revert "Hopefully fixes Auto maintenance on servers (still works on ssp)"
This reverts commit df0264a9ab2e58c58dc3ab44ae6e996921c7a06f.
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/implementations')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Maintenance.java68
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java51
2 files changed, 54 insertions, 65 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Maintenance.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Maintenance.java
index e22d805f66..e2aaf30e99 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Maintenance.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Maintenance.java
@@ -29,6 +29,7 @@ import java.util.List;
public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch {
public boolean mWrench = false, mScrewdriver = false, mSoftHammer = false, mHardHammer = false, mSolderingTool = false, mCrowbar = false, mAuto;
+ public GT_MetaTileEntity_MultiBlockBase mController = null;
public GT_MetaTileEntity_Hatch_Maintenance(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, 1, "For maintaining Multiblocks");
@@ -47,18 +48,18 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
@Override
public String[] getDescription() {
- if(mAuto)return new String[]{mDescription, "4 Duct tape, 2 Lubricant Cells","4 Steel Screws, 2 Adv. Circuits","For each auto-repair"};
+ if(mAuto)return new String[]{mDescription, "Cannot be shared between Multiblocks!","4 Duct tape, 2 Lubricant Cells","4 Steel Screws, 2 Adv. Circuits","For each auto-repair"};
return new String[]{mDescription, "Cannot be shared between Multiblocks!"};
}
@Override
- public ITexture[] getTexturesActive(ITexture aBaseTexture) {//which is actually inactive
- if(mAuto)return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_AUTOMAINTENANCE_IDLE)};
+ public ITexture[] getTexturesActive(ITexture aBaseTexture) {
+ if(mAuto)return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_AUTOMAINTENANCE)};
return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_MAINTENANCE)};
}
@Override
- public ITexture[] getTexturesInactive(ITexture aBaseTexture) {//which is actually active
+ public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
if(mAuto)return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_AUTOMAINTENANCE)};
return new ITexture[]{aBaseTexture, new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_MAINTENANCE), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_DUCTTAPE)};
}
@@ -115,29 +116,30 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
@Override
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) {
- if (mAuto && aBaseMetaTileEntity.isServerSide() && aTimer % 100 == 0) {
- boolean tSuccess = true;
- ItemStack[] mInputs = new ItemStack[]{ItemList.Duct_Tape.get(4, new Object[]{}),GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Lubricant, 2),GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 4),GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2)};
- List<ItemStack> aInputs = Arrays.asList(mInventory);
- if (mInputs.length > 0 && aInputs == null) tSuccess = false;
- int amt = 0;
- for (ItemStack tStack : mInputs) {
- if (tStack != null) {
- amt = tStack.stackSize;
- boolean temp = true;
- for (ItemStack aStack : aInputs) {
- if ((GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true))) {
- amt -= aStack.stackSize;
- if (amt < 1) {
- temp = false;
- break;
+ if (aBaseMetaTileEntity.isServerSide() && aTimer % 100 == 0 && mController != null) {
+ if(!mController.mCrowbar || !mController.mHardHammer || !mController.mScrewdriver || !mController.mSoftHammer || !mController.mSolderingTool || !mController.mWrench){
+ boolean tSuccess = true;
+ ItemStack[] mInputs = new ItemStack[]{ItemList.Duct_Tape.get(4, new Object[]{}),GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Lubricant, 2),GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Steel, 4),GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2)};
+ List<ItemStack> aInputs = Arrays.asList(mInventory);
+ if (mInputs.length > 0 && aInputs == null) tSuccess = false;
+ int amt = 0;
+ for (ItemStack tStack : mInputs) {
+ if (tStack != null) {
+ amt = tStack.stackSize;
+ boolean temp = true;
+ for (ItemStack aStack : aInputs) {
+ if ((GT_Utility.areUnificationsEqual(aStack, tStack, true) || GT_Utility.areUnificationsEqual(GT_OreDictUnificator.get(false, aStack), tStack, true))) {
+ amt -= aStack.stackSize;
+ if (amt < 1) {
+ temp = false;
+ break;
+ }
}
}
+ if (temp) tSuccess = false;
}
- if (temp) tSuccess = false;
}
- }
- if(tSuccess){
+ if(tSuccess){
for (ItemStack tStack : mInputs) {
if (tStack != null) {
amt = tStack.stackSize;
@@ -155,14 +157,14 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
}
}
}
- //this.mCrowbar = true;
- //this.mHardHammer = true;
- //this.mScrewdriver = true;
- //this.mSoftHammer = true;
- //this.mSolderingTool = true;
- //this.mWrench = true;
- getBaseMetaTileEntity().setActive(false);
- }
+ this.mCrowbar = true;
+ this.mHardHammer = true;
+ this.mScrewdriver = true;
+ this.mSoftHammer = true;
+ this.mSolderingTool = true;
+ this.mWrench = true;
+ }
+ }
}
super.onPostTick(aBaseMetaTileEntity, aTimer);
}
@@ -200,4 +202,8 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return false;
}
+
+ public void setController(GT_MetaTileEntity_MultiBlockBase aController){
+ mController = aController;
+ }
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
index 45f672fc6f..8be2c95aec 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -208,47 +208,29 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
if (mMachine) {
for (GT_MetaTileEntity_Hatch_Maintenance tHatch : mMaintenanceHatches) {
if (isValidMetaTileEntity(tHatch)) {
- if (disableMaintenance){
+ if (!this.disableMaintenance) {
+ tHatch.setController(this);
+ if (tHatch.mWrench) mWrench = true;
+ if (tHatch.mScrewdriver) mScrewdriver = true;
+ if (tHatch.mSoftHammer) mSoftHammer = true;
+ if (tHatch.mHardHammer) mHardHammer = true;
+ if (tHatch.mSolderingTool) mSolderingTool = true;
+ if (tHatch.mCrowbar) mCrowbar = true;
+ } else {
mWrench = true;
mScrewdriver = true;
mSoftHammer = true;
mHardHammer = true;
mSolderingTool = true;
mCrowbar = true;
- } else {
- if(tHatch.mAuto){
- //if not (fullyRepaired or autoMaintenanceIdle) == if notFullyRepaired and autoMaintenanceReady
- if(!(mWrench&&mScrewdriver&&mSoftHammer&&mHardHammer&&mSolderingTool&&mCrowbar || tHatch.getBaseMetaTileEntity().isActive())) {
- mWrench = mScrewdriver = mSoftHammer = mHardHammer = mSolderingTool = mCrowbar = true;
- tHatch.getBaseMetaTileEntity().setActive(true);
- }
- }else{
- if(tHatch.mWrench){
- mWrench=true;
- tHatch.mWrench=false;
- }
- if(tHatch.mScrewdriver){
- mScrewdriver=true;
- tHatch.mScrewdriver=false;
- }
- if(tHatch.mSoftHammer){
- mSoftHammer=true;
- tHatch.mSoftHammer=false;
- }
- if(tHatch.mHardHammer){
- mHardHammer=true;
- tHatch.mHardHammer=false;
- }
- if(tHatch.mSolderingTool){
- mSolderingTool=true;
- tHatch.mSolderingTool=false;
- }
- if(tHatch.mCrowbar){
- mCrowbar=true;
- tHatch.mCrowbar=false;
- }
- }
}
+
+ tHatch.mWrench = false;
+ tHatch.mScrewdriver = false;
+ tHatch.mSoftHammer = false;
+ tHatch.mHardHammer = false;
+ tHatch.mSolderingTool = false;
+ tHatch.mCrowbar = false;
}
}
if (getRepairStatus() > 0) {
@@ -786,6 +768,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
if (aMetaTileEntity == null) return false;
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) {
((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex;
+ ((GT_MetaTileEntity_Hatch_Maintenance) aMetaTileEntity).setController(this);
return mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) aMetaTileEntity);
}
return false;