timer interrupts on ATtiny85

I’ve been working on this code for about 2-3 days now and I’ve got it working flawlessly on my Arduino Uno. I figured it would be easier to debug than on the ATtiny85. Anyway, so now I need to upload it to the ATtiny85, but when i try to it tells me that none of these

  TCCR1A = 0;
  TCCR1A = 0;// set entire TCCR1A register to 0
  TCCR1B = 0;// same for TCCR1B
  TCNT1  = 0;//initialize counter value to 0
  // set compare match register for 1hz increments
  OCR1A = 15624;// = (16*10^6) / (1*1024) - 1 (must be <65536)
  // turn on CTC mode
  TCCR1B |= (1 << WGM12);
  // Set CS12 and CS10 bits for 1024 prescaler
  TCCR1B |= (1 << CS12) | (1 << CS10);
  // enable timer compare interrupt
  TIMSK1 |= (1 << OCIE1A);

were declared in the scope. Makes sense since it is different for the arduino and ATtiny but how would i translate the same thing to work on my ATtiny?

I need an interrupt every second although if that’s not possible with the prescaler, anything less would do as long as it divides evenly into 1 second.

I’m pretty new to this so sorry if I have anything confused or upright wrong.
any help is greatly appreciated, Thanks!

Here’s the full code just in case.

int relay = 0;
int buttonPin = 3;
boolean relaystat = LOW;

int Offbutton = 1;


const int hour = 3600;
const int tenminutes = 10; //ten minutes is 600
int timeneeded = 0;
boolean hourchange = HIGH;
boolean minutechange = LOW;
boolean timeron = LOW;
boolean disablebuttons = LOW;

int shockIncrease = 250;

// Button variables
int buttonVal = 0; // value read from button

int buttonLast = 0; // buffered value of the button's previous state
long btnDnTime; // time the button was pressed down
long btnUpTime; // time the button was released
boolean ignoreUp = false; // whether to ignore the button release because the click+hold was triggered

#define debounce 20
#define holdTime 2000

boolean minutestop = LOW; //makes sure the minutes don't go up till i click it again


void setup() {
  pinMode(relay, OUTPUT);
  pinMode(buttonPin, INPUT);
  pinMode(Offbutton, INPUT);
  digitalWrite(Offbutton, LOW);
  digitalWrite(buttonPin, HIGH);
  digitalWrite(relay, LOW);


  cli();
  TCCR1A = 0;
  TCCR1A = 0;// set entire TCCR1A register to 0
  TCCR1B = 0;// same for TCCR1B
  TCNT1  = 0;//initialize counter value to 0
  // set compare match register for 1hz increments
  OCR1A = 15624;// = (16*10^6) / (1*1024) - 1 (must be <65536)
  // turn on CTC mode
  TCCR1B |= (1 << WGM12);
  // Set CS12 and CS10 bits for 1024 prescaler
  TCCR1B |= (1 << CS12) | (1 << CS10);
  // enable timer compare interrupt
  TIMSK1 |= (1 << OCIE1A);
  sei();
}

void loop() {



  // Read the state of the button
  buttonVal = digitalRead(buttonPin);
 
  // Test for button pressed and store the down time
  if (buttonVal == LOW && buttonLast == HIGH && (millis() - btnUpTime) > long(debounce))
  {
    btnDnTime = millis();
  }

  // Test for button release and store the up time
  if (buttonVal == HIGH && buttonLast == LOW && (millis() - btnDnTime) > long(debounce))
  {
    if (ignoreUp == false) event1();
    else ignoreUp = false;
    btnUpTime = millis();
  }

  // Test for button held down for longer than the hold time
  if (buttonVal == LOW && (millis() - btnDnTime) > long(holdTime))
  {
    event2();
    ignoreUp = true;
    btnDnTime = millis();
  }

  buttonLast = buttonVal;

  //---------------------------------------------



  if ((timeneeded == 0) && (timeron == HIGH))
  {
   
    if ((digitalRead(Offbutton) == 0) && (timeron == HIGH)) //if connected to the hub it will turn off everything
    {
      digitalWrite(relay, LOW);
      disablebuttons = LOW;
      hourchange = HIGH;
      minutechange = LOW;
      timeron = LOW;
      minutestop = LOW;
      
    }
    
    while (digitalRead(Offbutton) == 1) //if its not connected to the hub, it will shock me every 3 minutes until it is connected
    {
      delay(3000); //180,000 is 3 minutes
     
      if ((digitalRead(Offbutton) == 0) && (timeron == HIGH)) //if connected to the hub it will turn off everything
    {
      digitalWrite(relay, LOW);
      disablebuttons = LOW;
      hourchange = HIGH;
      minutechange = LOW;
      timeron = LOW;
      minutestop = LOW;
     
    }
    else
    {
      digitalWrite(relay, HIGH);
      delay(shockIncrease);
      digitalWrite(relay, LOW);
      shockIncrease = shockIncrease + 300; //it will increase the amount of time it shocks me for every time i ignore it.
      
     
    }
      
    }


  }




} 



//------------
ISR(TIMER1_COMPA_vect) {
  if ((timeron == HIGH) && (timeneeded > 0)) //when the timer is turned on and the timers not already done, it will count backwards from the time that was added in event 1
  {
    timeneeded = timeneeded - 1;
  
  }
}

void event1() //if the button is clicked
{
  if ((hourchange == HIGH) && (disablebuttons == LOW))
  {
    timeneeded = timeneeded + hour; //an hour is added to the timer that didnt start yet
    

    delay(500);
  }
  else if ((minutechange = HIGH) && (disablebuttons == LOW) && (minutestop == LOW))
  {
    timeneeded = timeneeded + tenminutes; //10 minutes is added to the timer to the timer that didnt start yet
    
    delay(500);
  }
}


void event2() //if the button is held
{
  if ((minutechange == LOW)&& (disablebuttons == LOW))
  {
    hourchange = LOW;
    minutechange = HIGH;  //sets the program to start changing the minutes if the minutes havent already been chosen
   
    delay(500);
  }
  else if ((minutechange == HIGH)&& (disablebuttons == LOW))
  {
    timeron = HIGH; // turns the timer on if both the hours and minutes have been chosen
    disablebuttons = HIGH;
   
  }
}

ATtiny85 datasheet has the info you need. The register names will be different and maybe the timer will too.
Even the serial port is different.