2
0
Эх сурвалжийг харах

Add missing @Override annotations (#1270)

* jme3-core: add the missing @Override annotations

* jme3-desktop: add the missing @Override annotations

* jme3-bullet and jme3-jbullet: add the missing @Override annotations

* jme3-effects: add the missing @Override annotations

* jme3-terrain: add the missing @Override annotations

* jme3-examples: add the missing @Override annotations

* jme3-android: add the missing @Override annotations

* jme3-blender: add the missing @Override annotations

* jme3-ios: add the missing @Override annotations

* jme3-jogg and jme3-jogl: add the missing @Override annotations

* jme3-plugind: add the missing @Override annotations

* jme3-lwjgl and jme3-lwjgl3: add the missing @Override annotations

* jme3-networking: add the missing @Override annotations

* jme3-vr: add the missing @Override annotations
Stephen Gold 5 жил өмнө
parent
commit
0fd70b81c9
100 өөрчлөгдсөн 671 нэмэгдсэн , 78 устгасан
  1. 8 0
      jme3-android/src/main/java/com/jme3/app/AndroidHarness.java
  2. 3 1
      jme3-android/src/main/java/com/jme3/app/DefaultAndroidProfiler.java
  3. 16 1
      jme3-android/src/main/java/com/jme3/app/state/VideoRecorderAppState.java
  4. 1 0
      jme3-android/src/main/java/com/jme3/asset/plugins/AndroidLocator.java
  5. 20 0
      jme3-android/src/main/java/com/jme3/audio/android/AndroidAL.java
  6. 8 0
      jme3-android/src/main/java/com/jme3/audio/android/AndroidALC.java
  7. 11 0
      jme3-android/src/main/java/com/jme3/audio/android/AndroidEFX.java
  8. 1 0
      jme3-android/src/main/java/com/jme3/audio/plugins/NativeVorbisLoader.java
  9. 113 1
      jme3-android/src/main/java/com/jme3/renderer/android/AndroidGL.java
  10. 1 0
      jme3-android/src/main/java/com/jme3/system/android/JmeAndroidSystem.java
  11. 5 1
      jme3-android/src/main/java/com/jme3/system/android/OGLESContext.java
  12. 2 1
      jme3-android/src/main/java/com/jme3/texture/plugins/AndroidBufferImageLoader.java
  13. 1 0
      jme3-android/src/main/java/com/jme3/texture/plugins/AndroidNativeImageLoader.java
  14. 4 0
      jme3-android/src/main/java/com/jme3/util/RingBuffer.java
  15. 9 1
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/materials/MaterialHelper.java
  16. 3 1
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/math/DQuaternion.java
  17. 3 1
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/math/DTransform.java
  18. 3 1
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/math/Vector3d.java
  19. 1 0
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/GeneratedTexture.java
  20. 2 0
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/TriangulatedTexture.java
  21. 1 0
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/blending/AbstractTextureBlender.java
  22. 1 0
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/blending/TextureBlenderLuminance.java
  23. 33 1
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/NoiseGenerator.java
  24. 8 1
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/TextureGeneratorBlend.java
  25. 11 1
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/TextureGeneratorMagic.java
  26. 3 0
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/TextureGeneratorWood.java
  27. 4 0
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/io/AWTPixelInputOutput.java
  28. 4 0
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/io/DDSPixelInputOutput.java
  29. 4 0
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/io/LuminancePixelInputOutput.java
  30. 6 1
      jme3-bullet/src/common/java/com/jme3/bullet/BulletAppState.java
  31. 3 1
      jme3-bullet/src/common/java/com/jme3/bullet/collision/shapes/infos/ChildCollisionShape.java
  32. 7 1
      jme3-bullet/src/common/java/com/jme3/bullet/control/AbstractPhysicsControl.java
  33. 3 1
      jme3-bullet/src/common/java/com/jme3/bullet/control/BetterCharacterControl.java
  34. 7 1
      jme3-bullet/src/common/java/com/jme3/bullet/control/CharacterControl.java
  35. 7 1
      jme3-bullet/src/common/java/com/jme3/bullet/control/GhostControl.java
  36. 2 1
      jme3-bullet/src/common/java/com/jme3/bullet/control/KinematicRagdollControl.java
  37. 7 1
      jme3-bullet/src/common/java/com/jme3/bullet/control/RigidBodyControl.java
  38. 8 1
      jme3-bullet/src/common/java/com/jme3/bullet/control/VehicleControl.java
  39. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/BoxCollisionShape.java
  40. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CapsuleCollisionShape.java
  41. 2 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CollisionShape.java
  42. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CompoundCollisionShape.java
  43. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/ConeCollisionShape.java
  44. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CylinderCollisionShape.java
  45. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/GImpactCollisionShape.java
  46. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/HeightfieldCollisionShape.java
  47. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/PlaneCollisionShape.java
  48. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/SimplexCollisionShape.java
  49. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/SphereCollisionShape.java
  50. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/joints/HingeJoint.java
  51. 3 1
      jme3-bullet/src/main/java/com/jme3/bullet/joints/PhysicsJoint.java
  52. 2 1
      jme3-bullet/src/main/java/com/jme3/bullet/objects/PhysicsRigidBody.java
  53. 2 0
      jme3-core/src/main/java/com/jme3/anim/Joint.java
  54. 1 0
      jme3-core/src/main/java/com/jme3/anim/MatrixJointModelTransform.java
  55. 1 0
      jme3-core/src/main/java/com/jme3/anim/SeparateJointModelTransform.java
  56. 3 1
      jme3-core/src/main/java/com/jme3/anim/TransformTrack.java
  57. 1 0
      jme3-core/src/main/java/com/jme3/anim/tween/action/BlendAction.java
  58. 1 0
      jme3-core/src/main/java/com/jme3/anim/tween/action/ClipAction.java
  59. 8 1
      jme3-core/src/main/java/com/jme3/animation/AudioTrack.java
  60. 3 1
      jme3-core/src/main/java/com/jme3/animation/BoneTrack.java
  61. 3 1
      jme3-core/src/main/java/com/jme3/animation/Pose.java
  62. 5 1
      jme3-core/src/main/java/com/jme3/animation/PoseTrack.java
  63. 3 1
      jme3-core/src/main/java/com/jme3/animation/SpatialTrack.java
  64. 3 1
      jme3-core/src/main/java/com/jme3/animation/TrackInfo.java
  65. 6 1
      jme3-core/src/main/java/com/jme3/app/AppTask.java
  66. 3 1
      jme3-core/src/main/java/com/jme3/app/ChaseCameraAppState.java
  67. 2 1
      jme3-core/src/main/java/com/jme3/app/DebugKeysAppState.java
  68. 36 1
      jme3-core/src/main/java/com/jme3/app/LegacyApplication.java
  69. 2 1
      jme3-core/src/main/java/com/jme3/app/SimpleApplication.java
  70. 4 1
      jme3-core/src/main/java/com/jme3/app/StatsView.java
  71. 7 1
      jme3-core/src/main/java/com/jme3/app/state/ScreenshotAppState.java
  72. 3 1
      jme3-core/src/main/java/com/jme3/asset/AssetKey.java
  73. 3 1
      jme3-core/src/main/java/com/jme3/asset/CloneableAssetProcessor.java
  74. 23 1
      jme3-core/src/main/java/com/jme3/asset/DesktopAssetManager.java
  75. 3 1
      jme3-core/src/main/java/com/jme3/asset/ThreadingManager.java
  76. 7 1
      jme3-core/src/main/java/com/jme3/asset/cache/SimpleAssetCache.java
  77. 7 1
      jme3-core/src/main/java/com/jme3/asset/cache/WeakRefAssetCache.java
  78. 7 1
      jme3-core/src/main/java/com/jme3/asset/cache/WeakRefCloneAssetCache.java
  79. 4 1
      jme3-core/src/main/java/com/jme3/audio/AudioBuffer.java
  80. 22 1
      jme3-core/src/main/java/com/jme3/audio/AudioNode.java
  81. 3 1
      jme3-core/src/main/java/com/jme3/audio/AudioStream.java
  82. 3 1
      jme3-core/src/main/java/com/jme3/audio/Filter.java
  83. 2 1
      jme3-core/src/main/java/com/jme3/audio/LowPassFilter.java
  84. 17 1
      jme3-core/src/main/java/com/jme3/audio/openal/ALAudioRenderer.java
  85. 14 1
      jme3-core/src/main/java/com/jme3/bounding/BoundingBox.java
  86. 15 1
      jme3-core/src/main/java/com/jme3/bounding/BoundingSphere.java
  87. 3 1
      jme3-core/src/main/java/com/jme3/bounding/BoundingVolume.java
  88. 10 1
      jme3-core/src/main/java/com/jme3/cinematic/Cinematic.java
  89. 3 1
      jme3-core/src/main/java/com/jme3/cinematic/KeyFrame.java
  90. 3 1
      jme3-core/src/main/java/com/jme3/cinematic/TimeLine.java
  91. 20 1
      jme3-core/src/main/java/com/jme3/cinematic/events/AbstractCinematicEvent.java
  92. 5 1
      jme3-core/src/main/java/com/jme3/cinematic/events/MotionEvent.java
  93. 3 1
      jme3-core/src/main/java/com/jme3/collision/CollisionResult.java
  94. 2 1
      jme3-core/src/main/java/com/jme3/collision/CollisionResults.java
  95. 2 1
      jme3-core/src/main/java/com/jme3/collision/SweepSphere.java
  96. 3 1
      jme3-core/src/main/java/com/jme3/collision/bih/BIHNode.java
  97. 4 1
      jme3-core/src/main/java/com/jme3/collision/bih/BIHTree.java
  98. 2 1
      jme3-core/src/main/java/com/jme3/collision/bih/TriangleAxisComparator.java
  99. 7 1
      jme3-core/src/main/java/com/jme3/effect/ParticleEmitter.java
  100. 3 1
      jme3-core/src/main/java/com/jme3/export/NullSavable.java

+ 8 - 0
jme3-android/src/main/java/com/jme3/app/AndroidHarness.java

@@ -362,6 +362,7 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
      * @param dialog
      * @param whichButton
      */
+    @Override
     public void onClick(DialogInterface dialog, int whichButton) {
         if (whichButton != -2) {
             if (app != null) {
@@ -473,6 +474,7 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
         handler.setLevel(Level.ALL);
     }
 
+    @Override
     public void initialize() {
         app.initialize();
         if (handleExitHook) {
@@ -488,10 +490,12 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
         }
     }
 
+    @Override
     public void reshape(int width, int height) {
         app.reshape(width, height);
     }
 
+    @Override
     public void update() {
         app.update();
         // call to remove the splash screen, if present.
@@ -503,10 +507,12 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
         }
     }
 
+    @Override
     public void requestClose(boolean esc) {
         app.requestClose(esc);
     }
 
+    @Override
     public void destroy() {
         if (app != null) {
             app.destroy();
@@ -516,6 +522,7 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
         }
     }
 
+    @Override
     public void gainFocus() {
         logger.fine("gainFocus");
         if (view != null) {
@@ -547,6 +554,7 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
         }
     }
 
+    @Override
     public void loseFocus() {
         logger.fine("loseFocus");
         if (app != null) {

+ 3 - 1
jme3-android/src/main/java/com/jme3/app/DefaultAndroidProfiler.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 jMonkeyEngine
+ * Copyright (c) 2014-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -82,6 +82,7 @@ import com.jme3.renderer.queue.RenderQueue;
 public class DefaultAndroidProfiler implements AppProfiler {
     private int androidApiLevel = Build.VERSION.SDK_INT;
 
+    @Override
     public void appStep(AppStep appStep) {
         if (androidApiLevel >= 18) {
             switch(appStep) {
@@ -140,6 +141,7 @@ public class DefaultAndroidProfiler implements AppProfiler {
 
     }
 
+    @Override
     public void vpStep(VpStep vpStep, ViewPort vp, RenderQueue.Bucket bucket) {
         if (androidApiLevel >= 18) {
             switch (vpStep) {

+ 16 - 1
jme3-android/src/main/java/com/jme3/app/state/VideoRecorderAppState.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -73,6 +73,7 @@ public class VideoRecorderAppState extends AbstractAppState {
     private Application app;
     private ExecutorService executor = Executors.newCachedThreadPool(new ThreadFactory() {
 
+        @Override
         public Thread newThread(Runnable r) {
             Thread th = new Thread(r);
             th.setName("jME3 Video Processor");
@@ -239,6 +240,7 @@ public class VideoRecorderAppState extends AbstractAppState {
                 renderer.readFrameBufferWithFormat(out, item.buffer, Image.Format.BGRA8);
                 executor.submit(new Callable<Void>() {
 
+                    @Override
                     public Void call() throws Exception {
                         if (fastMode) {
                             item.data = item.buffer.array();
@@ -260,6 +262,7 @@ public class VideoRecorderAppState extends AbstractAppState {
             }
         }
 
+        @Override
         public void initialize(RenderManager rm, ViewPort viewPort) {
             logger.log(Level.INFO, "initialize in VideoProcessor");
             this.camera = viewPort.getCamera();
@@ -275,13 +278,16 @@ public class VideoRecorderAppState extends AbstractAppState {
             }
         }
 
+        @Override
         public void reshape(ViewPort vp, int w, int h) {
         }
 
+        @Override
         public boolean isInitialized() {
             return this.isInitilized;
         }
 
+        @Override
         public void preFrame(float tpf) {
             if (null == writer) {
                 try {
@@ -292,14 +298,17 @@ public class VideoRecorderAppState extends AbstractAppState {
             }
         }
 
+        @Override
         public void postQueue(RenderQueue rq) {
         }
 
+        @Override
         public void postFrame(FrameBuffer out) {
             numFrames++;
             addImage(renderManager.getRenderer(), out);
         }
 
+        @Override
         public void cleanup() {
             logger.log(Level.INFO, "cleanup in VideoProcessor");
             logger.log(Level.INFO, "VideoProcessor numFrames: {0}", numFrames);
@@ -332,22 +341,27 @@ public class VideoRecorderAppState extends AbstractAppState {
             this.ticks = 0;
         }
 
+        @Override
         public long getTime() {
             return (long) (this.ticks * (1.0f / this.framerate) * 1000f);
         }
 
+        @Override
         public long getResolution() {
             return 1000L;
         }
 
+        @Override
         public float getFrameRate() {
             return this.framerate;
         }
 
+        @Override
         public float getTimePerFrame() {
             return (float) (1.0f / this.framerate);
         }
 
+        @Override
         public void update() {
             long time = System.currentTimeMillis();
             long difference = time - lastTime;
@@ -364,6 +378,7 @@ public class VideoRecorderAppState extends AbstractAppState {
             this.ticks++;
         }
 
+        @Override
         public void reset() {
             this.ticks = 0;
         }

+ 1 - 0
jme3-android/src/main/java/com/jme3/asset/plugins/AndroidLocator.java

@@ -17,6 +17,7 @@ public class AndroidLocator implements AssetLocator {
     public AndroidLocator() {
     }
 
+    @Override
     public void setRootPath(String rootPath) {
         this.rootPath = rootPath;
     }

+ 20 - 0
jme3-android/src/main/java/com/jme3/audio/android/AndroidAL.java

@@ -10,44 +10,64 @@ public final class AndroidAL implements AL {
     public AndroidAL() {
     }
 
+    @Override
     public native String alGetString(int parameter);
 
+    @Override
     public native int alGenSources();
 
+    @Override
     public native int alGetError();
 
+    @Override
     public native void alDeleteSources(int numSources, IntBuffer sources);
 
+    @Override
     public native void alGenBuffers(int numBuffers, IntBuffer buffers);
 
+    @Override
     public native void alDeleteBuffers(int numBuffers, IntBuffer buffers);
 
+    @Override
     public native void alSourceStop(int source);
 
+    @Override
     public native void alSourcei(int source, int param, int value);
 
+    @Override
     public native void alBufferData(int buffer, int format, ByteBuffer data, int size, int frequency);
 
+    @Override
     public native void alSourcePlay(int source);
 
+    @Override
     public native void alSourcePause(int source);
 
+    @Override
     public native void alSourcef(int source, int param, float value);
 
+    @Override
     public native void alSource3f(int source, int param, float value1, float value2, float value3);
 
+    @Override
     public native int alGetSourcei(int source, int param);
 
+    @Override
     public native void alSourceUnqueueBuffers(int source, int numBuffers, IntBuffer buffers);
 
+    @Override
     public native void alSourceQueueBuffers(int source, int numBuffers, IntBuffer buffers);
 
+    @Override
     public native void alListener(int param, FloatBuffer data);
 
+    @Override
     public native void alListenerf(int param, float value);
 
+    @Override
     public native void alListener3f(int param, float value1, float value2, float value3);
 
+    @Override
     public native void alSource3i(int source, int param, int value1, int value2, int value3);
 
 }

+ 8 - 0
jme3-android/src/main/java/com/jme3/audio/android/AndroidALC.java

@@ -12,19 +12,27 @@ public final class AndroidALC implements ALC {
     public AndroidALC() {
     }
 
+    @Override
     public native void createALC();
 
+    @Override
     public native void destroyALC();
 
+    @Override
     public native boolean isCreated();
 
+    @Override
     public native String alcGetString(int parameter);
     
+    @Override
     public native boolean alcIsExtensionPresent(String extension);
     
+    @Override
     public native void alcGetInteger(int param, IntBuffer buffer, int size);
     
+    @Override
     public native void alcDevicePauseSOFT();
     
+    @Override
     public native void alcDeviceResumeSOFT();
 }

+ 11 - 0
jme3-android/src/main/java/com/jme3/audio/android/AndroidEFX.java

@@ -8,25 +8,36 @@ public class AndroidEFX implements EFX {
     public AndroidEFX() {
     }
 
+    @Override
     public native void alGenAuxiliaryEffectSlots(int numSlots, IntBuffer buffers);
 
+    @Override
     public native void alGenEffects(int numEffects, IntBuffer buffers);
 
+    @Override
     public native void alEffecti(int effect, int param, int value);
 
+    @Override
     public native void alAuxiliaryEffectSloti(int effectSlot, int param, int value);
 
+    @Override
     public native void alDeleteEffects(int numEffects, IntBuffer buffers);
 
+    @Override
     public native void alDeleteAuxiliaryEffectSlots(int numEffectSlots, IntBuffer buffers);
 
+    @Override
     public native void alGenFilters(int numFilters, IntBuffer buffers);
 
+    @Override
     public native void alFilteri(int filter, int param, int value);
 
+    @Override
     public native void alFilterf(int filter, int param, float value);
 
+    @Override
     public native void alDeleteFilters(int numFilters, IntBuffer buffers);
 
+    @Override
     public native void alEffectf(int effect, int param, float value);
 }

+ 1 - 0
jme3-android/src/main/java/com/jme3/audio/plugins/NativeVorbisLoader.java

@@ -46,6 +46,7 @@ public class NativeVorbisLoader implements AssetLoader {
             throw new IOException("Not supported for audio streams");
         }
 
+        @Override
         public void setTime(float time) {
             try {
                 file.seekTime(time);

+ 113 - 1
jme3-android/src/main/java/com/jme3/renderer/android/AndroidGL.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2015 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,6 +46,7 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
 
     IntBuffer tmpBuff = BufferUtils.createIntBuffer(1);
 
+    @Override
     public void resetStats() {
     }
 
@@ -86,10 +87,12 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
         }
     }
 
+    @Override
     public void glActiveTexture(int texture) {
         GLES20.glActiveTexture(texture);
     }
 
+    @Override
     public void glAttachShader(int program, int shader) {
         GLES20.glAttachShader(program, shader);
     }
@@ -99,144 +102,179 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
         GLES30.glBeginQuery(target, query);
     }
 
+    @Override
     public void glBindBuffer(int target, int buffer) {
         GLES20.glBindBuffer(target, buffer);
     }
 
+    @Override
     public void glBindTexture(int target, int texture) {
         GLES20.glBindTexture(target, texture);
     }
 
+    @Override
     public void glBlendFunc(int sfactor, int dfactor) {
         GLES20.glBlendFunc(sfactor, dfactor);
     }
     
+    @Override
     public void glBlendFuncSeparate(int sfactorRGB, int dfactorRGB, int sfactorAlpha, int dfactorAlpha) {
        GLES20.glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
     }
 
+    @Override
     public void glBufferData(int target, FloatBuffer data, int usage) {
         GLES20.glBufferData(target, getLimitBytes(data), data, usage);
     }
 
+    @Override
     public void glBufferData(int target, ShortBuffer data, int usage) {
         GLES20.glBufferData(target, getLimitBytes(data), data, usage);
     }
 
+    @Override
     public void glBufferData(int target, ByteBuffer data, int usage) {
         GLES20.glBufferData(target, getLimitBytes(data), data, usage);
     }
 
+    @Override
     public void glBufferData(int target, long data_size, int usage) {
         GLES20.glBufferData(target, (int) data_size, null, usage);
     }
 
+    @Override
     public void glBufferSubData(int target, long offset, FloatBuffer data) {
         GLES20.glBufferSubData(target, (int) offset, getLimitBytes(data), data);
     }
 
+    @Override
     public void glBufferSubData(int target, long offset, ShortBuffer data) {
         GLES20.glBufferSubData(target, (int) offset, getLimitBytes(data), data);
     }
 
+    @Override
     public void glBufferSubData(int target, long offset, ByteBuffer data) {
         GLES20.glBufferSubData(target, (int) offset, getLimitBytes(data), data);
     }
 
+    @Override
     public void glGetBufferSubData(int target, long offset, ByteBuffer data) {
         throw new UnsupportedOperationException("OpenGL ES 2 does not support glGetBufferSubData");
     }
 
+    @Override
     public void glClear(int mask) {
         GLES20.glClear(mask);
     }
 
+    @Override
     public void glClearColor(float red, float green, float blue, float alpha) {
         GLES20.glClearColor(red, green, blue, alpha);
     }
 
+    @Override
     public void glColorMask(boolean red, boolean green, boolean blue, boolean alpha) {
         GLES20.glColorMask(red, green, blue, alpha);
     }
 
+    @Override
     public void glCompileShader(int shader) {
         GLES20.glCompileShader(shader);
     }
 
+    @Override
     public void glCompressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, ByteBuffer data) {
         GLES20.glCompressedTexImage2D(target, level, internalformat, width, height, 0, getLimitBytes(data), data);
     }
 
+    @Override
     public void glCompressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, ByteBuffer data) {
         GLES20.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, getLimitBytes(data), data);
     }
 
+    @Override
     public int glCreateProgram() {
         return GLES20.glCreateProgram();
     }
 
+    @Override
     public int glCreateShader(int shaderType) {
         return GLES20.glCreateShader(shaderType);
     }
 
+    @Override
     public void glCullFace(int mode) {
         GLES20.glCullFace(mode);
     }
 
+    @Override
     public void glDeleteBuffers(IntBuffer buffers) {
         checkLimit(buffers);
         GLES20.glDeleteBuffers(buffers.limit(), buffers);
     }
 
+    @Override
     public void glDeleteProgram(int program) {
         GLES20.glDeleteProgram(program);
     }
 
+    @Override
     public void glDeleteShader(int shader) {
         GLES20.glDeleteShader(shader);
     }
 
+    @Override
     public void glDeleteTextures(IntBuffer textures) {
         checkLimit(textures);
         GLES20.glDeleteTextures(textures.limit(), textures);
     }
 
+    @Override
     public void glDepthFunc(int func) {
         GLES20.glDepthFunc(func);
     }
 
+    @Override
     public void glDepthMask(boolean flag) {
         GLES20.glDepthMask(flag);
     }
 
+    @Override
     public void glDepthRange(double nearVal, double farVal) {
         GLES20.glDepthRangef((float)nearVal, (float)farVal);
     }
 
+    @Override
     public void glDetachShader(int program, int shader) {
         GLES20.glDetachShader(program, shader);
     }
 
+    @Override
     public void glDisable(int cap) {
         GLES20.glDisable(cap);
     }
 
+    @Override
     public void glDisableVertexAttribArray(int index) {
         GLES20.glDisableVertexAttribArray(index);
     }
 
+    @Override
     public void glDrawArrays(int mode, int first, int count) {
         GLES20.glDrawArrays(mode, first, count);
     }
 
+    @Override
     public void glDrawRangeElements(int mode, int start, int end, int count, int type, long indices) {
         GLES20.glDrawElements(mode, count, type, (int)indices);
     }
 
+    @Override
     public void glEnable(int cap) {
         GLES20.glEnable(cap);
     }
 
+    @Override
     public void glEnableVertexAttribArray(int index) {
         GLES20.glEnableVertexAttribArray(index);
     }
@@ -246,11 +284,13 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
         GLES30.glEndQuery(target);
     }
 
+    @Override
     public void glGenBuffers(IntBuffer buffers) {
         checkLimit(buffers);
         GLES20.glGenBuffers(buffers.limit(), buffers);
     }
 
+    @Override
     public void glGenTextures(IntBuffer textures) {
         checkLimit(textures);
         GLES20.glGenTextures(textures.limit(), textures);
@@ -261,29 +301,35 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
         GLES30.glGenQueries(num, buff);
     }
 
+    @Override
     public int glGetAttribLocation(int program, String name) {
         return GLES20.glGetAttribLocation(program, name);
     }
 
+    @Override
     public void glGetBoolean(int pname, ByteBuffer params) {
         // GLES20.glGetBoolean(pname, params);
         throw new UnsupportedOperationException("Today is not a good day for this");
     }
 
+    @Override
     public int glGetError() {
         return GLES20.glGetError();
     }
 
+    @Override
     public void glGetInteger(int pname, IntBuffer params) {
         checkLimit(params);
         GLES20.glGetIntegerv(pname, params);
     }
 
+    @Override
     public void glGetProgram(int program, int pname, IntBuffer params) {
         checkLimit(params);
         GLES20.glGetProgramiv(program, pname, params);
     }
 
+    @Override
     public String glGetProgramInfoLog(int program, int maxLength) {
         return GLES20.glGetProgramInfoLog(program);
     }
@@ -303,51 +349,63 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
         return buff.get(0);
     }
 
+    @Override
     public void glGetShader(int shader, int pname, IntBuffer params) {
         checkLimit(params);
         GLES20.glGetShaderiv(shader, pname, params);
     }
 
+    @Override
     public String glGetShaderInfoLog(int shader, int maxLength) {
         return GLES20.glGetShaderInfoLog(shader);
     }
 
+    @Override
     public String glGetString(int name) {
         return GLES20.glGetString(name);
     }
 
+    @Override
     public int glGetUniformLocation(int program, String name) {
         return GLES20.glGetUniformLocation(program, name);
     }
 
+    @Override
     public boolean glIsEnabled(int cap) {
         return GLES20.glIsEnabled(cap);
     }
 
+    @Override
     public void glLineWidth(float width) {
         GLES20.glLineWidth(width);
     }
 
+    @Override
     public void glLinkProgram(int program) {
         GLES20.glLinkProgram(program);
     }
 
+    @Override
     public void glPixelStorei(int pname, int param) {
         GLES20.glPixelStorei(pname, param);
     }
 
+    @Override
     public void glPolygonOffset(float factor, float units) {
         GLES20.glPolygonOffset(factor, units);
     }
 
+    @Override
     public void glReadPixels(int x, int y, int width, int height, int format, int type, ByteBuffer data) {
         GLES20.glReadPixels(x, y, width, height, format, type, data);
     }
 
+    @Override
     public void glScissor(int x, int y, int width, int height) {
         GLES20.glScissor(x, y, width, height);
     }
 
+    @Override
     public void glShaderSource(int shader, String[] string, IntBuffer length) {
         if (string.length != 1) {
             throw new UnsupportedOperationException("Today is not a good day");
@@ -355,186 +413,231 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
         GLES20.glShaderSource(shader, string[0]);
     }
 
+    @Override
     public void glStencilFuncSeparate(int face, int func, int ref, int mask) {
         GLES20.glStencilFuncSeparate(face, func, ref, mask);
     }
 
+    @Override
     public void glStencilOpSeparate(int face, int sfail, int dpfail, int dppass) {
         GLES20.glStencilOpSeparate(face, sfail, dpfail, dppass);
     }
 
+    @Override
     public void glTexImage2D(int target, int level, int internalFormat, int width, int height, int border, int format, int type, ByteBuffer data) {
         GLES20.glTexImage2D(target, level, internalFormat, width, height, 0, format, type, data);
     }
 
+    @Override
     public void glTexParameterf(int target, int pname, float param) {
         GLES20.glTexParameterf(target, pname, param);
     }
 
+    @Override
     public void glTexParameteri(int target, int pname, int param) {
         GLES20.glTexParameteri(target, pname, param);
     }
 
+    @Override
     public void glTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, int type, ByteBuffer data) {
         GLES20.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, data);
     }
 
+    @Override
     public void glUniform1(int location, FloatBuffer value) {
         GLES20.glUniform1fv(location, getLimitCount(value, 1), value);
     }
 
+    @Override
     public void glUniform1(int location, IntBuffer value) {
         GLES20.glUniform1iv(location, getLimitCount(value, 1), value);
     }
 
+    @Override
     public void glUniform1f(int location, float v0) {
         GLES20.glUniform1f(location, v0);
     }
 
+    @Override
     public void glUniform1i(int location, int v0) {
         GLES20.glUniform1i(location, v0);
     }
 
+    @Override
     public void glUniform2(int location, IntBuffer value) {
         GLES20.glUniform2iv(location, getLimitCount(value, 2), value);
     }
 
+    @Override
     public void glUniform2(int location, FloatBuffer value) {
         GLES20.glUniform2fv(location, getLimitCount(value, 2), value);
     }
 
+    @Override
     public void glUniform2f(int location, float v0, float v1) {
         GLES20.glUniform2f(location, v0, v1);
     }
 
+    @Override
     public void glUniform3(int location, IntBuffer value) {
         GLES20.glUniform3iv(location, getLimitCount(value, 3), value);
     }
 
+    @Override
     public void glUniform3(int location, FloatBuffer value) {
         GLES20.glUniform3fv(location, getLimitCount(value, 3), value);
     }
 
+    @Override
     public void glUniform3f(int location, float v0, float v1, float v2) {
         GLES20.glUniform3f(location, v0, v1, v2);
     }
 
+    @Override
     public void glUniform4(int location, FloatBuffer value) {
         GLES20.glUniform4fv(location, getLimitCount(value, 4), value);
     }
 
+    @Override
     public void glUniform4(int location, IntBuffer value) {
         GLES20.glUniform4iv(location, getLimitCount(value, 4), value);
     }
 
+    @Override
     public void glUniform4f(int location, float v0, float v1, float v2, float v3) {
         GLES20.glUniform4f(location, v0, v1, v2, v3);
     }
 
+    @Override
     public void glUniformMatrix3(int location, boolean transpose, FloatBuffer value) {
         GLES20.glUniformMatrix3fv(location, getLimitCount(value, 3 * 3), transpose, value);
     }
 
+    @Override
     public void glUniformMatrix4(int location, boolean transpose, FloatBuffer value) {
         GLES20.glUniformMatrix4fv(location, getLimitCount(value, 4 * 4), transpose, value);
     }
 
+    @Override
     public void glUseProgram(int program) {
         GLES20.glUseProgram(program);
     }
 
+    @Override
     public void glVertexAttribPointer(int index, int size, int type, boolean normalized, int stride, long pointer) {
         GLES20.glVertexAttribPointer(index, size, type, normalized, stride, (int)pointer);
     }
 
+    @Override
     public void glViewport(int x, int y, int width, int height) {
         GLES20.glViewport(x, y, width, height);
     }
 
+    @Override
     public void glBlitFramebufferEXT(int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter) {
         GLES30.glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
     }
 
+    @Override
     public void glBufferData(int target, IntBuffer data, int usage) {
         GLES20.glBufferData(target, getLimitBytes(data), data, usage);
     }
 
+    @Override
     public void glBufferSubData(int target, long offset, IntBuffer data) {
         GLES20.glBufferSubData(target, (int)offset, getLimitBytes(data), data);
     }
 
+    @Override
     public void glDrawArraysInstancedARB(int mode, int first, int count, int primcount) {
         GLES30.glDrawArraysInstanced(mode, first, count, primcount);
     }
 
+    @Override
     public void glDrawBuffers(IntBuffer bufs) {
         GLES30.glDrawBuffers(bufs.limit(), bufs);
     }
 
+    @Override
     public void glDrawElementsInstancedARB(int mode, int indices_count, int type, long indices_buffer_offset, int primcount) {
         GLES30.glDrawElementsInstanced(mode, indices_count, type, (int)indices_buffer_offset, primcount);
     }
 
+    @Override
     public void glGetMultisample(int pname, int index, FloatBuffer val) {
         GLES31.glGetMultisamplefv(pname, index, val);
     }
 
+    @Override
     public void glRenderbufferStorageMultisampleEXT(int target, int samples, int internalformat, int width, int height) {
         GLES30.glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
     }
 
+    @Override
     public void glTexImage2DMultisample(int target, int samples, int internalformat, int width, int height, boolean fixedsamplelocations) {
         GLES31.glTexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
     }
 
+    @Override
     public void glVertexAttribDivisorARB(int index, int divisor) {
         GLES30.glVertexAttribDivisor(index, divisor);
     }
 
+    @Override
     public void glBindFramebufferEXT(int param1, int param2) {
         GLES20.glBindFramebuffer(param1, param2);
     }
 
+    @Override
     public void glBindRenderbufferEXT(int param1, int param2) {
         GLES20.glBindRenderbuffer(param1, param2);
     }
 
+    @Override
     public int glCheckFramebufferStatusEXT(int param1) {
         return GLES20.glCheckFramebufferStatus(param1);
     }
 
+    @Override
     public void glDeleteFramebuffersEXT(IntBuffer param1) {
         checkLimit(param1);
         GLES20.glDeleteFramebuffers(param1.limit(), param1);
     }
 
+    @Override
     public void glDeleteRenderbuffersEXT(IntBuffer param1) {
         checkLimit(param1);
         GLES20.glDeleteRenderbuffers(param1.limit(), param1);
     }
 
+    @Override
     public void glFramebufferRenderbufferEXT(int param1, int param2, int param3, int param4) {
         GLES20.glFramebufferRenderbuffer(param1, param2, param3, param4);
     }
 
+    @Override
     public void glFramebufferTexture2DEXT(int param1, int param2, int param3, int param4, int param5) {
         GLES20.glFramebufferTexture2D(param1, param2, param3, param4, param5);
     }
 
+    @Override
     public void glGenFramebuffersEXT(IntBuffer param1) {
         checkLimit(param1);
         GLES20.glGenFramebuffers(param1.limit(), param1);
     }
 
+    @Override
     public void glGenRenderbuffersEXT(IntBuffer param1) {
         checkLimit(param1);
         GLES20.glGenRenderbuffers(param1.limit(), param1);
     }
 
+    @Override
     public void glGenerateMipmapEXT(int param1) {
         GLES20.glGenerateMipmap(param1);
     }
 
+    @Override
     public void glRenderbufferStorageEXT(int param1, int param2, int param3, int param4) {
         GLES20.glRenderbufferStorage(param1, param2, param3, param4);
     }
@@ -570,16 +673,20 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
         GLES30.glFramebufferTextureLayer(target, attachment, texture, level, layer);
     }
 
+    @Override
     public void glAlphaFunc(int func, float ref) {
     }
     
+    @Override
     public void glPointSize(float size) {
     }
 
+    @Override
     public void glPolygonMode(int face, int mode) {
     }
 
     // Wrapper to DrawBuffers as there's no DrawBuffer method in GLES
+    @Override
     public void glDrawBuffer(int mode) {
         tmpBuff.clear();
         tmpBuff.put(0, mode);
@@ -587,25 +694,30 @@ public class AndroidGL implements GL, GL2, GLES_30, GLExt, GLFbo {
         glDrawBuffers(tmpBuff);
     }
 
+    @Override
     public void glReadBuffer(int mode) {
         GLES30.glReadBuffer(mode);
     }
 
+    @Override
     public void glCompressedTexImage3D(int target, int level, int internalFormat, int width, int height, int depth,
                                            int border, ByteBuffer data) {
         GLES30.glCompressedTexImage3D(target, level, internalFormat, width, height, depth, border, getLimitBytes(data), data);
     }
 
+    @Override
     public void glCompressedTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width,
                                               int height, int depth, int format, ByteBuffer data) {
         GLES30.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, getLimitBytes(data), data);
     }
 
+    @Override
     public void glTexImage3D(int target, int level, int internalFormat, int width, int height, int depth, int border,
                                  int format, int type, ByteBuffer data) {
         GLES30.glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, data);
     }
 
+    @Override
     public void glTexSubImage3D(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height,
                                     int depth, int format, int type, ByteBuffer data) {
         GLES30.glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data);

+ 1 - 0
jme3-android/src/main/java/com/jme3/system/android/JmeAndroidSystem.java

@@ -204,6 +204,7 @@ public class JmeAndroidSystem extends JmeSystemDelegate {
     public void showSoftKeyboard(final boolean show) {
         view.getHandler().post(new Runnable() {
 
+            @Override
             public void run() {
                 InputMethodManager manager =
                         (InputMethodManager)view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);

+ 5 - 1
jme3-android/src/main/java/com/jme3/system/android/OGLESContext.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -202,6 +202,7 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
 
         // Setup unhandled Exception Handler
         Thread.currentThread().setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
+            @Override
             public void uncaughtException(Thread thread, Throwable thrown) {
                 listener.handleError("Exception thrown in " + thread.toString(), thrown);
             }
@@ -414,6 +415,7 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
         }
     }
 
+    @Override
     public void requestDialog(final int id, final String title, final String initialValue, final SoftTextDialogInputListener listener) {
         logger.log(Level.FINE, "requestDialog: title: {0}, initialValue: {1}",
                 new Object[]{title, initialValue});
@@ -457,6 +459,7 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
 
                 AlertDialog dialogTextInput = new AlertDialog.Builder(view.getContext()).setTitle(title).setView(layoutTextDialogInput).setPositiveButton("OK",
                         new DialogInterface.OnClickListener() {
+                            @Override
                             public void onClick(DialogInterface dialog, int whichButton) {
                                 /* User clicked OK, send COMPLETE action
                                  * and text */
@@ -464,6 +467,7 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
                             }
                         }).setNegativeButton("Cancel",
                         new DialogInterface.OnClickListener() {
+                            @Override
                             public void onClick(DialogInterface dialog, int whichButton) {
                                 /* User clicked CANCEL, send CANCEL action
                                  * and text */

+ 2 - 1
jme3-android/src/main/java/com/jme3/texture/plugins/AndroidBufferImageLoader.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2014 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -67,6 +67,7 @@ public class AndroidBufferImageLoader implements AssetLoader {
         }
     }
     
+    @Override
     public Object load(AssetInfo assetInfo) throws IOException {
         Bitmap bitmap = null;
         Image.Format format;

+ 1 - 0
jme3-android/src/main/java/com/jme3/texture/plugins/AndroidNativeImageLoader.java

@@ -25,6 +25,7 @@ public class AndroidNativeImageLoader  implements AssetLoader {
     
     private static native Image load(InputStream in, boolean flipY, byte[] tmpArray) throws IOException;
     
+    @Override
     public Image load(AssetInfo info) throws IOException {
         boolean flip = ((TextureKey) info.getKey()).isFlipY();
         InputStream in = null;

+ 4 - 0
jme3-android/src/main/java/com/jme3/util/RingBuffer.java

@@ -49,6 +49,7 @@ public class RingBuffer<T> implements Iterable<T> {
         return item;
     }
 
+    @Override
     public Iterator<T> iterator() {
         return new RingBufferIterator();
     }
@@ -58,14 +59,17 @@ public class RingBuffer<T> implements Iterable<T> {
 
         private int i = 0;
 
+        @Override
         public boolean hasNext() {
             return i < count;
         }
 
+        @Override
         public void remove() {
             throw new UnsupportedOperationException();
         }
 
+        @Override
         public T next() {
             if (!hasNext()) {
                 throw new NoSuchElementException();

+ 9 - 1
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/materials/MaterialHelper.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -100,9 +100,11 @@ public class MaterialHelper extends AbstractBlenderHelper {
         super(blenderVersion, blenderContext);
         // setting alpha masks
         alphaMasks.put(ALPHA_MASK_NONE, new IAlphaMask() {
+            @Override
             public void setImageSize(int width, int height) {
             }
 
+            @Override
             public byte getAlpha(float x, float y) {
                 return (byte) 255;
             }
@@ -111,11 +113,13 @@ public class MaterialHelper extends AbstractBlenderHelper {
             private float   r;
             private float[] center;
 
+            @Override
             public void setImageSize(int width, int height) {
                 r = Math.min(width, height) * 0.5f;
                 center = new float[] { width * 0.5f, height * 0.5f };
             }
 
+            @Override
             public byte getAlpha(float x, float y) {
                 float d = FastMath.abs(FastMath.sqrt((x - center[0]) * (x - center[0]) + (y - center[1]) * (y - center[1])));
                 return (byte) (d >= r ? 0 : 255);
@@ -125,11 +129,13 @@ public class MaterialHelper extends AbstractBlenderHelper {
             private float   r;
             private float[] center;
 
+            @Override
             public void setImageSize(int width, int height) {
                 r = Math.min(width, height) * 0.5f;
                 center = new float[] { width * 0.5f, height * 0.5f };
             }
 
+            @Override
             public byte getAlpha(float x, float y) {
                 float d = FastMath.abs(FastMath.sqrt((x - center[0]) * (x - center[0]) + (y - center[1]) * (y - center[1])));
                 return (byte) (d >= r ? 0 : -255.0f * d / r + 255.0f);
@@ -139,11 +145,13 @@ public class MaterialHelper extends AbstractBlenderHelper {
             private float   r;
             private float[] center;
 
+            @Override
             public void setImageSize(int width, int height) {
                 r = Math.min(width, height) * 0.5f;
                 center = new float[] { width * 0.5f, height * 0.5f };
             }
 
+            @Override
             public byte getAlpha(float x, float y) {
                 float d = FastMath.abs(FastMath.sqrt((x - center[0]) * (x - center[0]) + (y - center[1]) * (y - center[1]))) / r;
                 return d >= 1.0f ? 0 : (byte) ((-FastMath.sqrt((2.0f - d) * d) + 1.0f) * 255.0f);

+ 3 - 1
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/math/DQuaternion.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -554,6 +554,7 @@ public final class DQuaternion implements Savable, Cloneable, java.io.Serializab
 
     }
 
+    @Override
     public void write(JmeExporter e) throws IOException {
         OutputCapsule cap = e.getCapsule(this);
         cap.write(x, "x", 0);
@@ -562,6 +563,7 @@ public final class DQuaternion implements Savable, Cloneable, java.io.Serializab
         cap.write(w, "w", 1);
     }
 
+    @Override
     public void read(JmeImporter e) throws IOException {
         InputCapsule cap = e.getCapsule(this);
         x = cap.readFloat("x", 0);

+ 3 - 1
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/math/DTransform.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -158,6 +158,7 @@ public final class DTransform implements Savable, Cloneable, java.io.Serializabl
         return this.getClass().getSimpleName() + "[ " + translation.x + ", " + translation.y + ", " + translation.z + "]\n" + "[ " + rotation.x + ", " + rotation.y + ", " + rotation.z + ", " + rotation.w + "]\n" + "[ " + scale.x + " , " + scale.y + ", " + scale.z + "]";
     }
 
+    @Override
     public void write(JmeExporter e) throws IOException {
         OutputCapsule capsule = e.getCapsule(this);
         capsule.write(rotation, "rot", new DQuaternion());
@@ -165,6 +166,7 @@ public final class DTransform implements Savable, Cloneable, java.io.Serializabl
         capsule.write(scale, "scale", Vector3d.UNIT_XYZ);
     }
 
+    @Override
     public void read(JmeImporter e) throws IOException {
         InputCapsule capsule = e.getCapsule(this);
 

+ 3 - 1
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/math/Vector3d.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -851,6 +851,7 @@ public final class Vector3d implements Savable, Cloneable, Serializable {
         return "(" + x + ", " + y + ", " + z + ")";
     }
 
+    @Override
     public void write(JmeExporter e) throws IOException {
         OutputCapsule capsule = e.getCapsule(this);
         capsule.write(x, "x", 0);
@@ -858,6 +859,7 @@ public final class Vector3d implements Savable, Cloneable, Serializable {
         capsule.write(z, "z", 0);
     }
 
+    @Override
     public void read(JmeImporter e) throws IOException {
         InputCapsule capsule = e.getCapsule(this);
         x = capsule.readDouble("x", 0);

+ 1 - 0
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/GeneratedTexture.java

@@ -160,6 +160,7 @@ import com.jme3.util.TempVars;
         Vector3f[] uvsArray = uvs.toArray(new Vector3f[uvs.size()]);
         BoundingBox boundingBox = UVCoordinatesGenerator.getBoundingBox(geometries);
         Set<TriangleTextureElement> triangleTextureElements = new TreeSet<TriangleTextureElement>(new Comparator<TriangleTextureElement>() {
+            @Override
             public int compare(TriangleTextureElement o1, TriangleTextureElement o2) {
                 return o1.faceIndex - o2.faceIndex;
             }

+ 2 - 0
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/TriangulatedTexture.java

@@ -70,6 +70,7 @@ import com.jme3.util.BufferUtils;
     public TriangulatedTexture(Texture2D texture2d, List<Vector2f> uvs, BlenderContext blenderContext) {
         maxTextureSize = blenderContext.getBlenderKey().getMaxTextureSize();
         faceTextures = new TreeSet<TriangleTextureElement>(new Comparator<TriangleTextureElement>() {
+            @Override
             public int compare(TriangleTextureElement o1, TriangleTextureElement o2) {
                 return o1.faceIndex - o2.faceIndex;
             }
@@ -184,6 +185,7 @@ import com.jme3.util.BufferUtils;
             // sorting the parts by their height (from highest to the lowest)
             List<TriangleTextureElement> list = new ArrayList<TriangleTextureElement>(faceTextures);
             Collections.sort(list, new Comparator<TriangleTextureElement>() {
+                @Override
                 public int compare(TriangleTextureElement o1, TriangleTextureElement o2) {
                     return o2.image.getHeight() - o1.image.getHeight();
                 }

+ 1 - 0
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/blending/AbstractTextureBlender.java

@@ -103,6 +103,7 @@ import com.jme3.texture.Image;
         }
     }
 
+    @Override
     public void copyBlendingData(TextureBlender textureBlender) {
         if (textureBlender instanceof AbstractTextureBlender) {
             flag = ((AbstractTextureBlender) textureBlender).flag;

+ 1 - 0
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/blending/TextureBlenderLuminance.java

@@ -43,6 +43,7 @@ public class TextureBlenderLuminance extends AbstractTextureBlender {
         super(flag, negateTexture, blendType, materialColor, color, blendFactor);
     }
 
+    @Override
     public Image blend(Image image, Image baseImage, BlenderContext blenderContext) {
         this.prepareImagesForBlending(image, baseImage);
 

+ 33 - 1
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/NoiseGenerator.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -109,30 +109,36 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
     static {
         noiseFunctions.put(Integer.valueOf(0), new NoiseFunction() {
             // originalBlenderNoise
+            @Override
             public float execute(float x, float y, float z) {
                 return NoiseFunctions.originalBlenderNoise(x, y, z);
             }
 
+            @Override
             public float executeSigned(float x, float y, float z) {
                 return 2.0f * NoiseFunctions.originalBlenderNoise(x, y, z) - 1.0f;
             }
         });
         noiseFunctions.put(Integer.valueOf(1), new NoiseFunction() {
             // orgPerlinNoise
+            @Override
             public float execute(float x, float y, float z) {
                 return 0.5f + 0.5f * NoiseFunctions.noise3Perlin(x, y, z);
             }
 
+            @Override
             public float executeSigned(float x, float y, float z) {
                 return NoiseFunctions.noise3Perlin(x, y, z);
             }
         });
         noiseFunctions.put(Integer.valueOf(2), new NoiseFunction() {
             // newPerlin
+            @Override
             public float execute(float x, float y, float z) {
                 return 0.5f + 0.5f * NoiseFunctions.newPerlin(x, y, z);
             }
 
+            @Override
             public float executeSigned(float x, float y, float z) {
                 return this.execute(x, y, z);
             }
@@ -142,11 +148,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
             private final float[] pa = new float[12];
 
             // voronoi_F1
+            @Override
             public float execute(float x, float y, float z) {
                 NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
                 return da[0];
             }
 
+            @Override
             public float executeSigned(float x, float y, float z) {
                 NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
                 return 2.0f * da[0] - 1.0f;
@@ -157,11 +165,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
             private final float[] pa = new float[12];
 
             // voronoi_F2
+            @Override
             public float execute(float x, float y, float z) {
                 NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
                 return da[1];
             }
 
+            @Override
             public float executeSigned(float x, float y, float z) {
                 NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
                 return 2.0f * da[1] - 1.0f;
@@ -172,11 +182,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
             private final float[] pa = new float[12];
 
             // voronoi_F3
+            @Override
             public float execute(float x, float y, float z) {
                 NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
                 return da[2];
             }
 
+            @Override
             public float executeSigned(float x, float y, float z) {
                 NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
                 return 2.0f * da[2] - 1.0f;
@@ -187,11 +199,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
             private final float[] pa = new float[12];
 
             // voronoi_F4
+            @Override
             public float execute(float x, float y, float z) {
                 NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
                 return da[3];
             }
 
+            @Override
             public float executeSigned(float x, float y, float z) {
                 NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
                 return 2.0f * da[3] - 1.0f;
@@ -202,11 +216,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
             private final float[] pa = new float[12];
 
             // voronoi_F1F2
+            @Override
             public float execute(float x, float y, float z) {
                 NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
                 return da[1] - da[0];
             }
 
+            @Override
             public float executeSigned(float x, float y, float z) {
                 NoiseFunctions.voronoi(x, y, z, da, pa, 1, NATURAL_DISTANCE_FUNCTION);
                 return 2.0f * (da[1] - da[0]) - 1.0f;
@@ -216,11 +232,13 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
             private final NoiseFunction voronoiF1F2NoiseFunction = noiseFunctions.get(Integer.valueOf(7));
 
             // voronoi_Cr
+            @Override
             public float execute(float x, float y, float z) {
                 float t = 10 * voronoiF1F2NoiseFunction.execute(x, y, z);
                 return t > 1.0f ? 1.0f : t;
             }
 
+            @Override
             public float executeSigned(float x, float y, float z) {
                 float t = 10.0f * voronoiF1F2NoiseFunction.execute(x, y, z);
                 return t > 1.0f ? 1.0f : 2.0f * t - 1.0f;
@@ -228,6 +246,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
         });
         noiseFunctions.put(Integer.valueOf(14), new NoiseFunction() {
             // cellNoise
+            @Override
             public float execute(float x, float y, float z) {
                 int xi = (int) FastMath.floor(x);
                 int yi = (int) FastMath.floor(y);
@@ -237,6 +256,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
                 return (n * (n * n * 15731 + 789221) + 1376312589) / 4294967296.0f;
             }
 
+            @Override
             public float executeSigned(float x, float y, float z) {
                 return 2.0f * this.execute(x, y, z) - 1.0f;
             }
@@ -248,24 +268,28 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
     static {
         distanceFunctions.put(Integer.valueOf(0), new DistanceFunction() {
             // real distance
+            @Override
             public float execute(float x, float y, float z, float e) {
                 return (float) Math.sqrt(x * x + y * y + z * z);
             }
         });
         distanceFunctions.put(Integer.valueOf(1), new DistanceFunction() {
             // distance squared
+            @Override
             public float execute(float x, float y, float z, float e) {
                 return x * x + y * y + z * z;
             }
         });
         distanceFunctions.put(Integer.valueOf(2), new DistanceFunction() {
             // manhattan/taxicab/cityblock distance
+            @Override
             public float execute(float x, float y, float z, float e) {
                 return FastMath.abs(x) + FastMath.abs(y) + FastMath.abs(z);
             }
         });
         distanceFunctions.put(Integer.valueOf(3), new DistanceFunction() {
             // Chebychev
+            @Override
             public float execute(float x, float y, float z, float e) {
                 x = FastMath.abs(x);
                 y = FastMath.abs(y);
@@ -276,6 +300,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
         });
         distanceFunctions.put(Integer.valueOf(4), new DistanceFunction() {
             // Minkovsky, preset exponent 0.5 (MinkovskyH)
+            @Override
             public float execute(float x, float y, float z, float e) {
                 float d = (float) (Math.sqrt(FastMath.abs(x)) + Math.sqrt(FastMath.abs(y)) + Math.sqrt(FastMath.abs(z)));
                 return d * d;
@@ -283,6 +308,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
         });
         distanceFunctions.put(Integer.valueOf(5), new DistanceFunction() {
             // Minkovsky, preset exponent 0.25 (Minkovsky4)
+            @Override
             public float execute(float x, float y, float z, float e) {
                 x *= x;
                 y *= y;
@@ -292,6 +318,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
         });
         distanceFunctions.put(Integer.valueOf(6), new DistanceFunction() {
             // Minkovsky, general case
+            @Override
             public float execute(float x, float y, float z, float e) {
                 return (float) Math.pow(Math.pow(FastMath.abs(x), e) + Math.pow(FastMath.abs(y), e) + Math.pow(FastMath.abs(z), e), 1.0f / e);
             }
@@ -303,6 +330,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
     static {
         musgraveFunctions.put(Integer.valueOf(TEX_MFRACTAL), new MusgraveFunction() {
 
+            @Override
             public float execute(MusgraveData musgraveData, float x, float y, float z) {
                 float rmd, value = 1.0f, pwr = 1.0f, pwHL = (float) Math.pow(musgraveData.lacunarity, -musgraveData.h);
 
@@ -322,6 +350,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
         });
         musgraveFunctions.put(Integer.valueOf(TEX_RIDGEDMF), new MusgraveFunction() {
 
+            @Override
             public float execute(MusgraveData musgraveData, float x, float y, float z) {
                 float result, signal, weight;
                 float pwHL = (float) Math.pow(musgraveData.lacunarity, -musgraveData.h);
@@ -353,6 +382,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
         });
         musgraveFunctions.put(Integer.valueOf(TEX_HYBRIDMF), new MusgraveFunction() {
 
+            @Override
             public float execute(MusgraveData musgraveData, float x, float y, float z) {
                 float result, signal, weight, rmd;
                 float pwHL = (float) Math.pow(musgraveData.lacunarity, -musgraveData.h);
@@ -386,6 +416,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
         });
         musgraveFunctions.put(Integer.valueOf(TEX_FBM), new MusgraveFunction() {
 
+            @Override
             public float execute(MusgraveData musgraveData, float x, float y, float z) {
                 float rmd, value = 0.0f, pwr = 1.0f, pwHL = (float) Math.pow(musgraveData.lacunarity, -musgraveData.h);
 
@@ -406,6 +437,7 @@ import com.jme3.scene.plugins.blender.textures.generating.TextureGeneratorMusgra
         });
         musgraveFunctions.put(Integer.valueOf(TEX_HTERRAIN), new MusgraveFunction() {
 
+            @Override
             public float execute(MusgraveData musgraveData, float x, float y, float z) {
                 float value, increment, rmd;
                 float pwHL = (float) Math.pow(musgraveData.lacunarity, -musgraveData.h);

+ 8 - 1
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/TextureGeneratorBlend.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,17 +46,20 @@ public final class TextureGeneratorBlend extends TextureGenerator {
     private static final IntensityFunction INTENSITY_FUNCTION[] = new IntensityFunction[7];
     static {
         INTENSITY_FUNCTION[0] = new IntensityFunction() {// Linear: stype = 0 (TEX_LIN)
+            @Override
             public float getIntensity(float x, float y, float z) {
                 return (1.0f + x) * 0.5f;
             }
         };
         INTENSITY_FUNCTION[1] = new IntensityFunction() {// Quad: stype = 1 (TEX_QUAD)
+            @Override
             public float getIntensity(float x, float y, float z) {
                 float result = (1.0f + x) * 0.5f;
                 return result * result;
             }
         };
         INTENSITY_FUNCTION[2] = new IntensityFunction() {// Ease: stype = 2 (TEX_EASE)
+            @Override
             public float getIntensity(float x, float y, float z) {
                 float result = (1.0f + x) * 0.5f;
                 if (result <= 0.0f) {
@@ -69,23 +72,27 @@ public final class TextureGeneratorBlend extends TextureGenerator {
             }
         };
         INTENSITY_FUNCTION[3] = new IntensityFunction() {// Diagonal: stype = 3 (TEX_DIAG)
+            @Override
             public float getIntensity(float x, float y, float z) {
                 return (2.0f + x + y) * 0.25f;
             }
         };
         INTENSITY_FUNCTION[4] = new IntensityFunction() {// Sphere: stype = 4 (TEX_SPHERE)
+            @Override
             public float getIntensity(float x, float y, float z) {
                 float result = 1.0f - (float) Math.sqrt(x * x + y * y + z * z);
                 return result < 0.0f ? 0.0f : result;
             }
         };
         INTENSITY_FUNCTION[5] = new IntensityFunction() {// Halo: stype = 5 (TEX_HALO)
+            @Override
             public float getIntensity(float x, float y, float z) {
                 float result = 1.0f - (float) Math.sqrt(x * x + y * y + z * z);
                 return result <= 0.0f ? 0.0f : result * result;
             }
         };
         INTENSITY_FUNCTION[6] = new IntensityFunction() {// Radial: stype = 6 (TEX_RAD)
+            @Override
             public float getIntensity(float x, float y, float z) {
                 return (float) Math.atan2(y, x) * FastMath.INV_TWO_PI + 0.5f;
             }

+ 11 - 1
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/TextureGeneratorMagic.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -45,51 +45,61 @@ public class TextureGeneratorMagic extends TextureGenerator {
     private static NoiseDepthFunction[] noiseDepthFunctions = new NoiseDepthFunction[10];
     static {
         noiseDepthFunctions[0] = new NoiseDepthFunction() {
+            @Override
             public void compute(float[] xyz, float turbulence) {
                 xyz[1] = -(float) Math.cos(xyz[0] - xyz[1] + xyz[2]) * turbulence;
             }
         };
         noiseDepthFunctions[1] = new NoiseDepthFunction() {
+            @Override
             public void compute(float[] xyz, float turbulence) {
                 xyz[0] = (float) Math.cos(xyz[0] - xyz[1] - xyz[2]) * turbulence;
             }
         };
         noiseDepthFunctions[2] = new NoiseDepthFunction() {
+            @Override
             public void compute(float[] xyz, float turbulence) {
                 xyz[2] = (float) Math.sin(-xyz[0] - xyz[1] - xyz[2]) * turbulence;
             }
         };
         noiseDepthFunctions[3] = new NoiseDepthFunction() {
+            @Override
             public void compute(float[] xyz, float turbulence) {
                 xyz[0] = -(float) Math.cos(-xyz[0] + xyz[1] - xyz[2]) * turbulence;
             }
         };
         noiseDepthFunctions[4] = new NoiseDepthFunction() {
+            @Override
             public void compute(float[] xyz, float turbulence) {
                 xyz[1] = -(float) Math.sin(-xyz[0] + xyz[1] + xyz[2]) * turbulence;
             }
         };
         noiseDepthFunctions[5] = new NoiseDepthFunction() {
+            @Override
             public void compute(float[] xyz, float turbulence) {
                 xyz[1] = -(float) Math.cos(-xyz[0] + xyz[1] + xyz[2]) * turbulence;
             }
         };
         noiseDepthFunctions[6] = new NoiseDepthFunction() {
+            @Override
             public void compute(float[] xyz, float turbulence) {
                 xyz[0] = (float) Math.cos(xyz[0] + xyz[1] + xyz[2]) * turbulence;
             }
         };
         noiseDepthFunctions[7] = new NoiseDepthFunction() {
+            @Override
             public void compute(float[] xyz, float turbulence) {
                 xyz[2] = (float) Math.sin(xyz[0] + xyz[1] - xyz[2]) * turbulence;
             }
         };
         noiseDepthFunctions[8] = new NoiseDepthFunction() {
+            @Override
             public void compute(float[] xyz, float turbulence) {
                 xyz[0] = -(float) Math.cos(-xyz[0] - xyz[1] + xyz[2]) * turbulence;
             }
         };
         noiseDepthFunctions[9] = new NoiseDepthFunction() {
+            @Override
             public void compute(float[] xyz, float turbulence) {
                 xyz[1] = -(float) Math.sin(xyz[0] - xyz[1] + xyz[2]) * turbulence;
             }

+ 3 - 0
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/generating/TextureGeneratorWood.java

@@ -95,12 +95,14 @@ public class TextureGeneratorWood extends TextureGenerator {
     static {
         waveformFunctions[0] = new WaveForm() {// sinus (TEX_SIN)
 
+            @Override
             public float execute(float x) {
                 return 0.5f + 0.5f * (float) Math.sin(x);
             }
         };
         waveformFunctions[1] = new WaveForm() {// saw (TEX_SAW)
 
+            @Override
             public float execute(float x) {
                 int n = (int) (x * FastMath.INV_TWO_PI);
                 x -= n * FastMath.TWO_PI;
@@ -112,6 +114,7 @@ public class TextureGeneratorWood extends TextureGenerator {
         };
         waveformFunctions[2] = new WaveForm() {// triangle (TEX_TRI)
 
+            @Override
             public float execute(float x) {
                 return 1.0f - 2.0f * FastMath.abs((float) Math.floor(x * FastMath.INV_TWO_PI + 0.5f) - x * FastMath.INV_TWO_PI);
             }

+ 4 - 0
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/io/AWTPixelInputOutput.java

@@ -11,6 +11,7 @@ import jme3tools.converters.RGB565;
  * @author Marcin Roguski (Kaelthas)
  */
 /* package */class AWTPixelInputOutput implements PixelInputOutput {
+    @Override
     public void read(Image image, int layer, TexturePixel pixel, int index) {
         ByteBuffer data = image.getData(layer);
         switch (image.getFormat()) {
@@ -64,11 +65,13 @@ import jme3tools.converters.RGB565;
         }
     }
 
+    @Override
     public void read(Image image, int layer, TexturePixel pixel, int x, int y) {
         int index = (y * image.getWidth() + x) * (image.getFormat().getBitsPerPixel() >> 3);
         this.read(image, layer, pixel, index);
     }
 
+    @Override
     public void write(Image image, int layer, TexturePixel pixel, int index) {
         ByteBuffer data = image.getData(layer);
         switch (image.getFormat()) {
@@ -149,6 +152,7 @@ import jme3tools.converters.RGB565;
         }
     }
 
+    @Override
     public void write(Image image, int layer, TexturePixel pixel, int x, int y) {
         int index = (y * image.getWidth() + x) * (image.getFormat().getBitsPerPixel() >> 3);
         this.write(image, layer, pixel, index);

+ 4 - 0
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/io/DDSPixelInputOutput.java

@@ -15,10 +15,12 @@ import jme3tools.converters.RGB565;
     /**
      * For this class the index should be considered as a pixel index in AWT image format.
      */
+    @Override
     public void read(Image image, int layer, TexturePixel pixel, int index) {
         this.read(image, layer, pixel, index % image.getWidth(), index / image.getWidth());
     }
 
+    @Override
     public void read(Image image, int layer, TexturePixel pixel, int x, int y) {
         int xTexetlIndex = x % image.getWidth() >> 2;
         int yTexelIndex = y % image.getHeight() >> 2;
@@ -161,10 +163,12 @@ import jme3tools.converters.RGB565;
         pixel.alpha = alpha;
     }
 
+    @Override
     public void write(Image image, int layer, TexturePixel pixel, int index) {
         throw new UnsupportedOperationException("Cannot put the DXT pixel by index because not every index contains the pixel color!");
     }
 
+    @Override
     public void write(Image image, int layer, TexturePixel pixel, int x, int y) {
         throw new UnsupportedOperationException("Writing to DDS texture pixel by pixel is not yet supported!");
     }

+ 4 - 0
jme3-blender/src/main/java/com/jme3/scene/plugins/blender/textures/io/LuminancePixelInputOutput.java

@@ -11,6 +11,7 @@ import java.nio.ByteBuffer;
  * @author Marcin Roguski (Kaelthas)
  */
 /* package */class LuminancePixelInputOutput implements PixelInputOutput {
+    @Override
     public void read(Image image, int layer, TexturePixel pixel, int index) {
         ByteBuffer data = image.getData(layer);
         switch (image.getFormat()) {
@@ -36,11 +37,13 @@ import java.nio.ByteBuffer;
         }
     }
 
+    @Override
     public void read(Image image, int layer, TexturePixel pixel, int x, int y) {
         int index = y * image.getWidth() + x;
         this.read(image, layer, pixel, index);
     }
 
+    @Override
     public void write(Image image, int layer, TexturePixel pixel, int index) {
         ByteBuffer data = image.getData(layer);
         data.put(index, pixel.getInt());
@@ -67,6 +70,7 @@ import java.nio.ByteBuffer;
         }
     }
 
+    @Override
     public void write(Image image, int layer, TexturePixel pixel, int x, int y) {
         int index = y * image.getWidth() + x;
         this.write(image, layer, pixel, index);

+ 6 - 1
jme3-bullet/src/common/java/com/jme3/bullet/BulletAppState.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -182,6 +182,7 @@ public class BulletAppState
         executor = new ScheduledThreadPoolExecutor(1);
         final BulletAppState app = this;
         Callable<Boolean> call = new Callable<Boolean>() {
+            @Override
             public Boolean call() throws Exception {
                 detachedPhysicsLastUpdate = System.currentTimeMillis();
                 pSpace = new PhysicsSpace(worldMin, worldMax, broadphaseType);
@@ -200,6 +201,7 @@ public class BulletAppState
         }
     }
     private Callable<Boolean> parallelPhysicsUpdate = new Callable<Boolean>() {
+        @Override
         public Boolean call() throws Exception {
             pSpace.update(tpf * getSpeed());
             return true;
@@ -207,6 +209,7 @@ public class BulletAppState
     };
     long detachedPhysicsLastUpdate = 0;
     private Callable<Boolean> detachedPhysicsUpdate = new Callable<Boolean>() {
+        @Override
         public Boolean call() throws Exception {
             pSpace.update(getPhysicsSpace().getAccuracy() * getSpeed());
             pSpace.distributeEvents();
@@ -484,6 +487,7 @@ public class BulletAppState
      * @param space the space that is about to be stepped (not null)
      * @param f the time per physics step (in seconds, &ge;0)
      */
+    @Override
     public void prePhysicsTick(PhysicsSpace space, float f) {
     }
 
@@ -494,6 +498,7 @@ public class BulletAppState
      * @param space the space that is about to be stepped (not null)
      * @param f the time per physics step (in seconds, &ge;0)
      */
+    @Override
     public void physicsTick(PhysicsSpace space, float f) {
     }
 

+ 3 - 1
jme3-bullet/src/common/java/com/jme3/bullet/collision/shapes/infos/ChildCollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -89,6 +89,7 @@ public class ChildCollisionShape implements Savable {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         OutputCapsule capsule = ex.getCapsule(this);
         capsule.write(location, "location", new Vector3f());
@@ -102,6 +103,7 @@ public class ChildCollisionShape implements Savable {
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         InputCapsule capsule = im.getCapsule(this);
         location = (Vector3f) capsule.readSavable("location", new Vector3f());

+ 7 - 1
jme3-bullet/src/common/java/com/jme3/bullet/control/AbstractPhysicsControl.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -231,6 +231,7 @@ public abstract class AbstractPhysicsControl implements PhysicsControl, JmeClone
      *
      * @param spatial the spatial to control (or null)
      */
+    @Override
     public void setSpatial(Spatial spatial) {
         if (this.spatial != null && this.spatial != spatial) {
             removeSpatialData(this.spatial);
@@ -262,6 +263,7 @@ public abstract class AbstractPhysicsControl implements PhysicsControl, JmeClone
      *
      * @param enabled true&rarr;enable the control, false&rarr;disable it
      */
+    @Override
     public void setEnabled(boolean enabled) {
         this.enabled = enabled;
         if (space != null) {
@@ -284,13 +286,16 @@ public abstract class AbstractPhysicsControl implements PhysicsControl, JmeClone
      *
      * @return true if enabled, otherwise false
      */
+    @Override
     public boolean isEnabled() {
         return enabled;
     }
 
+    @Override
     public void update(float tpf) {
     }
 
+    @Override
     public void render(RenderManager rm, ViewPort vp) {
     }
 
@@ -326,6 +331,7 @@ public abstract class AbstractPhysicsControl implements PhysicsControl, JmeClone
      *
      * @return the pre-existing space, or null for none
      */
+    @Override
     public PhysicsSpace getPhysicsSpace() {
         return space;
     }

+ 3 - 1
jme3-bullet/src/common/java/com/jme3/bullet/control/BetterCharacterControl.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -194,6 +194,7 @@ public class BetterCharacterControl extends AbstractPhysicsControl implements Ph
      * @param space the space that is about to be stepped (not null)
      * @param tpf the time per physics step (in seconds, &ge;0)
      */
+    @Override
     public void prePhysicsTick(PhysicsSpace space, float tpf) {
         checkOnGround();
         if (wantToUnDuck && checkCanUnDuck()) {
@@ -245,6 +246,7 @@ public class BetterCharacterControl extends AbstractPhysicsControl implements Ph
      * @param space the space that was just stepped (not null)
      * @param tpf the time per physics step (in seconds, &ge;0)
      */
+    @Override
     public void physicsTick(PhysicsSpace space, float tpf) {
         rigidBody.getLinearVelocity(velocity);
     }

+ 7 - 1
jme3-bullet/src/common/java/com/jme3/bullet/control/CharacterControl.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -120,6 +120,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
         this.spatial = cloner.clone(spatial);
     }
          
+    @Override
     public void setSpatial(Spatial spatial) {
         this.spatial = spatial;
         setUserObject(spatial);
@@ -136,6 +137,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
         return this.spatial;
     }
 
+    @Override
     public void setEnabled(boolean enabled) {
         this.enabled = enabled;
         if (space != null) {
@@ -152,6 +154,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
         }
     }
 
+    @Override
     public boolean isEnabled() {
         return enabled;
     }
@@ -172,6 +175,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
         this.useViewDirection = viewDirectionEnabled;
     }
 
+    @Override
     public void update(float tpf) {
         if (enabled && spatial != null) {
             Quaternion localRotationQuat = spatial.getLocalRotation();
@@ -195,6 +199,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
         }
     }
 
+    @Override
     public void render(RenderManager rm, ViewPort vp) {
     }
 
@@ -225,6 +230,7 @@ public class CharacterControl extends PhysicsCharacter implements PhysicsControl
         space = newSpace;
     }
 
+    @Override
     public PhysicsSpace getPhysicsSpace() {
         return space;
     }

+ 7 - 1
jme3-bullet/src/common/java/com/jme3/bullet/control/GhostControl.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -196,6 +196,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
      *
      * @param spatial the spatial to control (or null)
      */
+    @Override
     public void setSpatial(Spatial spatial) {
         this.spatial = spatial;
         setUserObject(spatial);
@@ -222,6 +223,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
      *
      * @param enabled true&rarr;enable the control, false&rarr;disable it
      */
+    @Override
     public void setEnabled(boolean enabled) {
         this.enabled = enabled;
         if (space != null) {
@@ -244,6 +246,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
      *
      * @return true if enabled, otherwise false
      */
+    @Override
     public boolean isEnabled() {
         return enabled;
     }
@@ -255,6 +258,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
      *
      * @param tpf the time interval between frames (in seconds, &ge;0)
      */
+    @Override
     public void update(float tpf) {
         if (!enabled) {
             return;
@@ -271,6 +275,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
      * @param rm the render manager (not null)
      * @param vp the view port to render (not null)
      */
+    @Override
     public void render(RenderManager rm, ViewPort vp) {
     }
 
@@ -307,6 +312,7 @@ public class GhostControl extends PhysicsGhostObject implements PhysicsControl,
      *
      * @return the pre-existing space, or null for none
      */
+    @Override
     public PhysicsSpace getPhysicsSpace() {
         return space;
     }

+ 2 - 1
jme3-bullet/src/common/java/com/jme3/bullet/control/KinematicRagdollControl.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -817,6 +817,7 @@ public class KinematicRagdollControl extends AbstractPhysicsControl implements P
      *
      * @param event (not null)
      */
+    @Override
     public void collision(PhysicsCollisionEvent event) {
         PhysicsCollisionObject objA = event.getObjectA();
         PhysicsCollisionObject objB = event.getObjectB();

+ 7 - 1
jme3-bullet/src/common/java/com/jme3/bullet/control/RigidBodyControl.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -193,6 +193,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
      *
      * @param spatial the spatial to control (or null)
      */
+    @Override
     public void setSpatial(Spatial spatial) {
         this.spatial = spatial;
         setUserObject(spatial);
@@ -249,6 +250,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
      *
      * @param enabled true&rarr;enable the control, false&rarr;disable it
      */
+    @Override
     public void setEnabled(boolean enabled) {
         this.enabled = enabled;
         if (space != null) {
@@ -271,6 +273,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
      *
      * @return true if enabled, otherwise false
      */
+    @Override
     public boolean isEnabled() {
         return enabled;
     }
@@ -347,6 +350,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
      *
      * @param tpf the time interval between frames (in seconds, &ge;0)
      */
+    @Override
     public void update(float tpf) {
         if (enabled && spatial != null) {
             if (isKinematic() && kinematicSpatial) {
@@ -366,6 +370,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
      * @param rm the render manager (not null)
      * @param vp the view port to render (not null)
      */
+    @Override
     public void render(RenderManager rm, ViewPort vp) {
     }
 
@@ -401,6 +406,7 @@ public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl
      *
      * @return the pre-existing space, or null for none
      */
+    @Override
     public PhysicsSpace getPhysicsSpace() {
         return space;
     }

+ 8 - 1
jme3-bullet/src/common/java/com/jme3/bullet/control/VehicleControl.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -159,6 +159,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
      *
      * @return a new control (not null)
      */
+    @Override
     public Object jmeClone() {
         VehicleControl control = new VehicleControl(collisionShape, mass);
         control.setAngularFactor(getAngularFactor());
@@ -231,6 +232,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
      *
      * @param spatial spatial to control (or null)
      */
+    @Override
     public void setSpatial(Spatial spatial) {
         this.spatial = spatial;
         setUserObject(spatial);
@@ -250,6 +252,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
      *
      * @param enabled true&rarr;enable the control, false&rarr;disable it
      */
+    @Override
     public void setEnabled(boolean enabled) {
         this.enabled = enabled;
         if (space != null) {
@@ -272,6 +275,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
      *
      * @return true if enabled, otherwise false
      */
+    @Override
     public boolean isEnabled() {
         return enabled;
     }
@@ -282,6 +286,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
      *
      * @param tpf the time interval between frames (in seconds, &ge;0)
      */
+    @Override
     public void update(float tpf) {
         if (enabled && spatial != null) {
             if (getMotionState().applyTransform(spatial)) {
@@ -301,6 +306,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
      * @param rm the render manager (not null)
      * @param vp the view port to render (not null)
      */
+    @Override
     public void render(RenderManager rm, ViewPort vp) {
     }
 
@@ -336,6 +342,7 @@ public class VehicleControl extends PhysicsVehicle implements PhysicsControl, Jm
      *
      * @return the pre-existing space, or null for none
      */
+    @Override
     public PhysicsSpace getPhysicsSpace() {
         return space;
     }

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/BoxCollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -86,6 +86,7 @@ public class BoxCollisionShape extends CollisionShape {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         super.write(ex);
         OutputCapsule capsule = ex.getCapsule(this);
@@ -98,6 +99,7 @@ public class BoxCollisionShape extends CollisionShape {
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         super.read(im);
         InputCapsule capsule = im.getCapsule(this);

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CapsuleCollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -141,6 +141,7 @@ public class CapsuleCollisionShape extends CollisionShape{
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         super.write(ex);
         OutputCapsule capsule = ex.getCapsule(this);
@@ -155,6 +156,7 @@ public class CapsuleCollisionShape extends CollisionShape{
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         super.read(im);
         InputCapsule capsule = im.getCapsule(this);

+ 2 - 1
jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -201,6 +201,7 @@ public abstract class CollisionShape implements Savable {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         OutputCapsule capsule = ex.getCapsule(this);
         capsule.write(scale, "scale", new Vector3f(1, 1, 1));

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CompoundCollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -152,6 +152,7 @@ public class CompoundCollisionShape extends CollisionShape {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         super.write(ex);
         OutputCapsule capsule = ex.getCapsule(this);
@@ -164,6 +165,7 @@ public class CompoundCollisionShape extends CollisionShape {
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         super.read(im);
         InputCapsule capsule = im.getCapsule(this);

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/ConeCollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -119,6 +119,7 @@ public class ConeCollisionShape extends CollisionShape {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         super.write(ex);
         OutputCapsule capsule = ex.getCapsule(this);
@@ -133,6 +134,7 @@ public class ConeCollisionShape extends CollisionShape {
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         super.read(im);
         InputCapsule capsule = im.getCapsule(this);

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/CylinderCollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -128,6 +128,7 @@ public class CylinderCollisionShape extends CollisionShape {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         super.write(ex);
         OutputCapsule capsule = ex.getCapsule(this);
@@ -141,6 +142,7 @@ public class CylinderCollisionShape extends CollisionShape {
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         super.read(im);
         InputCapsule capsule = im.getCapsule(this);

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/GImpactCollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -122,6 +122,7 @@ public class GImpactCollisionShape extends CollisionShape {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         super.write(ex);
         OutputCapsule capsule = ex.getCapsule(this);
@@ -141,6 +142,7 @@ public class GImpactCollisionShape extends CollisionShape {
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         super.read(im);
         InputCapsule capsule = im.getCapsule(this);

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/HeightfieldCollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -193,6 +193,7 @@ public class HeightfieldCollisionShape extends CollisionShape {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         super.write(ex);
         OutputCapsule capsule = ex.getCapsule(this);
@@ -212,6 +213,7 @@ public class HeightfieldCollisionShape extends CollisionShape {
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         super.read(im);
         InputCapsule capsule = im.getCapsule(this);

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/PlaneCollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -84,6 +84,7 @@ public class PlaneCollisionShape extends CollisionShape{
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         super.write(ex);
         OutputCapsule capsule = ex.getCapsule(this);
@@ -96,6 +97,7 @@ public class PlaneCollisionShape extends CollisionShape{
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         super.read(im);
         InputCapsule capsule = im.getCapsule(this);

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/SimplexCollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -118,6 +118,7 @@ public class SimplexCollisionShape extends CollisionShape {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         super.write(ex);
         OutputCapsule capsule = ex.getCapsule(this);
@@ -133,6 +134,7 @@ public class SimplexCollisionShape extends CollisionShape {
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         super.read(im);
         InputCapsule capsule = im.getCapsule(this);

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/collision/shapes/SphereCollisionShape.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -85,6 +85,7 @@ public class SphereCollisionShape extends CollisionShape {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         super.write(ex);
         OutputCapsule capsule = ex.getCapsule(this);
@@ -97,6 +98,7 @@ public class SphereCollisionShape extends CollisionShape {
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         super.read(im);
         InputCapsule capsule = im.getCapsule(this);

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/joints/HingeJoint.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -242,6 +242,7 @@ public class HingeJoint extends PhysicsJoint {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         super.write(ex);
         OutputCapsule capsule = ex.getCapsule(this);
@@ -268,6 +269,7 @@ public class HingeJoint extends PhysicsJoint {
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         super.read(im);
         InputCapsule capsule = im.getCapsule(this);

+ 3 - 1
jme3-bullet/src/main/java/com/jme3/bullet/joints/PhysicsJoint.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -192,6 +192,7 @@ public abstract class PhysicsJoint implements Savable {
      * @param ex exporter (not null)
      * @throws IOException from exporter
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         OutputCapsule capsule = ex.getCapsule(this);
         capsule.write(nodeA, "nodeA", null);
@@ -206,6 +207,7 @@ public abstract class PhysicsJoint implements Savable {
      * @param im importer (not null)
      * @throws IOException from importer
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         InputCapsule capsule = im.getCapsule(this);
         this.nodeA = ((PhysicsRigidBody) capsule.readSavable("nodeA", null));

+ 2 - 1
jme3-bullet/src/main/java/com/jme3/bullet/objects/PhysicsRigidBody.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -794,6 +794,7 @@ public class PhysicsRigidBody extends PhysicsCollisionObject {
      *
      * @param collisionShape the shape to apply (not null, alias created)
      */
+    @Override
     public void setCollisionShape(CollisionShape collisionShape) {
         super.setCollisionShape(collisionShape);
         if (collisionShape instanceof MeshCollisionShape && mass != 0) {

+ 2 - 0
jme3-core/src/main/java/com/jme3/anim/Joint.java

@@ -216,6 +216,7 @@ public class Joint implements Savable, JmeCloneable, HasLocalTransform {
         this.name = name;
     }
 
+    @Override
     public void setLocalTransform(Transform localTransform) {
         this.localTransform.set(localTransform);
     }
@@ -272,6 +273,7 @@ public class Joint implements Savable, JmeCloneable, HasLocalTransform {
         return initialTransform;
     }
 
+    @Override
     public Transform getLocalTransform() {
         return localTransform;
     }

+ 1 - 0
jme3-core/src/main/java/com/jme3/anim/MatrixJointModelTransform.java

@@ -22,6 +22,7 @@ public class MatrixJointModelTransform implements JointModelTransform {
 
     }
 
+    @Override
     public void getOffsetTransform(Matrix4f outTransform, Matrix4f inverseModelBindMatrix) {
         modelTransformMatrix.mult(inverseModelBindMatrix, outTransform);
     }

+ 1 - 0
jme3-core/src/main/java/com/jme3/anim/SeparateJointModelTransform.java

@@ -23,6 +23,7 @@ public class SeparateJointModelTransform implements JointModelTransform {
         }
     }
 
+    @Override
     public void getOffsetTransform(Matrix4f outTransform, Matrix4f inverseModelBindMatrix) {
         modelTransform.toTransformMatrix(outTransform).mult(inverseModelBindMatrix, outTransform);
     }

+ 3 - 1
jme3-core/src/main/java/com/jme3/anim/TransformTrack.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -208,10 +208,12 @@ public class TransformTrack implements AnimTrack<Transform> {
         }
     }
 
+    @Override
     public double getLength() {
         return length;
     }
 
+    @Override
     public void getDataAtTime(double t, Transform transform) {
         float time = (float) t;
 

+ 1 - 0
jme3-core/src/main/java/com/jme3/anim/tween/action/BlendAction.java

@@ -49,6 +49,7 @@ public class BlendAction extends BlendableAction {
         }
     }
 
+    @Override
     public void doInterpolate(double t) {
         blendWeight = blendSpace.getWeight();
         BlendableAction firstActiveAction = (BlendableAction) actions[firstActiveIndex];

+ 1 - 0
jme3-core/src/main/java/com/jme3/anim/tween/action/ClipAction.java

@@ -63,6 +63,7 @@ public class ClipAction extends BlendableAction {
 
     }
 
+    @Override
     public String toString() {
         return clip.toString();
     }

+ 8 - 1
jme3-core/src/main/java/com/jme3/animation/AudioTrack.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -73,10 +73,12 @@ public class AudioTrack implements ClonableTrack {
     //Animation listener to stop the sound when the animation ends or is changed
     private class OnEndListener implements AnimEventListener {
 
+        @Override
         public void onAnimCycleDone(AnimControl control, AnimChannel channel, String animName) {
             stop();
         }
 
+        @Override
         public void onAnimChange(AnimControl control, AnimChannel channel, String animName) {
         }
     }
@@ -120,6 +122,7 @@ public class AudioTrack implements ClonableTrack {
      * @see Track#setTime(float, float, com.jme3.animation.AnimControl,
      * com.jme3.animation.AnimChannel, com.jme3.util.TempVars)
      */
+    @Override
     public void setTime(float time, float weight, AnimControl control, AnimChannel channel, TempVars vars) {
 
         if (time >= length) {
@@ -146,6 +149,7 @@ public class AudioTrack implements ClonableTrack {
      *
      * @return length of the track
      */
+    @Override
     public float getLength() {
         return length;
     }
@@ -255,6 +259,7 @@ public class AudioTrack implements ClonableTrack {
         data.addTrack(audioTrack);
     }
 
+    @Override
     public void cleanUp() {
         TrackInfo t = (TrackInfo) audio.getUserData("TrackInfo");
         t.getTracks().remove(this);
@@ -308,6 +313,7 @@ public class AudioTrack implements ClonableTrack {
      * @param ex exporter
      * @throws IOException exception
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         OutputCapsule out = ex.getCapsule(this);
         out.write(audio, "audio", null);
@@ -321,6 +327,7 @@ public class AudioTrack implements ClonableTrack {
      * @param im importer
      * @throws IOException Exception
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         InputCapsule in = im.getCapsule(this);
         audio = (AudioNode) in.readSavable("audio", null);

+ 3 - 1
jme3-core/src/main/java/com/jme3/animation/BoneTrack.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -202,6 +202,7 @@ public final class BoneTrack implements JmeCloneable, Track {
      * @param channel
      * @param vars
      */
+    @Override
     public void setTime(float time, float weight, AnimControl control, AnimChannel channel, TempVars vars) {
         BitSet affectedBones = channel.getAffectedBones();
         if (affectedBones != null && !affectedBones.get(targetBoneIndex)) {
@@ -268,6 +269,7 @@ public final class BoneTrack implements JmeCloneable, Track {
     /**
      * @return the length of the track
      */
+    @Override
     public float getLength() {
         return times == null ? 0 : times[times.length - 1] - times[0];
     }

+ 3 - 1
jme3-core/src/main/java/com/jme3/animation/Pose.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -117,6 +117,7 @@ public final class Pose implements Savable, Cloneable {
         }
     }
 
+    @Override
     public void write(JmeExporter e) throws IOException {
         OutputCapsule out = e.getCapsule(this);
         out.write(name, "name", "");
@@ -125,6 +126,7 @@ public final class Pose implements Savable, Cloneable {
         out.write(indices, "indices", null);
     }
 
+    @Override
     public void read(JmeImporter i) throws IOException {
         InputCapsule in = i.getCapsule(this);
         name = in.readString("name", "");

+ 5 - 1
jme3-core/src/main/java/com/jme3/animation/PoseTrack.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -87,12 +87,14 @@ public final class PoseTrack implements Track {
             }
         }
 
+        @Override
         public void write(JmeExporter e) throws IOException {
             OutputCapsule out = e.getCapsule(this);
             out.write(poses, "poses", null);
             out.write(weights, "weights", null);
         }
 
+        @Override
         public void read(JmeImporter i) throws IOException {
             InputCapsule in = i.getCapsule(this);
             weights = in.readFloatArray("weights", null);
@@ -132,6 +134,7 @@ public final class PoseTrack implements Track {
         pb.updateData(pb.getData());
     }
 
+    @Override
     public void setTime(float time, float weight, AnimControl control, AnimChannel channel, TempVars vars) {
         // TODO: When MeshControl is created, it will gather targets
         // list automatically which is then retrieved here.
@@ -161,6 +164,7 @@ public final class PoseTrack implements Track {
     /**
      * @return the length of the track
      */
+    @Override
     public float getLength() {
         return times == null ? 0 : times[times.length - 1] - times[0];
     }

+ 3 - 1
jme3-core/src/main/java/com/jme3/animation/SpatialTrack.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -101,6 +101,7 @@ public class SpatialTrack implements JmeCloneable, Track {
      * @param time
      *            the current time of the animation
      */
+    @Override
     public void setTime(float time, float weight, AnimControl control, AnimChannel channel, TempVars vars) {
         Spatial spatial = trackSpatial;
         if (spatial == null) {
@@ -242,6 +243,7 @@ public class SpatialTrack implements JmeCloneable, Track {
     /**
      * @return the length of the track
      */
+    @Override
     public float getLength() {
             return times == null ? 0 : times[times.length - 1] - times[0];
     }

+ 3 - 1
jme3-core/src/main/java/com/jme3/animation/TrackInfo.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,11 +55,13 @@ public class TrackInfo implements Savable, JmeCloneable {
     public TrackInfo() {
     }
 
+    @Override
     public void write(JmeExporter ex) throws IOException {
         OutputCapsule c = ex.getCapsule(this);
         c.writeSavableArrayList(tracks, "tracks", null);
     }
 
+    @Override
     public void read(JmeImporter im) throws IOException {
         InputCapsule c = im.getCapsule(this);
         tracks = c.readSavableArrayList("tracks", null);

+ 6 - 1
jme3-core/src/main/java/com/jme3/app/AppTask.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -66,6 +66,7 @@ public class AppTask<V> implements Future<V> {
         this.callable = callable;
     }
 
+    @Override
     public boolean cancel(boolean mayInterruptIfRunning) {
         stateLock.lock();
         try {
@@ -82,6 +83,7 @@ public class AppTask<V> implements Future<V> {
         }
     }
 
+    @Override
     public V get() throws InterruptedException, ExecutionException {
         stateLock.lock();
         try {
@@ -97,6 +99,7 @@ public class AppTask<V> implements Future<V> {
         }
     }
 
+    @Override
     public V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException {
         stateLock.lock();
         try {
@@ -115,6 +118,7 @@ public class AppTask<V> implements Future<V> {
         }
     }
 
+    @Override
     public boolean isCancelled() {
         stateLock.lock();
         try {
@@ -124,6 +128,7 @@ public class AppTask<V> implements Future<V> {
         }
     }
 
+    @Override
     public boolean isDone() {
         stateLock.lock();
         try {

+ 3 - 1
jme3-core/src/main/java/com/jme3/app/ChaseCameraAppState.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -129,6 +129,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
         inputManager.setCursorVisible(dragToRotate);
     }
 
+    @Override
     public void onAction(String name, boolean keyPressed, float tpf) {
         if (isEnabled()) {
             if (dragToRotate) {
@@ -150,6 +151,7 @@ public class ChaseCameraAppState extends AbstractAppState implements ActionListe
 
     }
 
+    @Override
     public void onAnalog(String name, float value, float tpf) {
         if (isEnabled()) {
             if (canRotate) {

+ 2 - 1
jme3-core/src/main/java/com/jme3/app/DebugKeysAppState.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -94,6 +94,7 @@ public class DebugKeysAppState extends AbstractAppState {
     
     private class DebugKeyListener implements ActionListener {
 
+        @Override
         public void onAction(String name, boolean value, float tpf) {
             if (!value) {
                 return;

+ 36 - 1
jme3-core/src/main/java/com/jme3/app/LegacyApplication.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -126,6 +126,7 @@ public class LegacyApplication implements Application, SystemListener {
      *
      * @return The lost focus behavior of the application.
      */
+    @Override
     public LostFocusBehavior getLostFocusBehavior() {
         return lostFocusBehavior;
     }
@@ -142,6 +143,7 @@ public class LegacyApplication implements Application, SystemListener {
      *
      * @see LostFocusBehavior
      */
+    @Override
     public void setLostFocusBehavior(LostFocusBehavior lostFocusBehavior) {
         this.lostFocusBehavior = lostFocusBehavior;
     }
@@ -153,6 +155,7 @@ public class LegacyApplication implements Application, SystemListener {
      *
      * @see #getLostFocusBehavior()
      */
+    @Override
     public boolean isPauseOnLostFocus() {
         return getLostFocusBehavior() == LostFocusBehavior.PauseOnLostFocus;
     }
@@ -173,6 +176,7 @@ public class LegacyApplication implements Application, SystemListener {
      *
      * @see #setLostFocusBehavior(com.jme3.app.LostFocusBehavior)
      */
+    @Override
     public void setPauseOnLostFocus(boolean pauseOnLostFocus) {
         if (pauseOnLostFocus) {
             setLostFocusBehavior(LostFocusBehavior.PauseOnLostFocus);
@@ -227,6 +231,7 @@ public class LegacyApplication implements Application, SystemListener {
      *
      * @param settings The settings to set.
      */
+    @Override
     public void setSettings(AppSettings settings){
         this.settings = settings;
         if (context != null && settings.useInput() != inputEnabled){
@@ -248,6 +253,7 @@ public class LegacyApplication implements Application, SystemListener {
      * frame times.  By default, Application will use the Timer as returned
      * by the current JmeContext implementation.
      */
+    @Override
     public void setTimer(Timer timer){
         this.timer = timer;
 
@@ -260,6 +266,7 @@ public class LegacyApplication implements Application, SystemListener {
         }
     }
 
+    @Override
     public Timer getTimer(){
         return timer;
     }
@@ -355,6 +362,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * @return The {@link AssetManager asset manager} for this application.
      */
+    @Override
     public AssetManager getAssetManager(){
         return assetManager;
     }
@@ -362,6 +370,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * @return the {@link InputManager input manager}.
      */
+    @Override
     public InputManager getInputManager(){
         return inputManager;
     }
@@ -369,6 +378,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * @return the {@link AppStateManager app state manager}
      */
+    @Override
     public AppStateManager getStateManager() {
         return stateManager;
     }
@@ -376,6 +386,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * @return the {@link RenderManager render manager}
      */
+    @Override
     public RenderManager getRenderManager() {
         return renderManager;
     }
@@ -383,6 +394,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * @return The {@link Renderer renderer} for the application
      */
+    @Override
     public Renderer getRenderer(){
         return renderer;
     }
@@ -390,6 +402,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * @return The {@link AudioRenderer audio renderer} for the application
      */
+    @Override
     public AudioRenderer getAudioRenderer() {
         return audioRenderer;
     }
@@ -397,6 +410,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * @return The {@link Listener listener} object for audio
      */
+    @Override
     public Listener getListener() {
         return listener;
     }
@@ -404,6 +418,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * @return The {@link JmeContext display context} for the application
      */
+    @Override
     public JmeContext getContext(){
         return context;
     }
@@ -411,6 +426,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * @return The {@link Camera camera} for the application
      */
+    @Override
     public Camera getCamera(){
         return cam;
     }
@@ -420,6 +436,7 @@ public class LegacyApplication implements Application, SystemListener {
      *
      * @see #start(com.jme3.system.JmeContext.Type)
      */
+    @Override
     public void start(){
         start(JmeContext.Type.Display, false);
     }
@@ -429,6 +446,7 @@ public class LegacyApplication implements Application, SystemListener {
      *
      * @see #start(com.jme3.system.JmeContext.Type)
      */
+    @Override
     public void start(boolean waitFor){
         start(JmeContext.Type.Display, waitFor);
     }
@@ -468,6 +486,7 @@ public class LegacyApplication implements Application, SystemListener {
      * specific steps within a single update frame.  Value defaults
      * to null.
      */
+    @Override
     public void setAppProfiler(AppProfiler prof) {
         this.prof = prof;
         if (renderManager != null) {
@@ -478,6 +497,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * Returns the current AppProfiler hook, or null if none is set.
      */
+    @Override
     public AppProfiler getAppProfiler() {
         return prof;
     }
@@ -538,6 +558,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * Internal use only.
      */
+    @Override
     public void reshape(int w, int h){
         if (renderManager != null) {
             renderManager.notifyReshape(w, h);
@@ -551,6 +572,7 @@ public class LegacyApplication implements Application, SystemListener {
      * applied immediately; calling this method forces the context
      * to restart, applying the new settings.
      */
+    @Override
     public void restart(){
         context.setSettings(settings);
         context.restart();
@@ -564,6 +586,7 @@ public class LegacyApplication implements Application, SystemListener {
      *
      * @see #stop(boolean)
      */
+    @Override
     public void stop(){
         stop(false);
     }
@@ -573,6 +596,7 @@ public class LegacyApplication implements Application, SystemListener {
      * and making necessary cleanup operations.
      * After the application has stopped, it cannot be used anymore.
      */
+    @Override
     public void stop(boolean waitFor){
         logger.log(Level.FINE, "Closing application: {0}", getClass().getName());
         context.destroy(waitFor);
@@ -588,6 +612,7 @@ public class LegacyApplication implements Application, SystemListener {
      * perspective projection with 45° field of view, with near
      * and far values 1 and 1000 units respectively.
      */
+    @Override
     public void initialize(){
         if (assetManager == null){
             initAssetManager();
@@ -611,6 +636,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * Internal use only.
      */
+    @Override
     public void handleError(String errMsg, Throwable t){
         // Print error to log.
         logger.log(Level.SEVERE, errMsg, t);
@@ -630,6 +656,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * Internal use only.
      */
+    @Override
     public void gainFocus(){
         if (lostFocusBehavior != LostFocusBehavior.Disabled) {
             if (lostFocusBehavior == LostFocusBehavior.PauseOnLostFocus) {
@@ -645,6 +672,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * Internal use only.
      */
+    @Override
     public void loseFocus(){
         if (lostFocusBehavior != LostFocusBehavior.Disabled){
             if (lostFocusBehavior == LostFocusBehavior.PauseOnLostFocus) {
@@ -657,6 +685,7 @@ public class LegacyApplication implements Application, SystemListener {
     /**
      * Internal use only.
      */
+    @Override
     public void requestClose(boolean esc){
         context.destroy(false);
     }
@@ -671,6 +700,7 @@ public class LegacyApplication implements Application, SystemListener {
      *
      * @param callable The callable to run in the main jME3 thread
      */
+    @Override
     public <V> Future<V> enqueue(Callable<V> callable) {
         AppTask<V> task = new AppTask<V>(callable);
         taskQueue.add(task);
@@ -687,6 +717,7 @@ public class LegacyApplication implements Application, SystemListener {
      *
      * @param runnable The runnable to run in the main jME3 thread
      */
+    @Override
     public void enqueue(Runnable runnable){
         enqueue(new RunnableWrapper(runnable));
     }
@@ -707,6 +738,7 @@ public class LegacyApplication implements Application, SystemListener {
      * Do not call manually.
      * Callback from ContextListener.
      */
+    @Override
     public void update(){
         // Make sure the audio renderer is available to callables
         AudioContext.setAudioRenderer(audioRenderer);
@@ -752,6 +784,7 @@ public class LegacyApplication implements Application, SystemListener {
      * Do not call manually.
      * Callback from ContextListener.
      */
+    @Override
     public void destroy(){
         stateManager.cleanup();
 
@@ -766,10 +799,12 @@ public class LegacyApplication implements Application, SystemListener {
      * @return The GUI viewport. Which is used for the on screen
      * statistics and FPS.
      */
+    @Override
     public ViewPort getGuiViewPort() {
         return guiViewPort;
     }
 
+    @Override
     public ViewPort getViewPort() {
         return viewPort;
     }

+ 2 - 1
jme3-core/src/main/java/com/jme3/app/SimpleApplication.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -82,6 +82,7 @@ public abstract class SimpleApplication extends LegacyApplication {
 
     private class AppActionListener implements ActionListener {
 
+        @Override
         public void onAction(String name, boolean value, float tpf) {
             if (!value) {
                 return;

+ 4 - 1
jme3-core/src/main/java/com/jme3/app/StatsView.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -96,6 +96,7 @@ public class StatsView extends Node implements Control, JmeCloneable {
         return statText.getLineHeight() * statLabels.length;
     }
 
+    @Override
     public void update(float tpf) {
 
         if (!isEnabled())
@@ -133,6 +134,7 @@ public class StatsView extends Node implements Control, JmeCloneable {
         throw new UnsupportedOperationException("Not yet implemented.");
     }
 
+    @Override
     public void setSpatial(Spatial spatial) {
     }
 
@@ -145,6 +147,7 @@ public class StatsView extends Node implements Control, JmeCloneable {
         return enabled;
     }
 
+    @Override
     public void render(RenderManager rm, ViewPort vp) {
     }
 

+ 7 - 1
jme3-core/src/main/java/com/jme3/app/state/ScreenshotAppState.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -187,6 +187,7 @@ public class ScreenshotAppState extends AbstractAppState implements ActionListen
         super.initialize(stateManager, app);
     }
 
+    @Override
     public void onAction(String name, boolean value, float tpf) {
         if (value){
             capture = true;
@@ -197,6 +198,7 @@ public class ScreenshotAppState extends AbstractAppState implements ActionListen
         capture = true;
     }
 
+    @Override
     public void initialize(RenderManager rm, ViewPort vp) {
         renderer = rm.getRenderer();
         this.rm = rm;
@@ -208,18 +210,22 @@ public class ScreenshotAppState extends AbstractAppState implements ActionListen
         return super.isInitialized() && renderer != null;
     }
 
+    @Override
     public void reshape(ViewPort vp, int w, int h) {
         outBuf = BufferUtils.createByteBuffer(w * h * 4);
         width = w;
         height = h;
     }
 
+    @Override
     public void preFrame(float tpf) {
     }
 
+    @Override
     public void postQueue(RenderQueue rq) {
     }
 
+    @Override
     public void postFrame(FrameBuffer out) {
         if (capture){
             capture = false;

+ 3 - 1
jme3-core/src/main/java/com/jme3/asset/AssetKey.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -191,11 +191,13 @@ public class AssetKey<T> implements Savable, Cloneable {
         return name;
     }
 
+    @Override
     public void write(JmeExporter ex) throws IOException {
         OutputCapsule oc = ex.getCapsule(this);
         oc.write(name, "name", null);
     }
 
+    @Override
     public void read(JmeImporter im) throws IOException {
         InputCapsule ic = im.getCapsule(this);
         name = reducePath(ic.readString("name", null));

+ 3 - 1
jme3-core/src/main/java/com/jme3/asset/CloneableAssetProcessor.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -39,10 +39,12 @@ package com.jme3.asset;
  */
 public class CloneableAssetProcessor implements AssetProcessor {
 
+    @Override
     public Object postProcess(AssetKey key, Object obj) {
         return obj;
     }
 
+    @Override
     public Object createClone(Object obj) {
         CloneableSmartAsset asset = (CloneableSmartAsset) obj;
         return asset.clone();

+ 23 - 1
jme3-core/src/main/java/com/jme3/asset/DesktopAssetManager.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -99,26 +99,32 @@ public class DesktopAssetManager implements AssetManager {
         }
     }
     
+    @Override
     public void addClassLoader(ClassLoader loader) {
         classLoaders.add(loader);
     }
     
+    @Override
     public void removeClassLoader(ClassLoader loader) {
         classLoaders.remove(loader);
     }
 
+    @Override
     public List<ClassLoader> getClassLoaders(){
         return Collections.unmodifiableList(classLoaders);
     }
     
+    @Override
     public void addAssetEventListener(AssetEventListener listener) {
         eventListeners.add(listener);
     }
 
+    @Override
     public void removeAssetEventListener(AssetEventListener listener) {
         eventListeners.remove(listener);
     }
 
+    @Override
     public void clearAssetEventListeners() {
         eventListeners.clear();
     }
@@ -128,6 +134,7 @@ public class DesktopAssetManager implements AssetManager {
         eventListeners.add(listener);
     }
 
+    @Override
     public void registerLoader(Class<? extends AssetLoader> loader, String ... extensions){
         handler.addLoader(loader, extensions);
         if (logger.isLoggable(Level.FINER)){
@@ -150,6 +157,7 @@ public class DesktopAssetManager implements AssetManager {
         }
     }
     
+    @Override
     public void unregisterLoader(Class<? extends AssetLoader> loaderClass) {
         handler.removeLoader(loaderClass);
         if (logger.isLoggable(Level.FINER)){
@@ -158,6 +166,7 @@ public class DesktopAssetManager implements AssetManager {
         }
     }
 
+    @Override
     public void registerLocator(String rootPath, Class<? extends AssetLocator> locatorClass){
         handler.addLocator(locatorClass, rootPath);
         if (logger.isLoggable(Level.FINER)){
@@ -180,6 +189,7 @@ public class DesktopAssetManager implements AssetManager {
         }
     }
     
+    @Override
     public void unregisterLocator(String rootPath, Class<? extends AssetLocator> clazz){
         handler.removeLocator(clazz, rootPath);
         if (logger.isLoggable(Level.FINER)){
@@ -188,6 +198,7 @@ public class DesktopAssetManager implements AssetManager {
         }
     }
     
+    @Override
     public AssetInfo locateAsset(AssetKey<?> key){
         AssetInfo info = handler.tryLocate(key);
         if (info == null){
@@ -383,48 +394,59 @@ public class DesktopAssetManager implements AssetManager {
         return clone;
     }
 
+    @Override
     public Object loadAsset(String name){
         return loadAsset(new AssetKey(name));
     }
 
+    @Override
     public Texture loadTexture(TextureKey key){                
         return (Texture) loadAsset(key);
     }
 
+    @Override
     public Material loadMaterial(String name){
         return (Material) loadAsset(new MaterialKey(name));
     }
 
+    @Override
     public Texture loadTexture(String name){
         TextureKey key = new TextureKey(name, true);
         key.setGenerateMips(true);
         return loadTexture(key);
     }
 
+    @Override
     public AudioData loadAudio(AudioKey key){
         return (AudioData) loadAsset(key);
     }
 
+    @Override
     public AudioData loadAudio(String name){
         return loadAudio(new AudioKey(name, false));
     }
 
+    @Override
     public BitmapFont loadFont(String name){
         return (BitmapFont) loadAsset(new AssetKey(name));
     }
 
+    @Override
     public Spatial loadModel(ModelKey key){
         return (Spatial) loadAsset(key);
     }
 
+    @Override
     public Spatial loadModel(String name){
         return loadModel(new ModelKey(name));
     }
 
+    @Override
     public FilterPostProcessor loadFilter(FilterKey key){
         return (FilterPostProcessor) loadAsset(key);
     }
 
+    @Override
     public FilterPostProcessor loadFilter(String name){
         return loadFilter(new FilterKey(name));
     }

+ 3 - 1
jme3-core/src/main/java/com/jme3/asset/ThreadingManager.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -53,6 +53,7 @@ public class ThreadingManager {
     }
 
     protected class LoadingThreadFactory implements ThreadFactory {
+        @Override
         public Thread newThread(Runnable r) {
             Thread t = new Thread(r, "jME3-threadpool-" + (nextThreadId++));
             t.setDaemon(true);
@@ -69,6 +70,7 @@ public class ThreadingManager {
             this.assetKey = assetKey;
         }
 
+        @Override
         public T call() throws Exception {
             return owner.loadAsset(assetKey);
         }

+ 7 - 1
jme3-core/src/main/java/com/jme3/asset/cache/SimpleAssetCache.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,25 +46,31 @@ public class SimpleAssetCache implements AssetCache {
 
     private final ConcurrentHashMap<AssetKey, Object> keyToAssetMap = new ConcurrentHashMap<AssetKey, Object>();
     
+    @Override
     public <T> void addToCache(AssetKey<T> key, T obj) {
         keyToAssetMap.put(key, obj);
     }
 
+    @Override
     public <T> void registerAssetClone(AssetKey<T> key, T clone) {
     }
 
+    @Override
     public <T> T getFromCache(AssetKey<T> key) {
         return (T) keyToAssetMap.get(key);
     }
 
+    @Override
     public boolean deleteFromCache(AssetKey key) {
         return keyToAssetMap.remove(key) != null;
     }
 
+    @Override
     public void clearCache() {
         keyToAssetMap.clear();
     }
 
+    @Override
     public void notifyNoAssetClone() {
     }
     

+ 7 - 1
jme3-core/src/main/java/com/jme3/asset/cache/WeakRefAssetCache.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -84,6 +84,7 @@ public class WeakRefAssetCache implements AssetCache {
         }
     }
     
+    @Override
     public <T> void addToCache(AssetKey<T> key, T obj) {
         removeCollectedAssets();
         
@@ -93,6 +94,7 @@ public class WeakRefAssetCache implements AssetCache {
         assetCache.put(key, ref);
     }
 
+    @Override
     public <T> T getFromCache(AssetKey<T> key) {
         AssetRef ref = assetCache.get(key);
         if (ref != null){
@@ -102,17 +104,21 @@ public class WeakRefAssetCache implements AssetCache {
         }
     }
 
+    @Override
     public boolean deleteFromCache(AssetKey key) {
         return assetCache.remove(key) != null;
     }
 
+    @Override
     public void clearCache() {
         assetCache.clear();
     }
     
+    @Override
     public <T> void registerAssetClone(AssetKey<T> key, T clone) {
     }
     
+    @Override
     public void notifyNoAssetClone() {
     }
 }

+ 7 - 1
jme3-core/src/main/java/com/jme3/asset/cache/WeakRefCloneAssetCache.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -119,6 +119,7 @@ public class WeakRefCloneAssetCache implements AssetCache {
         }
     }
     
+    @Override
     public <T> void addToCache(AssetKey<T> originalKey, T obj) {
         // Make room for new asset
         removeCollectedAssets();
@@ -143,16 +144,19 @@ public class WeakRefCloneAssetCache implements AssetCache {
         loadStack.add(originalKey);
     }
 
+    @Override
     public <T> void registerAssetClone(AssetKey<T> key, T clone) {
         ArrayList<AssetKey> loadStack = assetLoadStack.get();
         ((CloneableSmartAsset)clone).setKey(loadStack.remove(loadStack.size() - 1));
     }
     
+    @Override
     public void notifyNoAssetClone() {
         ArrayList<AssetKey> loadStack = assetLoadStack.get();
         loadStack.remove(loadStack.size() - 1);
     }
 
+    @Override
     public <T> T getFromCache(AssetKey<T> key) {
         AssetRef smartInfo = smartCache.get(key);
         if (smartInfo == null) {
@@ -177,6 +181,7 @@ public class WeakRefCloneAssetCache implements AssetCache {
         }
     }
 
+    @Override
     public boolean deleteFromCache(AssetKey key) {
         ArrayList<AssetKey> loadStack = assetLoadStack.get();
         
@@ -188,6 +193,7 @@ public class WeakRefCloneAssetCache implements AssetCache {
         return smartCache.remove(key) != null;
     }
     
+    @Override
     public void clearCache() {
         ArrayList<AssetKey> loadStack = assetLoadStack.get();
         

+ 4 - 1
jme3-core/src/main/java/com/jme3/audio/AudioBuffer.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -59,6 +59,7 @@ public class AudioBuffer extends AudioData {
         super(id);
     }
 
+    @Override
     public DataType getDataType() {
         return DataType.Buffer;
     }
@@ -67,6 +68,7 @@ public class AudioBuffer extends AudioData {
      * @return The duration of the audio in seconds. It is expected
      * that audio is uncompressed.
      */
+    @Override
     public float getDuration(){
         int bytesPerSec = (bitsPerSample / 8) * channels * sampleRate;
         if (audioData != null)
@@ -98,6 +100,7 @@ public class AudioBuffer extends AudioData {
         return audioData;
     }
 
+    @Override
     public void resetObject() {
         id = -1;
         setUpdateNeeded();

+ 22 - 1
jme3-core/src/main/java/com/jme3/audio/AudioNode.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012, 2016, 2018-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -252,6 +252,7 @@ public class AudioNode extends Node implements AudioSource {
     /**
      * Do not use.
      */
+    @Override
     public final void setChannel(int channel) {
         if (status != AudioSource.Status.Stopped) {
             throw new IllegalStateException("Can only set source id when stopped");
@@ -263,6 +264,7 @@ public class AudioNode extends Node implements AudioSource {
     /**
      * Do not use.
      */
+    @Override
     public int getChannel() {
         return channel;
     }
@@ -271,6 +273,7 @@ public class AudioNode extends Node implements AudioSource {
      * @return The {#link Filter dry filter} that is set.
      * @see AudioNode#setDryFilter(com.jme3.audio.Filter)
      */
+    @Override
     public Filter getDryFilter() {
         return dryFilter;
     }
@@ -315,6 +318,7 @@ public class AudioNode extends Node implements AudioSource {
      * {@link AudioNode#setAudioData(com.jme3.audio.AudioData, com.jme3.audio.AudioKey) }
      * or any of the constructors that initialize the audio data.
      */
+    @Override
     public AudioData getAudioData() {
         return data;
     }
@@ -324,6 +328,7 @@ public class AudioNode extends Node implements AudioSource {
      * The status will be changed when either the {@link AudioNode#play() }
      * or {@link AudioNode#stop() } methods are called.
      */
+    @Override
     public AudioSource.Status getStatus() {
         return status;
     }
@@ -331,6 +336,7 @@ public class AudioNode extends Node implements AudioSource {
     /**
      * Do not use.
      */
+    @Override
     public final void setStatus(AudioSource.Status status) {
         this.status = status;
     }
@@ -353,6 +359,7 @@ public class AudioNode extends Node implements AudioSource {
      * otherwise, false.
      * @see AudioNode#setLooping(boolean)
      */
+    @Override
     public boolean isLooping() {
         return loop;
     }
@@ -373,6 +380,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setPitch(float)
      */
+    @Override
     public float getPitch() {
         return pitch;
     }
@@ -399,6 +407,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setVolume(float)
      */
+    @Override
     public float getVolume() {
         return volume;
     }
@@ -424,6 +433,7 @@ public class AudioNode extends Node implements AudioSource {
     /**
      * @return the time offset in the sound sample when to start playing.
      */
+    @Override
     public float getTimeOffset() {
         return timeOffset;
     }
@@ -456,6 +466,7 @@ public class AudioNode extends Node implements AudioSource {
             return 0;
     }
 
+    @Override
     public Vector3f getPosition() {
         return getWorldTranslation();
     }
@@ -465,6 +476,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setVelocity(com.jme3.math.Vector3f)
      */
+    @Override
     public Vector3f getVelocity() {
         return velocity;
     }
@@ -487,6 +499,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setReverbEnabled(boolean)
      */
+    @Override
     public boolean isReverbEnabled() {
         return reverbEnabled;
     }
@@ -513,6 +526,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setReverbFilter(com.jme3.audio.Filter)
      */
+    @Override
     public Filter getReverbFilter() {
         return reverbFilter;
     }
@@ -538,6 +552,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setMaxDistance(float)
      */
+    @Override
     public float getMaxDistance() {
         return maxDistance;
     }
@@ -572,6 +587,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setRefDistance(float)
      */
+    @Override
     public float getRefDistance() {
         return refDistance;
     }
@@ -601,6 +617,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setDirectional(boolean)
      */
+    @Override
     public boolean isDirectional() {
         return directional;
     }
@@ -626,6 +643,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setDirection(com.jme3.math.Vector3f)
      */
+    @Override
     public Vector3f getDirection() {
         return direction;
     }
@@ -648,6 +666,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setInnerAngle(float)
      */
+    @Override
     public float getInnerAngle() {
         return innerAngle;
     }
@@ -669,6 +688,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setOuterAngle(float)
      */
+    @Override
     public float getOuterAngle() {
         return outerAngle;
     }
@@ -690,6 +710,7 @@ public class AudioNode extends Node implements AudioSource {
      *
      * @see AudioNode#setPositional(boolean)
      */
+    @Override
     public boolean isPositional() {
         return positional;
     }

+ 3 - 1
jme3-core/src/main/java/com/jme3/audio/AudioStream.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -115,6 +115,7 @@ public class AudioStream extends AudioData implements Closeable {
         return readSamples(buf, 0, buf.length);
     }
 
+    @Override
     public float getDuration() {
         return duration;
     }
@@ -181,6 +182,7 @@ public class AudioStream extends AudioData implements Closeable {
      *
      * @throws IOException
      */
+    @Override
     public void close() {
         if (in != null && open) {
             try {

+ 3 - 1
jme3-core/src/main/java/com/jme3/audio/Filter.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -47,10 +47,12 @@ public abstract class Filter extends NativeObject implements Savable {
         super(id);
     }
     
+    @Override
     public void write(JmeExporter ex) throws IOException {
         // nothing to save
     }
 
+    @Override
     public void read(JmeImporter im) throws IOException {
         // nothing to read
     }

+ 2 - 1
jme3-core/src/main/java/com/jme3/audio/LowPassFilter.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -76,6 +76,7 @@ public class LowPassFilter extends Filter {
         this.updateNeeded = true;
     }
 
+    @Override
     public void write(JmeExporter ex) throws IOException{
         super.write(ex);
         OutputCapsule oc = ex.getCapsule(this);

+ 17 - 1
jme3-core/src/main/java/com/jme3/audio/openal/ALAudioRenderer.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -216,6 +216,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         alc.destroyALC();
     }
 
+    @Override
     public void initialize() {
         if (decoderThread.isAlive()) {
             throw new IllegalStateException("Initialize already called");
@@ -237,6 +238,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
 
+    @Override
     public void run() {
         long updateRateNanos = (long) (UPDATE_RATE * 1000000000);
         mainloop:
@@ -267,6 +269,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
 
+    @Override
     public void cleanup() {
         // kill audio thread
         if (!decoderThread.isAlive()) {
@@ -359,6 +362,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
     
+    @Override
     public void updateSourceParam(AudioSource src, AudioParam param) {
         checkDead();
         synchronized (threadLock) {
@@ -585,6 +589,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
 
+    @Override
     public void updateListenerParam(Listener listener, ListenerParam param) {
         checkDead();
         synchronized (threadLock) {
@@ -651,6 +656,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
 
+    @Override
     public void setEnvironment(Environment env) {
         checkDead();
         synchronized (threadLock) {
@@ -845,6 +851,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
 
+    @Override
     public void update(float tpf) {
         synchronized (threadLock) {
             updateInRenderThread(tpf);
@@ -977,6 +984,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         objManager.deleteUnused(this);
     }
 
+    @Override
     public void setListener(Listener listener) {
         checkDead();
         synchronized (threadLock) {
@@ -996,6 +1004,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
     
+    @Override
     public void pauseAll() {
         if (!supportPauseDevice) {
             throw new UnsupportedOperationException("Pause device is NOT supported!");
@@ -1004,6 +1013,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         alc.alcDevicePauseSOFT();
     }
 
+    @Override
     public void resumeAll() {
         if (!supportPauseDevice) {
             throw new UnsupportedOperationException("Pause device is NOT supported!");
@@ -1012,6 +1022,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         alc.alcDeviceResumeSOFT();
     }
 
+    @Override
     public void playSourceInstance(AudioSource src) {
         checkDead();
         synchronized (threadLock) {
@@ -1049,6 +1060,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
 
+    @Override
     public void playSource(AudioSource src) {
         checkDead();
         synchronized (threadLock) {
@@ -1087,6 +1099,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
 
+    @Override
     public void pauseSource(AudioSource src) {
         checkDead();
         synchronized (threadLock) {
@@ -1103,6 +1116,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
 
+    @Override
     public void stopSource(AudioSource src) {
         synchronized (threadLock) {
             if (audioDisabled) {
@@ -1196,6 +1210,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
 
+    @Override
     public void deleteFilter(Filter filter) {
         int id = filter.getId();
         if (id != -1) {
@@ -1206,6 +1221,7 @@ public class ALAudioRenderer implements AudioRenderer, Runnable {
         }
     }
 
+    @Override
     public void deleteAudioData(AudioData ad) {
         synchronized (threadLock) {
             if (audioDisabled) {

+ 14 - 1
jme3-core/src/main/java/com/jme3/bounding/BoundingBox.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2013 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -106,6 +106,7 @@ public class BoundingBox extends BoundingVolume {
         setMinMax(min, max);
     }
 
+    @Override
     public Type getType() {
         return Type.AABB;
     }
@@ -117,6 +118,7 @@ public class BoundingBox extends BoundingVolume {
      * @param points
      *            the points to contain.
      */
+    @Override
     public void computeFromPoints(FloatBuffer points) {
         containAABB(points);
     }
@@ -293,6 +295,7 @@ public class BoundingBox extends BoundingVolume {
      * @param store
      *            box to store result in
      */
+    @Override
     public BoundingVolume transform(Transform trans, BoundingVolume store) {
 
         BoundingBox box;
@@ -326,6 +329,7 @@ public class BoundingBox extends BoundingVolume {
         return box;
     }
 
+    @Override
     public BoundingVolume transform(Matrix4f trans, BoundingVolume store) {
         BoundingBox box;
         if (store == null || store.getType() != Type.AABB) {
@@ -365,6 +369,7 @@ public class BoundingBox extends BoundingVolume {
      * @param plane
      *            the plane to check against.
      */
+    @Override
     public Plane.Side whichSide(Plane plane) {
         float radius = FastMath.abs(xExtent * plane.getNormal().getX())
                 + FastMath.abs(yExtent * plane.getNormal().getY())
@@ -392,6 +397,7 @@ public class BoundingBox extends BoundingVolume {
      * @return this box (with its components modified) or null if the second
      * volume is of some type other than AABB or Sphere
      */
+    @Override
     public BoundingVolume merge(BoundingVolume volume) {
         return mergeLocal(volume);
     }
@@ -406,6 +412,7 @@ public class BoundingBox extends BoundingVolume {
      * @return this box (with its components modified) or null if the second
      * volume is of some type other than AABB or Sphere
      */
+    @Override
     public BoundingVolume mergeLocal(BoundingVolume volume) {
         if (volume == null) {
             return this;
@@ -548,6 +555,7 @@ public class BoundingBox extends BoundingVolume {
      *            a new store is created.
      * @return the new BoundingBox
      */
+    @Override
     public BoundingVolume clone(BoundingVolume store) {
         if (store != null && store.getType() == Type.AABB) {
             BoundingBox rVal = (BoundingBox) store;
@@ -584,6 +592,7 @@ public class BoundingBox extends BoundingVolume {
      * 
      * @see BoundingVolume#intersects(com.jme3.bounding.BoundingVolume) 
      */
+    @Override
     public boolean intersects(BoundingVolume bv) {
         return bv.intersectsBoundingBox(this);
     }
@@ -593,6 +602,7 @@ public class BoundingBox extends BoundingVolume {
      * 
      * @see BoundingVolume#intersectsSphere(com.jme3.bounding.BoundingSphere)
      */
+    @Override
     public boolean intersectsSphere(BoundingSphere bs) {
         return bs.intersectsBoundingBox(this);
     }
@@ -604,6 +614,7 @@ public class BoundingBox extends BoundingVolume {
      * 
      * @see BoundingVolume#intersectsBoundingBox(com.jme3.bounding.BoundingBox)
      */
+    @Override
     public boolean intersectsBoundingBox(BoundingBox bb) {
         assert Vector3f.isValidVector(center) && Vector3f.isValidVector(bb.center);
 
@@ -636,6 +647,7 @@ public class BoundingBox extends BoundingVolume {
      * 
      * @see BoundingVolume#intersects(com.jme3.math.Ray) 
      */
+    @Override
     public boolean intersects(Ray ray) {
         assert Vector3f.isValidVector(center);
 
@@ -853,6 +865,7 @@ public class BoundingBox extends BoundingVolume {
                 && FastMath.abs(center.z - point.z) <= zExtent;
     }
 
+    @Override
     public float distanceToEdge(Vector3f point) {
         // compute coordinates of point in box coordinate system
         TempVars vars= TempVars.get();

+ 15 - 1
jme3-core/src/main/java/com/jme3/bounding/BoundingSphere.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -85,6 +85,7 @@ public class BoundingSphere extends BoundingVolume {
         this.radius = r;
     }
 
+    @Override
     public Type getType() {
         return Type.Sphere;
     }
@@ -116,6 +117,7 @@ public class BoundingSphere extends BoundingVolume {
      * @param points
      *            the points to contain.
      */
+    @Override
     public void computeFromPoints(FloatBuffer points) {
         calcWelzl(points);
     }
@@ -383,6 +385,7 @@ public class BoundingSphere extends BoundingVolume {
      * @return BoundingVolume
      * @return ref
      */
+    @Override
     public BoundingVolume transform(Transform trans, BoundingVolume store) {
         BoundingSphere sphere;
         if (store == null || store.getType() != BoundingVolume.Type.Sphere) {
@@ -398,6 +401,7 @@ public class BoundingSphere extends BoundingVolume {
         return sphere;
     }
 
+    @Override
     public BoundingVolume transform(Matrix4f trans, BoundingVolume store) {
         BoundingSphere sphere;
         if (store == null || store.getType() != BoundingVolume.Type.Sphere) {
@@ -441,6 +445,7 @@ public class BoundingSphere extends BoundingVolume {
      *            the plane to check against.
      * @return side
      */
+    @Override
     public Plane.Side whichSide(Plane plane) {
         float distance = plane.pseudoDistance(center);
 
@@ -461,6 +466,7 @@ public class BoundingSphere extends BoundingVolume {
      *            the sphere to combine with this sphere.
      * @return a new sphere
      */
+    @Override
     public BoundingVolume merge(BoundingVolume volume) {
         if (volume == null) {
             return this;
@@ -506,6 +512,7 @@ public class BoundingSphere extends BoundingVolume {
      *            the sphere to combine with this sphere.
      * @return this
      */
+    @Override
     public BoundingVolume mergeLocal(BoundingVolume volume) {
         if (volume == null) {
             return this;
@@ -629,6 +636,7 @@ public class BoundingSphere extends BoundingVolume {
      *            a new store is created.
      * @return the new BoundingSphere
      */
+    @Override
     public BoundingVolume clone(BoundingVolume store) {
         if (store != null && store.getType() == Type.Sphere) {
             BoundingSphere rVal = (BoundingSphere) store;
@@ -661,6 +669,7 @@ public class BoundingSphere extends BoundingVolume {
      *
      * @see com.jme.bounding.BoundingVolume#intersects(com.jme.bounding.BoundingVolume)
      */
+    @Override
     public boolean intersects(BoundingVolume bv) {
         return bv.intersectsSphere(this);
     }
@@ -670,6 +679,7 @@ public class BoundingSphere extends BoundingVolume {
      *
      * @see com.jme.bounding.BoundingVolume#intersectsSphere(com.jme.bounding.BoundingSphere)
      */
+    @Override
     public boolean intersectsSphere(BoundingSphere bs) {
         return Intersection.intersect(bs, center, radius);
     }
@@ -679,6 +689,7 @@ public class BoundingSphere extends BoundingVolume {
      *
      * @see com.jme.bounding.BoundingVolume#intersectsBoundingBox(com.jme.bounding.BoundingBox)
      */
+    @Override
     public boolean intersectsBoundingBox(BoundingBox bb) {
         return Intersection.intersect(bb, center, radius);
     }
@@ -697,6 +708,7 @@ public class BoundingSphere extends BoundingVolume {
      *
      * @see com.jme.bounding.BoundingVolume#intersects(com.jme.math.Ray)
      */
+    @Override
     public boolean intersects(Ray ray) {
         assert Vector3f.isValidVector(center);
 
@@ -988,6 +1000,7 @@ public class BoundingSphere extends BoundingVolume {
         }
     }
     
+    @Override
     public int collideWith(Collidable other, CollisionResults results) {
         if (other instanceof Ray) {
             Ray ray = (Ray) other;
@@ -1034,6 +1047,7 @@ public class BoundingSphere extends BoundingVolume {
         return center.distanceSquared(point) <= (getRadius() * getRadius());
     }
 
+    @Override
     public float distanceToEdge(Vector3f point) {
         return center.distance(point) - radius;
     }

+ 3 - 1
jme3-core/src/main/java/com/jme3/bounding/BoundingVolume.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -317,10 +317,12 @@ public abstract class BoundingVolume implements Savable, Cloneable, Collidable {
         }
     }
 
+    @Override
     public void write(JmeExporter e) throws IOException {
         e.getCapsule(this).write(center, "center", Vector3f.ZERO);
     }
 
+    @Override
     public void read(JmeImporter e) throws IOException {
         center = (Vector3f) e.getCapsule(this).readSavable("center", Vector3f.ZERO.clone());
     }

+ 10 - 1
jme3-core/src/main/java/com/jme3/cinematic/Cinematic.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -270,6 +270,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
      * @param stateManager the state manager
      * @param app the application
      */
+    @Override
     public void initialize(AppStateManager stateManager, Application app) {
         initEvent(app, this);
         for (CinematicEvent cinematicEvent : cinematicEvents) {
@@ -288,6 +289,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
      *
      * @return true if initialized, otherwise false
      */
+    @Override
     public boolean isInitialized() {
         return initialized;
     }
@@ -312,6 +314,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
      *
      * @param enabled true or false
      */
+    @Override
     public void setEnabled(boolean enabled) {
         if (enabled) {
             play();
@@ -324,6 +327,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
      *
      * @return true if enabled
      */
+    @Override
     public boolean isEnabled() {
         return playState == PlayState.Playing;
     }
@@ -333,6 +337,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
      *
      * @param stateManager the state manager
      */
+    @Override
     public void stateAttached(AppStateManager stateManager) {
     }
 
@@ -341,6 +346,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
      *
      * @param stateManager the state manager
      */
+    @Override
     public void stateDetached(AppStateManager stateManager) {
         stop();
     }
@@ -508,6 +514,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
      *
      * @see AppState#render(com.jme3.renderer.RenderManager)
      */
+    @Override
     public void render(RenderManager rm) {
     }
 
@@ -516,6 +523,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
      *
      * @see AppState#postRender()
      */
+    @Override
     public void postRender() {
     }
 
@@ -524,6 +532,7 @@ public class Cinematic extends AbstractCinematicEvent implements AppState {
      *
      * @see AppState#cleanup()
      */
+    @Override
     public void cleanup() {
     }
 

+ 3 - 1
jme3-core/src/main/java/com/jme3/cinematic/KeyFrame.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -69,12 +69,14 @@ public class KeyFrame implements Savable {
         return cinematicEvents.isEmpty();
     }
 
+    @Override
     public void write(JmeExporter ex) throws IOException {
         OutputCapsule oc = ex.getCapsule(this);
         oc.writeSavableArrayList((ArrayList) cinematicEvents, "cinematicEvents", null);
         oc.write(index, "index", 0);
     }
 
+    @Override
     public void read(JmeImporter im) throws IOException {
         InputCapsule ic = im.getCapsule(this);
         cinematicEvents = ic.readSavableArrayList("cinematicEvents", null);

+ 3 - 1
jme3-core/src/main/java/com/jme3/cinematic/TimeLine.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -104,6 +104,7 @@ public class TimeLine extends HashMap<Integer, KeyFrame> implements Savable {
         return lastKeyFrameIndex;
     }
 
+    @Override
     public void write(JmeExporter ex) throws IOException {
         OutputCapsule oc = ex.getCapsule(this);
         ArrayList list = new ArrayList();
@@ -111,6 +112,7 @@ public class TimeLine extends HashMap<Integer, KeyFrame> implements Savable {
         oc.writeSavableArrayList(list, "keyFrames", null);
     }
 
+    @Override
     public void read(JmeImporter im) throws IOException {
         InputCapsule ic = im.getCapsule(this);
         ArrayList list = ic.readSavableArrayList("keyFrames", null);

+ 20 - 1
jme3-core/src/main/java/com/jme3/cinematic/events/AbstractCinematicEvent.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -104,6 +104,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * or when it was force-stopped during playback.
      * By default, this method just calls regular stop().
      */
+    @Override
     public void forceStop(){
         stop();
     }
@@ -111,6 +112,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
     /**
      * Play this event.
      */
+    @Override
     public void play() {
         onPlay();        
         playState = PlayState.Playing;
@@ -131,6 +133,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * Used internally only.
      * @param tpf time per frame.
      */
+    @Override
     public void internalUpdate(float tpf) {
         if (playState == PlayState.Playing) {
             time = time + (tpf * speed);         
@@ -161,6 +164,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * Stops the animation. 
      * Next time when play() is called, the animation starts from the beginning.
      */
+    @Override
     public void stop() {
         onStop();
         time = 0;
@@ -182,6 +186,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * Pause this event.
      * Next time when play() is called, the animation restarts from here.
      */
+    @Override
     public void pause() {
         onPause();
         playState = PlayState.Paused;
@@ -202,6 +207,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * Returns the actual duration of the animation (initialDuration/speed)
      * @return the duration (in seconds)
      */
+    @Override
     public float getDuration() {
         return initialDuration / speed;
     }
@@ -212,6 +218,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * At speed = 2, the animation will last initialDuration/2...
      * @param speed
      */
+    @Override
     public void setSpeed(float speed) {
         this.speed = speed;
     }
@@ -220,6 +227,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * Returns the speed of the animation.
      * @return the speed
      */
+    @Override
     public float getSpeed() {
         return speed;
     }
@@ -228,6 +236,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * Returns the current playstate of the animation (playing or paused or stopped).
      * @return the enum value
      */
+    @Override
     public PlayState getPlayState() {
         return playState;
     }
@@ -236,6 +245,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * Returns the initial duration of the animation at speed = 1 in seconds.
      * @return the duration in seconds
      */
+    @Override
     public float getInitialDuration() {
         return initialDuration;
     }
@@ -244,6 +254,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * Sets the duration of the animation at speed = 1 in seconds.
      * @param initialDuration
      */
+    @Override
     public void setInitialDuration(float initialDuration) {
         this.initialDuration = initialDuration;
     }
@@ -253,6 +264,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * @see LoopMode
      * @return the enum value
      */
+    @Override
     public LoopMode getLoopMode() {
         return loopMode;
     }
@@ -262,6 +274,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * @see LoopMode
      * @param loopMode
      */
+    @Override
     public void setLoopMode(LoopMode loopMode) {
         this.loopMode = loopMode;
     }
@@ -271,6 +284,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * @param ex exporter
      * @throws IOException 
      */
+    @Override
     public void write(JmeExporter ex) throws IOException {
         OutputCapsule oc = ex.getCapsule(this);
         oc.write(playState, "playState", PlayState.Stopped);
@@ -284,6 +298,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * @param im importer
      * @throws IOException 
      */
+    @Override
     public void read(JmeImporter im) throws IOException {
         InputCapsule ic = im.getCapsule(this);
         playState = ic.readEnum("playState", PlayState.class, PlayState.Stopped);
@@ -297,6 +312,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * @param app
      * @param cinematic 
      */
+    @Override
     public void initEvent(Application app, Cinematic cinematic) {
     }
 
@@ -331,6 +347,7 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
      * Fast-forward the event to the given timestamp. Time=0 is the start of the event.
      * @param time the time to fast forward to.
      */
+    @Override
     public void setTime(float time) {
         this.time = time ;
     }
@@ -338,10 +355,12 @@ public abstract class AbstractCinematicEvent implements CinematicEvent {
     /**
      * Return the current timestamp of the event. Time=0 is the start of the event.
      */
+    @Override
     public float getTime() {
         return time;
     }
 
+    @Override
     public void dispose() {    
     }
     

+ 5 - 1
jme3-core/src/main/java/com/jme3/cinematic/events/MotionEvent.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -159,6 +159,7 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
         this.loopMode = loopMode;
     }
 
+    @Override
     public void update(float tpf) {
         if (isControl) {
             internalUpdate(tpf);
@@ -200,6 +201,7 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
         onUpdate(0);
     }
 
+    @Override
     public void onUpdate(float tpf) {
         traveledDistance = path.interpolatePath(time, this, tpf);
         computeTargetDirection();
@@ -457,9 +459,11 @@ public class MotionEvent extends AbstractCinematicEvent implements Control, JmeC
         return playState != PlayState.Stopped;
     }
 
+    @Override
     public void render(RenderManager rm, ViewPort vp) {
     }
 
+    @Override
     public void setSpatial(Spatial spatial) {
         this.spatial = spatial;
     }

+ 3 - 1
jme3-core/src/main/java/com/jme3/collision/CollisionResult.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -97,6 +97,7 @@ public class CollisionResult implements Comparable<CollisionResult> {
         return store;
     }
 
+    @Override
     public int compareTo(CollisionResult other) {
         return Float.compare(distance, other.distance);
     }
@@ -134,6 +135,7 @@ public class CollisionResult implements Comparable<CollisionResult> {
         return triangleIndex;
     }
 
+    @Override
     public String toString() {
         return "CollisionResult[geometry=" + geometry
                                 + ", contactPoint=" + contactPoint

+ 2 - 1
jme3-core/src/main/java/com/jme3/collision/CollisionResults.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -61,6 +61,7 @@ public class CollisionResults implements Iterable<CollisionResult> {
      * 
      * @return the iterator
      */
+    @Override
     public Iterator<CollisionResult> iterator() {
         if (results == null) {
             List<CollisionResult> dumbCompiler = Collections.emptyList();            

+ 2 - 1
jme3-core/src/main/java/com/jme3/collision/SweepSphere.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -412,6 +412,7 @@ class SweepSphere implements Collidable {
         }
     }
 
+    @Override
     public int collideWith(Collidable other, CollisionResults results)
             throws UnsupportedCollisionException {
         if (other instanceof AbstractTriangle){

+ 3 - 1
jme3-core/src/main/java/com/jme3/collision/bih/BIHNode.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -111,6 +111,7 @@ public final class BIHNode implements Savable {
         this.rightPlane = rightPlane;
     }
 
+    @Override
     public void write(JmeExporter ex) throws IOException {
         OutputCapsule oc = ex.getCapsule(this);
         oc.write(leftIndex, "left_index", 0);
@@ -122,6 +123,7 @@ public final class BIHNode implements Savable {
         oc.write(right, "right_node", null);
     }
 
+    @Override
     public void read(JmeImporter im) throws IOException {
         InputCapsule ic = im.getCapsule(this);
         leftIndex = ic.readInt("left_index", 0);

+ 4 - 1
jme3-core/src/main/java/com/jme3/collision/bih/BIHTree.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -461,6 +461,7 @@ public class BIHTree implements CollisionData {
         return root.intersectWhere(bv, bbox, worldMatrix, this, results);
     }
 
+    @Override
     public int collideWith(Collidable other,
             Matrix4f worldMatrix,
             BoundingVolume worldBound,
@@ -477,6 +478,7 @@ public class BIHTree implements CollisionData {
         }
     }
 
+    @Override
     public void write(JmeExporter ex) throws IOException {
         OutputCapsule oc = ex.getCapsule(this);
         oc.write(mesh, "mesh", null);
@@ -486,6 +488,7 @@ public class BIHTree implements CollisionData {
         oc.write(triIndices, "indices", null);
     }
 
+    @Override
     public void read(JmeImporter im) throws IOException {
         InputCapsule ic = im.getCapsule(this);
         mesh = (Mesh) ic.readSavable("mesh", null);

+ 2 - 1
jme3-core/src/main/java/com/jme3/collision/bih/TriangleAxisComparator.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -42,6 +42,7 @@ public class TriangleAxisComparator implements Comparator<BIHTriangle> {
         this.axis = axis;
     }
 
+    @Override
     public int compare(BIHTriangle o1, BIHTriangle o2) {
         float v1, v2;
         Vector3f c1 = o1.getCenter();

+ 7 - 1
jme3-core/src/main/java/com/jme3/effect/ParticleEmitter.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2019 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -141,6 +141,7 @@ public class ParticleEmitter extends Geometry {
             this.parentEmitter = cloner.clone(parentEmitter);
         }
 
+        @Override
         public void setSpatial(Spatial spatial) {
         }
 
@@ -152,17 +153,21 @@ public class ParticleEmitter extends Geometry {
             return parentEmitter.isEnabled();
         }
 
+        @Override
         public void update(float tpf) {
             parentEmitter.updateFromControl(tpf);
         }
 
+        @Override
         public void render(RenderManager rm, ViewPort vp) {
             parentEmitter.renderFromControl(rm, vp);
         }
 
+        @Override
         public void write(JmeExporter ex) throws IOException {
         }
 
+        @Override
         public void read(JmeImporter im) throws IOException {
         }
     }
@@ -180,6 +185,7 @@ public class ParticleEmitter extends Geometry {
     /**
      *  The old clone() method that did not use the new Cloner utility.
      */
+    @Override
     public ParticleEmitter oldClone(boolean cloneMaterial) {
         ParticleEmitter clone = (ParticleEmitter) super.clone(cloneMaterial);
         clone.shape = shape.deepClone();

+ 3 - 1
jme3-core/src/main/java/com/jme3/export/NullSavable.java

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2012 jMonkeyEngine
+ * Copyright (c) 2009-2020 jMonkeyEngine
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,8 +41,10 @@ import java.io.IOException;
  * @author Kirill Vainer
  */
 public class NullSavable implements Savable {
+    @Override
     public void write(JmeExporter ex) throws IOException {
     }
+    @Override
     public void read(JmeImporter im) throws IOException {
     }
 }

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно