The jMonkeyEngine3 Software Development Kit based on Netbeans

MeFisto94 aaa5d6b918 Travis: Use Trusty as Distribution or else oraclejdk8 isn't available anymore. %!s(int64=6) %!d(string=hai) anos
BasicGameTemplate 531ce0a59a Fix source version %!s(int64=9) %!d(string=hai) anos
JME3TestsTemplate f51501f0c3 Add proper `assets` folder for the tests because the build fails otherwise. Used `.keep` files, so git tracks the empty folders. %!s(int64=8) %!d(string=hai) anos
JME3TestsTemplateAndroid f00da22500 Proguard Exception for NativeVorbisFile (https://hub.jmonkeyengine.org/t/solved-jni-exception-when-trying-to-use-ogg-files-on-android/39362/12) %!s(int64=7) %!d(string=hai) anos
ant-jme 1c3359d453 sdk: change javac source / target to 1.6 %!s(int64=10) %!d(string=hai) anos
ant-lib 001396958a - fix wiki download ant scripts %!s(int64=10) %!d(string=hai) anos
branding fc36f82a50 GLSL Support Round 1: Syntax Highlighting (#156) %!s(int64=7) %!d(string=hai) anos
debscripts fbeb17e033 move sdk to trunk %!s(int64=14) %!d(string=hai) anos
docs 8ad5f1e884 Small Documentation Addition: Corelibs vs Optlibs %!s(int64=8) %!d(string=hai) anos
gradle 7eeeda3acb Removed deprecated Gradle stuff and upgraded Gradle to 4.10.2 (#185) %!s(int64=6) %!d(string=hai) anos
harness-override da770aab5b Minor spelling/explaining and formatting fixes %!s(int64=9) %!d(string=hai) anos
jdks 02f24f0ea6 Adopt OpenJDK: Change the download script from oracle jdk distribution to openJDK Distribution (because otherwise an oracle.com login would be required and that script was a common point of failure in history anyway, because older jdk's got removed, urls changed, ...). %!s(int64=6) %!d(string=hai) anos
jme3-android 9f4a638626 Fixes #194 - Upgrade NBAndroid to NBAndroidV2. Always add the latest update source on start. %!s(int64=6) %!d(string=hai) anos
jme3-angelfont 57520b5f53 Update the genfiles %!s(int64=7) %!d(string=hai) anos
jme3-assetpack-support 57520b5f53 Update the genfiles %!s(int64=7) %!d(string=hai) anos
jme3-behaviortrees edb45d3f78 Fix simple BTree Example/Template File %!s(int64=6) %!d(string=hai) anos
jme3-blender 57520b5f53 Update the genfiles %!s(int64=7) %!d(string=hai) anos
jme3-cinematics dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-code-check dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-codepalette dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-core e20399c748 Revert "Fix setting of a LightProbes Radius didn't work directly (only by scaling)" %!s(int64=6) %!d(string=hai) anos
jme3-core-baselibs dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-core-libraries dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-core-updatecenters dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-dark-laf dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-desktop-executables dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-documentation dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-glsl-highlighter 8c965b164c Fix GLSL Module %!s(int64=6) %!d(string=hai) anos
jme3-gui 57520b5f53 Update the genfiles %!s(int64=7) %!d(string=hai) anos
jme3-ios dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-lwjgl-applet dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-materialeditor 736870cb54 Fixes #2 - Errors in EditableMatDef now spawn ErrorDialogs and the Form will throw an Exception when the MatDef had an error loading. If (e.g.) Lighting.j3md is copied into the asset path, opening the Shader Editor works and shows all the Inputs but logs to the sdk output window that the currently active technique does not consist of ShaderNodes %!s(int64=6) %!d(string=hai) anos
jme3-model-importer dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-navmesh-gen dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-obfuscate dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-ogretools dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-ogrexml dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-project-baselibs dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-project-libraries dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-project-testdata dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-scenecomposer 836de36891 Revert "Fix LightProbe scaling by pressing S not working" %!s(int64=6) %!d(string=hai) anos
jme3-templates dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-terrain-editor f5c5ed85db Actually fix #162 (#168) %!s(int64=6) %!d(string=hai) anos
jme3-tests-template dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-texture-editor dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-vehicle-creator dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-wavefront dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
jme3-welcome-screen dbf3cbb61a Update all project properties to 3.2.0 (so they don't show as changed files in everyone's repo) %!s(int64=7) %!d(string=hai) anos
lib 4b08593f66 Fixes #61, Maybe Fixes #53 and others: Re-Added Missing JBullet Runtime Dependencies %!s(int64=9) %!d(string=hai) anos
nbi fba0229d1c Fixes #186 - The JDK dropped Apache Derby %!s(int64=6) %!d(string=hai) anos
nbproject 57520b5f53 Update the genfiles %!s(int64=7) %!d(string=hai) anos
patches e2e7e74dc4 Fixes only work when you don't forget to commit half of them %!s(int64=7) %!d(string=hai) anos
resources 10b58811a4 Changed the About Screen to use less Scrollbars and added change instructions to resources/ %!s(int64=9) %!d(string=hai) anos
.gitignore a7d0563956 iOS: Added a way to simplify the depedency-download in order to build avian and also patch the jvm to work around build errors. i386 is commented out since it doesn't compile on Xcode 6 and is only used for the iOS Simulator on which you could also use x86_64. %!s(int64=9) %!d(string=hai) anos
.travis.yml aaa5d6b918 Travis: Use Trusty as Distribution or else oraclejdk8 isn't available anymore. %!s(int64=6) %!d(string=hai) anos
build.gradle 7eeeda3acb Removed deprecated Gradle stuff and upgraded Gradle to 4.10.2 (#185) %!s(int64=6) %!d(string=hai) anos
build.xml ede73f46b5 Build: Separated Mac OSX and Platform Independant into a third build to reduce the build time of the x64 build. %!s(int64=8) %!d(string=hai) anos
build_engine.sh 586d0358b3 Take v3.2 as engine version on this branch (obviously) %!s(int64=7) %!d(string=hai) anos
fix_engine.sh e2e7e74dc4 Fixes only work when you don't forget to commit half of them %!s(int64=7) %!d(string=hai) anos
gradle.properties 1cf0f54cf6 Upgrade official SDK Version to 3.2. (should've happend much earlier) %!s(int64=7) %!d(string=hai) anos
gradlew 7eeeda3acb Removed deprecated Gradle stuff and upgraded Gradle to 4.10.2 (#185) %!s(int64=6) %!d(string=hai) anos
gradlew.bat 7eeeda3acb Removed deprecated Gradle stuff and upgraded Gradle to 4.10.2 (#185) %!s(int64=6) %!d(string=hai) anos
jmonkeyplatform.icns 99bae6200e - update SDK OSX icon %!s(int64=10) %!d(string=hai) anos
jmonkeyplatform.png 522fd1ed8b sdk: use a high resolution icon %!s(int64=10) %!d(string=hai) anos
license-jme.txt 970c31b207 Updating License File %!s(int64=9) %!d(string=hai) anos
licenses-sdk.txt 0aa4dc7c9b Fixes #55 Old Installer License Year. %!s(int64=9) %!d(string=hai) anos
readme.md 089a21a700 Initial step towards Engine Version 3.2 %!s(int64=8) %!d(string=hai) anos
version.gradle 3870a379c3 Fix Issue that version determination got confused when a commit had two tags. %!s(int64=6) %!d(string=hai) anos

readme.md

jMonkeyEngine Software Development Kit (SDK) Build Status

Welcome to the repository of the jMonkeyEngine Software Development Kit (SDK). This SDK simplifies developing 3D Applications with the jMonkeyEngine. It contains everything ever needed to develop a full application.

Our SDK (or jmonkeyplatform) is based on the Netbeans IDE but includes additional features like:

  • A Scene Editor (SceneExplorer: Preview your scene, adjust all positions, add Controls and AppStates (WYSIWYG) and then just save the scene)
  • A Material Editor
  • A Filter Editor (combine multiple filters and just load them in-game)
  • Bundled JDK for each platform (so you don't need to install java first)
  • Bundled Blender (so you can start 3d modelling and also use it's import capabilities) and many more!

It is important to know that the SDK is not coupled with the engine itself, so if you have issues which are unrelated to the IDE, report them here. This however also means, that the SDK can have a different pace than the engine (at the time of writing, the SDK is on 3.1.0-stable whereas the engine team is already working on 3.2) but you can nonetheless work on a different engine version than the one which is bundled.

!!! Note: You are currently watching the master branch which is the active development for JMonkeyEngine 3.2. For the current release candidate, see the v3.1 branch! !!!

Getting Started / Downloading the SDK

Just have a look at our releases section. There you can download the version you desire. The SDK will generally follow the convention that it's version number is lined up with the matching engine version plus some suffixes for different SDK releases on the same engine version.

There are multiple files from which you can choose:
You can take the platform agnostic jmonkeyplatform.zip which contains the full SDK able to be run on "any" (X86/x86_64) platform (Windows, Mac OS, Linux) however it lacks the jdk as well as blender.
Thus the prefered download is jmonkeyplatform-windows-x64.exe which essentially is jmonkeyplatform.zip and the correct version of the JDK and Blender (hence the ~250MiB size increase).
If you don't know whether your system is 64 bits (x64) or 32 bits (x86), you can type uname -i on Linux or look into the system informations (right click on Computer->Properties) on Windows.

Note: The Tag stable is refering to 3.0-stable, which is an ancient version. You should not start any new projects based of 3.0 but use 3.1 instead. Also the tag is pointing to the wrong commit since we had to re-upload those files but the repo doesn't really contain any 3.0 commits anymore.

Building the SDK

Building the SDK is an easy process basically, but it depends on what kind of distribution you want to build. You also have to know that the build process changes from time to time, so have a look at the .travis.yml file, or related, you will see how we build our releases then.

Note: Currently, the SDK has to build the engine on it's own, because not all needed dependencies are in mavenCentral/jCenter. Thus you have to call build_engine.sh first on a Linux System, Inside your Windows-Git-Shell or you can manually checkout the jMonkeyEngine repository and then invoke gradlew.bat -PbuildJavaDoc=true install. This will add all jMonkeyEngine Libraries into your local maven "server".

Technically the gradle task buildSdk is the main task which builds the sdk (Invoking ./gradlew buildSdk or gradlew.bat buildSdk on Windows).

If you just want to run the SDK on your machine:

call `./gradlew run` (`gradlew.bat run`), which internally calls `buildSdk` and then uses `ant` to run the SDK.

If you want to build the platform agnostic zip:

call `./gradlew buildSdk` and then you have the file in `dist/jmonkeyplatform.zip`  

If you want to build the platform installers (like we do):

call `./download-jdks.sh`, `./gradlew buildSdk` and then `ant build-installers`
You have to install ant for this to work (for linux consult the internet, for mac os look into homebrew).
Note that this takes a long time (more than one hour), because a huge amount of data is compressed and such.

If you want to build the platform installers (On Windows -> without having ant):

See above. You can bypass ant by declaring a gradle task, just like it has been done for run. There, the gradle included ant will be used).
Alternatively you can launch netbeans in `netbeans/`, open the SDK as Netbeans Project Collection and select __package as__:
![Package as...](http://i.imgur.com/5V2uBHf.png).
Note that you still have to download and unpack the jdks somehow, which is a cumbersome process, which is why it is discouraged to
build the installers on Windows (Linux and Mac OS are supported).

If you want to debug the SDK inside an IDE:

See above. You want to open the SDK as Netbeans Project from within Netbeans (you can use the nb in `netbeans/`) and you can then treat it as regular project with the difference that there are several subproject.

A note about the netbeans/ folder: To save bandwidth buildSdk downloads netbeans once to said folder and uses it over and over again. Even when the download URL is changed (i.e. when you update the netbeans version), you have to delete the netbeans folder and remove it from any cache (Travis!), so it can be reloaded.

Developing/Contributing

First of all, I suggest you to take a look at docs/. Those docs are a loose collection of things I came across during development, but they prevent you from re-doing the same experiences. Other than that, Netbeans Platform is your google keyword for any NB related issues. Basically the only tricky thing is how we handle custom entries in the SceneExplorer. This is called the Netbeans Nodes API and is somewhat unintuitive. Just take a look at the Motion Event Pull Request, which should've been added around March 2016, there you can see what was needed to add MotionEvents to the SDK.

Other than that, we are more than happy to help, even if your addition is incomplete. Make sure you use the Netbeans formatting, obvious variable naming and commented and especially documented code, though. Before you open an issue, make sure that it is not an engine bug, but a real sdk bug. If you are uncertain whether it is a real bug or misuse, you can either open an issue or ask on the hub using the Troubleshooting | jmonkeyplatform category.

Issues when building

Could not find jme3.1.0-stable :

When you occur this issue, you have to go back to the engine build step and see how the engine is called. Technically the engine version is collected out from git tags, or called SNAPSHOT. Then there are cases where this recognition fails. For example when the SDK has a tag but the engine is snapshot. Then take a look at `build.gradle` in the sdk repo. It contains a field called `ext.jmeVersion` or something, where you can specify the version.

Could not find jme3-jbullet :

jBullet is not part of jCenter, which means you forgot to build the engine first. See above.