public void run(){
		try{
			Display.setDisplayMode(new DisplayMode(800,600));
			Display.setVSyncEnabled(true);
			Display.create();
			Display.setFullscreen(true);
			Camera.setCurrentCamera(new Camera(0, 2, 0, 0,0,0));
			initGL();
			getDelta(); // call once before loop to initialise lastFrame
			lastFPS = getTime(); // call before loop to initialise fps timer
			while(!Display.isCloseRequested() && !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)){
				glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
				glLoadIdentity();
				Camera.Tick();
				KeyListener.Tick();
				MouseListener.Tick();
				KL2.tick();
				//Trip Mode!
				RainbowR +=0.05f;
				RainbowG +=0.1f;
				RainbowB +=0.15f;
				if(RainbowR > 1f){
					RainbowR = -1f;
				}
				if(RainbowG > 1f){
					RainbowG = -1f;
				}
				if(RainbowB > 1f){
					RainbowB = -1f;
				}
				if(KL2.Rainbow == true){
				ProjectSyrup.getKirby().setBodyColor(Rendering.RainbowR, Rendering.RainbowG, Rendering.RainbowB);
				ProjectSyrup.getKirby().setShoeColor(Rendering.RainbowR, Rendering.RainbowG, Rendering.RainbowB);
				}
				// -- //
				renderTick();
				updateFPS();
				Display.sync(60);
				Display.update();
			}
		}catch(Exception err){
			err.printStackTrace();
			System.exit(0);
		}
	}