package com.simibubi.create.compat.computercraft; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; import net.minecraft.nbt.CompoundTag; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; public class AbstractComputerBehaviour extends TileEntityBehaviour { public static final BehaviourType TYPE = new BehaviourType<>(); boolean hasAttachedComputer; public AbstractComputerBehaviour(SmartTileEntity te) { super(te); this.hasAttachedComputer = false; } @Override public void read(CompoundTag nbt, boolean clientPacket) { hasAttachedComputer = nbt.getBoolean("HasAttachedComputer"); super.read(nbt, clientPacket); } @Override public void write(CompoundTag nbt, boolean clientPacket) { nbt.putBoolean("HasAttachedComputer", hasAttachedComputer); super.write(nbt, clientPacket); } public boolean isPeripheralCap(Capability cap) { return false; } public LazyOptional getPeripheralCapability() { return LazyOptional.empty(); } public void removePeripheral() {} public void setHasAttachedComputer(boolean hasAttachedComputer) { this.hasAttachedComputer = hasAttachedComputer; } public boolean hasAttachedComputer() { return hasAttachedComputer; } @Override public BehaviourType getType() { return TYPE; } }