aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/multitileentity/multiblock/casing/AdvancedCasing.java
blob: 704cf9eb457be6e22050082731d105011ef5d7e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package gregtech.api.multitileentity.multiblock.casing;

import net.minecraft.nbt.NBTTagCompound;

import gregtech.api.enums.GT_Values;
import gregtech.api.multitileentity.interfaces.IMultiBlockController;
import gregtech.api.multitileentity.multiblock.base.MultiBlockPart;

public abstract class AdvancedCasing extends MultiBlockPart {

    protected int mTier = 0;

    @Override
    public int getPartTier() {
        return mTier;
    }

    @Override
    public void setTarget(IMultiBlockController aTarget, int aAllowedModes) {
        super.setTarget(aTarget, aAllowedModes);
        if (mTarget != null) customWork(mTarget);
    }

    @Override
    public void readMultiTileNBT(NBTTagCompound aNBT) {
        super.readMultiTileNBT(aNBT);
        mTier = aNBT.getInteger(GT_Values.NBT.TIER);
    }

    @Override
    public void writeMultiTileNBT(NBTTagCompound aNBT) {
        super.writeMultiTileNBT(aNBT);
    }

    protected abstract void customWork(IMultiBlockController aTarget);
}