
package com.edinarobotics.zed;

import com.edinarobotics.zed.subsystems.Drivetrain;

public class Components {
    private static Components instance;
    
    //Drivetrain constants
    private static final int FRONT_LEFT_DRIVE_JAGUAR = 1;
    private static final int FRONT_RIGHT_DRIVE_JAGUAR = 2;
    private static final int BACK_LEFT_DRIVE_JAGUAR = 3;
    private static final int BACK_RIGHT_DRIVE_JAGUAR = 4;
    
    //Subsystem objects
    public final Drivetrain drivetrain;
    
    /**
     * Private constructor for the Components singleton. This constructor
     * is only called once and handles creating all the robot subsystems.
     */
    private Components(){
        drivetrain = new Drivetrain(FRONT_LEFT_DRIVE_JAGUAR, FRONT_RIGHT_DRIVE_JAGUAR,
                BACK_LEFT_DRIVE_JAGUAR, BACK_RIGHT_DRIVE_JAGUAR);
    }
    
    /**
     * Returns a new instance of {@link Components}, creating one if null.
     * @return {@link Components}
     */
    public static Components getInstance() {
        if(instance == null){
            instance = new Components();
        }
        return instance;
    }
    
}

@@ -77,16 +77,65 @@
 vetrain;
+%0Aimport com.edinarobotics.zed.subsystems.Shooter;
 %0A%0Apublic
@@ -459,24 +459,102 @@
 R = 4;%0A    %0A
+    //Shooter constants%0A    private static final int SHOOTER_JAGUAR = 1;%0A    %0A
     //Subsys
@@ -605,16 +605,50 @@
 etrain;%0A
+    public final Shooter shooter;%0A
     %0A   
@@ -921,16 +921,16 @@
 JAGUAR,%0A
-
         
@@ -987,16 +987,63 @@
 AGUAR);%0A
+        shooter = new Shooter(SHOOTER_JAGUAR);%0A
     %7D%0A  

Add Shooter to Components.