Revert "Hopefully fixes Auto maintenance on servers (still works on ssp)"

This reverts commit df0264a9ab.
This commit is contained in:
Technus 2016-10-27 23:55:28 +02:00
parent 1cf608fe14
commit d85a01caad
5 changed files with 55 additions and 71 deletions

File diff suppressed because one or more lines are too long

View file

@ -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,7 +116,8 @@ 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) {
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);
@ -155,13 +157,13 @@ 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;
}
}

View file

@ -208,49 +208,31 @@ 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;
}
}
}
}
}
if (getRepairStatus() > 0) {
if (mMaxProgresstime > 0 && doRandomMaintenanceDamage()) {
if (onRunningTick(mInventory[1])) {
@ -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;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB