├── .gitignore ├── LICENSE ├── README.md ├── app.version ├── bitbucket-pipelines.yml ├── build-native.xml ├── build.gradle ├── download.app.path ├── embedded-plugins ├── jmb-font-generator │ └── jmb-font-generator-1.1.1.jar ├── jmb-shader-nodes │ └── jmb-shader-nodes-1.1.1.jar ├── jmb-sky-control │ ├── jmb-sky-control-1.2.1.jar │ └── libs │ │ ├── SkyControl-0.9.12.jar │ │ └── jme3-utilities-heart-2.4.0.jar ├── jmb-tonegod-emitter │ ├── jmb-tonegod-emitter-1.1.2.jar │ └── libs │ │ └── emitter-3.0.2.jar └── jmb-tree-generator │ ├── jmb-tree-generator-1.2.2.jar │ └── libs │ ├── SimArboreal-1.3.0-assets.jar │ ├── SimArboreal-1.3.0.jar │ └── slf4j-api-1.7.13.jar ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── libraries-licenses ├── LICENSE ├── dyncall_license.txt ├── glfw_license.txt ├── jemalloc_license.txt ├── khronos_license.txt └── openal_soft_license.txt ├── libs ├── common-image-3.3.2.jar ├── common-io-3.3.2.jar ├── common-lang-3.3.2.jar ├── commons-lang3-3.4-javadoc.jar ├── commons-lang3-3.4.jar ├── extensions │ ├── annotations-15.0.jar │ ├── groovy-all-2.5.0-alpha-1.jar │ ├── jme3-spaceshift-extension-1.0.1-sources.jar │ ├── jme3-spaceshift-extension-1.0.1.jar │ ├── rlib-6.1.2-sources.jar │ ├── rlib-6.1.2.jar │ ├── simsilica │ │ ├── iso-surface-sources.1.0.0.jar │ │ ├── iso-surface.1.0.0.jar │ │ ├── lemur-1.9.1-sources.jar │ │ ├── lemur-1.9.1.jar │ │ ├── sim-fx-1.0.4-sources.jar │ │ └── sim-fx-1.0.4.jar │ ├── toneg0d │ │ ├── toneg0d.emitter-2.2.3-sources.jar │ │ └── toneg0d.emitter-2.2.3.jar │ └── xbuf │ │ ├── guava-18.0.jar │ │ ├── jme3_physicsloader-0.5.jar │ │ ├── jme3_xbuf_loader-0.9.1.jar │ │ ├── jme3_xbuf_rt-0.9.1.jar │ │ ├── protobuf-java-3.0.0.jar │ │ ├── protobuf-java-util-3.0.0.jar │ │ ├── slf4j-api-1.7.25.jar │ │ ├── slf4j-simple-1.7.25.jar │ │ └── xbuf-0.9.1.jar ├── gson-2.6.2.jar ├── http │ ├── commons-codec-1.9.jar │ ├── commons-logging-1.2.jar │ ├── httpclient-4.5.2.jar │ └── httpcore-4.4.4.jar ├── imageio-batik-3.3.2.jar ├── imageio-core-3.3.2.jar ├── imageio-hdr-3.3.2.jar ├── imageio-metadata-3.3.2.jar ├── imageio-tiff-3.3.2.jar ├── jME │ ├── core-0.27.jar │ ├── dense64-0.27.jar │ ├── denseC64-0.27.jar │ ├── eventbus-1.4.jar │ ├── j-ogg-all-1.0.0.jar │ ├── jbullet.jar │ ├── jglfont-core-1.4.jar │ ├── jinput-2.0.5.jar │ ├── jinput-platform-2.0.5-natives-linux.jar │ ├── jinput-platform-2.0.5-natives-osx.jar │ ├── jinput-platform-2.0.5-natives-windows.jar │ ├── jme3-blender-3.2.0-sources.jar │ ├── jme3-blender-3.2.0.jar │ ├── jme3-bullet-3.2.0-sources.jar │ ├── jme3-bullet-3.2.0.jar │ ├── jme3-bullet-native-3.2.0-sources.jar │ ├── jme3-bullet-native-3.2.0.jar │ ├── jme3-core-3.2.0-sources.jar │ ├── jme3-core-3.2.0.jar │ ├── jme3-desktop-3.2.0-sources.jar │ ├── jme3-desktop-3.2.0.jar │ ├── jme3-effects-3.2.0-sources.jar │ ├── jme3-effects-3.2.0.jar │ ├── jme3-jogg-3.2.0-sources.jar │ ├── jme3-jogg-3.2.0.jar │ ├── jme3-lwjgl3-3.2.0-sources.jar │ ├── jme3-lwjgl3-3.2.0.jar │ ├── jme3-plugins-3.2.0-sources.jar │ ├── jme3-plugins-3.2.0.jar │ ├── jme3-terrain-3.2.0-sources.jar │ ├── jme3-terrain-3.2.0.jar │ ├── jsr305-2.0.2.jar │ ├── jutils-1.0.0.jar │ ├── lwjgl-glfw-natives-linux.jar │ ├── lwjgl-glfw-natives-macos.jar │ ├── lwjgl-glfw-natives-windows.jar │ ├── lwjgl-glfw-sources.jar │ ├── lwjgl-glfw.jar │ ├── lwjgl-jemalloc-natives-linux.jar │ ├── lwjgl-jemalloc-natives-macos.jar │ ├── lwjgl-jemalloc-natives-windows.jar │ ├── lwjgl-jemalloc-sources.jar │ ├── lwjgl-jemalloc.jar │ ├── lwjgl-natives-linux.jar │ ├── lwjgl-natives-macos.jar │ ├── lwjgl-natives-windows.jar │ ├── lwjgl-openal-natives-linux.jar │ ├── lwjgl-openal-natives-macos.jar │ ├── lwjgl-openal-natives-windows.jar │ ├── lwjgl-openal-sources.jar │ ├── lwjgl-openal.jar │ ├── lwjgl-opencl-sources.jar │ ├── lwjgl-opencl.jar │ ├── lwjgl-opengl-natives-linux.jar │ ├── lwjgl-opengl-natives-macos.jar │ ├── lwjgl-opengl-natives-windows.jar │ ├── lwjgl-opengl-sources.jar │ ├── lwjgl-opengl.jar │ ├── lwjgl-sources.jar │ ├── lwjgl-stb-natives-linux.jar │ ├── lwjgl-stb-natives-macos.jar │ ├── lwjgl-stb-natives-windows.jar │ ├── lwjgl-stb-sources.jar │ ├── lwjgl-stb.jar │ ├── lwjgl.jar │ ├── retrace.jar │ ├── simple-0.27.jar │ ├── stack-alloc.jar │ ├── vecmath-1.3.1.jar │ └── xpp3-1.1.4c.jar ├── jme-jfx-1.5.2-sources.jar ├── jme-jfx-1.5.2.jar ├── richtextfx-0.7-M5-sources.jar ├── richtextfx-fat-0.7-M5.jar ├── rlib-fx-4.1.2-sources.jar ├── rlib-fx-4.1.2.jar └── svg │ ├── avalon-framework-4.1.3.jar │ ├── batik-anim-1.8-sources.jar │ ├── batik-anim-1.8.jar │ ├── batik-awt-util-1.8-sources.jar │ ├── batik-awt-util-1.8.jar │ ├── batik-bridge-1.8-sources.jar │ ├── batik-bridge-1.8.jar │ ├── batik-css-1.8-sources.jar │ ├── batik-css-1.8.jar │ ├── batik-dom-1.8-sources.jar │ ├── batik-dom-1.8.jar │ ├── batik-ext-1.8-sources.jar │ ├── batik-ext-1.8.jar │ ├── batik-gvt-1.8-sources.jar │ ├── batik-gvt-1.8.jar │ ├── batik-parser-1.8-sources.jar │ ├── batik-parser-1.8.jar │ ├── batik-script-1.8-sources.jar │ ├── batik-script-1.8.jar │ ├── batik-svg-dom-1.8-sources.jar │ ├── batik-svg-dom-1.8.jar │ ├── batik-svggen-1.8-sources.jar │ ├── batik-svggen-1.8.jar │ ├── batik-transcoder-1.8-sources.jar │ ├── batik-transcoder-1.8.jar │ ├── batik-util-1.8-sources.jar │ ├── batik-util-1.8.jar │ ├── batik-xml-1.8-sources.jar │ ├── batik-xml-1.8.jar │ ├── commons-io-1.3.1-sources.jar │ ├── commons-io-1.3.1.jar │ ├── commons-logging-1.0.4-sources.jar │ ├── commons-logging-1.0.4.jar │ ├── javafxsvg-1.2.1-sources.jar │ ├── javafxsvg-1.2.1.jar │ ├── log4j-1.2.6.jar │ ├── logkit-1.0.1-sources.jar │ ├── logkit-1.0.1.jar │ ├── xalan-2.7.0-sources.jar │ ├── xalan-2.7.0.jar │ ├── xml-apis-1.3.04-source.jar │ ├── xml-apis-1.3.04.jar │ ├── xml-apis-ext-1.3.04.jar │ ├── xmlgraphics-commons-2.1-sources.jar │ └── xmlgraphics-commons-2.1.jar ├── native-files └── package │ ├── linux │ ├── control │ ├── jMonkeyBuilder.desktop │ └── jMonkeyBuilder.png │ ├── macosx │ └── jMonkeyBuilder.icns │ └── windows │ ├── jMonkeyBuilder.ico │ └── jMonkeyBuilder.wxs ├── settings.gradle └── src ├── main ├── java │ └── com │ │ ├── jme3 │ │ ├── bullet │ │ │ └── util │ │ │ │ └── DebugShapeFactory.java │ │ ├── scene │ │ │ └── Spatial.java │ │ ├── terrain │ │ │ └── FlatHeightmap.java │ │ └── texture │ │ │ └── Image.java │ │ └── ss │ │ └── editor │ │ ├── DevelopPluginStarter.java │ │ ├── EditorThread.java │ │ ├── FileExtensions.java │ │ ├── JfxApplication.java │ │ ├── JmeApplication.java │ │ ├── Messages.java │ │ ├── analytics │ │ └── google │ │ │ ├── GAEvent.java │ │ │ ├── GAnalytics.java │ │ │ └── HitType.java │ │ ├── annotation │ │ ├── BackgroundThread.java │ │ ├── FromAnyThread.java │ │ ├── FxThread.java │ │ └── JmeThread.java │ │ ├── asset │ │ └── locator │ │ │ ├── FileSystemAssetLocator.java │ │ │ └── FolderAssetLocator.java │ │ ├── config │ │ ├── CommandLineConfig.java │ │ ├── Config.java │ │ ├── DefaultSettingsProvider.java │ │ └── EditorConfig.java │ │ ├── control │ │ ├── brush │ │ │ ├── BrushControl.java │ │ │ └── editor │ │ │ │ └── scene │ │ │ │ ├── SceneEditorBrushControl.java │ │ │ │ └── impl │ │ │ │ └── AbstractSceneEditorBrushControl.java │ │ ├── painting │ │ │ ├── PaintingControl.java │ │ │ ├── PaintingInput.java │ │ │ ├── impl │ │ │ │ └── AbstractPaintingControl.java │ │ │ ├── spawn │ │ │ │ └── SpawnToolControl.java │ │ │ └── terrain │ │ │ │ ├── ChangeHeightTerrainToolControl.java │ │ │ │ ├── LevelTerrainToolControl.java │ │ │ │ ├── PaintTerrainToolControl.java │ │ │ │ ├── RaiseLowerTerrainToolControl.java │ │ │ │ ├── RoughTerrainToolControl.java │ │ │ │ ├── SlopeTerrainToolControl.java │ │ │ │ ├── SmoothTerrainToolControl.java │ │ │ │ └── TerrainToolControl.java │ │ └── transform │ │ │ ├── AbstractTransformControl.java │ │ │ ├── EditorTransformSupport.java │ │ │ ├── MoveToolControl.java │ │ │ ├── RotationToolControl.java │ │ │ ├── ScaleToolControl.java │ │ │ ├── TransformConstraint.java │ │ │ └── TransformControl.java │ │ ├── document │ │ └── DocumentConfig.java │ │ ├── executor │ │ ├── EditorTaskExecutor.java │ │ └── impl │ │ │ ├── AbstractEditorTaskExecutor.java │ │ │ ├── BackgroundEditorTaskExecutor.java │ │ │ ├── FxEditorTaskExecutor.java │ │ │ └── JmeThreadExecutor.java │ │ ├── file │ │ ├── converter │ │ │ ├── FileConverter.java │ │ │ ├── FileConverterDescription.java │ │ │ ├── FileConverterRegistry.java │ │ │ └── impl │ │ │ │ ├── AbstractFileConverter.java │ │ │ │ ├── AbstractModelFileConverter.java │ │ │ │ ├── BlendToJ3oFileConverter.java │ │ │ │ ├── FbxToJ3oFileConverter.java │ │ │ │ ├── GltfToJ3oFileConverter.java │ │ │ │ ├── MeshXmlToJ3oFileConverter.java │ │ │ │ ├── ObjToJ3oFileConverter.java │ │ │ │ ├── SceneToJ3oFileConverter.java │ │ │ │ └── XbufToJ3oFileConverter.java │ │ ├── delete │ │ │ └── handler │ │ │ │ ├── FileDeleteHandler.java │ │ │ │ ├── FileDeleteHandlerFactory.java │ │ │ │ └── impl │ │ │ │ ├── AbstractFileDeleteHandler.java │ │ │ │ └── DeleteMaterialsModelFileDeleteHandler.java │ │ └── reader │ │ │ ├── DdsReader.java │ │ │ └── TgaReader.java │ │ ├── filter │ │ └── EditorFxaaFilter.java │ │ ├── manager │ │ ├── ClasspathManager.java │ │ ├── ExecutorManager.java │ │ ├── FileIconManager.java │ │ ├── InitializationManager.java │ │ ├── JavaFxImageManager.java │ │ ├── JmeFilePreviewManager.java │ │ ├── PluginManager.java │ │ ├── RemoteControlManager.java │ │ ├── ResourceManager.java │ │ └── WorkspaceManager.java │ │ ├── model │ │ ├── EditorCamera.java │ │ ├── UObject.java │ │ ├── editor │ │ │ ├── Editing3DProvider.java │ │ │ ├── Editor3DProvider.java │ │ │ ├── ModelEditingProvider.java │ │ │ └── Painting3DProvider.java │ │ ├── node │ │ │ ├── layer │ │ │ │ └── LayersRoot.java │ │ │ └── material │ │ │ │ ├── ColorsSettings.java │ │ │ │ ├── MaterialSettings.java │ │ │ │ ├── OtherSettings.java │ │ │ │ ├── RenderSettings.java │ │ │ │ ├── RootMaterialSettings.java │ │ │ │ └── TexturesSettings.java │ │ ├── scene │ │ │ ├── EditorAudioNode.java │ │ │ ├── EditorLightNode.java │ │ │ ├── EditorPresentableNode.java │ │ │ ├── NoSelection.java │ │ │ ├── SceneAppStatesNode.java │ │ │ ├── SceneFiltersNode.java │ │ │ ├── VisibleOnlyWhenSelected.java │ │ │ └── WrapperNode.java │ │ ├── undo │ │ │ ├── EditorOperation.java │ │ │ ├── EditorOperationControl.java │ │ │ ├── UndoableEditor.java │ │ │ ├── editor │ │ │ │ ├── ChangeConsumer.java │ │ │ │ ├── ModelChangeConsumer.java │ │ │ │ └── SceneChangeConsumer.java │ │ │ └── impl │ │ │ │ ├── AbstractEditorOperation.java │ │ │ │ ├── AddAppStateOperation.java │ │ │ │ ├── AddChildOperation.java │ │ │ │ ├── AddControlOperation.java │ │ │ │ ├── AddLightOperation.java │ │ │ │ ├── AddSceneFilterOperation.java │ │ │ │ ├── AddVehicleWheelOperation.java │ │ │ │ ├── ChangeCollisionShapeOperation.java │ │ │ │ ├── ChangeControlsOperation.java │ │ │ │ ├── ChangeMeshOperation.java │ │ │ │ ├── DisableAppStateOperation.java │ │ │ │ ├── DisableControlsOperation.java │ │ │ │ ├── DisableSceneFilterOperation.java │ │ │ │ ├── EnableAppStateOperation.java │ │ │ │ ├── EnableControlsOperation.java │ │ │ │ ├── EnableSceneFilterOperation.java │ │ │ │ ├── MoveChildOperation.java │ │ │ │ ├── MoveControlOperation.java │ │ │ │ ├── OptimizeGeometryOperation.java │ │ │ │ ├── RemoveAppStateOperation.java │ │ │ │ ├── RemoveChildOperation.java │ │ │ │ ├── RemoveControlOperation.java │ │ │ │ ├── RemoveElementsOperation.java │ │ │ │ ├── RemoveLightOperation.java │ │ │ │ ├── RemoveSceneFilterOperation.java │ │ │ │ ├── RemoveVehicleWheelOperation.java │ │ │ │ ├── RenameLightOperation.java │ │ │ │ ├── RenameNodeOperation.java │ │ │ │ ├── animation │ │ │ │ ├── AddAnimationNodeOperation.java │ │ │ │ ├── RemoveAnimationNodeOperation.java │ │ │ │ └── RenameAnimationNodeOperation.java │ │ │ │ ├── emitter │ │ │ │ ├── ChangeEmitterShapeOperation.java │ │ │ │ └── ChangeParticleInfluencerOperation.java │ │ │ │ └── scene │ │ │ │ ├── AddSceneLayerOperation.java │ │ │ │ ├── ChangeVisibleSceneLayerOperation.java │ │ │ │ └── RemoveSceneLayerOperation.java │ │ └── workspace │ │ │ └── Workspace.java │ │ ├── part3d │ │ └── editor │ │ │ ├── Editor3DPart.java │ │ │ └── impl │ │ │ ├── AbstractEditor3DPart.java │ │ │ ├── AdvancedAbstractEditor3DPart.java │ │ │ ├── Stats3DPart.java │ │ │ ├── audio │ │ │ └── AudioViewer3DPart.java │ │ │ ├── material │ │ │ └── MaterialEditor3DPart.java │ │ │ ├── model │ │ │ ├── ModelEditor3DPart.java │ │ │ └── ModelEditorBulletPart.java │ │ │ └── scene │ │ │ ├── AbstractSceneEditor3DPart.java │ │ │ ├── SceneEditor3DPart.java │ │ │ └── handler │ │ │ ├── ApplyScaleToPhysicsControlsHandler.java │ │ │ ├── DisableControlsTransformationHandler.java │ │ │ ├── PhysicsControlTransformationHandler.java │ │ │ └── ReactivatePhysicsControlsTransformationHandler.java │ │ ├── plugin │ │ ├── EditorPlugin.java │ │ └── api │ │ │ ├── RenderFilterExtension.java │ │ │ ├── dialog │ │ │ └── GenericFactoryDialog.java │ │ │ ├── editor │ │ │ ├── Advanced3DFileEditor.java │ │ │ ├── Advanced3DFileEditorWithRightTool.java │ │ │ ├── Advanced3DFileEditorWithSplitRightTool.java │ │ │ ├── Base3DFileEditor.java │ │ │ ├── BaseFileEditor.java │ │ │ ├── BaseFileEditorWithRightTool.java │ │ │ ├── BaseFileEditorWithSplitRightTool.java │ │ │ ├── BaseFileEditorWithoutState.java │ │ │ ├── material │ │ │ │ ├── BaseMaterialEditor3DPart.java │ │ │ │ └── BaseMaterialFileEditor.java │ │ │ └── part3d │ │ │ │ ├── Advanced3DEditorPart.java │ │ │ │ ├── AdvancedPbr3DEditorPart.java │ │ │ │ ├── AdvancedPbrWithStudioSky3DEditorPart.java │ │ │ │ └── Base3DEditorPart.java │ │ │ ├── file │ │ │ └── creator │ │ │ │ └── GenericFileCreator.java │ │ │ ├── messages │ │ │ └── MessagesPluginFactory.java │ │ │ ├── property │ │ │ ├── PropertyDefinition.java │ │ │ └── control │ │ │ │ ├── AssetResourcePropertyEditorControl.java │ │ │ │ ├── AwtFontPropertyEditorControl.java │ │ │ │ ├── BooleanPropertyEditorControl.java │ │ │ │ ├── ClasspathResourcePropertyControl.java │ │ │ │ ├── ColorPropertyEditorControl.java │ │ │ │ ├── ComboBoxPropertyEditorControl.java │ │ │ │ ├── EnumPropertyEditorControl.java │ │ │ │ ├── ExternalFileResourcePropertyControl.java │ │ │ │ ├── FileAssetResourcePropertyControl.java │ │ │ │ ├── FloatPropertyEditorControl.java │ │ │ │ ├── FolderAssetResourcePropertyControl.java │ │ │ │ ├── GeometryAssetResourcePropertyControl.java │ │ │ │ ├── IntegerPropertyEditorControl.java │ │ │ │ ├── ObjectFromListPropertyEditorControl.java │ │ │ │ ├── PropertyEditorControl.java │ │ │ │ ├── PropertyEditorControlFactory.java │ │ │ │ ├── ResourcePropertyEditorControl.java │ │ │ │ ├── SpatialAssetResourcePropertyControl.java │ │ │ │ ├── StringFromListPropertyEditorControl.java │ │ │ │ ├── StringPropertyEditorControl.java │ │ │ │ ├── TypedTextFieldPropertyEditorControl.java │ │ │ │ └── Vector3fPropertyEditorControl.java │ │ │ └── settings │ │ │ ├── SettingsCategory.java │ │ │ ├── SettingsPropertyDefinition.java │ │ │ ├── SettingsProvider.java │ │ │ └── SettingsProviderRegistry.java │ │ ├── remote │ │ └── control │ │ │ └── client │ │ │ ├── ClientCommand.java │ │ │ ├── InitLocalClasspathClientCommand.java │ │ │ ├── LoadLocalClassesClientCommand.java │ │ │ ├── LoadLocalLibrariesClientCommand.java │ │ │ └── OpenFileClientCommand.java │ │ ├── task │ │ └── CheckNewVersionTask.java │ │ ├── ui │ │ ├── FxConstants.java │ │ ├── Icons.java │ │ ├── builder │ │ │ └── EditorFxSceneBuilder.java │ │ ├── component │ │ │ ├── ScreenComponent.java │ │ │ ├── asset │ │ │ │ ├── AssetBarComponent.java │ │ │ │ ├── AssetComponent.java │ │ │ │ └── tree │ │ │ │ │ ├── AssetTreeContextMenuFillerRegistry.java │ │ │ │ │ ├── ResourceTree.java │ │ │ │ │ ├── ResourceTreeCell.java │ │ │ │ │ ├── context │ │ │ │ │ └── menu │ │ │ │ │ │ ├── action │ │ │ │ │ │ ├── ConvertFileAction.java │ │ │ │ │ │ ├── ConvertFileByConverterAction.java │ │ │ │ │ │ ├── CopyFileAction.java │ │ │ │ │ │ ├── CutFileAction.java │ │ │ │ │ │ ├── DeleteFileAction.java │ │ │ │ │ │ ├── FileAction.java │ │ │ │ │ │ ├── ImportModelFileAction.java │ │ │ │ │ │ ├── NewFileAction.java │ │ │ │ │ │ ├── NewFileByCreatorAction.java │ │ │ │ │ │ ├── OpenFileAction.java │ │ │ │ │ │ ├── OpenFileByEditorAction.java │ │ │ │ │ │ ├── OpenFileByExternalEditorAction.java │ │ │ │ │ │ ├── OpenFileInExplorerAction.java │ │ │ │ │ │ ├── OpenWithFileAction.java │ │ │ │ │ │ ├── PasteFileAction.java │ │ │ │ │ │ └── RenameFileAction.java │ │ │ │ │ │ └── filler │ │ │ │ │ │ ├── AssetTreeMultiContextMenuFiller.java │ │ │ │ │ │ ├── AssetTreeSingleContextMenuFiller.java │ │ │ │ │ │ └── impl │ │ │ │ │ │ ├── FileAssetTreeSingleContextMenuFiller.java │ │ │ │ │ │ └── ResourceAssetTreeSingleContextMenuFiller.java │ │ │ │ │ └── resource │ │ │ │ │ ├── FileResourceElement.java │ │ │ │ │ ├── FolderResourceElement.java │ │ │ │ │ ├── FoldersResourceElement.java │ │ │ │ │ ├── ImageResourceElement.java │ │ │ │ │ ├── LoadingResourceElement.java │ │ │ │ │ ├── ResourceElement.java │ │ │ │ │ └── ResourceElementFactory.java │ │ │ ├── bar │ │ │ │ ├── EditorMenuBarComponent.java │ │ │ │ └── action │ │ │ │ │ ├── AboutAction.java │ │ │ │ │ ├── ClearAssetCacheAction.java │ │ │ │ │ ├── ExitAction.java │ │ │ │ │ ├── OpenAssetAction.java │ │ │ │ │ ├── OpenPluginsAction.java │ │ │ │ │ ├── OpenSettingsAction.java │ │ │ │ │ ├── ReopenAssetAction.java │ │ │ │ │ ├── ReopenAssetMenu.java │ │ │ │ │ └── UpdateClasspathAndAssetCacheAction.java │ │ │ ├── creator │ │ │ │ ├── FileCreator.java │ │ │ │ ├── FileCreatorDescription.java │ │ │ │ ├── FileCreatorRegistry.java │ │ │ │ └── impl │ │ │ │ │ ├── AbstractFileCreator.java │ │ │ │ │ ├── EmptyFileCreator.java │ │ │ │ │ ├── EmptyModelCreator.java │ │ │ │ │ ├── EmptySceneCreator.java │ │ │ │ │ ├── FolderCreator.java │ │ │ │ │ ├── material │ │ │ │ │ ├── MaterialFileCreator.java │ │ │ │ │ └── definition │ │ │ │ │ │ └── MaterialDefinitionFileCreator.java │ │ │ │ │ └── texture │ │ │ │ │ └── SingleColorTextureFileCreator.java │ │ │ ├── editor │ │ │ │ ├── EditorDescription.java │ │ │ │ ├── EditorRegistry.java │ │ │ │ ├── FileEditor.java │ │ │ │ ├── FileEditorUtils.java │ │ │ │ ├── area │ │ │ │ │ └── EditorAreaComponent.java │ │ │ │ ├── impl │ │ │ │ │ ├── AbstractFileEditor.java │ │ │ │ │ ├── AudioViewerEditor.java │ │ │ │ │ ├── CodeAreaFileEditor.java │ │ │ │ │ ├── GLSLFileEditor.java │ │ │ │ │ ├── ImageViewerEditor.java │ │ │ │ │ ├── MaterialDefinitionFileEditor.java │ │ │ │ │ ├── TextFileEditor.java │ │ │ │ │ ├── material │ │ │ │ │ │ └── MaterialFileEditor.java │ │ │ │ │ ├── model │ │ │ │ │ │ └── ModelFileEditor.java │ │ │ │ │ └── scene │ │ │ │ │ │ ├── AbstractSceneFileEditor.java │ │ │ │ │ │ └── SceneFileEditor.java │ │ │ │ ├── scripting │ │ │ │ │ └── EditorScriptingComponent.java │ │ │ │ └── state │ │ │ │ │ ├── EditorState.java │ │ │ │ │ ├── EditorToolConfig.java │ │ │ │ │ └── impl │ │ │ │ │ ├── AbstractEditorState.java │ │ │ │ │ ├── AdditionalEditorState.java │ │ │ │ │ ├── BaseEditorSceneEditorState.java │ │ │ │ │ ├── Editor3DEditorState.java │ │ │ │ │ ├── Editor3DWithEditorToolEditorState.java │ │ │ │ │ ├── EditorMaterialEditorState.java │ │ │ │ │ ├── EditorModelEditorState.java │ │ │ │ │ ├── EditorSceneEditorState.java │ │ │ │ │ ├── EditorWithEditorToolEditorState.java │ │ │ │ │ └── VoidEditorState.java │ │ │ ├── log │ │ │ │ ├── LogView.java │ │ │ │ └── OutputStreamWrapper.java │ │ │ ├── painting │ │ │ │ ├── PaintingComponent.java │ │ │ │ ├── PaintingComponentContainer.java │ │ │ │ ├── PaintingComponentListCell.java │ │ │ │ ├── PaintingComponentRegistry.java │ │ │ │ ├── impl │ │ │ │ │ ├── AbstractPaintingComponent.java │ │ │ │ │ ├── AbstractPaintingStateWithEditorTool.java │ │ │ │ │ └── PaintingBrushType.java │ │ │ │ ├── property │ │ │ │ │ ├── PaintingPropertyDefinition.java │ │ │ │ │ └── PropertiesBasedPaintingComponent.java │ │ │ │ ├── spawn │ │ │ │ │ ├── SpawnPaintingComponent.java │ │ │ │ │ └── SpawnPaintingStateWithEditorTool.java │ │ │ │ └── terrain │ │ │ │ │ ├── TerrainPaintingComponent.java │ │ │ │ │ ├── TerrainPaintingStateWithEditorTool.java │ │ │ │ │ └── paint │ │ │ │ │ ├── TextureLayer.java │ │ │ │ │ ├── TextureLayerCell.java │ │ │ │ │ └── TextureLayerSettings.java │ │ │ ├── scripting │ │ │ │ └── GroovyEditorComponent.java │ │ │ ├── split │ │ │ │ └── pane │ │ │ │ │ ├── EditorToolSplitPane.java │ │ │ │ │ ├── GlobalBottomToolSplitPane.java │ │ │ │ │ ├── GlobalLeftToolSplitPane.java │ │ │ │ │ └── TabToolSplitPane.java │ │ │ ├── tab │ │ │ │ ├── EditorToolComponent.java │ │ │ │ ├── GlobalBottomToolComponent.java │ │ │ │ ├── GlobalLeftToolComponent.java │ │ │ │ ├── ScrollableEditorToolComponent.java │ │ │ │ └── TabToolComponent.java │ │ │ └── virtual │ │ │ │ └── tree │ │ │ │ ├── VirtualResourceTree.java │ │ │ │ ├── VirtualResourceTreeCell.java │ │ │ │ └── resource │ │ │ │ ├── FolderVirtualResourceElement.java │ │ │ │ ├── ObjectVirtualResourceElement.java │ │ │ │ ├── RootVirtualResourceElement.java │ │ │ │ ├── VirtualResourceElement.java │ │ │ │ └── VirtualResourceElementFactory.java │ │ ├── control │ │ │ ├── UpdatableControl.java │ │ │ ├── app │ │ │ │ └── state │ │ │ │ │ └── list │ │ │ │ │ ├── AppStateList.java │ │ │ │ │ └── AppStateListCell.java │ │ │ ├── choose │ │ │ │ ├── ChooseFolderControl.java │ │ │ │ ├── ChooseTextureControl.java │ │ │ │ └── NamedChooseTextureControl.java │ │ │ ├── code │ │ │ │ ├── BaseCodeArea.java │ │ │ │ ├── GLSLCodeArea.java │ │ │ │ └── MaterialDefinitionCodeArea.java │ │ │ ├── filter │ │ │ │ └── list │ │ │ │ │ ├── FilterList.java │ │ │ │ │ └── FilterListCell.java │ │ │ ├── layer │ │ │ │ ├── LayerNodeTree.java │ │ │ │ └── LayerNodeTreeCell.java │ │ │ ├── list │ │ │ │ └── AbstractListCell.java │ │ │ ├── model │ │ │ │ ├── ModelNodeTree.java │ │ │ │ └── ModelPropertyEditor.java │ │ │ ├── property │ │ │ │ ├── PropertyControl.java │ │ │ │ ├── PropertyEditor.java │ │ │ │ ├── builder │ │ │ │ │ ├── PropertyBuilder.java │ │ │ │ │ ├── PropertyBuilderFilter.java │ │ │ │ │ ├── PropertyBuilderRegistry.java │ │ │ │ │ └── impl │ │ │ │ │ │ ├── AbstractPropertyBuilder.java │ │ │ │ │ │ ├── AudioNodePropertyBuilder.java │ │ │ │ │ │ ├── CollisionShapePropertyBuilder.java │ │ │ │ │ │ ├── DefaultControlPropertyBuilder.java │ │ │ │ │ │ ├── EditableControlPropertyBuilder.java │ │ │ │ │ │ ├── EditableModelObjectPropertyBuilder.java │ │ │ │ │ │ ├── EditableObjectPropertyBuilder.java │ │ │ │ │ │ ├── EmitterShapePropertyBuilder.java │ │ │ │ │ │ ├── GeometryPropertyBuilder.java │ │ │ │ │ │ ├── LightPropertyBuilder.java │ │ │ │ │ │ ├── MaterialPropertyBuilder.java │ │ │ │ │ │ ├── MaterialSettingsPropertyBuilder.java │ │ │ │ │ │ ├── MeshPropertyBuilder.java │ │ │ │ │ │ ├── ParticleEmitterPropertyBuilder.java │ │ │ │ │ │ ├── ParticleInfluencerPropertyBuilder.java │ │ │ │ │ │ ├── PrimitivePropertyBuilder.java │ │ │ │ │ │ ├── SceneAppStatePropertyBuilder.java │ │ │ │ │ │ ├── SceneFilterPropertyBuilder.java │ │ │ │ │ │ └── SpatialPropertyBuilder.java │ │ │ │ ├── impl │ │ │ │ │ ├── AudioKeyPropertyControl.java │ │ │ │ │ ├── BooleanPropertyControl.java │ │ │ │ │ ├── ColorPropertyControl.java │ │ │ │ │ ├── DefaultPropertyControl.java │ │ │ │ │ ├── DefaultSinglePropertyControl.java │ │ │ │ │ ├── DirectionLightPropertyControl.java │ │ │ │ │ ├── ElementModelPropertyControl.java │ │ │ │ │ ├── ElementPropertyControl.java │ │ │ │ │ ├── EnumPropertyControl.java │ │ │ │ │ ├── FilterElementModelPropertyControl.java │ │ │ │ │ ├── FloatArrayPropertyControl.java │ │ │ │ │ ├── FloatPropertyControl.java │ │ │ │ │ ├── IntArrayPropertyControl.java │ │ │ │ │ ├── IntegerPropertyControl.java │ │ │ │ │ ├── LayerModelPropertyControl.java │ │ │ │ │ ├── LightElementModelPropertyControl.java │ │ │ │ │ ├── LodLevelPropertyControl.java │ │ │ │ │ ├── MaterialKeyPropertyControl.java │ │ │ │ │ ├── MaterialPropertyControl.java │ │ │ │ │ ├── MinMaxPropertyControl.java │ │ │ │ │ ├── QuaternionPropertyControl.java │ │ │ │ │ ├── SceneElementPropertyControl.java │ │ │ │ │ ├── SpatialElementModelPropertyControl.java │ │ │ │ │ ├── StringBasedArrayPropertyControl.java │ │ │ │ │ ├── StringPropertyControl.java │ │ │ │ │ ├── Texture2dPropertyControl.java │ │ │ │ │ ├── Texture2dSingleRowPropertyControl.java │ │ │ │ │ ├── Vector2fPropertyControl.java │ │ │ │ │ ├── Vector3fPropertyControl.java │ │ │ │ │ ├── Vector3fSingleRowPropertyControl.java │ │ │ │ │ ├── WheelElementModelPropertyControl.java │ │ │ │ │ └── particle │ │ │ │ │ │ └── ParticleEmitterImagesModelPropertyControl.java │ │ │ │ └── operation │ │ │ │ │ ├── PropertyCountOperation.java │ │ │ │ │ └── PropertyOperation.java │ │ │ ├── scene │ │ │ │ └── SceneNodeTree.java │ │ │ └── tree │ │ │ │ ├── NodeTree.java │ │ │ │ ├── NodeTreeCell.java │ │ │ │ ├── action │ │ │ │ ├── AbstractNodeAction.java │ │ │ │ └── impl │ │ │ │ │ ├── AddUserDataAction.java │ │ │ │ │ ├── CopyNodeAction.java │ │ │ │ │ ├── CreateEditableSkyAction.java │ │ │ │ │ ├── CreateNodeAction.java │ │ │ │ │ ├── CreateSkyAction.java │ │ │ │ │ ├── DisableAllControlsAction.java │ │ │ │ │ ├── EnableAllControlsAction.java │ │ │ │ │ ├── LinkModelAction.java │ │ │ │ │ ├── LoadModelAction.java │ │ │ │ │ ├── MakeAsEmbeddedMaterialAction.java │ │ │ │ │ ├── OptimizeGeometryAction.java │ │ │ │ │ ├── PasteNodeAction.java │ │ │ │ │ ├── RemoveControlAction.java │ │ │ │ │ ├── RemoveLightAction.java │ │ │ │ │ ├── RemoveNodeAction.java │ │ │ │ │ ├── RenameNodeAction.java │ │ │ │ │ ├── SaveAsMaterialAction.java │ │ │ │ │ ├── TangentGeneratorAction.java │ │ │ │ │ ├── animation │ │ │ │ │ ├── ManualExtractSubAnimationAction.java │ │ │ │ │ ├── PauseAnimationAction.java │ │ │ │ │ ├── PlayAnimationAction.java │ │ │ │ │ ├── PlaySettingsAction.java │ │ │ │ │ ├── RemoveAnimationAction.java │ │ │ │ │ └── StopAnimationAction.java │ │ │ │ │ ├── audio │ │ │ │ │ ├── CreateAudioNodeAction.java │ │ │ │ │ ├── PlayAudioNodeAction.java │ │ │ │ │ └── StopAudioNodeAction.java │ │ │ │ │ ├── control │ │ │ │ │ ├── AbstractCreateControlAction.java │ │ │ │ │ ├── CreateCustomControlAction.java │ │ │ │ │ ├── CreateLightControlAction.java │ │ │ │ │ ├── CreateMotionControlAction.java │ │ │ │ │ └── physics │ │ │ │ │ │ ├── CreateCharacterControlAction.java │ │ │ │ │ │ ├── CreateKinematicRagdollControlAction.java │ │ │ │ │ │ ├── CreateRigidBodyControlAction.java │ │ │ │ │ │ ├── CreateStaticRigidBodyControlAction.java │ │ │ │ │ │ ├── ReactivatePhysicsControlAction.java │ │ │ │ │ │ └── vehicle │ │ │ │ │ │ ├── CreateVehicleControlAction.java │ │ │ │ │ │ ├── CreateVehicleWheelAction.java │ │ │ │ │ │ └── RemoveVehicleWheelAction.java │ │ │ │ │ ├── geometry │ │ │ │ │ ├── AbstractCreateGeometryAction.java │ │ │ │ │ ├── CreateBoxAction.java │ │ │ │ │ ├── CreateQuadAction.java │ │ │ │ │ ├── CreateSphereAction.java │ │ │ │ │ └── GenerateLoDAction.java │ │ │ │ │ ├── light │ │ │ │ │ ├── AbstractCreateLightAction.java │ │ │ │ │ ├── CreateAmbientLightAction.java │ │ │ │ │ ├── CreateDirectionLightAction.java │ │ │ │ │ ├── CreatePointLightAction.java │ │ │ │ │ └── CreateSpotLightAction.java │ │ │ │ │ ├── multi │ │ │ │ │ └── RemoveElementsAction.java │ │ │ │ │ ├── particle │ │ │ │ │ └── emitter │ │ │ │ │ │ ├── CreateParticleEmitterAction.java │ │ │ │ │ │ ├── ResetParticleEmittersAction.java │ │ │ │ │ │ ├── influencer │ │ │ │ │ │ ├── AbstractCreateParticleInfluencerAction.java │ │ │ │ │ │ ├── CreateDefaultParticleInfluencerAction.java │ │ │ │ │ │ ├── CreateEmptyParticleInfluencerAction.java │ │ │ │ │ │ └── CreateRadialParticleInfluencerAction.java │ │ │ │ │ │ └── shape │ │ │ │ │ │ ├── AbstractCreateShapeEmitterAction.java │ │ │ │ │ │ ├── CreateBoxShapeEmitterAction.java │ │ │ │ │ │ ├── CreateMeshConvexHullShapeEmitterAction.java │ │ │ │ │ │ ├── CreateMeshFaceShapeEmitterAction.java │ │ │ │ │ │ ├── CreateMeshVertexShapeEmitterAction.java │ │ │ │ │ │ ├── CreatePointShapeEmitterAction.java │ │ │ │ │ │ └── CreateSphereShapeEmitterAction.java │ │ │ │ │ ├── physics │ │ │ │ │ └── shape │ │ │ │ │ │ ├── AbstractCreateShapeAction.java │ │ │ │ │ │ ├── CreateBoxCollisionShapeAction.java │ │ │ │ │ │ ├── CreateCapsuleCollisionShapeAction.java │ │ │ │ │ │ ├── CreateConeCollisionShapeAction.java │ │ │ │ │ │ ├── CreateCylinderCollisionShapeAction.java │ │ │ │ │ │ ├── CreateSphereCollisionShapeAction.java │ │ │ │ │ │ └── GenerateCollisionShapeAction.java │ │ │ │ │ ├── scene │ │ │ │ │ ├── CreateSceneLayerAction.java │ │ │ │ │ └── RemoveSceneLayerAction.java │ │ │ │ │ └── terrain │ │ │ │ │ └── CreateTerrainAction.java │ │ │ │ └── node │ │ │ │ ├── HideableNode.java │ │ │ │ ├── TreeNode.java │ │ │ │ ├── factory │ │ │ │ ├── TreeNodeFactory.java │ │ │ │ ├── TreeNodeFactoryRegistry.java │ │ │ │ └── impl │ │ │ │ │ ├── AnimationTreeNodeFactory.java │ │ │ │ │ ├── CollisionTreeNodeFactory.java │ │ │ │ │ ├── ControlTreeNodeFactory.java │ │ │ │ │ ├── DefaultParticlesTreeNodeFactory.java │ │ │ │ │ ├── DefaultTreeNodeFactory.java │ │ │ │ │ ├── LightTreeNodeFactory.java │ │ │ │ │ ├── MaterialSettingsTreeNodeFactory.java │ │ │ │ │ └── PrimitiveTreeNodeFactory.java │ │ │ │ └── impl │ │ │ │ ├── BufferTreeNode.java │ │ │ │ ├── PositionTreeNode.java │ │ │ │ ├── VertexBufferTreeNode.java │ │ │ │ ├── control │ │ │ │ ├── ControlTreeNode.java │ │ │ │ ├── LightControlTreeNode.java │ │ │ │ ├── SkeletonControlTreeNode.java │ │ │ │ ├── anim │ │ │ │ │ ├── AnimationAudioTrackTreeNode.java │ │ │ │ │ ├── AnimationBoneTrackTreeNode.java │ │ │ │ │ ├── AnimationControlTreeNode.java │ │ │ │ │ ├── AnimationEffectTrackTreeNode.java │ │ │ │ │ ├── AnimationSpatialTrackTreeNode.java │ │ │ │ │ ├── AnimationTrackTreeNode.java │ │ │ │ │ └── AnimationTreeNode.java │ │ │ │ ├── motion │ │ │ │ │ ├── MotionEventTreeNode.java │ │ │ │ │ └── MotionPathTreeNode.java │ │ │ │ └── physics │ │ │ │ │ ├── BetterCharacterControlTreeNode.java │ │ │ │ │ ├── PhysicsControlTreeNode.java │ │ │ │ │ ├── RagdollControlTreeNode.java │ │ │ │ │ ├── RigidBodyControlTreeNode.java │ │ │ │ │ └── vehicle │ │ │ │ │ ├── VehicleControlTreeNode.java │ │ │ │ │ └── VehicleWheelTreeNode.java │ │ │ │ ├── layer │ │ │ │ ├── LayersRootTreeNode.java │ │ │ │ └── SceneLayerTreeNode.java │ │ │ │ ├── light │ │ │ │ ├── AmbientLightTreeNode.java │ │ │ │ ├── DirectionalLightTreeNode.java │ │ │ │ ├── LightProbeTreeNode.java │ │ │ │ ├── LightTreeNode.java │ │ │ │ ├── PointLightTreeNode.java │ │ │ │ └── SpotLightTreeNode.java │ │ │ │ ├── material │ │ │ │ └── settings │ │ │ │ │ ├── ColorsSettingsTreeNode.java │ │ │ │ │ ├── MaterialSettingsTreeNode.java │ │ │ │ │ ├── OtherSettingsTreeNode.java │ │ │ │ │ ├── RenderSettingsTreeNode.java │ │ │ │ │ ├── RootMaterialSettingsTreeNode.java │ │ │ │ │ └── TexturesSettingsTreeNode.java │ │ │ │ ├── physics │ │ │ │ └── shape │ │ │ │ │ ├── BoxCollisionShapeTreeNode.java │ │ │ │ │ ├── CapsuleCollisionShapeTreeNode.java │ │ │ │ │ ├── ChildCollisionShapeTreeNode.java │ │ │ │ │ ├── CollisionShapeTreeNode.java │ │ │ │ │ ├── ComputedCollisionShapeTreeNode.java │ │ │ │ │ ├── ConeCollisionShapeTreeNode.java │ │ │ │ │ ├── CylinderCollisionShapeTreeNode.java │ │ │ │ │ ├── GImpactCollisionShapeTreeNode.java │ │ │ │ │ ├── HeightFieldCollisionShapeTreeNode.java │ │ │ │ │ ├── HullCollisionShapeTreeNode.java │ │ │ │ │ ├── MeshCollisionShapeTreeNode.java │ │ │ │ │ ├── PlaneCollisionShapeTreeNode.java │ │ │ │ │ └── SphereCollisionShapeTreeNode.java │ │ │ │ ├── scene │ │ │ │ ├── SceneAppStateTreeNode.java │ │ │ │ ├── SceneAppStatesTreeNode.java │ │ │ │ ├── SceneFilterTreeNode.java │ │ │ │ ├── SceneFiltersTreeNode.java │ │ │ │ └── SceneNodeTreeNode.java │ │ │ │ └── spatial │ │ │ │ ├── AssetLinkNodeTreeNode.java │ │ │ │ ├── AudioTreeNode.java │ │ │ │ ├── GeometryTreeNode.java │ │ │ │ ├── MaterialTreeNode.java │ │ │ │ ├── MeshTreeNode.java │ │ │ │ ├── NodeTreeNode.java │ │ │ │ ├── SpatialTreeNode.java │ │ │ │ ├── particle │ │ │ │ └── emitter │ │ │ │ │ ├── ParticleEmitterTreeNode.java │ │ │ │ │ ├── influencer │ │ │ │ │ ├── DefaultParticleInfluencerTreeNode.java │ │ │ │ │ ├── EmptyParticleInfluencerTreeNode.java │ │ │ │ │ ├── ParticleInfluencerTreeNode.java │ │ │ │ │ └── RadialParticleInfluencerTreeNode.java │ │ │ │ │ └── shape │ │ │ │ │ ├── EmitterBoxShapeTreeNode.java │ │ │ │ │ ├── EmitterMeshConvexHullShapeTreeNode.java │ │ │ │ │ ├── EmitterMeshFaceShapeTreeNode.java │ │ │ │ │ ├── EmitterMeshVertexShapeTreeNode.java │ │ │ │ │ ├── EmitterPointShapeTreeNode.java │ │ │ │ │ ├── EmitterShapeTreeNode.java │ │ │ │ │ └── EmitterSphereShapeTreeNode.java │ │ │ │ └── terrain │ │ │ │ ├── TerrainGridTreeNode.java │ │ │ │ └── TerrainQuadTreeNode.java │ │ ├── css │ │ │ ├── CssClasses.java │ │ │ ├── CssColorTheme.java │ │ │ ├── CssIds.java │ │ │ └── CssRegistry.java │ │ ├── dialog │ │ │ ├── AbstractSimpleEditorDialog.java │ │ │ ├── ConfirmDialog.java │ │ │ ├── CreateCustomControlDialog.java │ │ │ ├── CreateSceneAppStateDialog.java │ │ │ ├── CreateSceneFilterDialog.java │ │ │ ├── EditorDialog.java │ │ │ ├── GenerateTangentsDialog.java │ │ │ ├── RenameDialog.java │ │ │ ├── SettingsDialog.java │ │ │ ├── about │ │ │ │ └── AboutDialog.java │ │ │ ├── animation │ │ │ │ └── ExtractSubAnimationDialog.java │ │ │ ├── asset │ │ │ │ ├── BaseAssetEditorDialog.java │ │ │ │ ├── file │ │ │ │ │ ├── AssetEditorDialog.java │ │ │ │ │ ├── FileAssetEditorDialog.java │ │ │ │ │ └── FolderAssetEditorDialog.java │ │ │ │ └── virtual │ │ │ │ │ ├── StringVirtualAssetEditorDialog.java │ │ │ │ │ └── VirtualAssetEditorDialog.java │ │ │ ├── file │ │ │ │ └── chooser │ │ │ │ │ ├── ExternalFileEditorDialog.java │ │ │ │ │ └── OpenExternalFolderEditorDialog.java │ │ │ ├── geometry │ │ │ │ ├── GeometrySelectorDialog.java │ │ │ │ └── lod │ │ │ │ │ ├── GenerateLodLevelsDialog.java │ │ │ │ │ └── LodValueCell.java │ │ │ ├── imports │ │ │ │ └── model │ │ │ │ │ └── ModelImportDialog.java │ │ │ ├── node │ │ │ │ └── selector │ │ │ │ │ ├── LightSelectorDialog.java │ │ │ │ │ ├── NodeSelectorDialog.java │ │ │ │ │ └── SpatialSelectorDialog.java │ │ │ ├── plugin │ │ │ │ ├── PluginListCell.java │ │ │ │ └── PluginsDialog.java │ │ │ ├── save │ │ │ │ └── SaveAsEditorDialog.java │ │ │ ├── scene │ │ │ │ └── selector │ │ │ │ │ ├── FilterSceneSelectorDialog.java │ │ │ │ │ └── SceneSelectorDialog.java │ │ │ ├── sky │ │ │ │ ├── CreateEditableSkyDialog.java │ │ │ │ └── CreateSkyDialog.java │ │ │ └── terrain │ │ │ │ └── CreateTerrainDialog.java │ │ ├── event │ │ │ ├── ConsumableEvent.java │ │ │ ├── EventRedirector.java │ │ │ ├── FxEventManager.java │ │ │ ├── SceneEvent.java │ │ │ └── impl │ │ │ │ ├── AssetComponentLoadedEvent.java │ │ │ │ ├── ChangedCurrentAssetFolderEvent.java │ │ │ │ ├── CreatedFileEvent.java │ │ │ │ ├── DeletedFileEvent.java │ │ │ │ ├── FileChangedEvent.java │ │ │ │ ├── MovedFileEvent.java │ │ │ │ ├── RenamedFileEvent.java │ │ │ │ ├── RequestSelectFileEvent.java │ │ │ │ ├── RequestedConvertFileEvent.java │ │ │ │ ├── RequestedCreateFileEvent.java │ │ │ │ ├── RequestedOpenFileEvent.java │ │ │ │ ├── RequestedRefreshAssetEvent.java │ │ │ │ └── WindowChangeFocusEvent.java │ │ ├── preview │ │ │ ├── FilePreview.java │ │ │ ├── FilePreviewFactory.java │ │ │ ├── FilePreviewFactoryRegistry.java │ │ │ └── impl │ │ │ │ ├── AbstractFilePreview.java │ │ │ │ ├── DefaultFilePreviewFactory.java │ │ │ │ ├── ImageFilePreview.java │ │ │ │ ├── JmeObjectFilePreview.java │ │ │ │ └── TextFilePreview.java │ │ ├── scene │ │ │ ├── EditorFxImageView.java │ │ │ └── EditorFxScene.java │ │ ├── tooltip │ │ │ ├── CustomTooltip.java │ │ │ ├── ImageChannelPreview.java │ │ │ └── ImagePreview.java │ │ └── util │ │ │ ├── AwtFontSuggestionProvider.java │ │ │ ├── DynamicIconSupport.java │ │ │ ├── SimpleStringSuggestionProvider.java │ │ │ └── UiUtils.java │ │ └── util │ │ ├── AnimationUtils.java │ │ ├── AudioNodeUtils.java │ │ ├── ControlUtils.java │ │ ├── EditorUtil.java │ │ ├── ExtObjectInputStream.java │ │ ├── GeomUtils.java │ │ ├── GlslType.java │ │ ├── LocalObjects.java │ │ ├── MaterialSerializer.java │ │ ├── MaterialUtils.java │ │ ├── NodeUtils.java │ │ ├── OpenGLVersion.java │ │ ├── PaintingUtils.java │ │ ├── ReusableCollisionResults.java │ │ ├── SimpleFileVisitor.java │ │ ├── SimpleFolderVisitor.java │ │ ├── TangentGenerator.java │ │ └── svg │ │ ├── SvgImageLoader.java │ │ └── SvgImageLoaderFactory.java └── resources │ ├── app-config.xml │ ├── credits │ ├── icons.txt │ └── libraries.txt │ ├── graphics │ ├── materials │ │ ├── light │ │ │ ├── black_material.j3m │ │ │ └── white_material.j3m │ │ └── speaker │ │ │ └── white_material.j3m │ ├── models │ │ ├── light │ │ │ ├── direction_light.j3o │ │ │ ├── point_light.j3o │ │ │ └── spot_light.j3o │ │ ├── manipulators │ │ │ ├── manipulators.blend │ │ │ ├── manipulators_move.j3o │ │ │ ├── manipulators_rotate.j3o │ │ │ └── manipulators_scale.j3o │ │ └── speaker │ │ │ └── speaker.j3o │ └── textures │ │ ├── sky │ │ ├── env1.hdr │ │ ├── env2.hdr │ │ ├── env3.hdr │ │ ├── env4.hdr │ │ ├── inside.hdr │ │ ├── outside.hdr │ │ └── studio.hdr │ │ └── sprite │ │ ├── arrow.png │ │ ├── debris.png │ │ ├── default.png │ │ ├── fire.jpg │ │ ├── halo.png │ │ ├── rune.png │ │ └── smoke.png │ ├── log4j.properties │ ├── messages │ ├── messages.properties │ ├── messages_de.properties │ ├── messages_fr.properties │ ├── messages_ru.properties │ └── messages_zh_CN.properties │ ├── org │ └── controlsfx │ │ └── control │ │ └── textfield │ │ └── autocompletion.css │ ├── template │ ├── frag │ │ └── empty.frag │ ├── matdef │ │ └── empty.j3md │ └── vert │ │ └── empty.vert │ ├── tonegod │ └── emitter │ │ └── messages │ │ └── messages_ru.properties │ └── ui │ ├── css │ ├── base.css │ ├── custom_classes.css │ ├── custom_ids.css │ ├── dark-color.css │ ├── external.css │ ├── light-color.css │ └── shadow-color.css │ ├── fonts │ ├── opensans │ │ ├── LICENSE.txt │ │ ├── OpenSans-Regular.ttf │ │ ├── OpenSans-SemiBold.ttf │ │ └── OpenSans-SemiBoldItalic.ttf │ └── ubuntu │ │ ├── CONTRIBUTING.txt │ │ ├── FONTLOG.txt │ │ ├── LICENCE-FAQ.txt │ │ ├── LICENCE.txt │ │ ├── README.txt │ │ ├── TRADEMARKS.txt │ │ ├── UbuntuMono-B.ttf │ │ ├── UbuntuMono-BI.ttf │ │ ├── UbuntuMono-R.ttf │ │ ├── UbuntuMono-RI.ttf │ │ └── copyright.txt │ └── icons │ ├── app │ ├── 128x128.png │ ├── 16x16.png │ ├── 24x24.png │ ├── 256x256.png │ ├── 32x32.png │ ├── 48x48.png │ ├── 64x64.png │ └── 96x96.png │ ├── filetypes │ ├── cube.svg │ ├── emerald │ │ ├── COPYING │ │ ├── LICENSE │ │ └── mimetypes │ │ │ ├── application-x-blender.svg │ │ │ ├── application-x-gzip.svg │ │ │ ├── application-x-java-archive.svg │ │ │ ├── application-x-java.svg │ │ │ ├── application-x-rar.svg │ │ │ ├── application-zip.svg │ │ │ ├── audio-x-generic.svg │ │ │ ├── exec.svg │ │ │ ├── folder.svg │ │ │ ├── image-bmp.svg │ │ │ ├── image-gif.svg │ │ │ ├── image-jpeg.svg │ │ │ ├── image-png.svg │ │ │ ├── image-svg+xml-compressed.svg │ │ │ ├── image-tiff.svg │ │ │ ├── image-x-generic.svg │ │ │ ├── image-x-ico.svg │ │ │ ├── image-x-psd.svg │ │ │ ├── image-x-tga.svg │ │ │ ├── image.svg │ │ │ ├── text-csharp.svg │ │ │ ├── text-css.svg │ │ │ ├── text-html.svg │ │ │ ├── text-rust.svg │ │ │ ├── text-x-authors.svg │ │ │ ├── text-x-c++.svg │ │ │ ├── text-x-c++hdr.svg │ │ │ ├── text-x-c++src.svg │ │ │ ├── text-x-c.svg │ │ │ ├── text-x-changelog.svg │ │ │ ├── text-x-chdr.svg │ │ │ ├── text-x-csharp.svg │ │ │ ├── text-x-csrc.svg │ │ │ ├── text-x-csv.svg │ │ │ ├── text-x-generic.svg │ │ │ ├── text-x-haskell.svg │ │ │ ├── text-x-hex.svg │ │ │ ├── text-x-pascal.svg │ │ │ ├── text-x-patch.svg │ │ │ ├── text-x-perl.svg │ │ │ ├── text-x-qml.svg │ │ │ ├── text-x-ruby.svg │ │ │ ├── text-x-scala.svg │ │ │ ├── text-x-script.svg │ │ │ ├── text-x-source.svg │ │ │ ├── text-x-tex.svg │ │ │ ├── text-x-texinfo.svg │ │ │ ├── text-xml.svg │ │ │ ├── text.svg │ │ │ ├── video-x-generic.svg │ │ │ └── x-office-drawing.svg │ ├── j3s.png │ ├── jme3.png │ ├── parquet.svg │ └── vector.svg │ ├── svg │ ├── add-new-file.svg │ ├── add-plus-button.svg │ ├── atom-symbol.svg │ ├── audio-volume.svg │ ├── background.svg │ ├── bar-chart-reload.svg │ ├── bar-chart.svg │ ├── basic-square.svg │ ├── because-mathematical-symbol.svg │ ├── black-hole.svg │ ├── bone.svg │ ├── bones.svg │ ├── brickwall-.svg │ ├── brightness.svg │ ├── capsule-black-and-white-variant.svg │ ├── circle.svg │ ├── clipboard-paste-option.svg │ ├── close-button.svg │ ├── cloudy-day-outlined-weather-interface-symbol.svg │ ├── cone-geometrical-shape.svg │ ├── copy-file.svg │ ├── cube-divisions.svg │ ├── cut-content-button.svg │ ├── cylinder.svg │ ├── database.svg │ ├── debug.svg │ ├── document.svg │ ├── doll.svg │ ├── dot-and-circle.svg │ ├── draws.svg │ ├── eliptical-arrows.svg │ ├── enhance-effect.svg │ ├── extract-image.svg │ ├── eye-view-interface-symbol.svg │ ├── family-tree.svg │ ├── film-roll.svg │ ├── filter-filled-tool-symbol.svg │ ├── font-selection-editor.svg │ ├── forest.svg │ ├── graphene.svg │ ├── grid.svg │ ├── hollow-cube.svg │ ├── horizontal-line-remove-button.svg │ ├── horse-in-running-motion-silhouette.svg │ ├── idea.svg │ ├── import.svg │ ├── inbox.svg │ ├── invisible.svg │ ├── lantern.svg │ ├── layers.svg │ ├── level_terrain.svg │ ├── light-bulb.svg │ ├── line-segment.svg │ ├── link-folder-with-document.svg │ ├── link.svg │ ├── map-location.svg │ ├── molecule.svg │ ├── molecule_2.svg │ ├── move-arrows.svg │ ├── movie-symbol-of-video-camera.svg │ ├── open-folder-with-document.svg │ ├── paint_terrain.svg │ ├── pause.svg │ ├── pencil-edit-button.svg │ ├── picture.svg │ ├── placeholder.svg │ ├── planet-sphere.svg │ ├── play-button.svg │ ├── plug-silhouette.svg │ ├── plus.svg │ ├── raise_terrain.svg │ ├── refresh-button.svg │ ├── reichstag-dome.svg │ ├── replay.svg │ ├── resize.svg │ ├── rhombus.svg │ ├── road-perspective.svg │ ├── rough_terrain.svg │ ├── save-disk.svg │ ├── scale-symbol.svg │ ├── settings.svg │ ├── slope_terrain.svg │ ├── smooth_terrain.svg │ ├── soccer-ball.svg │ ├── sports-car.svg │ ├── stop.svg │ ├── sun.svg │ ├── sunny-day.svg │ ├── table.svg │ ├── terrain.svg │ ├── transformation-of-geometric-shapes-from-cube-to-cone-outlines.svg │ ├── triangle.svg │ ├── user-silhouette.svg │ ├── warning.svg │ └── wheel.svg │ └── test │ └── test.jpg └── test ├── java └── com │ └── ss │ └── editor │ └── test │ ├── external │ ├── BOSceneTest.java │ ├── BaseExternalTest.java │ ├── PbrSceneTest.java │ └── TreeViewTest.java │ └── internal │ ├── SetUpApplicationTest.java │ └── plugin │ └── RegisterPluginExtensionsTest.java └── resources ├── MatDefs ├── UnshadedSSBO.frag ├── UnshadedSSBO.j3md ├── UnshadedSSBO2.frag ├── UnshadedSSBO2.j3md ├── UnshadedUBO.frag └── UnshadedUBO.j3md ├── Materials ├── Mirror.j3m └── PbrGround.j3m ├── Scene └── TestPbrScene.j3s └── Textures └── ground.jpg /.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | *.so 3 | *.dll 4 | *.log 5 | /build/ 6 | /native-build/ 7 | /.gradle/ 8 | /.idea/ 9 | /out/ 10 | .classpath 11 | .project 12 | /.settings/ -------------------------------------------------------------------------------- /app.version: -------------------------------------------------------------------------------- 1 | 1.8.0 -------------------------------------------------------------------------------- /bitbucket-pipelines.yml: -------------------------------------------------------------------------------- 1 | # This is a sample build configuration for Other. 2 | # Check our guides at https://confluence.atlassian.com/x/5Q4SMw for more examples. 3 | # Only use spaces to indent your .yml configuration. 4 | # ----- 5 | # You can specify a custom docker image from Docker Hub as your build environment. 6 | # image: atlassian/default-image:latest 7 | 8 | image: java:10 9 | pipelines: 10 | default: 11 | - step: 12 | caches: 13 | - gradle 14 | script: 15 | - apt-get update 16 | - apt-get install -y openjfx 17 | - bash ./gradlew install -------------------------------------------------------------------------------- /download.app.path: -------------------------------------------------------------------------------- 1 | https://yadi.sk/d/UuKcJBNgqbV3a -------------------------------------------------------------------------------- /embedded-plugins/jmb-font-generator/jmb-font-generator-1.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/embedded-plugins/jmb-font-generator/jmb-font-generator-1.1.1.jar -------------------------------------------------------------------------------- /embedded-plugins/jmb-shader-nodes/jmb-shader-nodes-1.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/embedded-plugins/jmb-shader-nodes/jmb-shader-nodes-1.1.1.jar -------------------------------------------------------------------------------- /embedded-plugins/jmb-sky-control/jmb-sky-control-1.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/embedded-plugins/jmb-sky-control/jmb-sky-control-1.2.1.jar -------------------------------------------------------------------------------- /embedded-plugins/jmb-sky-control/libs/SkyControl-0.9.12.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/embedded-plugins/jmb-sky-control/libs/SkyControl-0.9.12.jar -------------------------------------------------------------------------------- /embedded-plugins/jmb-sky-control/libs/jme3-utilities-heart-2.4.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/embedded-plugins/jmb-sky-control/libs/jme3-utilities-heart-2.4.0.jar -------------------------------------------------------------------------------- /embedded-plugins/jmb-tonegod-emitter/jmb-tonegod-emitter-1.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/embedded-plugins/jmb-tonegod-emitter/jmb-tonegod-emitter-1.1.2.jar -------------------------------------------------------------------------------- /embedded-plugins/jmb-tonegod-emitter/libs/emitter-3.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/embedded-plugins/jmb-tonegod-emitter/libs/emitter-3.0.2.jar -------------------------------------------------------------------------------- /embedded-plugins/jmb-tree-generator/jmb-tree-generator-1.2.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/embedded-plugins/jmb-tree-generator/jmb-tree-generator-1.2.2.jar -------------------------------------------------------------------------------- /embedded-plugins/jmb-tree-generator/libs/SimArboreal-1.3.0-assets.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/embedded-plugins/jmb-tree-generator/libs/SimArboreal-1.3.0-assets.jar -------------------------------------------------------------------------------- /embedded-plugins/jmb-tree-generator/libs/SimArboreal-1.3.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/embedded-plugins/jmb-tree-generator/libs/SimArboreal-1.3.0.jar -------------------------------------------------------------------------------- /embedded-plugins/jmb-tree-generator/libs/slf4j-api-1.7.13.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/embedded-plugins/jmb-tree-generator/libs/slf4j-api-1.7.13.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /libraries-licenses/dyncall_license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2007-2015 Daniel Adler , 2 | Tassilo Philipp 3 | 4 | Permission to use, copy, modify, and distribute this software for any 5 | purpose with or without fee is hereby granted, provided that the above 6 | copyright notice and this permission notice appear in all copies. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- /libraries-licenses/glfw_license.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2006 Marcus Geelnard 2 | Copyright (c) 2006-2010 Camilla Berglund 3 | 4 | This software is provided 'as-is', without any express or implied 5 | warranty. In no event will the authors be held liable for any damages 6 | arising from the use of this software. 7 | 8 | Permission is granted to anyone to use this software for any purpose, 9 | including commercial applications, and to alter it and redistribute it 10 | freely, subject to the following restrictions: 11 | 12 | 1. The origin of this software must not be misrepresented; you must not 13 | claim that you wrote the original software. If you use this software 14 | in a product, an acknowledgment in the product documentation would 15 | be appreciated but is not required. 16 | 17 | 2. Altered source versions must be plainly marked as such, and must not 18 | be misrepresented as being the original software. 19 | 20 | 3. This notice may not be removed or altered from any source 21 | distribution. 22 | -------------------------------------------------------------------------------- /libraries-licenses/khronos_license.txt: -------------------------------------------------------------------------------- 1 | /* 2 | ** Copyright (c) 2013-2014 The Khronos Group Inc. 3 | ** 4 | ** Permission is hereby granted, free of charge, to any person obtaining a 5 | ** copy of this software and/or associated documentation files (the 6 | ** "Materials"), to deal in the Materials without restriction, including 7 | ** without limitation the rights to use, copy, modify, merge, publish, 8 | ** distribute, sublicense, and/or sell copies of the Materials, and to 9 | ** permit persons to whom the Materials are furnished to do so, subject to 10 | ** the following conditions: 11 | ** 12 | ** The above copyright notice and this permission notice shall be included 13 | ** in all copies or substantial portions of the Materials. 14 | ** 15 | ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 19 | ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 20 | ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 21 | ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 22 | */ -------------------------------------------------------------------------------- /libs/common-image-3.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/common-image-3.3.2.jar -------------------------------------------------------------------------------- /libs/common-io-3.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/common-io-3.3.2.jar -------------------------------------------------------------------------------- /libs/common-lang-3.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/common-lang-3.3.2.jar -------------------------------------------------------------------------------- /libs/commons-lang3-3.4-javadoc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/commons-lang3-3.4-javadoc.jar -------------------------------------------------------------------------------- /libs/commons-lang3-3.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/commons-lang3-3.4.jar -------------------------------------------------------------------------------- /libs/extensions/annotations-15.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/annotations-15.0.jar -------------------------------------------------------------------------------- /libs/extensions/groovy-all-2.5.0-alpha-1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/groovy-all-2.5.0-alpha-1.jar -------------------------------------------------------------------------------- /libs/extensions/jme3-spaceshift-extension-1.0.1-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/jme3-spaceshift-extension-1.0.1-sources.jar -------------------------------------------------------------------------------- /libs/extensions/jme3-spaceshift-extension-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/jme3-spaceshift-extension-1.0.1.jar -------------------------------------------------------------------------------- /libs/extensions/rlib-6.1.2-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/rlib-6.1.2-sources.jar -------------------------------------------------------------------------------- /libs/extensions/rlib-6.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/rlib-6.1.2.jar -------------------------------------------------------------------------------- /libs/extensions/simsilica/iso-surface-sources.1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/simsilica/iso-surface-sources.1.0.0.jar -------------------------------------------------------------------------------- /libs/extensions/simsilica/iso-surface.1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/simsilica/iso-surface.1.0.0.jar -------------------------------------------------------------------------------- /libs/extensions/simsilica/lemur-1.9.1-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/simsilica/lemur-1.9.1-sources.jar -------------------------------------------------------------------------------- /libs/extensions/simsilica/lemur-1.9.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/simsilica/lemur-1.9.1.jar -------------------------------------------------------------------------------- /libs/extensions/simsilica/sim-fx-1.0.4-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/simsilica/sim-fx-1.0.4-sources.jar -------------------------------------------------------------------------------- /libs/extensions/simsilica/sim-fx-1.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/simsilica/sim-fx-1.0.4.jar -------------------------------------------------------------------------------- /libs/extensions/toneg0d/toneg0d.emitter-2.2.3-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/toneg0d/toneg0d.emitter-2.2.3-sources.jar -------------------------------------------------------------------------------- /libs/extensions/toneg0d/toneg0d.emitter-2.2.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/toneg0d/toneg0d.emitter-2.2.3.jar -------------------------------------------------------------------------------- /libs/extensions/xbuf/guava-18.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/xbuf/guava-18.0.jar -------------------------------------------------------------------------------- /libs/extensions/xbuf/jme3_physicsloader-0.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/xbuf/jme3_physicsloader-0.5.jar -------------------------------------------------------------------------------- /libs/extensions/xbuf/jme3_xbuf_loader-0.9.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/xbuf/jme3_xbuf_loader-0.9.1.jar -------------------------------------------------------------------------------- /libs/extensions/xbuf/jme3_xbuf_rt-0.9.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/xbuf/jme3_xbuf_rt-0.9.1.jar -------------------------------------------------------------------------------- /libs/extensions/xbuf/protobuf-java-3.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/xbuf/protobuf-java-3.0.0.jar -------------------------------------------------------------------------------- /libs/extensions/xbuf/protobuf-java-util-3.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/xbuf/protobuf-java-util-3.0.0.jar -------------------------------------------------------------------------------- /libs/extensions/xbuf/slf4j-api-1.7.25.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/xbuf/slf4j-api-1.7.25.jar -------------------------------------------------------------------------------- /libs/extensions/xbuf/slf4j-simple-1.7.25.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/xbuf/slf4j-simple-1.7.25.jar -------------------------------------------------------------------------------- /libs/extensions/xbuf/xbuf-0.9.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/extensions/xbuf/xbuf-0.9.1.jar -------------------------------------------------------------------------------- /libs/gson-2.6.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/gson-2.6.2.jar -------------------------------------------------------------------------------- /libs/http/commons-codec-1.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/http/commons-codec-1.9.jar -------------------------------------------------------------------------------- /libs/http/commons-logging-1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/http/commons-logging-1.2.jar -------------------------------------------------------------------------------- /libs/http/httpclient-4.5.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/http/httpclient-4.5.2.jar -------------------------------------------------------------------------------- /libs/http/httpcore-4.4.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/http/httpcore-4.4.4.jar -------------------------------------------------------------------------------- /libs/imageio-batik-3.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/imageio-batik-3.3.2.jar -------------------------------------------------------------------------------- /libs/imageio-core-3.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/imageio-core-3.3.2.jar -------------------------------------------------------------------------------- /libs/imageio-hdr-3.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/imageio-hdr-3.3.2.jar -------------------------------------------------------------------------------- /libs/imageio-metadata-3.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/imageio-metadata-3.3.2.jar -------------------------------------------------------------------------------- /libs/imageio-tiff-3.3.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/imageio-tiff-3.3.2.jar -------------------------------------------------------------------------------- /libs/jME/core-0.27.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/core-0.27.jar -------------------------------------------------------------------------------- /libs/jME/dense64-0.27.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/dense64-0.27.jar -------------------------------------------------------------------------------- /libs/jME/denseC64-0.27.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/denseC64-0.27.jar -------------------------------------------------------------------------------- /libs/jME/eventbus-1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/eventbus-1.4.jar -------------------------------------------------------------------------------- /libs/jME/j-ogg-all-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/j-ogg-all-1.0.0.jar -------------------------------------------------------------------------------- /libs/jME/jbullet.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jbullet.jar -------------------------------------------------------------------------------- /libs/jME/jglfont-core-1.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jglfont-core-1.4.jar -------------------------------------------------------------------------------- /libs/jME/jinput-2.0.5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jinput-2.0.5.jar -------------------------------------------------------------------------------- /libs/jME/jinput-platform-2.0.5-natives-linux.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jinput-platform-2.0.5-natives-linux.jar -------------------------------------------------------------------------------- /libs/jME/jinput-platform-2.0.5-natives-osx.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jinput-platform-2.0.5-natives-osx.jar -------------------------------------------------------------------------------- /libs/jME/jinput-platform-2.0.5-natives-windows.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jinput-platform-2.0.5-natives-windows.jar -------------------------------------------------------------------------------- /libs/jME/jme3-blender-3.2.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-blender-3.2.0-sources.jar -------------------------------------------------------------------------------- /libs/jME/jme3-blender-3.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-blender-3.2.0.jar -------------------------------------------------------------------------------- /libs/jME/jme3-bullet-3.2.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-bullet-3.2.0-sources.jar -------------------------------------------------------------------------------- /libs/jME/jme3-bullet-3.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-bullet-3.2.0.jar -------------------------------------------------------------------------------- /libs/jME/jme3-bullet-native-3.2.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-bullet-native-3.2.0-sources.jar -------------------------------------------------------------------------------- /libs/jME/jme3-bullet-native-3.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-bullet-native-3.2.0.jar -------------------------------------------------------------------------------- /libs/jME/jme3-core-3.2.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-core-3.2.0-sources.jar -------------------------------------------------------------------------------- /libs/jME/jme3-core-3.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-core-3.2.0.jar -------------------------------------------------------------------------------- /libs/jME/jme3-desktop-3.2.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-desktop-3.2.0-sources.jar -------------------------------------------------------------------------------- /libs/jME/jme3-desktop-3.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-desktop-3.2.0.jar -------------------------------------------------------------------------------- /libs/jME/jme3-effects-3.2.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-effects-3.2.0-sources.jar -------------------------------------------------------------------------------- /libs/jME/jme3-effects-3.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-effects-3.2.0.jar -------------------------------------------------------------------------------- /libs/jME/jme3-jogg-3.2.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-jogg-3.2.0-sources.jar -------------------------------------------------------------------------------- /libs/jME/jme3-jogg-3.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-jogg-3.2.0.jar -------------------------------------------------------------------------------- /libs/jME/jme3-lwjgl3-3.2.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-lwjgl3-3.2.0-sources.jar -------------------------------------------------------------------------------- /libs/jME/jme3-lwjgl3-3.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-lwjgl3-3.2.0.jar -------------------------------------------------------------------------------- /libs/jME/jme3-plugins-3.2.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-plugins-3.2.0-sources.jar -------------------------------------------------------------------------------- /libs/jME/jme3-plugins-3.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-plugins-3.2.0.jar -------------------------------------------------------------------------------- /libs/jME/jme3-terrain-3.2.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-terrain-3.2.0-sources.jar -------------------------------------------------------------------------------- /libs/jME/jme3-terrain-3.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jme3-terrain-3.2.0.jar -------------------------------------------------------------------------------- /libs/jME/jsr305-2.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jsr305-2.0.2.jar -------------------------------------------------------------------------------- /libs/jME/jutils-1.0.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/jutils-1.0.0.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-glfw-natives-linux.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-glfw-natives-linux.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-glfw-natives-macos.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-glfw-natives-macos.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-glfw-natives-windows.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-glfw-natives-windows.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-glfw-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-glfw-sources.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-glfw.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-glfw.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-jemalloc-natives-linux.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-jemalloc-natives-linux.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-jemalloc-natives-macos.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-jemalloc-natives-macos.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-jemalloc-natives-windows.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-jemalloc-natives-windows.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-jemalloc-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-jemalloc-sources.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-jemalloc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-jemalloc.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-natives-linux.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-natives-linux.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-natives-macos.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-natives-macos.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-natives-windows.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-natives-windows.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-openal-natives-linux.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-openal-natives-linux.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-openal-natives-macos.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-openal-natives-macos.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-openal-natives-windows.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-openal-natives-windows.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-openal-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-openal-sources.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-openal.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-openal.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-opencl-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-opencl-sources.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-opencl.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-opencl.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-opengl-natives-linux.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-opengl-natives-linux.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-opengl-natives-macos.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-opengl-natives-macos.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-opengl-natives-windows.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-opengl-natives-windows.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-opengl-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-opengl-sources.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-opengl.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-opengl.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-sources.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-stb-natives-linux.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-stb-natives-linux.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-stb-natives-macos.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-stb-natives-macos.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-stb-natives-windows.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-stb-natives-windows.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-stb-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-stb-sources.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl-stb.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl-stb.jar -------------------------------------------------------------------------------- /libs/jME/lwjgl.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/lwjgl.jar -------------------------------------------------------------------------------- /libs/jME/retrace.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/retrace.jar -------------------------------------------------------------------------------- /libs/jME/simple-0.27.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/simple-0.27.jar -------------------------------------------------------------------------------- /libs/jME/stack-alloc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/stack-alloc.jar -------------------------------------------------------------------------------- /libs/jME/vecmath-1.3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/vecmath-1.3.1.jar -------------------------------------------------------------------------------- /libs/jME/xpp3-1.1.4c.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jME/xpp3-1.1.4c.jar -------------------------------------------------------------------------------- /libs/jme-jfx-1.5.2-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jme-jfx-1.5.2-sources.jar -------------------------------------------------------------------------------- /libs/jme-jfx-1.5.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/jme-jfx-1.5.2.jar -------------------------------------------------------------------------------- /libs/richtextfx-0.7-M5-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/richtextfx-0.7-M5-sources.jar -------------------------------------------------------------------------------- /libs/richtextfx-fat-0.7-M5.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/richtextfx-fat-0.7-M5.jar -------------------------------------------------------------------------------- /libs/rlib-fx-4.1.2-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/rlib-fx-4.1.2-sources.jar -------------------------------------------------------------------------------- /libs/rlib-fx-4.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/rlib-fx-4.1.2.jar -------------------------------------------------------------------------------- /libs/svg/avalon-framework-4.1.3.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/avalon-framework-4.1.3.jar -------------------------------------------------------------------------------- /libs/svg/batik-anim-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-anim-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-anim-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-anim-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-awt-util-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-awt-util-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-awt-util-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-awt-util-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-bridge-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-bridge-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-bridge-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-bridge-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-css-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-css-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-css-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-css-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-dom-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-dom-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-dom-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-dom-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-ext-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-ext-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-ext-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-ext-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-gvt-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-gvt-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-gvt-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-gvt-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-parser-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-parser-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-parser-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-parser-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-script-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-script-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-script-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-script-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-svg-dom-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-svg-dom-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-svg-dom-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-svg-dom-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-svggen-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-svggen-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-svggen-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-svggen-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-transcoder-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-transcoder-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-transcoder-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-transcoder-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-util-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-util-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-util-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-util-1.8.jar -------------------------------------------------------------------------------- /libs/svg/batik-xml-1.8-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-xml-1.8-sources.jar -------------------------------------------------------------------------------- /libs/svg/batik-xml-1.8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/batik-xml-1.8.jar -------------------------------------------------------------------------------- /libs/svg/commons-io-1.3.1-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/commons-io-1.3.1-sources.jar -------------------------------------------------------------------------------- /libs/svg/commons-io-1.3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/commons-io-1.3.1.jar -------------------------------------------------------------------------------- /libs/svg/commons-logging-1.0.4-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/commons-logging-1.0.4-sources.jar -------------------------------------------------------------------------------- /libs/svg/commons-logging-1.0.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/commons-logging-1.0.4.jar -------------------------------------------------------------------------------- /libs/svg/javafxsvg-1.2.1-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/javafxsvg-1.2.1-sources.jar -------------------------------------------------------------------------------- /libs/svg/javafxsvg-1.2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/javafxsvg-1.2.1.jar -------------------------------------------------------------------------------- /libs/svg/log4j-1.2.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/log4j-1.2.6.jar -------------------------------------------------------------------------------- /libs/svg/logkit-1.0.1-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/logkit-1.0.1-sources.jar -------------------------------------------------------------------------------- /libs/svg/logkit-1.0.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/logkit-1.0.1.jar -------------------------------------------------------------------------------- /libs/svg/xalan-2.7.0-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/xalan-2.7.0-sources.jar -------------------------------------------------------------------------------- /libs/svg/xalan-2.7.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/xalan-2.7.0.jar -------------------------------------------------------------------------------- /libs/svg/xml-apis-1.3.04-source.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/xml-apis-1.3.04-source.jar -------------------------------------------------------------------------------- /libs/svg/xml-apis-1.3.04.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/xml-apis-1.3.04.jar -------------------------------------------------------------------------------- /libs/svg/xml-apis-ext-1.3.04.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/xml-apis-ext-1.3.04.jar -------------------------------------------------------------------------------- /libs/svg/xmlgraphics-commons-2.1-sources.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/xmlgraphics-commons-2.1-sources.jar -------------------------------------------------------------------------------- /libs/svg/xmlgraphics-commons-2.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/libs/svg/xmlgraphics-commons-2.1.jar -------------------------------------------------------------------------------- /native-files/package/linux/control: -------------------------------------------------------------------------------- 1 | Package: jmonkeybuilder 2 | Version: @version@ 3 | Section: Graphics 4 | Maintainer: Java Developer 5 | Priority: optional 6 | Architecture: amd64 7 | Provides: jmonkeybuilder 8 | Homepage: https://bitbucket.org/JavaSabr/jmonkeybuilder 9 | Description: 3D Editor for jMonkeyEngine 3.2 10 | -------------------------------------------------------------------------------- /native-files/package/linux/jMonkeyBuilder.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=jMonkeyBuilder 3 | Version=@version@ 4 | Comment=jMonkeyBuilder 5 | Exec=/opt/jMonkeyBuilder/jMonkeyBuilder 6 | Icon=/opt/jMonkeyBuilder/jMonkeyBuilder.png 7 | Terminal=false 8 | Type=Application 9 | Categories=Graphics 10 | Comment=3D Editor for jMonkeyEngine 3.2 -------------------------------------------------------------------------------- /native-files/package/linux/jMonkeyBuilder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/native-files/package/linux/jMonkeyBuilder.png -------------------------------------------------------------------------------- /native-files/package/macosx/jMonkeyBuilder.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/native-files/package/macosx/jMonkeyBuilder.icns -------------------------------------------------------------------------------- /native-files/package/windows/jMonkeyBuilder.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/native-files/package/windows/jMonkeyBuilder.ico -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'jMonkeyBuilder' 2 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/DevelopPluginStarter.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | import java.io.IOException; 6 | import java.nio.file.Paths; 7 | 8 | /** 9 | * The start class to develop plugins. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class DevelopPluginStarter { 14 | 15 | public static void main(@NotNull String[] args) throws IOException { 16 | var embeddedFolder = Paths.get("./embedded-plugins"); 17 | System.setProperty("editor.embedded.plugins.path", embeddedFolder.toAbsolutePath().toString()); 18 | JfxApplication.main(args); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/EditorThread.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor; 2 | 3 | import com.ss.editor.annotation.FromAnyThread; 4 | import com.ss.editor.util.LocalObjects; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | /** 8 | * The implementation of the {@link Thread} for this application. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class EditorThread extends Thread { 13 | 14 | /** 15 | * The container of thread local objects. 16 | */ 17 | @NotNull 18 | private final LocalObjects localObjects; 19 | 20 | public EditorThread() { 21 | this.localObjects = new LocalObjects(); 22 | } 23 | 24 | public EditorThread(@NotNull Runnable target) { 25 | super(target); 26 | this.localObjects = new LocalObjects(); 27 | } 28 | 29 | public EditorThread(@NotNull ThreadGroup group, @NotNull Runnable target, @NotNull String name) { 30 | super(group, target, name); 31 | this.localObjects = new LocalObjects(); 32 | } 33 | 34 | /** 35 | * Get the container of thread local objects. 36 | * 37 | * @return the container of thread local objects. 38 | */ 39 | @FromAnyThread 40 | public @NotNull LocalObjects getLocal() { 41 | return localObjects; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/analytics/google/HitType.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.analytics.google; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | /** 6 | * The list of hit types. 7 | * 8 | * @author JavaSaBr 9 | */ 10 | public enum HitType { 11 | /** 12 | * Page view hit type. 13 | */ 14 | PAGE_VIEW("pageview"), 15 | /** 16 | * Screen view hit type. 17 | */ 18 | SCREEN_VIEW("screenview"), 19 | /** 20 | * Event hit type. 21 | */ 22 | EVENT("event"), 23 | /** 24 | * Transaction hit type. 25 | */ 26 | TRANSACTION("transaction"), 27 | /** 28 | * Item hit type. 29 | */ 30 | ITEM("item"), 31 | /** 32 | * Social hit type. 33 | */ 34 | SOCIAL("social"), 35 | /** 36 | * Exception hit type. 37 | */ 38 | EXCEPTION("exception"), 39 | /** 40 | * Timing hit type. 41 | */ 42 | TIMING("timing"); 43 | 44 | @NotNull 45 | private final String requestValue; 46 | 47 | HitType(@NotNull final String requestValue) { 48 | this.requestValue = requestValue; 49 | } 50 | 51 | @Override 52 | public @NotNull String toString() { 53 | return requestValue; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/annotation/BackgroundThread.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /** 6 | * The annotation to mark a method that it can be executed in the background thread. 7 | */ 8 | @Inherited 9 | @Documented 10 | @Retention(RetentionPolicy.CLASS) 11 | @Target(ElementType.METHOD) 12 | public @interface BackgroundThread { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/annotation/FromAnyThread.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.annotation; 2 | 3 | import java.lang.annotation.Documented; 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Inherited; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | /** 11 | * The annotation to mark a method that it can be executed in any thread. 12 | */ 13 | @Inherited 14 | @Documented 15 | @Retention(RetentionPolicy.CLASS) 16 | @Target(ElementType.METHOD) 17 | public @interface FromAnyThread { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/annotation/FxThread.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.annotation; 2 | 3 | import java.lang.annotation.Documented; 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Inherited; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | /** 11 | * The annotation to mark a method that it should be executed in the FX thread. 12 | */ 13 | @Inherited 14 | @Documented 15 | @Retention(RetentionPolicy.CLASS) 16 | @Target(ElementType.METHOD) 17 | public @interface FxThread { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/annotation/JmeThread.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.annotation; 2 | 3 | import java.lang.annotation.Documented; 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Inherited; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | /** 11 | * The annotation to mark a method that it should be executed in the JME thread. 12 | */ 13 | @Inherited 14 | @Documented 15 | @Retention(RetentionPolicy.CLASS) 16 | @Target(ElementType.METHOD) 17 | public @interface JmeThread { 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/control/brush/BrushControl.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.control.brush; 2 | 3 | import com.jme3.scene.control.Control; 4 | 5 | /** 6 | * The interface to implement a brush. 7 | * 8 | * @author JavaSaBr 9 | */ 10 | public interface BrushControl extends Control { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/control/brush/editor/scene/SceneEditorBrushControl.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.control.brush.editor.scene; 2 | 3 | import com.ss.editor.control.brush.BrushControl; 4 | 5 | /** 6 | * The interface to implement a brush in a scene editor. 7 | * 8 | * @author JavaSaBr 9 | */ 10 | public interface SceneEditorBrushControl extends BrushControl { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/control/brush/editor/scene/impl/AbstractSceneEditorBrushControl.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.control.brush.editor.scene.impl; 2 | 3 | import com.jme3.renderer.RenderManager; 4 | import com.jme3.renderer.ViewPort; 5 | import com.jme3.scene.control.AbstractControl; 6 | import com.ss.editor.control.brush.editor.scene.SceneEditorBrushControl; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * The base implementation of {@link SceneEditorBrushControl}. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class AbstractSceneEditorBrushControl extends AbstractControl implements SceneEditorBrushControl { 15 | 16 | @Override 17 | protected void controlUpdate(final float tpf) { 18 | 19 | } 20 | 21 | @Override 22 | protected void controlRender(@NotNull final RenderManager renderManager, @NotNull final ViewPort viewPort) { 23 | 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/control/painting/PaintingInput.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.control.painting; 2 | 3 | /** 4 | * The enum with list of painting inputs. 5 | * 6 | * @author JavaSaBr 7 | */ 8 | public enum PaintingInput { 9 | /** 10 | * Mouse primary editing input. 11 | */ 12 | MOUSE_PRIMARY, 13 | /** 14 | * Mouse secondary editing input. 15 | */ 16 | MOUSE_SECONDARY, 17 | /** 18 | * Mouse secondary with ctrl editing input. 19 | */ 20 | MOUSE_SECONDARY_WITH_CTRL, 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/control/transform/TransformControl.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.control.transform; 2 | 3 | import com.jme3.collision.CollisionResult; 4 | import com.jme3.scene.control.Control; 5 | 6 | import com.ss.editor.annotation.JmeThread; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * The interface to implement a transformation control. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public interface TransformControl extends Control { 15 | 16 | /** 17 | * Set a collision result. 18 | * 19 | * @param colResult the col result 20 | */ 21 | @JmeThread 22 | void setCollisionPlane(@NotNull final CollisionResult colResult); 23 | 24 | /** 25 | * Handle transformation. 26 | */ 27 | @JmeThread 28 | void processTransform(); 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/executor/EditorTaskExecutor.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.executor; 2 | 3 | import com.ss.editor.annotation.FromAnyThread; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | /** 7 | * The interface to implement a task executor. 8 | * 9 | * @author JavaSaBr 10 | */ 11 | public interface EditorTaskExecutor { 12 | 13 | /** 14 | * Add the new task. 15 | * 16 | * @param task the new task. 17 | */ 18 | @FromAnyThread 19 | void execute(@NotNull Runnable task); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/file/converter/FileConverter.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.file.converter; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | import java.nio.file.Path; 8 | 9 | /** 10 | * The interface to implement a file converter. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public interface FileConverter { 15 | 16 | /** 17 | * Convert the source file. 18 | * 19 | * @param source the source file. 20 | */ 21 | @FxThread 22 | void convert(@NotNull Path source); 23 | 24 | /** 25 | * Convert the source file to destination file. 26 | * 27 | * @param source the source file. 28 | * @param destination the destination file. 29 | */ 30 | @FxThread 31 | void convert(@NotNull Path source, @NotNull Path destination); 32 | 33 | /** 34 | * Get the target extension. 35 | * 36 | * @return the result file format name. 37 | */ 38 | @FxThread 39 | @NotNull String getTargetExtension(); 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/filter/EditorFxaaFilter.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.filter; 2 | 3 | import com.jme3.post.filters.FXAAFilter; 4 | import com.jme3.texture.Texture; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | /** 8 | * The changed implementation of {@link FXAAFilter} for this editor. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class EditorFxaaFilter extends FXAAFilter { 13 | 14 | @Override 15 | protected boolean isRequiresDepthTexture() { 16 | return true; 17 | } 18 | 19 | @Override 20 | protected void setDepthTexture(@NotNull final Texture depthTexture) { 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/UObject.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model; 2 | 3 | /** 4 | * The interface to implement uniq object. 5 | * 6 | * @author JavaSaBr 7 | */ 8 | public interface UObject { 9 | 10 | /** 11 | * Get the object id. 12 | * 13 | * @return the uniq id. 14 | */ 15 | long getObjectId(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/editor/Editing3DProvider.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.editor; 2 | 3 | /** 4 | * The interface to implement a provider things to edit 3D scene. 5 | * 6 | * @author JavaSaBr 7 | */ 8 | public interface Editing3DProvider extends Editor3DProvider { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/editor/Editor3DProvider.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.editor; 2 | 3 | import com.jme3.scene.Node; 4 | import com.ss.editor.annotation.JmeThread; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | /** 8 | * The interface to implement a provider. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public interface Editor3DProvider { 13 | 14 | /** 15 | * Get a cursor node in 3D editor. 16 | * 17 | * @return the cursor node. 18 | */ 19 | @JmeThread 20 | @NotNull Node getCursorNode(); 21 | 22 | /** 23 | * Get a node to place some markers in 3D editor. 24 | * 25 | * @return the markers node. 26 | */ 27 | @JmeThread 28 | @NotNull Node getMarkersNode(); 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/editor/ModelEditingProvider.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.editor; 2 | 3 | /** 4 | * The interface to implement a provider to edit models. 5 | * 6 | * @author JavaSaBr 7 | */ 8 | public interface ModelEditingProvider extends Editing3DProvider { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/editor/Painting3DProvider.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.editor; 2 | 3 | /** 4 | * The interface to implement a provider things to paint 3D. 5 | * 6 | * @author JavaSaBr 7 | */ 8 | public interface Painting3DProvider extends Editor3DProvider { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/node/material/ColorsSettings.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.node.material; 2 | 3 | import com.jme3.material.Material; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | /** 7 | * The colors settings of a material. 8 | * 9 | * @author JavaSaBr 10 | */ 11 | public class ColorsSettings extends MaterialSettings { 12 | 13 | public ColorsSettings(@NotNull final Material material) { 14 | super(material); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/node/material/MaterialSettings.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.node.material; 2 | 3 | import com.jme3.material.Material; 4 | import com.ss.editor.annotation.FromAnyThread; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | /** 8 | * The base class of material settings. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class MaterialSettings { 13 | 14 | /** 15 | * The material. 16 | */ 17 | @NotNull 18 | private final Material material; 19 | 20 | public MaterialSettings(@NotNull final Material material) { 21 | this.material = material; 22 | } 23 | 24 | /** 25 | * Get the material. 26 | * 27 | * @return the material. 28 | */ 29 | @FromAnyThread 30 | public @NotNull Material getMaterial() { 31 | return material; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/node/material/OtherSettings.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.node.material; 2 | 3 | import com.jme3.material.Material; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | /** 7 | * The other settings of a material. 8 | * 9 | * @author JavaSaBr 10 | */ 11 | public class OtherSettings extends MaterialSettings { 12 | 13 | public OtherSettings(@NotNull final Material material) { 14 | super(material); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/node/material/RenderSettings.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.node.material; 2 | 3 | import com.jme3.material.Material; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | /** 7 | * The render settings of a material. 8 | * 9 | * @author JavaSaBr 10 | */ 11 | public class RenderSettings extends MaterialSettings { 12 | 13 | public RenderSettings(@NotNull final Material material) { 14 | super(material); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/node/material/RootMaterialSettings.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.node.material; 2 | 3 | import com.jme3.material.Material; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | /** 7 | * The root settings of a material. 8 | * 9 | * @author JavaSaBr 10 | */ 11 | public class RootMaterialSettings extends MaterialSettings { 12 | 13 | public RootMaterialSettings(@NotNull final Material material) { 14 | super(material); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/node/material/TexturesSettings.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.node.material; 2 | 3 | import com.jme3.material.Material; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | /** 7 | * The texture's settings of a material. 8 | * 9 | * @author JavaSaBr 10 | */ 11 | public class TexturesSettings extends MaterialSettings { 12 | 13 | public TexturesSettings(@NotNull final Material material) { 14 | super(material); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/scene/NoSelection.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.scene; 2 | 3 | /** 4 | * The interface to mark an object that it should be without seleciton. 5 | * 6 | * @author JavaSaBr 7 | */ 8 | public interface NoSelection { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/scene/SceneAppStatesNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.scene; 2 | 3 | import com.jme3.util.SafeArrayList; 4 | import com.ss.editor.annotation.FxThread; 5 | import com.ss.editor.extension.scene.SceneNode; 6 | import com.ss.editor.extension.scene.app.state.SceneAppState; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * The scene app states node. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class SceneAppStatesNode { 15 | 16 | /** 17 | * The scene node. 18 | */ 19 | @NotNull 20 | private final SceneNode sceneNode; 21 | 22 | public SceneAppStatesNode(@NotNull final SceneNode sceneNode) { 23 | this.sceneNode = sceneNode; 24 | } 25 | 26 | /** 27 | * Get the scene node. 28 | * 29 | * @return the scene node. 30 | */ 31 | @FxThread 32 | public @NotNull SceneNode getSceneNode() { 33 | return sceneNode; 34 | } 35 | 36 | /** 37 | * Get the scene app states. 38 | * 39 | * @return the scene app states. 40 | */ 41 | @FxThread 42 | public @NotNull SafeArrayList getAppStates() { 43 | return sceneNode.getAppStates(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/scene/SceneFiltersNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.scene; 2 | 3 | import com.jme3.util.SafeArrayList; 4 | import com.ss.editor.annotation.FxThread; 5 | import com.ss.editor.extension.scene.SceneNode; 6 | import com.ss.editor.extension.scene.filter.SceneFilter; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * The scene filters node. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class SceneFiltersNode { 15 | 16 | /** 17 | * The scene node. 18 | */ 19 | @NotNull 20 | private final SceneNode sceneNode; 21 | 22 | public SceneFiltersNode(@NotNull final SceneNode sceneNode) { 23 | this.sceneNode = sceneNode; 24 | } 25 | 26 | /** 27 | * Get the scene node. 28 | * 29 | * @return the scene node. 30 | */ 31 | @FxThread 32 | public @NotNull SceneNode getSceneNode() { 33 | return sceneNode; 34 | } 35 | 36 | /** 37 | * Get the scene filters. 38 | * 39 | * @return the scene filters. 40 | */ 41 | @FxThread 42 | public @NotNull SafeArrayList getFilters() { 43 | return sceneNode.getFilters(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/scene/VisibleOnlyWhenSelected.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.scene; 2 | 3 | /** 4 | * The interface to mak object that it need to be visible only when it's selected. 5 | * 6 | * @author JavaSaBr 7 | */ 8 | public interface VisibleOnlyWhenSelected { 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/scene/WrapperNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.scene; 2 | 3 | import com.ss.editor.annotation.FromAnyThread; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | /** 7 | * The interface to mark some object about that the object has another object to update. 8 | * 9 | * @author JavaSaBr 10 | */ 11 | public interface WrapperNode { 12 | 13 | @FromAnyThread 14 | @NotNull Object getWrappedObject(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/undo/EditorOperation.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.undo; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | /** 8 | * The interface for implementing an operation in an editor. 9 | * 10 | * @author JavaSabr 11 | */ 12 | public interface EditorOperation { 13 | 14 | /** 15 | * Redo this operation for the editor. 16 | * 17 | * @param editor the editor. 18 | */ 19 | @FxThread 20 | default void redo(@NotNull final UndoableEditor editor) { 21 | } 22 | 23 | /** 24 | * Undo this operation for the editor. 25 | * 26 | * @param editor the editor. 27 | */ 28 | @FxThread 29 | default void undo(@NotNull final UndoableEditor editor) { 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/undo/UndoableEditor.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.undo; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | import com.ss.editor.annotation.FromAnyThread; 5 | 6 | /** 7 | * The interface to implement an undoable editor. 8 | * 9 | * @author JavaSaBr 10 | */ 11 | public interface UndoableEditor { 12 | 13 | /** 14 | * Increment changes count. 15 | */ 16 | @FxThread 17 | void incrementChange(); 18 | 19 | /** 20 | * Decrement changes count. 21 | */ 22 | @FxThread 23 | void decrementChange(); 24 | 25 | /** 26 | * Redo the last operation. 27 | */ 28 | @FromAnyThread 29 | void redo(); 30 | 31 | /** 32 | * Undo the last operation. 33 | */ 34 | @FromAnyThread 35 | void undo(); 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/model/undo/editor/ModelChangeConsumer.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.model.undo.editor; 2 | 3 | import com.jme3.scene.Spatial; 4 | import com.ss.editor.annotation.FxThread; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | /** 8 | * The interface to notify about any changes of models. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public interface ModelChangeConsumer extends ChangeConsumer { 13 | 14 | /** 15 | * Get the current model. 16 | * 17 | * @return the current model of the editor. 18 | */ 19 | @FxThread 20 | @NotNull Spatial getCurrentModel(); 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/part3d/editor/Editor3DPart.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.part3d.editor; 2 | 3 | import com.jme3.app.state.AppState; 4 | 5 | /** 6 | * The interface to implement a 3D part of editor. 7 | * 8 | * @author JavaSaBr 9 | */ 10 | public interface Editor3DPart extends AppState { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/part3d/editor/impl/material/MaterialEditor3DPart.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.part3d.editor.impl.material; 2 | 3 | import com.ss.editor.plugin.api.editor.material.BaseMaterialEditor3DPart; 4 | import com.ss.editor.ui.component.editor.impl.material.MaterialFileEditor; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | /** 8 | * The implementation the 3D part of the {@link MaterialFileEditor} but it can be reused in other cases. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class MaterialEditor3DPart extends BaseMaterialEditor3DPart { 13 | 14 | public MaterialEditor3DPart(@NotNull final MaterialFileEditor fileEditor) { 15 | super(fileEditor); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/part3d/editor/impl/scene/handler/PhysicsControlTransformationHandler.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.part3d.editor.impl.scene.handler; 2 | 3 | import com.jme3.scene.Spatial; 4 | import com.ss.editor.extension.util.JmbExtUtils; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | import java.util.function.Consumer; 8 | 9 | /** 10 | * The handler to updated positions for physics controls on spatial transformations. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class PhysicsControlTransformationHandler implements Consumer { 15 | 16 | @Override 17 | public void accept(@NotNull final Spatial spatial) { 18 | JmbExtUtils.resetPhysicsControlPositions(spatial); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/plugin/api/editor/Advanced3DFileEditor.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.plugin.api.editor; 2 | 3 | import static com.ss.editor.ui.component.editor.FileEditorUtils.loadCameraState; 4 | import com.ss.editor.annotation.FxThread; 5 | import com.ss.editor.plugin.api.editor.part3d.Advanced3DEditorPart; 6 | import com.ss.editor.ui.component.editor.state.impl.Editor3DEditorState; 7 | 8 | /** 9 | * The advanced implementation of 3D editor. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public abstract class Advanced3DFileEditor 14 | extends Base3DFileEditor { 15 | 16 | @Override 17 | @FxThread 18 | protected void loadState() { 19 | super.loadState(); 20 | 21 | final S editorState = getEditorState(); 22 | if (editorState != null) { 23 | loadCameraState(editorState, getEditor3DPart()); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/plugin/api/editor/BaseFileEditorWithoutState.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.plugin.api.editor; 2 | 3 | import com.ss.editor.ui.component.editor.state.impl.VoidEditorState; 4 | 5 | /** 6 | * The base implementation of {@link com.ss.editor.ui.component.editor.FileEditor} without 7 | * {@link com.ss.editor.ui.component.editor.state.EditorState}. 8 | * 9 | * @author JavaSaBr 10 | */ 11 | public abstract class BaseFileEditorWithoutState extends BaseFileEditor { 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/plugin/api/editor/part3d/AdvancedPbrWithStudioSky3DEditorPart.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.plugin.api.editor.part3d; 2 | 3 | import com.jme3.asset.AssetManager; 4 | import com.jme3.scene.Geometry; 5 | import com.jme3.scene.Node; 6 | import com.jme3.util.SkyFactory; 7 | import com.ss.editor.plugin.api.editor.Advanced3DFileEditor; 8 | import com.ss.editor.util.EditorUtil; 9 | import org.jetbrains.annotations.NotNull; 10 | 11 | /** 12 | * The advanced implementation of 3D part of an editor with PBR Light probe and Studio Sky. 13 | * 14 | * @author JavaSaBr 15 | */ 16 | public class AdvancedPbrWithStudioSky3DEditorPart extends AdvancedPbr3DEditorPart { 17 | 18 | public AdvancedPbrWithStudioSky3DEditorPart(@NotNull final T fileEditor) { 19 | super(fileEditor); 20 | 21 | final AssetManager assetManager = EditorUtil.getAssetManager(); 22 | final Geometry sky = (Geometry) SkyFactory.createSky(assetManager, "graphics/textures/sky/studio.hdr", 23 | SkyFactory.EnvMapType.EquirectMap); 24 | 25 | final Node stateNode = getStateNode(); 26 | stateNode.attachChild(sky); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/plugin/api/editor/part3d/Base3DEditorPart.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.plugin.api.editor.part3d; 2 | 3 | import com.ss.editor.part3d.editor.impl.AbstractEditor3DPart; 4 | import com.ss.editor.ui.component.editor.FileEditor; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | /** 8 | * The base implementation of 3D part of an editor. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class Base3DEditorPart extends AbstractEditor3DPart { 13 | 14 | public Base3DEditorPart(@NotNull final T fileEditor) { 15 | super(fileEditor); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/plugin/api/property/control/EnumPropertyEditorControl.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.plugin.api.property.control; 2 | 3 | import static com.ss.rlib.common.util.ObjectUtils.notNull; 4 | import com.ss.editor.plugin.api.property.PropertyDefinition; 5 | import com.ss.editor.util.EditorUtil; 6 | import com.ss.rlib.common.util.ClassUtils; 7 | import com.ss.rlib.common.util.VarTable; 8 | import org.jetbrains.annotations.NotNull; 9 | 10 | /** 11 | * The property control to edit enum values. 12 | * 13 | * @author JavaSaBr 14 | */ 15 | public class EnumPropertyEditorControl> extends ComboBoxPropertyEditorControl { 16 | 17 | protected EnumPropertyEditorControl( 18 | @NotNull VarTable vars, 19 | @NotNull PropertyDefinition definition, 20 | @NotNull Runnable validationCallback 21 | ) { 22 | super(vars, definition, validationCallback); 23 | 24 | var defaultValue = ClassUtils.unsafeCast(notNull(definition.getDefaultValue())); 25 | var enumConstants = EditorUtil.getEnumValues(defaultValue.getClass()); 26 | 27 | getComboBox().getItems() 28 | .addAll(enumConstants); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/plugin/api/property/control/ObjectFromListPropertyEditorControl.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.plugin.api.property.control; 2 | 3 | import com.ss.editor.plugin.api.property.PropertyDefinition; 4 | import com.ss.rlib.common.util.VarTable; 5 | import com.ss.rlib.common.util.array.Array; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The control to choose object value from list. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class ObjectFromListPropertyEditorControl extends ComboBoxPropertyEditorControl { 14 | 15 | public ObjectFromListPropertyEditorControl( 16 | @NotNull VarTable vars, 17 | @NotNull PropertyDefinition definition, 18 | @NotNull Runnable validationCallback, 19 | @NotNull Array options 20 | ) { 21 | super(vars, definition, validationCallback); 22 | var comboBox = getComboBox(); 23 | options.forEach(comboBox.getItems(), 24 | (option, items) -> items.add(option)); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/remote/control/client/ClientCommand.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.remote.control.client; 2 | 3 | import com.ss.editor.annotation.BackgroundThread; 4 | import com.ss.rlib.common.network.ConnectionOwner; 5 | import com.ss.rlib.common.network.packet.impl.AbstractReadablePacket; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | import java.nio.ByteBuffer; 9 | 10 | /** 11 | * The base implementation of a command. 12 | * 13 | * @author JavaSaBr 14 | */ 15 | public abstract class ClientCommand extends AbstractReadablePacket { 16 | 17 | @Override 18 | @BackgroundThread 19 | protected abstract void readImpl(@NotNull ConnectionOwner owner, @NotNull ByteBuffer buffer); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/remote/control/client/LoadLocalLibrariesClientCommand.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.remote.control.client; 2 | 3 | import com.ss.editor.annotation.BackgroundThread; 4 | import com.ss.editor.manager.ClasspathManager; 5 | import com.ss.rlib.common.network.ConnectionOwner; 6 | import com.ss.rlib.common.network.annotation.PacketDescription; 7 | import com.ss.rlib.common.util.array.ArrayFactory; 8 | import org.jetbrains.annotations.NotNull; 9 | 10 | import java.nio.ByteBuffer; 11 | import java.nio.file.Path; 12 | import java.nio.file.Paths; 13 | 14 | /** 15 | * The command to load local libraries in jMB. 16 | * 17 | * @author JavaSaBr 18 | */ 19 | @PacketDescription(id = 2) 20 | public class LoadLocalLibrariesClientCommand extends ClientCommand { 21 | 22 | @Override 23 | @BackgroundThread 24 | protected void readImpl(@NotNull ConnectionOwner owner, @NotNull ByteBuffer buffer) { 25 | 26 | var libraries = ArrayFactory.newArray(Path.class); 27 | 28 | for (int i = 0, length = readInt(buffer); i < length; i++) { 29 | libraries.add(Paths.get(readString(buffer))); 30 | } 31 | 32 | ClasspathManager.getInstance(). 33 | loadLocalLibraries(libraries); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/FxConstants.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui; 2 | 3 | /** 4 | * The interface with FX constants. 5 | * 6 | * @author JavaSaBr 7 | */ 8 | public interface FxConstants { 9 | 10 | int PROPERTY_LIST_OFFSET = 17; 11 | 12 | int LIST_CELL_HEIGHT = 26; 13 | int RESOURCE_TREE_CELL_HEIGHT = 22; 14 | 15 | double DIALOG_LIST_WIDTH_PERCENT = 0.94; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/ScreenComponent.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | import com.ss.editor.annotation.FromAnyThread; 5 | import org.jetbrains.annotations.Nullable; 6 | 7 | /** 8 | * The interface to implement a scene component. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public interface ScreenComponent { 13 | 14 | /** 15 | * Gets the component id. 16 | * 17 | * @return the component id. 18 | */ 19 | @FromAnyThread 20 | default @Nullable String getComponentId() { 21 | return null; 22 | } 23 | 24 | /** 25 | * Notify about finishing building the result scene. 26 | */ 27 | @FxThread 28 | default void notifyFinishBuild() { 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/asset/AssetBarComponent.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.asset; 2 | 3 | import com.ss.editor.ui.Icons; 4 | import com.ss.editor.ui.event.FxEventManager; 5 | import com.ss.editor.ui.event.impl.RequestedRefreshAssetEvent; 6 | import com.ss.rlib.fx.util.FXUtils; 7 | import javafx.scene.control.Button; 8 | import javafx.scene.image.ImageView; 9 | import javafx.scene.layout.HBox; 10 | 11 | /** 12 | * The toolbar of the {@link AssetComponent} with actions. 13 | * 14 | * @author JavaSaBr. 15 | */ 16 | public class AssetBarComponent extends HBox { 17 | 18 | private static final FxEventManager FX_EVENT_MANAGER = FxEventManager.getInstance(); 19 | 20 | /** 21 | * Instantiates a new Asset bar component. 22 | */ 23 | public AssetBarComponent() { 24 | 25 | final Button refreshAction = new Button(); 26 | refreshAction.setGraphic(new ImageView(Icons.REFRESH_18)); 27 | refreshAction.setOnAction(event -> FX_EVENT_MANAGER.notify(new RequestedRefreshAssetEvent())); 28 | 29 | FXUtils.addToPane(refreshAction, this); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/asset/tree/context/menu/action/OpenFileAction.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.asset.tree.context.menu.action; 2 | 3 | import com.ss.editor.Messages; 4 | import com.ss.editor.annotation.FxThread; 5 | import com.ss.editor.ui.component.asset.tree.resource.ResourceElement; 6 | import com.ss.editor.ui.event.impl.RequestedOpenFileEvent; 7 | import javafx.event.ActionEvent; 8 | import org.jetbrains.annotations.NotNull; 9 | import org.jetbrains.annotations.Nullable; 10 | 11 | /** 12 | * The action to open a file. 13 | * 14 | * @author JavaSaBr 15 | */ 16 | public class OpenFileAction extends FileAction { 17 | 18 | public OpenFileAction(@NotNull ResourceElement element) { 19 | super(element); 20 | } 21 | 22 | @Override 23 | @FxThread 24 | protected @NotNull String getName() { 25 | return Messages.ASSET_COMPONENT_RESOURCE_TREE_CONTEXT_MENU_OPEN_FILE; 26 | } 27 | 28 | @Override 29 | @FxThread 30 | protected void execute(@Nullable ActionEvent event) { 31 | super.execute(event); 32 | FX_EVENT_MANAGER.notify(new RequestedOpenFileEvent(getElement().getFile())); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/asset/tree/context/menu/filler/AssetTreeMultiContextMenuFiller.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.asset.tree.context.menu.filler; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | import com.ss.editor.ui.component.asset.tree.resource.ResourceElement; 5 | import com.ss.rlib.common.util.array.Array; 6 | import javafx.scene.control.MenuItem; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | import java.util.List; 10 | import java.util.function.Predicate; 11 | 12 | /** 13 | * The interface to implement a context menu filler for multiply elements. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | @FunctionalInterface 18 | public interface AssetTreeMultiContextMenuFiller { 19 | 20 | /** 21 | * Fill the context menu of the resource element. 22 | * 23 | * @param elements the list of resource elements. 24 | * @param items the container of items of a context menu. 25 | * @param actionTester the action tester. 26 | */ 27 | @FxThread 28 | void fill(@NotNull final Array elements, @NotNull final List items, 29 | @NotNull final Predicate> actionTester); 30 | } -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/asset/tree/context/menu/filler/AssetTreeSingleContextMenuFiller.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.asset.tree.context.menu.filler; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | import com.ss.editor.ui.component.asset.tree.resource.ResourceElement; 5 | import javafx.scene.control.MenuItem; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | import java.util.List; 9 | import java.util.function.Predicate; 10 | 11 | /** 12 | * The interface to implement a context menu filler. 13 | * 14 | * @author JavaSaBr 15 | */ 16 | @FunctionalInterface 17 | public interface AssetTreeSingleContextMenuFiller { 18 | 19 | /** 20 | * Fill the context menu of the resource element. 21 | * 22 | * @param element the resource element. 23 | * @param items the container of items of a context menu. 24 | * @param actionTester the action tester. 25 | */ 26 | @FxThread 27 | void fill(@NotNull final ResourceElement element, @NotNull final List items, 28 | @NotNull final Predicate> actionTester); 29 | } -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/asset/tree/resource/FileResourceElement.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.asset.tree.resource; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | import java.nio.file.Path; 6 | 7 | /** 8 | * The presentation of a file. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class FileResourceElement extends ResourceElement { 13 | 14 | public FileResourceElement(@NotNull final Path file) { 15 | super(file); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/asset/tree/resource/ImageResourceElement.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.asset.tree.resource; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | import com.ss.editor.ui.tooltip.ImagePreview; 5 | import javafx.scene.control.Tooltip; 6 | import org.jetbrains.annotations.NotNull; 7 | import org.jetbrains.annotations.Nullable; 8 | 9 | import java.nio.file.Path; 10 | 11 | /** 12 | * The presentation of an image. 13 | * 14 | * @author JavaSaBr 15 | */ 16 | public class ImageResourceElement extends FileResourceElement { 17 | 18 | public ImageResourceElement(@NotNull final Path file) { 19 | super(file); 20 | } 21 | 22 | @Override 23 | @FxThread 24 | public @Nullable Tooltip createToolTip() { 25 | return new ImagePreview(getFile()); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/asset/tree/resource/LoadingResourceElement.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.asset.tree.resource; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | import java.nio.file.Paths; 6 | 7 | /** 8 | * The implementing of resource element to show loading process. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class LoadingResourceElement extends ResourceElement { 13 | 14 | @NotNull 15 | private static final LoadingResourceElement INSTANCE = new LoadingResourceElement(); 16 | 17 | /** 18 | * Gets instance. 19 | * 20 | * @return the instance 21 | */ 22 | public static LoadingResourceElement getInstance() { 23 | return INSTANCE; 24 | } 25 | 26 | private LoadingResourceElement() { 27 | super(Paths.get("./")); 28 | } 29 | 30 | @Override 31 | public String toString() { 32 | return "LoadingResourceElement"; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/asset/tree/resource/ResourceElementFactory.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.asset.tree.resource; 2 | 3 | import com.ss.editor.annotation.FromAnyThread; 4 | import com.ss.editor.manager.JavaFxImageManager; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | import java.nio.file.Files; 8 | import java.nio.file.Path; 9 | 10 | /** 11 | * The factory to create resource elements. 12 | * 13 | * @author JavaSaBr 14 | */ 15 | public class ResourceElementFactory { 16 | 17 | /** 18 | * Create a resource element for the file. 19 | * 20 | * @param file the file. 21 | * @return the created resource element. 22 | */ 23 | @FromAnyThread 24 | public static @NotNull ResourceElement createFor(@NotNull final Path file) { 25 | if (Files.isDirectory(file)) { 26 | return new FolderResourceElement(file); 27 | } else if (JavaFxImageManager.isImage(file)) { 28 | return new ImageResourceElement(file); 29 | } else { 30 | return new FileResourceElement(file); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/bar/action/AboutAction.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.bar.action; 2 | 3 | import com.ss.editor.Messages; 4 | import com.ss.editor.ui.dialog.about.AboutDialog; 5 | import javafx.scene.control.MenuItem; 6 | 7 | /** 8 | * The action to open the About dialog. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class AboutAction extends MenuItem { 13 | 14 | /** 15 | * Instantiates a new AboutAction. 16 | */ 17 | public AboutAction() { 18 | super(Messages.EDITOR_MENU_HELP_ABOUT); 19 | setOnAction(event -> process()); 20 | } 21 | 22 | /** 23 | * Open the dialog. 24 | */ 25 | private void process() { 26 | final AboutDialog dialog = new AboutDialog(); 27 | dialog.show(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/bar/action/ClearAssetCacheAction.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.bar.action; 2 | 3 | import com.jme3.asset.AssetManager; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.manager.ExecutorManager; 6 | import com.ss.editor.util.EditorUtil; 7 | import javafx.scene.control.MenuItem; 8 | 9 | /** 10 | * The action to clean asset cache. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class ClearAssetCacheAction extends MenuItem { 15 | 16 | /** 17 | * Instantiates a new ClearAssetCacheAction. 18 | */ 19 | public ClearAssetCacheAction() { 20 | super(Messages.EDITOR_MENU_OTHER_CLEAR_ASSET_CACHE); 21 | setOnAction(event -> process()); 22 | } 23 | 24 | /** 25 | * Clear asset cache. 26 | */ 27 | private void process() { 28 | ExecutorManager.getInstance().addJmeTask(() -> { 29 | final AssetManager assetManager = EditorUtil.getAssetManager(); 30 | assetManager.clearCache(); 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/bar/action/ExitAction.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.bar.action; 2 | 3 | import com.ss.editor.Messages; 4 | import javafx.application.Platform; 5 | import javafx.scene.control.MenuItem; 6 | 7 | /** 8 | * The action to exit from this Editor. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class ExitAction extends MenuItem { 13 | 14 | /** 15 | * Instantiates a new ExitAction. 16 | */ 17 | public ExitAction() { 18 | super(Messages.EDITOR_MENU_FILE_EXIT); 19 | setOnAction(event -> process()); 20 | } 21 | 22 | /** 23 | * Exit. 24 | */ 25 | private void process() { 26 | Platform.exit(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/bar/action/OpenPluginsAction.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.bar.action; 2 | 3 | import com.ss.editor.Messages; 4 | import com.ss.editor.ui.dialog.plugin.PluginsDialog; 5 | import javafx.scene.control.MenuItem; 6 | 7 | /** 8 | * The action to open plugins dialog. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class OpenPluginsAction extends MenuItem { 13 | 14 | public OpenPluginsAction() { 15 | super(Messages.EDITOR_MENU_OTHER_PLUGINS); 16 | setOnAction(event -> process()); 17 | } 18 | 19 | /** 20 | * Open the plugin dialog. 21 | */ 22 | private void process() { 23 | final PluginsDialog dialog = new PluginsDialog(); 24 | dialog.show(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/bar/action/OpenSettingsAction.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.bar.action; 2 | 3 | import com.ss.editor.Messages; 4 | import com.ss.editor.ui.dialog.SettingsDialog; 5 | import javafx.scene.control.MenuItem; 6 | 7 | /** 8 | * The action to open the dialog with settings. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class OpenSettingsAction extends MenuItem { 13 | 14 | /** 15 | * Instantiates a new OpenSettingsAction. 16 | */ 17 | public OpenSettingsAction() { 18 | super(Messages.EDITOR_MENU_OTHER_SETTINGS); 19 | setOnAction(event -> process()); 20 | } 21 | 22 | /** 23 | * Open the dialog. 24 | */ 25 | private void process() { 26 | final SettingsDialog dialog = new SettingsDialog(); 27 | dialog.show(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/creator/FileCreator.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.creator; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | import java.nio.file.Path; 6 | 7 | /** 8 | * The interface to implement a some file creator. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public interface FileCreator { 13 | 14 | /** 15 | * Start creating near the file. 16 | * 17 | * @param file the file. 18 | */ 19 | void start(@NotNull final Path file); 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/creator/impl/EmptyFileCreator.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.creator.impl; 2 | 3 | import com.ss.editor.Messages; 4 | import com.ss.editor.annotation.FromAnyThread; 5 | import com.ss.editor.ui.component.creator.FileCreatorDescription; 6 | import com.ss.rlib.common.util.StringUtils; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * The creator to create an empty file. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class EmptyFileCreator extends AbstractFileCreator { 15 | 16 | /** 17 | * The constant DESCRIPTION. 18 | */ 19 | @NotNull 20 | public static final FileCreatorDescription DESCRIPTION = new FileCreatorDescription(); 21 | 22 | static { 23 | DESCRIPTION.setFileDescription(Messages.EMPTY_FILE_CREATOR_DESCRIPTION); 24 | DESCRIPTION.setConstructor(EmptyFileCreator::new); 25 | } 26 | 27 | @Override 28 | @FromAnyThread 29 | protected @NotNull String getTitleText() { 30 | return Messages.EMPTY_FILE_CREATOR_TITLE; 31 | } 32 | 33 | 34 | @Override 35 | @FromAnyThread 36 | protected @NotNull String getFileExtension() { 37 | return StringUtils.EMPTY; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/editor/state/EditorToolConfig.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.editor.state; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | 5 | /** 6 | * The interface implementing a state of editor tool. 7 | * 8 | * @author JavaSaBr 9 | */ 10 | public interface EditorToolConfig { 11 | 12 | /** 13 | * Gets tool width. 14 | * 15 | * @return the tool width 16 | */ 17 | @FxThread 18 | int getToolWidth(); 19 | 20 | /** 21 | * Sets tool width. 22 | * 23 | * @param toolWidth the tool width 24 | */ 25 | @FxThread 26 | void setToolWidth(final int toolWidth); 27 | 28 | /** 29 | * Is tool collapsed boolean. 30 | * 31 | * @return the boolean 32 | */ 33 | @FxThread 34 | boolean isToolCollapsed(); 35 | 36 | /** 37 | * Sets tool collapsed. 38 | * 39 | * @param toolCollapsed the tool collapsed 40 | */ 41 | @FxThread 42 | void setToolCollapsed(final boolean toolCollapsed); 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/editor/state/impl/AdditionalEditorState.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.editor.state.impl; 2 | 3 | import com.ss.editor.ui.component.editor.state.EditorState; 4 | 5 | /** 6 | * The interface to implement additional state of an editor. 7 | * 8 | * @author JavaSaBr 9 | */ 10 | public interface AdditionalEditorState extends EditorState { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/editor/state/impl/VoidEditorState.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.editor.state.impl; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | import com.ss.editor.ui.component.editor.state.EditorState; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | import java.util.function.Supplier; 8 | 9 | /** 10 | * The empty implementation of editor state. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public final class VoidEditorState implements EditorState { 15 | 16 | /** 17 | * The constant serialVersionUID. 18 | */ 19 | public static final long serialVersionUID = 1; 20 | 21 | private VoidEditorState() { 22 | throw new RuntimeException(); 23 | } 24 | 25 | @FxThread 26 | @Override 27 | public void setChangeHandler(@NotNull final Runnable handle) { 28 | } 29 | 30 | @FxThread 31 | @Override 32 | public @NotNull T getOrCreateAdditionalState(@NotNull final Class type, 33 | @NotNull final Supplier factory) { 34 | throw new RuntimeException(); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/log/OutputStreamWrapper.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.log; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | import java.io.OutputStream; 6 | import java.io.PrintStream; 7 | import java.util.function.Consumer; 8 | 9 | /** 10 | * The type Output stream wrapper. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class OutputStreamWrapper extends PrintStream { 15 | 16 | @NotNull 17 | private final Consumer consumer; 18 | 19 | public OutputStreamWrapper(@NotNull final OutputStream out, @NotNull final Consumer consumer) { 20 | super(out); 21 | this.consumer = consumer; 22 | } 23 | 24 | @Override 25 | public void write(final byte[] buf, final int off, final int len) { 26 | consumer.accept(new String(buf, off, len)); 27 | super.write(buf, off, len); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/painting/impl/PaintingBrushType.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.painting.impl; 2 | 3 | /** 4 | * The enum of brush types. 5 | * 6 | * @author JavaSaBr 7 | */ 8 | public enum PaintingBrushType { 9 | /** 10 | * Sphere brush type. 11 | */ 12 | SPHERE, 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/tab/EditorToolComponent.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.tab; 2 | 3 | import com.ss.editor.ui.css.CssClasses; 4 | import com.ss.rlib.fx.util.FXUtils; 5 | import javafx.geometry.Side; 6 | import javafx.scene.control.SplitPane; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * The component to contain editor tool components. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class EditorToolComponent extends TabToolComponent { 15 | 16 | /** 17 | * Instantiates a new Editor tool component. 18 | * 19 | * @param pane the pane 20 | * @param index the index 21 | */ 22 | public EditorToolComponent(@NotNull final SplitPane pane, final int index) { 23 | super(pane); 24 | setSide(Side.RIGHT); 25 | FXUtils.addClassTo(this, CssClasses.FILE_EDITOR_TOOL_COMPONENT); 26 | } 27 | 28 | @Override 29 | protected int getCollapsePosition() { 30 | return 1; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/tab/GlobalLeftToolComponent.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.tab; 2 | 3 | import com.ss.editor.ui.css.CssIds; 4 | 5 | import javafx.geometry.Side; 6 | import javafx.scene.control.SplitPane; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * The component to contain global left tool components. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class GlobalLeftToolComponent extends TabToolComponent { 15 | 16 | /** 17 | * Instantiates a new Global left tool component. 18 | * 19 | * @param pane the pane 20 | */ 21 | public GlobalLeftToolComponent(@NotNull final SplitPane pane) { 22 | super(pane); 23 | setId(CssIds.GLOBAL_LEFT_TOOL_COMPONENT); 24 | setSide(Side.LEFT); 25 | } 26 | } -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/virtual/tree/resource/ObjectVirtualResourceElement.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.virtual.tree.resource; 2 | 3 | import com.ss.editor.ui.component.virtual.tree.VirtualResourceTree; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | /** 7 | * The default implementation of the virtual resource element. 8 | * 9 | * @param the type of presented object. 10 | * @author JavaSaBr 11 | */ 12 | public class ObjectVirtualResourceElement extends VirtualResourceElement { 13 | 14 | public ObjectVirtualResourceElement(@NotNull final VirtualResourceTree resourceTree, @NotNull final T object) { 15 | super(resourceTree, object); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/component/virtual/tree/resource/RootVirtualResourceElement.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.component.virtual.tree.resource; 2 | 3 | import com.ss.editor.ui.component.virtual.tree.VirtualResourceTree; 4 | import org.jetbrains.annotations.NotNull; 5 | 6 | /** 7 | * The root implementation of the virtual resource element. 8 | * 9 | * @author JavaSaBr 10 | */ 11 | public class RootVirtualResourceElement extends FolderVirtualResourceElement { 12 | 13 | public RootVirtualResourceElement(@NotNull final VirtualResourceTree resourceTree) { 14 | super(resourceTree, "/"); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/UpdatableControl.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control; 2 | 3 | /** 4 | * The interface to implement an updatable control. 5 | * 6 | * @author JavaSaBr 7 | */ 8 | public interface UpdatableControl { 9 | 10 | /** 11 | * Update this control. 12 | */ 13 | void sync(); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/layer/LayerNodeTreeCell.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.layer; 2 | 3 | import com.ss.editor.model.undo.editor.SceneChangeConsumer; 4 | import com.ss.editor.ui.control.tree.NodeTreeCell; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | /** 8 | * The implementation of {@link NodeTreeCell} to show layer nodes. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class LayerNodeTreeCell extends NodeTreeCell { 13 | 14 | public LayerNodeTreeCell(@NotNull final LayerNodeTree nodeTree) { 15 | super(nodeTree); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/property/builder/PropertyBuilderFilter.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.property.builder; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | import org.jetbrains.annotations.Nullable; 5 | 6 | /** 7 | * The interface to filter builder for some objects. 8 | * 9 | * @author JavaSaBr 10 | */ 11 | @FunctionalInterface 12 | public interface PropertyBuilderFilter { 13 | 14 | /** 15 | * Check the property builder and the object. 16 | * 17 | * @param builder the property builder. 18 | * @param object the object. 19 | * @param parent the parent. 20 | * @return true of we should skip the builder for the object. 21 | */ 22 | boolean skip(@NotNull PropertyBuilder builder, @NotNull Object object, @Nullable Object parent); 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/property/impl/DirectionLightPropertyControl.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.property.impl; 2 | 3 | import com.jme3.light.Light; 4 | import com.jme3.math.Vector3f; 5 | import com.ss.editor.model.undo.editor.ModelChangeConsumer; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The implementation of the {@link Vector3fPropertyControl} to edit direction's vector of the {@link Light}. 10 | * 11 | * @param the light's type. 12 | * @author JavaSaBr 13 | */ 14 | public class DirectionLightPropertyControl extends Vector3fPropertyControl { 15 | 16 | public DirectionLightPropertyControl( 17 | @NotNull Vector3f element, 18 | @NotNull String paramName, 19 | @NotNull ModelChangeConsumer modelChangeConsumer 20 | ) { 21 | super(element, paramName, modelChangeConsumer); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/property/impl/Texture2dSingleRowPropertyControl.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.property.impl; 2 | 3 | import com.jme3.texture.Texture2D; 4 | import com.ss.editor.annotation.FromAnyThread; 5 | import com.ss.editor.model.undo.editor.ChangeConsumer; 6 | import org.jetbrains.annotations.NotNull; 7 | import org.jetbrains.annotations.Nullable; 8 | 9 | /** 10 | * The single row implementation of the control to edit textures. 11 | * 12 | * @param the type of a change consumer. 13 | * @param the type of an editing object. 14 | * @author JavaSaBr 15 | */ 16 | public class Texture2dSingleRowPropertyControl extends Texture2dPropertyControl { 17 | 18 | public Texture2dSingleRowPropertyControl( 19 | @Nullable Texture2D propertyValue, 20 | @NotNull String propertyName, 21 | @NotNull C changeConsumer 22 | ) { 23 | super(propertyValue, propertyName, changeConsumer); 24 | } 25 | 26 | @Override 27 | @FromAnyThread 28 | protected boolean isSingleRow() { 29 | return true; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/property/impl/particle/ParticleEmitterImagesModelPropertyControl.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.property.impl.particle; 2 | 3 | import com.jme3.effect.ParticleEmitter; 4 | import com.jme3.math.Vector2f; 5 | import com.ss.editor.model.undo.editor.ModelChangeConsumer; 6 | import com.ss.editor.ui.control.property.impl.Vector2fPropertyControl; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * The implementation of the {@link Vector2fPropertyControl} to edit images count of the {@link 11 | * ParticleEmitter}*. 12 | * 13 | * @author JavaSaBr. 14 | */ 15 | public class ParticleEmitterImagesModelPropertyControl extends Vector2fPropertyControl { 16 | 17 | public ParticleEmitterImagesModelPropertyControl( 18 | @NotNull Vector2f element, 19 | @NotNull String paramName, 20 | @NotNull ModelChangeConsumer changeConsumer 21 | ) { 22 | super(element, paramName, changeConsumer); 23 | getXField().setMinMax(1, Integer.MAX_VALUE); 24 | getYField().setMinMax(1, Integer.MAX_VALUE); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/scene/SceneNodeTree.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.scene; 2 | 3 | import com.ss.editor.model.undo.editor.SceneChangeConsumer; 4 | import com.ss.editor.ui.control.tree.NodeTree; 5 | import com.ss.rlib.common.util.array.Array; 6 | import javafx.scene.control.SelectionMode; 7 | import org.jetbrains.annotations.NotNull; 8 | import org.jetbrains.annotations.Nullable; 9 | 10 | import java.util.function.Consumer; 11 | 12 | /** 13 | * The implementation of {@link NodeTree} to present scene's objects. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class SceneNodeTree extends NodeTree { 18 | 19 | public SceneNodeTree(@NotNull final Consumer> selectionHandler, @Nullable final SceneChangeConsumer consumer) { 20 | super(selectionHandler, consumer, SelectionMode.SINGLE); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/action/impl/CreateEditableSkyAction.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.action.impl; 2 | 3 | import com.ss.editor.Messages; 4 | import com.ss.editor.annotation.FxThread; 5 | import com.ss.editor.ui.dialog.sky.CreateEditableSkyDialog; 6 | import com.ss.editor.ui.dialog.sky.CreateSkyDialog; 7 | import com.ss.editor.ui.control.tree.NodeTree; 8 | import com.ss.editor.ui.control.tree.node.TreeNode; 9 | import org.jetbrains.annotations.NotNull; 10 | 11 | /** 12 | * The action to create SS sky. 13 | * 14 | * @author JavaSaBr 15 | */ 16 | public class CreateEditableSkyAction extends CreateSkyAction { 17 | 18 | public CreateEditableSkyAction(final @NotNull NodeTree nodeTree, final @NotNull TreeNode node) { 19 | super(nodeTree, node); 20 | } 21 | 22 | @Override 23 | @FxThread 24 | protected @NotNull String getName() { 25 | return Messages.MODEL_NODE_TREE_ACTION_CREATE_EDITABLE_SKY; 26 | } 27 | 28 | @Override 29 | @FxThread 30 | protected @NotNull CreateSkyDialog createDialog() { 31 | return new CreateEditableSkyDialog(getNode(), getNodeTree()); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/HideableNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node; 2 | 3 | import com.ss.editor.model.undo.editor.ChangeConsumer; 4 | import com.ss.editor.ui.control.tree.NodeTree; 5 | 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The interface-marker that an object can be hide. 10 | * 11 | * @param the type parameter 12 | * @author JavaSaBr 13 | */ 14 | public interface HideableNode { 15 | 16 | /** 17 | * Is hided boolean. 18 | * 19 | * @return true if this object is hided. 20 | */ 21 | boolean isHided(); 22 | 23 | /** 24 | * Show the object. 25 | * 26 | * @param nodeTree the node tree 27 | */ 28 | void show(@NotNull NodeTree nodeTree); 29 | 30 | /** 31 | * Hide the object. 32 | * 33 | * @param nodeTree the node tree 34 | */ 35 | void hide(@NotNull NodeTree nodeTree); 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/BufferTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl; 2 | 3 | import com.ss.editor.annotation.FromAnyThread; 4 | import com.ss.editor.ui.Icons; 5 | import com.ss.editor.ui.control.tree.node.TreeNode; 6 | import javafx.scene.image.Image; 7 | import org.jetbrains.annotations.NotNull; 8 | import org.jetbrains.annotations.Nullable; 9 | 10 | import java.nio.Buffer; 11 | 12 | /** 13 | * The implementation of the {@link TreeNode} to represent the {@link Buffer} in the editor. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class BufferTreeNode extends TreeNode { 18 | 19 | public BufferTreeNode(@NotNull final Buffer element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | public @Nullable Image getIcon() { 25 | return Icons.DATA_16; 26 | } 27 | 28 | @Override 29 | @FromAnyThread 30 | public @NotNull String getName() { 31 | return getElement().getClass().getSimpleName(); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/control/LightControlTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.control; 2 | 3 | import com.jme3.scene.control.LightControl; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FromAnyThread; 6 | import com.ss.editor.ui.control.tree.node.TreeNode; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * The implementation of the {@link TreeNode} to show a {@link LightControl} in the tree. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class LightControlTreeNode extends ControlTreeNode { 15 | 16 | public LightControlTreeNode(@NotNull final LightControl element, final long objectId) { 17 | super(element, objectId); 18 | } 19 | 20 | @Override 21 | @FromAnyThread 22 | public @NotNull String getName() { 23 | return Messages.MODEL_FILE_EDITOR_NODE_LIGHT_CONTROL; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/control/SkeletonControlTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.control; 2 | 3 | import com.jme3.animation.SkeletonControl; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.Icons; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The implementation of node to show {@link SkeletonControl}. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class SkeletonControlTreeNode extends ControlTreeNode { 18 | 19 | public SkeletonControlTreeNode(@NotNull final SkeletonControl element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.SKELETON_16; 27 | } 28 | 29 | @Override 30 | @FromAnyThread 31 | public @NotNull String getName() { 32 | return Messages.MODEL_FILE_EDITOR_NODE_SKELETON_CONTROL; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/control/anim/AnimationAudioTrackTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.control.anim; 2 | 3 | import com.jme3.animation.AudioTrack; 4 | import com.ss.editor.ui.Icons; 5 | import javafx.scene.image.Image; 6 | import org.jetbrains.annotations.NotNull; 7 | import org.jetbrains.annotations.Nullable; 8 | 9 | /** 10 | * The implementation of node to show {@link AudioTrack}. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class AnimationAudioTrackTreeNode extends AnimationTrackTreeNode { 15 | 16 | /** 17 | * Instantiates a new Animation audio track model node. 18 | * 19 | * @param element the element 20 | * @param objectId the object id 21 | */ 22 | public AnimationAudioTrackTreeNode(@NotNull final AudioTrack element, final long objectId) { 23 | super(element, objectId); 24 | } 25 | 26 | @NotNull 27 | @Override 28 | protected String computeName() { 29 | final AudioTrack audioTrack = getElement(); 30 | return "Audio track : " + audioTrack.getAudio().getName(); 31 | } 32 | 33 | @Nullable 34 | @Override 35 | public Image getIcon() { 36 | return Icons.AUDIO_16; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/control/anim/AnimationEffectTrackTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.control.anim; 2 | 3 | import com.jme3.animation.EffectTrack; 4 | import com.ss.editor.ui.Icons; 5 | import javafx.scene.image.Image; 6 | import org.jetbrains.annotations.NotNull; 7 | import org.jetbrains.annotations.Nullable; 8 | 9 | /** 10 | * The implementation of node to show {@link EffectTrack}. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class AnimationEffectTrackTreeNode extends AnimationTrackTreeNode { 15 | 16 | /** 17 | * Instantiates a new Animation effect track model node. 18 | * 19 | * @param element the element 20 | * @param objectId the object id 21 | */ 22 | public AnimationEffectTrackTreeNode(@NotNull final EffectTrack element, final long objectId) { 23 | super(element, objectId); 24 | } 25 | 26 | @NotNull 27 | @Override 28 | protected String computeName() { 29 | final EffectTrack effectTrack = getElement(); 30 | return "Effect track : " + effectTrack.getEmitter().getName(); 31 | } 32 | 33 | @Nullable 34 | @Override 35 | public Image getIcon() { 36 | return Icons.PARTICLES_16; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/control/anim/AnimationSpatialTrackTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.control.anim; 2 | 3 | import com.jme3.animation.SpatialTrack; 4 | import com.ss.editor.annotation.FxThread; 5 | import com.ss.editor.ui.Icons; 6 | import javafx.scene.image.Image; 7 | import org.jetbrains.annotations.NotNull; 8 | import org.jetbrains.annotations.Nullable; 9 | 10 | /** 11 | * The implementation of node to show {@link SpatialTrack}. 12 | * 13 | * @author JavaSaBr 14 | */ 15 | public class AnimationSpatialTrackTreeNode extends AnimationTrackTreeNode { 16 | 17 | public AnimationSpatialTrackTreeNode(@NotNull final SpatialTrack element, final long objectId) { 18 | super(element, objectId); 19 | } 20 | 21 | @Override 22 | @FxThread 23 | protected @NotNull String computeName() { 24 | return "Spatial track"; 25 | } 26 | 27 | @Override 28 | @FxThread 29 | public @Nullable Image getIcon() { 30 | return Icons.NODE_16; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/light/LightProbeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.light; 2 | 3 | import com.jme3.light.LightProbe; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FromAnyThread; 6 | import com.ss.editor.ui.control.tree.node.TreeNode; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * The tree node to present {@link LightProbe} 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class LightProbeTreeNode extends TreeNode { 15 | 16 | public LightProbeTreeNode(@NotNull final LightProbe element, final long objectId) { 17 | super(element, objectId); 18 | } 19 | 20 | @Override 21 | @FromAnyThread 22 | public @NotNull String getName() { 23 | return Messages.MODEL_FILE_EDITOR_NODE_LIGHT_PROBE; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/material/settings/ColorsSettingsTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.material.settings; 2 | 3 | import com.ss.editor.Messages; 4 | import com.ss.editor.annotation.FromAnyThread; 5 | import com.ss.editor.model.node.material.ColorsSettings; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The base presentation of colors settings of a material in the {@link com.ss.editor.ui.control.tree.NodeTree}. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class ColorsSettingsTreeNode extends MaterialSettingsTreeNode { 14 | 15 | public ColorsSettingsTreeNode(@NotNull final ColorsSettings element, final long objectId) { 16 | super(element, objectId); 17 | } 18 | 19 | @Override 20 | @FromAnyThread 21 | public @NotNull String getName() { 22 | return Messages.MATERIAL_SETTINGS_COLORS; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/material/settings/MaterialSettingsTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.material.settings; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | import com.ss.editor.model.node.material.MaterialSettings; 5 | import com.ss.editor.ui.Icons; 6 | import com.ss.editor.ui.control.tree.node.TreeNode; 7 | import javafx.scene.image.Image; 8 | import org.jetbrains.annotations.NotNull; 9 | import org.jetbrains.annotations.Nullable; 10 | 11 | /** 12 | * The base presentation of material settings in the {@link com.ss.editor.ui.control.tree.NodeTree}. 13 | * 14 | * @param the type of material settings. 15 | * @author JavaSaBr 16 | */ 17 | public class MaterialSettingsTreeNode extends TreeNode { 18 | 19 | public MaterialSettingsTreeNode(@NotNull final T element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.INFLUENCER_16; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/material/settings/OtherSettingsTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.material.settings; 2 | 3 | import com.ss.editor.Messages; 4 | import com.ss.editor.annotation.FromAnyThread; 5 | import com.ss.editor.model.node.material.OtherSettings; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The base presentation of other settings of a material in the {@link com.ss.editor.ui.control.tree.NodeTree}. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class OtherSettingsTreeNode extends MaterialSettingsTreeNode { 14 | 15 | public OtherSettingsTreeNode(@NotNull final OtherSettings element, final long objectId) { 16 | super(element, objectId); 17 | } 18 | 19 | @Override 20 | @FromAnyThread 21 | public @NotNull String getName() { 22 | return Messages.MATERIAL_SETTINGS_OTHER; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/material/settings/RenderSettingsTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.material.settings; 2 | 3 | import com.ss.editor.Messages; 4 | import com.ss.editor.annotation.FromAnyThread; 5 | import com.ss.editor.model.node.material.RenderSettings; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The base presentation of render settings of a material in the {@link com.ss.editor.ui.control.tree.NodeTree}. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class RenderSettingsTreeNode extends MaterialSettingsTreeNode { 14 | 15 | public RenderSettingsTreeNode(@NotNull final RenderSettings element, final long objectId) { 16 | super(element, objectId); 17 | } 18 | 19 | @Override 20 | @FromAnyThread 21 | public @NotNull String getName() { 22 | return Messages.MATERIAL_SETTINGS_RENDER; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/material/settings/TexturesSettingsTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.material.settings; 2 | 3 | import com.ss.editor.Messages; 4 | import com.ss.editor.annotation.FromAnyThread; 5 | import com.ss.editor.model.node.material.TexturesSettings; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The base presentation of textures settings of a material in the {@link com.ss.editor.ui.control.tree.NodeTree}. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class TexturesSettingsTreeNode extends MaterialSettingsTreeNode { 14 | 15 | public TexturesSettingsTreeNode(@NotNull final TexturesSettings element, final long objectId) { 16 | super(element, objectId); 17 | } 18 | 19 | @Override 20 | @FromAnyThread 21 | public @NotNull String getName() { 22 | return Messages.MATERIAL_SETTINGS_TEXTURES; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/physics/shape/BoxCollisionShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.physics.shape; 2 | 3 | import com.jme3.bullet.collision.shapes.BoxCollisionShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FromAnyThread; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The implementation of node to show {@link BoxCollisionShape}. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class BoxCollisionShapeTreeNode extends CollisionShapeTreeNode { 14 | 15 | public BoxCollisionShapeTreeNode(@NotNull final BoxCollisionShape element, final long objectId) { 16 | super(element, objectId); 17 | } 18 | 19 | @Override 20 | @FromAnyThread 21 | public @NotNull String getName() { 22 | return Messages.MODEL_FILE_EDITOR_NODE_BOX_COLLISION_SHAPE; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/physics/shape/CapsuleCollisionShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.physics.shape; 2 | 3 | import com.jme3.bullet.collision.shapes.CapsuleCollisionShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.Icons; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The implementation of node to show {@link CapsuleCollisionShape}. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class CapsuleCollisionShapeTreeNode extends CollisionShapeTreeNode { 18 | 19 | public CapsuleCollisionShapeTreeNode(@NotNull final CapsuleCollisionShape element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.CAPSULE_16; 27 | } 28 | 29 | @Override 30 | @FromAnyThread 31 | public @NotNull String getName() { 32 | return Messages.MODEL_FILE_EDITOR_NODE_CAPSULE_COLLISION_SHAPE; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/physics/shape/ConeCollisionShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.physics.shape; 2 | 3 | import com.jme3.bullet.collision.shapes.ConeCollisionShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.Icons; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The implementation of node to show {@link ConeCollisionShape}. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class ConeCollisionShapeTreeNode extends CollisionShapeTreeNode { 18 | 19 | public ConeCollisionShapeTreeNode(@NotNull final ConeCollisionShape element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.CONE_16; 27 | } 28 | 29 | @Override 30 | @FromAnyThread 31 | public @NotNull String getName() { 32 | return Messages.MODEL_FILE_EDITOR_NODE_CONE_COLLISION_SHAPE; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/physics/shape/CylinderCollisionShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.physics.shape; 2 | 3 | import com.jme3.bullet.collision.shapes.CylinderCollisionShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.Icons; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The implementation of node to show {@link CylinderCollisionShape}. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class CylinderCollisionShapeTreeNode extends CollisionShapeTreeNode { 18 | 19 | public CylinderCollisionShapeTreeNode(@NotNull final CylinderCollisionShape element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.CYLINDER_16; 27 | } 28 | 29 | @Override 30 | @FromAnyThread 31 | public @NotNull String getName() { 32 | return Messages.MODEL_FILE_EDITOR_NODE_CYLINDER_COLLISION_SHAPE; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/physics/shape/GImpactCollisionShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.physics.shape; 2 | 3 | import com.jme3.bullet.collision.shapes.GImpactCollisionShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.Icons; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The implementation of node to show {@link GImpactCollisionShape}. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class GImpactCollisionShapeTreeNode extends CollisionShapeTreeNode { 18 | 19 | public GImpactCollisionShapeTreeNode(@NotNull final GImpactCollisionShape element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.MESH_16; 27 | } 28 | 29 | @Override 30 | @FromAnyThread 31 | public @NotNull String getName() { 32 | return Messages.MODEL_FILE_EDITOR_NODE_GIMPACT_COLLISION_SHAPE; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/physics/shape/HeightFieldCollisionShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.physics.shape; 2 | 3 | import com.jme3.bullet.collision.shapes.HeightfieldCollisionShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.Icons; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The implementation of node to show {@link HeightfieldCollisionShape}. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class HeightFieldCollisionShapeTreeNode extends CollisionShapeTreeNode { 18 | 19 | public HeightFieldCollisionShapeTreeNode(@NotNull final HeightfieldCollisionShape element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.TERRAIN_16; 27 | } 28 | 29 | @Override 30 | @FromAnyThread 31 | public @NotNull String getName() { 32 | return Messages.MODEL_FILE_EDITOR_NODE_HEIGHT_FIELD_COLLISION_SHAPE; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/physics/shape/HullCollisionShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.physics.shape; 2 | 3 | import com.jme3.bullet.collision.shapes.HullCollisionShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.Icons; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The implementation of node to show {@link HullCollisionShape}. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class HullCollisionShapeTreeNode extends CollisionShapeTreeNode { 18 | 19 | public HullCollisionShapeTreeNode(@NotNull final HullCollisionShape element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.MESH_16; 27 | } 28 | 29 | @Override 30 | @FromAnyThread 31 | public @NotNull String getName() { 32 | return Messages.MODEL_FILE_EDITOR_NODE_HULL_COLLISION_SHAPE; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/physics/shape/MeshCollisionShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.physics.shape; 2 | 3 | import com.jme3.bullet.collision.shapes.MeshCollisionShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.Icons; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The implementation of node to show {@link MeshCollisionShape}. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class MeshCollisionShapeTreeNode extends CollisionShapeTreeNode { 18 | 19 | public MeshCollisionShapeTreeNode(@NotNull final MeshCollisionShape element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.MESH_16; 27 | } 28 | 29 | @Override 30 | @FromAnyThread 31 | public @NotNull String getName() { 32 | return Messages.MODEL_FILE_EDITOR_NODE_MESH_COLLISION_SHAPE; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/physics/shape/PlaneCollisionShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.physics.shape; 2 | 3 | import com.jme3.bullet.collision.shapes.PlaneCollisionShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.Icons; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The implementation of node to show {@link PlaneCollisionShape}. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class PlaneCollisionShapeTreeNode extends CollisionShapeTreeNode { 18 | 19 | public PlaneCollisionShapeTreeNode(@NotNull final PlaneCollisionShape element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.PLANE_16; 27 | } 28 | 29 | @Override 30 | @FromAnyThread 31 | public @NotNull String getName() { 32 | return Messages.MODEL_FILE_EDITOR_NODE_PLANE_COLLISION_SHAPE; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/physics/shape/SphereCollisionShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.physics.shape; 2 | 3 | import com.jme3.bullet.collision.shapes.SphereCollisionShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.Icons; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The implementation of node to show {@link SphereCollisionShape}. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class SphereCollisionShapeTreeNode extends CollisionShapeTreeNode { 18 | 19 | public SphereCollisionShapeTreeNode(@NotNull final SphereCollisionShape element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.SPHERE_16; 27 | } 28 | 29 | @Override 30 | @FromAnyThread 31 | public @NotNull String getName() { 32 | return Messages.MODEL_FILE_EDITOR_NODE_SPHERE_COLLISION_SHAPE; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/scene/SceneAppStateTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.scene; 2 | 3 | import com.ss.editor.annotation.FromAnyThread; 4 | import com.ss.editor.annotation.FxThread; 5 | import com.ss.editor.extension.scene.app.state.SceneAppState; 6 | import com.ss.editor.ui.Icons; 7 | import com.ss.editor.ui.control.tree.node.TreeNode; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The node to present {@link SceneAppState} in the scene model tree. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class SceneAppStateTreeNode extends TreeNode { 18 | 19 | public SceneAppStateTreeNode(@NotNull final SceneAppState element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FromAnyThread 25 | public @NotNull String getName() { 26 | return getElement().getName(); 27 | } 28 | 29 | @Override 30 | @FxThread 31 | public @Nullable Image getIcon() { 32 | return Icons.SETTINGS_16; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/scene/SceneFilterTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.scene; 2 | 3 | import com.jme3.post.Filter; 4 | import com.ss.editor.annotation.FromAnyThread; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.ui.Icons; 7 | import com.ss.editor.ui.control.tree.node.TreeNode; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The node to present {@link Filter} in the scene model tree. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class SceneFilterTreeNode extends TreeNode { 18 | 19 | public SceneFilterTreeNode(@NotNull final Filter element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FromAnyThread 25 | public @NotNull String getName() { 26 | return getElement().getName(); 27 | } 28 | 29 | @Override 30 | @FxThread 31 | public @Nullable Image getIcon() { 32 | return Icons.FILTER_16; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/spatial/AssetLinkNodeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.spatial; 2 | 3 | import com.jme3.scene.AssetLinkNode; 4 | import com.jme3.scene.Node; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.ui.Icons; 7 | import javafx.scene.image.Image; 8 | import org.jetbrains.annotations.NotNull; 9 | import org.jetbrains.annotations.Nullable; 10 | 11 | /** 12 | * The implementation of the {@link SpatialTreeNode} for representing the {@link Node} in the editor. 13 | * 14 | * @author vp -byte 15 | */ 16 | public class AssetLinkNodeTreeNode extends NodeTreeNode { 17 | 18 | public AssetLinkNodeTreeNode(@NotNull final AssetLinkNode element, final long objectId) { 19 | super(element, objectId); 20 | } 21 | 22 | @Override 23 | @FxThread 24 | public @Nullable Image getIcon() { 25 | return Icons.LINKED_NODE_16; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/spatial/particle/emitter/influencer/DefaultParticleInfluencerTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.spatial.particle.emitter.influencer; 2 | 3 | import com.jme3.effect.influencers.DefaultParticleInfluencer; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FromAnyThread; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The implementation of the {@link ParticleInfluencerTreeNode} for representing the {@link DefaultParticleInfluencer} in the editor. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class DefaultParticleInfluencerTreeNode extends ParticleInfluencerTreeNode { 14 | 15 | public DefaultParticleInfluencerTreeNode(@NotNull final DefaultParticleInfluencer element, final long objectId) { 16 | super(element, objectId); 17 | } 18 | 19 | @Override 20 | @FromAnyThread 21 | public @NotNull String getName() { 22 | return Messages.MODEL_FILE_EDITOR_NODE_PARTICLE_EMITTER_INFLUENCER_DEFAULT; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/spatial/particle/emitter/influencer/EmptyParticleInfluencerTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.spatial.particle.emitter.influencer; 2 | 3 | import com.jme3.effect.influencers.EmptyParticleInfluencer; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FromAnyThread; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The implementation of the {@link ParticleInfluencerTreeNode} for representing the {@link EmptyParticleInfluencer} in the editor. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class EmptyParticleInfluencerTreeNode extends ParticleInfluencerTreeNode { 14 | 15 | public EmptyParticleInfluencerTreeNode(@NotNull final EmptyParticleInfluencer element, final long objectId) { 16 | super(element, objectId); 17 | } 18 | 19 | @Override 20 | @FromAnyThread 21 | public @NotNull String getName() { 22 | return Messages.MODEL_FILE_EDITOR_NODE_PARTICLE_EMITTER_INFLUENCER_EMPTY; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/spatial/particle/emitter/influencer/RadialParticleInfluencerTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.spatial.particle.emitter.influencer; 2 | 3 | import com.jme3.effect.influencers.RadialParticleInfluencer; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FromAnyThread; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The implementation of the {@link ParticleInfluencerTreeNode} for representing the {@link RadialParticleInfluencer} in the editor. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class RadialParticleInfluencerTreeNode extends ParticleInfluencerTreeNode { 14 | 15 | public RadialParticleInfluencerTreeNode(@NotNull final RadialParticleInfluencer element, final long objectId) { 16 | super(element, objectId); 17 | } 18 | 19 | @Override 20 | @FromAnyThread 21 | public @NotNull String getName() { 22 | return Messages.MODEL_FILE_EDITOR_NODE_PARTICLE_EMITTER_INFLUENCER_RADIAL; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/spatial/particle/emitter/shape/EmitterBoxShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.spatial.particle.emitter.shape; 2 | 3 | import com.jme3.effect.shapes.EmitterBoxShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FxThread; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.Icons; 8 | import javafx.scene.image.Image; 9 | import org.jetbrains.annotations.NotNull; 10 | import org.jetbrains.annotations.Nullable; 11 | 12 | /** 13 | * The implementation of the {@link EmitterShapeTreeNode} for representing the {@link EmitterShapeTreeNode} in the editor. 14 | * 15 | * @author JavaSaBr 16 | */ 17 | public class EmitterBoxShapeTreeNode extends EmitterShapeTreeNode { 18 | 19 | public EmitterBoxShapeTreeNode(@NotNull final EmitterBoxShape element, final long objectId) { 20 | super(element, objectId); 21 | } 22 | 23 | @Override 24 | @FxThread 25 | public @Nullable Image getIcon() { 26 | return Icons.CUBE_16; 27 | } 28 | 29 | @Override 30 | @FromAnyThread 31 | public @NotNull String getName() { 32 | return Messages.MODEL_FILE_EDITOR_NODE_PARTICLE_EMITTER_SHAPE_BOX; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/spatial/particle/emitter/shape/EmitterMeshConvexHullShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.spatial.particle.emitter.shape; 2 | 3 | import com.jme3.effect.shapes.EmitterMeshConvexHullShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FromAnyThread; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The implementation of the {@link EmitterShapeTreeNode} for representing the {@link EmitterMeshConvexHullShape} in the editor. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class EmitterMeshConvexHullShapeTreeNode extends EmitterShapeTreeNode { 14 | 15 | public EmitterMeshConvexHullShapeTreeNode(@NotNull final EmitterMeshConvexHullShape element, final long objectId) { 16 | super(element, objectId); 17 | } 18 | 19 | @Override 20 | @FromAnyThread 21 | public @NotNull String getName() { 22 | return Messages.MODEL_FILE_EDITOR_NODE_PARTICLE_EMITTER_SHAPE_MESH_CONVEX_HULL; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/spatial/particle/emitter/shape/EmitterMeshFaceShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.spatial.particle.emitter.shape; 2 | 3 | import com.jme3.effect.shapes.EmitterMeshFaceShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FromAnyThread; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The implementation of the {@link EmitterShapeTreeNode} for representing the {@link EmitterMeshFaceShape} in the editor. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class EmitterMeshFaceShapeTreeNode extends EmitterShapeTreeNode { 14 | 15 | public EmitterMeshFaceShapeTreeNode(@NotNull final EmitterMeshFaceShape element, final long objectId) { 16 | super(element, objectId); 17 | } 18 | 19 | @Override 20 | @FromAnyThread 21 | public @NotNull String getName() { 22 | return Messages.MODEL_FILE_EDITOR_NODE_PARTICLE_EMITTER_SHAPE_MESH_FACE; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/control/tree/node/impl/spatial/particle/emitter/shape/EmitterMeshVertexShapeTreeNode.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.control.tree.node.impl.spatial.particle.emitter.shape; 2 | 3 | import com.jme3.effect.shapes.EmitterMeshVertexShape; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FromAnyThread; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The implementation of the {@link EmitterShapeTreeNode} for representing the {@link EmitterMeshVertexShape} in the editor. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class EmitterMeshVertexShapeTreeNode extends EmitterShapeTreeNode { 14 | 15 | public EmitterMeshVertexShapeTreeNode(@NotNull final EmitterMeshVertexShape element, final long objectId) { 16 | super(element, objectId); 17 | } 18 | 19 | @Override 20 | @FromAnyThread 21 | public @NotNull String getName() { 22 | return Messages.MODEL_FILE_EDITOR_NODE_PARTICLE_EMITTER_SHAPE_MESH_VERTEX; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/css/CssIds.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.css; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | /** 6 | * The list of css ids which used in the editor. 7 | * 8 | * @author JavaSaBr 9 | */ 10 | public interface CssIds { 11 | 12 | @NotNull String ROOT = "Root"; 13 | @NotNull String ROOT_CONTAINER = "RootContainer"; 14 | 15 | @NotNull String EDITOR_MENU_BAR_COMPONENT = "EditorMenuBarComponent"; 16 | 17 | @NotNull String EDITOR_AREA_COMPONENT = "EditorAreaComponent"; 18 | 19 | @NotNull String GLOBAL_LEFT_TOOL_COMPONENT = "GlobalLeftToolComponent"; 20 | @NotNull String GLOBAL_BOTTOM_TOOL_COMPONENT = "GlobalBottomToolComponent"; 21 | 22 | @NotNull String LOG_VIEW = "LogView"; 23 | 24 | @NotNull String EDITOR_LOADING_LAYER = "EditorLoadingLayer"; 25 | @NotNull String EDITOR_LOADING_PROGRESS = "EditorLoadingProgress"; 26 | 27 | @NotNull String ASSET_COMPONENT = "AssetComponent"; 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/dialog/file/chooser/OpenExternalFolderEditorDialog.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.dialog.file.chooser; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | import com.ss.editor.ui.dialog.EditorDialog; 5 | import javafx.scene.layout.VBox; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | import java.nio.file.Path; 9 | import java.util.function.Consumer; 10 | 11 | /** 12 | * The implementation of the {@link EditorDialog} to choose a folder on machine. 13 | * 14 | * @author JavaSaBr 15 | */ 16 | public class OpenExternalFolderEditorDialog extends ExternalFileEditorDialog { 17 | 18 | public OpenExternalFolderEditorDialog(@NotNull final Consumer<@NotNull Path> consumer) { 19 | super(consumer); 20 | } 21 | 22 | @Override 23 | @FxThread 24 | protected void createContent(@NotNull final VBox root) { 25 | super.createContent(root); 26 | getResourceTree().setOnlyFolders(true); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/dialog/geometry/GeometrySelectorDialog.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.dialog.geometry; 2 | 3 | import com.jme3.scene.Geometry; 4 | import com.jme3.scene.Spatial; 5 | import com.ss.editor.Messages; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import com.ss.editor.ui.dialog.node.selector.NodeSelectorDialog; 8 | 9 | import org.jetbrains.annotations.NotNull; 10 | 11 | import java.util.function.Consumer; 12 | 13 | /** 14 | * The implementation of node selector dialog to select a geometry. 15 | * 16 | * @author JavaSaBr 17 | */ 18 | public class GeometrySelectorDialog extends NodeSelectorDialog { 19 | 20 | public GeometrySelectorDialog(@NotNull final Spatial model, @NotNull final Consumer handler) { 21 | super(model, Geometry.class, handler); 22 | } 23 | 24 | @Override 25 | @FromAnyThread 26 | protected @NotNull String getTitleText() { 27 | return Messages.GEOMETRY_SELECTOR_DIALOG_TITLE; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/dialog/node/selector/LightSelectorDialog.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.dialog.node.selector; 2 | 3 | import com.jme3.light.Light; 4 | import com.jme3.scene.Spatial; 5 | import com.ss.editor.Messages; 6 | import com.ss.editor.annotation.FromAnyThread; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | import java.util.function.Consumer; 10 | 11 | /** 12 | * The implementation of the Node Selector dialog to select a light. 13 | * 14 | * @param the type of light 15 | * @author JavaSaBr 16 | */ 17 | public class LightSelectorDialog extends NodeSelectorDialog { 18 | 19 | public LightSelectorDialog(@NotNull final Spatial model, @NotNull final Class type, 20 | @NotNull final Consumer handler) { 21 | super(model, type, handler); 22 | } 23 | 24 | @Override 25 | @FromAnyThread 26 | protected @NotNull String getTitleText() { 27 | return Messages.LIGHT_SELECTOR_DIALOG_TITLE; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/dialog/node/selector/SpatialSelectorDialog.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.dialog.node.selector; 2 | 3 | import com.jme3.scene.Spatial; 4 | import com.ss.editor.Messages; 5 | import com.ss.editor.annotation.FromAnyThread; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | import java.util.function.Consumer; 9 | 10 | /** 11 | * The implementation of the Node Selector dialog to select a spatial. 12 | * 13 | * @param the type of light 14 | * @author JavaSaBr 15 | */ 16 | public class SpatialSelectorDialog extends NodeSelectorDialog { 17 | 18 | public SpatialSelectorDialog(@NotNull final Spatial model, @NotNull final Class type, 19 | @NotNull final Consumer handler) { 20 | super(model, type, handler); 21 | } 22 | 23 | @Override 24 | @FromAnyThread 25 | protected @NotNull String getTitleText() { 26 | return Messages.NODE_SELECTOR_DIALOG_TITLE; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/dialog/scene/selector/FilterSceneSelectorDialog.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.dialog.scene.selector; 2 | 3 | import com.jme3.post.Filter; 4 | import com.ss.editor.extension.scene.SceneNode; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | import java.util.function.Consumer; 8 | 9 | /** 10 | * The implementation of {@link SceneSelectorDialog} to select a filter. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class FilterSceneSelectorDialog extends SceneSelectorDialog { 15 | 16 | public FilterSceneSelectorDialog(@NotNull final SceneNode sceneNode, @NotNull final Consumer handler) { 17 | super(sceneNode, Filter.class, handler); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/dialog/sky/CreateEditableSkyDialog.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.dialog.sky; 2 | 3 | import com.ss.editor.model.undo.editor.ModelChangeConsumer; 4 | import com.ss.editor.ui.control.tree.NodeTree; 5 | import com.ss.editor.ui.control.tree.node.TreeNode; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | /** 9 | * The dialog to create sky using SS Sky Factory. 10 | * 11 | * @author JavaSaBr 12 | */ 13 | public class CreateEditableSkyDialog extends CreateSkyDialog { 14 | 15 | public CreateEditableSkyDialog(@NotNull final TreeNode parentNode, 16 | @NotNull final NodeTree nodeTree) { 17 | super(parentNode, nodeTree); 18 | } 19 | 20 | @Override 21 | protected boolean isEditableSky() { 22 | return true; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/event/ConsumableEvent.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.event; 2 | 3 | /** 4 | * The interface marker. 5 | * 6 | * @author JavaSaBr 7 | */ 8 | public interface ConsumableEvent { 9 | 10 | /** 11 | * Is consumed boolean. 12 | * 13 | * @return true if this event was consumed. 14 | */ 15 | boolean isConsumed(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/event/impl/RequestedRefreshAssetEvent.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.event.impl; 2 | 3 | import com.ss.editor.ui.event.SceneEvent; 4 | import javafx.event.Event; 5 | import javafx.event.EventType; 6 | 7 | /** 8 | * The event about request to refresh the current asset folder. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public class RequestedRefreshAssetEvent extends SceneEvent { 13 | 14 | /** 15 | * The constant EVENT_TYPE. 16 | */ 17 | public static final EventType EVENT_TYPE; 18 | 19 | static { 20 | synchronized (Event.class) { 21 | EVENT_TYPE = new EventType<>(SceneEvent.EVENT_TYPE, RequestedRefreshAssetEvent.class.getSimpleName()); 22 | } 23 | } 24 | 25 | public RequestedRefreshAssetEvent() { 26 | super(EVENT_TYPE); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/preview/FilePreviewFactory.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.preview; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | import com.ss.rlib.common.util.array.Array; 5 | import org.jetbrains.annotations.NotNull; 6 | 7 | /** 8 | * The factory of file previews. 9 | * 10 | * @author JavaSaBr 11 | */ 12 | public interface FilePreviewFactory { 13 | 14 | /** 15 | * Add to the result list new file previews implementations. 16 | * 17 | * @param result the list to store new implementations. 18 | */ 19 | @FxThread 20 | void createFilePreviews(@NotNull Array result); 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/preview/impl/DefaultFilePreviewFactory.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.preview.impl; 2 | 3 | import com.ss.editor.annotation.FxThread; 4 | import com.ss.editor.ui.preview.FilePreview; 5 | import com.ss.editor.ui.preview.FilePreviewFactory; 6 | import com.ss.rlib.common.util.array.Array; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * The default implementation of {@link FilePreviewFactory} with default file previews. 11 | * 12 | * @author JavaSaBr 13 | */ 14 | public class DefaultFilePreviewFactory implements FilePreviewFactory { 15 | 16 | private static final DefaultFilePreviewFactory INSTANCE = new DefaultFilePreviewFactory(); 17 | 18 | public static @NotNull DefaultFilePreviewFactory getInstance() { 19 | return INSTANCE; 20 | } 21 | 22 | @Override 23 | @FxThread 24 | public void createFilePreviews(@NotNull final Array result) { 25 | result.add(new TextFilePreview()); 26 | result.add(new ImageFilePreview()); 27 | result.add(new JmeObjectFilePreview()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/ui/scene/EditorFxImageView.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.ui.scene; 2 | 3 | import javafx.scene.image.ImageView; 4 | 5 | /** 6 | * The resizable image view. 7 | * 8 | * @author JavaSaBr 9 | */ 10 | public class EditorFxImageView extends ImageView { 11 | 12 | @Override 13 | public double minHeight(double width) { 14 | return 64; 15 | } 16 | 17 | @Override 18 | public double maxHeight(double width) { 19 | return 1000; 20 | } 21 | 22 | @Override 23 | public double prefHeight(double width) { 24 | return minHeight(width); 25 | } 26 | 27 | @Override 28 | public double minWidth(double height) { 29 | return 0; 30 | } 31 | 32 | @Override 33 | public double maxWidth(double height) { 34 | return 10000; 35 | } 36 | 37 | @Override 38 | public boolean isResizable() { 39 | return true; 40 | } 41 | 42 | @Override 43 | public void resize(double width, double height) { 44 | super.resize(width, height); 45 | super.setFitWidth(width); 46 | super.setFitHeight(height); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/com/ss/editor/util/SimpleFolderVisitor.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.util; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | import java.io.IOException; 6 | import java.nio.file.FileVisitResult; 7 | import java.nio.file.Path; 8 | import java.nio.file.attribute.BasicFileAttributes; 9 | 10 | /** 11 | * The simple folder visitor. 12 | * 13 | * @author JavaSaBr. 14 | */ 15 | public interface SimpleFolderVisitor extends SimpleFileVisitor { 16 | 17 | @Override 18 | default @NotNull FileVisitResult preVisitDirectory( 19 | @NotNull Path dir, @NotNull BasicFileAttributes attrs 20 | ) throws IOException { 21 | visit(dir, attrs); 22 | return FileVisitResult.CONTINUE; 23 | } 24 | 25 | @Override 26 | default @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) 27 | throws IOException { 28 | return FileVisitResult.CONTINUE; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/resources/app-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/graphics/materials/light/black_material.j3m: -------------------------------------------------------------------------------- 1 | Material MyMaterial : Common/MatDefs/Misc/Unshaded.j3md { 2 | MaterialParameters { 3 | BackfaceShadows : true 4 | Color : 0.0 0.0 0.0 1.0 5 | } 6 | AdditionalRenderState { 7 | } 8 | } -------------------------------------------------------------------------------- /src/main/resources/graphics/materials/light/white_material.j3m: -------------------------------------------------------------------------------- 1 | Material MyMaterial : Common/MatDefs/Misc/Unshaded.j3md { 2 | MaterialParameters { 3 | BackfaceShadows : true 4 | } 5 | AdditionalRenderState { 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/resources/graphics/materials/speaker/white_material.j3m: -------------------------------------------------------------------------------- 1 | Material MyMaterial : Common/MatDefs/Misc/Unshaded.j3md { 2 | MaterialParameters { 3 | BackfaceShadows : true 4 | } 5 | AdditionalRenderState { 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/resources/graphics/models/light/direction_light.j3o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/models/light/direction_light.j3o -------------------------------------------------------------------------------- /src/main/resources/graphics/models/light/point_light.j3o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/models/light/point_light.j3o -------------------------------------------------------------------------------- /src/main/resources/graphics/models/light/spot_light.j3o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/models/light/spot_light.j3o -------------------------------------------------------------------------------- /src/main/resources/graphics/models/manipulators/manipulators.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/models/manipulators/manipulators.blend -------------------------------------------------------------------------------- /src/main/resources/graphics/models/manipulators/manipulators_move.j3o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/models/manipulators/manipulators_move.j3o -------------------------------------------------------------------------------- /src/main/resources/graphics/models/manipulators/manipulators_rotate.j3o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/models/manipulators/manipulators_rotate.j3o -------------------------------------------------------------------------------- /src/main/resources/graphics/models/manipulators/manipulators_scale.j3o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/models/manipulators/manipulators_scale.j3o -------------------------------------------------------------------------------- /src/main/resources/graphics/models/speaker/speaker.j3o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/models/speaker/speaker.j3o -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sky/env1.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sky/env1.hdr -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sky/env2.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sky/env2.hdr -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sky/env3.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sky/env3.hdr -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sky/env4.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sky/env4.hdr -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sky/inside.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sky/inside.hdr -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sky/outside.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sky/outside.hdr -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sky/studio.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sky/studio.hdr -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sprite/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sprite/arrow.png -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sprite/debris.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sprite/debris.png -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sprite/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sprite/default.png -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sprite/fire.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sprite/fire.jpg -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sprite/halo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sprite/halo.png -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sprite/rune.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sprite/rune.png -------------------------------------------------------------------------------- /src/main/resources/graphics/textures/sprite/smoke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/graphics/textures/sprite/smoke.png -------------------------------------------------------------------------------- /src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | # Root logger option 2 | log4j.rootLogger=INFO, stdout 3 | 4 | # Direct log messages to stdout 5 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender 6 | log4j.appender.stdout.Target=System.out 7 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 8 | log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n -------------------------------------------------------------------------------- /src/main/resources/template/frag/empty.frag: -------------------------------------------------------------------------------- 1 | #import "Common/ShaderLib/GLSLCompat.glsllib" 2 | 3 | void main() { 4 | vec4 color = vec4(1.0); 5 | gl_FragColor = color; 6 | } -------------------------------------------------------------------------------- /src/main/resources/template/matdef/empty.j3md: -------------------------------------------------------------------------------- 1 | MaterialDef ${matdef-name} { 2 | MaterialParameters { 3 | } 4 | 5 | Technique { 6 | LightMode ${light-mode} 7 | 8 | VertexShader ${GLSL-version} : ${vertex-path} 9 | FragmentShader ${GLSL-version} : ${fragment-path} 10 | 11 | WorldParameters { 12 | WorldViewProjectionMatrix 13 | } 14 | 15 | Defines { 16 | } 17 | 18 | ForcedRenderState { 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/resources/template/vert/empty.vert: -------------------------------------------------------------------------------- 1 | #import "Common/ShaderLib/GLSLCompat.glsllib" 2 | 3 | uniform mat4 g_WorldViewProjectionMatrix; 4 | 5 | attribute vec3 inPosition; 6 | attribute vec2 inTexCoord; 7 | 8 | varying vec2 texCoord; 9 | 10 | void main() { 11 | texCoord = inTexCoord; 12 | gl_Position = g_WorldViewProjectionMatrix * vec4(inPosition, 1.0); 13 | } -------------------------------------------------------------------------------- /src/main/resources/ui/css/external.css: -------------------------------------------------------------------------------- 1 | 2 | .styled-text-area { 3 | -fx-highlight-fill: -fx-focus-color; 4 | } 5 | 6 | .styled-text-area .text { 7 | -rtfx-background-color: transparent; 8 | -fx-font-family: "Ubuntu Mono"; 9 | -fx-font-size: 14; 10 | } 11 | 12 | .styled-text-area .virtual-flow { 13 | -fx-background-color: transparent; 14 | } 15 | 16 | .styled-text-area .paragraph-text { 17 | -fx-background-color: transparent; 18 | } 19 | 20 | .styled-text-area .virtual-flow .paragraph-box { 21 | -fx-background-color: transparent; 22 | } 23 | 24 | .code-area { 25 | -fx-background-color: -var-background-color; 26 | -fx-stroke: -var-font-color; 27 | } 28 | 29 | .code-area .caret { 30 | -fx-stroke: -var-font-color; 31 | } 32 | 33 | .code-area .content { 34 | -fx-background-color: transparent; 35 | } -------------------------------------------------------------------------------- /src/main/resources/ui/fonts/opensans/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/fonts/opensans/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /src/main/resources/ui/fonts/opensans/OpenSans-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/fonts/opensans/OpenSans-SemiBold.ttf -------------------------------------------------------------------------------- /src/main/resources/ui/fonts/opensans/OpenSans-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/fonts/opensans/OpenSans-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /src/main/resources/ui/fonts/ubuntu/CONTRIBUTING.txt: -------------------------------------------------------------------------------- 1 | The Ubuntu Font Family is very long-term endeavour, and the first time 2 | that a professionally-designed font has been funded specifically with 3 | the intent of being an on-going community expanded project: 4 | 5 | http://font.ubuntu.com/ 6 | 7 | Development of the Ubuntu Font Family is undertaken on Launchpad: 8 | 9 | http://launchpad.net/ubuntu-font-family/ 10 | 11 | and this is where milestones, bug management and releases are handled. 12 | 13 | Contributions are welcomed. Your work will be used on millions of 14 | computers every single day! Following the initial bootstrapping of 15 | Latin, Cyrillic, Greek, Arabic and Hebrew expansion will be undertaken 16 | by font designers from the font design and Ubuntu communities. 17 | 18 | To ensure that the Ubuntu Font Family can be re-licensed to future 19 | widely-used libre font licences, copyright assignment is being required: 20 | 21 | https://launchpad.net/~uff-contributors 22 | -------------------------------------------------------------------------------- /src/main/resources/ui/fonts/ubuntu/README.txt: -------------------------------------------------------------------------------- 1 | ---------------------- 2 | Ubuntu Font Family 3 | ====================== 4 | 5 | The Ubuntu Font Family are a set of matching new libre/open fonts in 6 | development during 2010--2011. And with further expansion work and 7 | bug fixing during 2015. The development is being funded by 8 | Canonical Ltd on behalf the wider Free Software community and the 9 | Ubuntu project. The technical font design work and implementation is 10 | being undertaken by Dalton Maag. 11 | 12 | Both the final font Truetype/OpenType files and the design files used 13 | to produce the font family are distributed under an open licence and 14 | you are expressly encouraged to experiment, modify, share and improve. 15 | 16 | http://font.ubuntu.com/ 17 | -------------------------------------------------------------------------------- /src/main/resources/ui/fonts/ubuntu/TRADEMARKS.txt: -------------------------------------------------------------------------------- 1 | Ubuntu and Canonical are registered trademarks of Canonical Ltd. 2 | 3 | The licence accompanying these works does not grant any rights 4 | under trademark law and all such rights are reserved. 5 | -------------------------------------------------------------------------------- /src/main/resources/ui/fonts/ubuntu/UbuntuMono-B.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/fonts/ubuntu/UbuntuMono-B.ttf -------------------------------------------------------------------------------- /src/main/resources/ui/fonts/ubuntu/UbuntuMono-BI.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/fonts/ubuntu/UbuntuMono-BI.ttf -------------------------------------------------------------------------------- /src/main/resources/ui/fonts/ubuntu/UbuntuMono-R.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/fonts/ubuntu/UbuntuMono-R.ttf -------------------------------------------------------------------------------- /src/main/resources/ui/fonts/ubuntu/UbuntuMono-RI.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/fonts/ubuntu/UbuntuMono-RI.ttf -------------------------------------------------------------------------------- /src/main/resources/ui/fonts/ubuntu/copyright.txt: -------------------------------------------------------------------------------- 1 | Copyright 2010,2011 Canonical Ltd. 2 | 3 | This Font Software is licensed under the Ubuntu Font Licence, Version 4 | 1.0. https://launchpad.net/ubuntu-font-licence 5 | 6 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/app/128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/icons/app/128x128.png -------------------------------------------------------------------------------- /src/main/resources/ui/icons/app/16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/icons/app/16x16.png -------------------------------------------------------------------------------- /src/main/resources/ui/icons/app/24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/icons/app/24x24.png -------------------------------------------------------------------------------- /src/main/resources/ui/icons/app/256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/icons/app/256x256.png -------------------------------------------------------------------------------- /src/main/resources/ui/icons/app/32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/icons/app/32x32.png -------------------------------------------------------------------------------- /src/main/resources/ui/icons/app/48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/icons/app/48x48.png -------------------------------------------------------------------------------- /src/main/resources/ui/icons/app/64x64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/icons/app/64x64.png -------------------------------------------------------------------------------- /src/main/resources/ui/icons/app/96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/icons/app/96x96.png -------------------------------------------------------------------------------- /src/main/resources/ui/icons/filetypes/cube.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/filetypes/emerald/COPYING: -------------------------------------------------------------------------------- 1 | This work is licenced under the terms of the Creative Commons Attribution-ShareAlike 4.0 license. You are free to: 2 | 3 | * Share — copy and redistribute the material in any medium or format 4 | * Adapt — remix, transform, and build upon the material for any purpose, even commercially. 5 | * The licensor cannot revoke these freedoms as long as you follow the license terms. 6 | 7 | You can find the full text of the license at: 8 | 9 | http://creativecommons.org/licenses/by-sa/4.0/ -------------------------------------------------------------------------------- /src/main/resources/ui/icons/filetypes/j3s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/icons/filetypes/j3s.png -------------------------------------------------------------------------------- /src/main/resources/ui/icons/filetypes/jme3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/icons/filetypes/jme3.png -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/add-plus-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/basic-square.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/capsule-black-and-white-variant.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/close-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/copy-file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/extract-image.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/filter-filled-tool-symbol.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/grid.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/horizontal-line-remove-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/move-arrows.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/pencil-edit-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/plus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/rhombus.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/save-disk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/scale-symbol.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/stop.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/svg/triangle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /src/main/resources/ui/icons/test/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/main/resources/ui/icons/test/test.jpg -------------------------------------------------------------------------------- /src/test/java/com/ss/editor/test/internal/plugin/RegisterPluginExtensionsTest.java: -------------------------------------------------------------------------------- 1 | package com.ss.editor.test.internal.plugin; 2 | 3 | import com.jme3.post.filters.FXAAFilter; 4 | import com.ss.editor.manager.InitializationManager; 5 | import com.ss.editor.plugin.api.RenderFilterExtension; 6 | import org.jetbrains.annotations.NotNull; 7 | import org.junit.jupiter.api.Test; 8 | 9 | /** 10 | * The test to check registering plugin extensions. 11 | */ 12 | public class RegisterPluginExtensionsTest { 13 | 14 | @NotNull 15 | private static final InitializationManager MANAGER = InitializationManager.getInstance(); 16 | 17 | @Test 18 | public void registerFilter() { 19 | MANAGER.addOnAfterCreateJmeContext(() -> { 20 | final FXAAFilter filter = new FXAAFilter(); 21 | final RenderFilterExtension filterExtension = RenderFilterExtension.getInstance(); 22 | filterExtension.register(filter); 23 | filterExtension.setOnRefresh(filter, Object::notify); 24 | }); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/test/resources/Materials/Mirror.j3m: -------------------------------------------------------------------------------- 1 | Material MyMaterial : Common/MatDefs/Light/PBRLighting.j3md { 2 | MaterialParameters { 3 | Glossiness : 1.0 4 | EmissivePower : 3.0 5 | BaseColor : 1.0 1.0 1.0 1.0 6 | ParallaxHeight : 0.05 7 | Metallic : 1.0 8 | BackfaceShadows : false 9 | Roughness : 0.04 10 | NormalType : -1.0 11 | EmissiveIntensity : 2.0 12 | Specular : 1.0 1.0 1.0 1.0 13 | } 14 | AdditionalRenderState { 15 | } 16 | } -------------------------------------------------------------------------------- /src/test/resources/Materials/PbrGround.j3m: -------------------------------------------------------------------------------- 1 | Material MyMaterial : Common/MatDefs/Light/PBRLighting.j3md { 2 | MaterialParameters { 3 | Glossiness : 1.0 4 | EmissivePower : 3.0 5 | BaseColor : 1.0 1.0 1.0 1.0 6 | ParallaxHeight : 0.05 7 | Metallic : 0.4 8 | BackfaceShadows : false 9 | Roughness : 0.28 10 | NormalType : -1.0 11 | EmissiveIntensity : 2.0 12 | BaseColorMap : Flip WrapRepeat_T WrapRepeat_S MagBilinear MinBilinearNoMipMaps Textures/ground.jpg 13 | Specular : 1.0 1.0 1.0 1.0 14 | } 15 | AdditionalRenderState { 16 | } 17 | } -------------------------------------------------------------------------------- /src/test/resources/Scene/TestPbrScene.j3s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/test/resources/Scene/TestPbrScene.j3s -------------------------------------------------------------------------------- /src/test/resources/Textures/ground.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JavaSaBr/jmonkeybuilder/e474279a6bbeb1c06e5ea916436f694aa817f944/src/test/resources/Textures/ground.jpg --------------------------------------------------------------------------------