The jMonkeyEngine3 Software Development Kit based on Netbeans

Rickard Edén 7229646f85 Merge pull request #654 from neph1/sort_anim_clips 1 月之前
.github a4c9a62635 Update gradle.yml 1 年之前
BasicGameTemplate 731b8000a0 Also include the JSON GSON implementation for gLTF model loading 7 月之前
JME3TestsTemplate 731b8000a0 Also include the JSON GSON implementation for gLTF model loading 7 月之前
JME3TestsTemplateAndroid f00da22500 Proguard Exception for NativeVorbisFile (https://hub.jmonkeyengine.org/t/solved-jni-exception-when-trying-to-use-ogg-files-on-android/39362/12) 7 年之前
ant-jme f4847872ae New URL is deprecated 1 年之前
ant-lib 001396958a - fix wiki download ant scripts 10 年之前
branding ca43979ce2 Update copyright years 3 月之前
debscripts fbeb17e033 move sdk to trunk 14 年之前
docs 330c9f5d70 Added a basic description for SDK Plugins 5 年之前
gradle 29bc65dfd2 Update to Gradle 8 1 年之前
harness-override 626cd980e3 Update harnesses 3 月之前
jdks 83ef4fe781 Quote parameters 1 年之前
jme3-android 257a784ced Imports and switch 1 年之前
jme3-angelfont d130d588df Set JDK 21 1 年之前
jme3-assetbrowser fe12153fcd Fix AssetBrowser issue if filter is null 10 月之前
jme3-assetpack-support 3d4a1669bd fix incorrect assignment 1 年之前
jme3-autodesk 750f45c091 Add missing file 1 年之前
jme3-behaviortrees 697a5f237a Assetbrowser (#506) 1 年之前
jme3-blender 7d4966c4e0 Conform to new jME JSON anti corruption layer 9 月之前
jme3-cinematics d130d588df Set JDK 21 1 年之前
jme3-code-check d130d588df Set JDK 21 1 年之前
jme3-codepalette d130d588df Set JDK 21 1 年之前
jme3-core 4db4be8f89 fix import 1 月之前
jme3-core-baselibs d130d588df Set JDK 21 1 年之前
jme3-core-libraries d130d588df Set JDK 21 1 年之前
jme3-core-updatecenters d130d588df Set JDK 21 1 年之前
jme3-dark-laf d3eaf30a9b Fix imports etc 1 年之前
jme3-desktop-executables 257a784ced Imports and switch 1 年之前
jme3-documentation d130d588df Set JDK 21 1 年之前
jme3-glsl-highlighter 789dab411b Keyword competition for GLSL editor 7 月之前
jme3-gui f8ae9d8412 Unnecessary boxing and switch 1 年之前
jme3-lwjgl-applet d130d588df Set JDK 21 1 年之前
jme3-materialeditor 4d282e347a fix material editor incompatibility 3 月之前
jme3-model-importer d3eaf30a9b Fix imports etc 1 年之前
jme3-navmesh-gen d3eaf30a9b Fix imports etc 1 年之前
jme3-obfuscate d130d588df Set JDK 21 1 年之前
jme3-project-baselibs d130d588df Set JDK 21 1 年之前
jme3-project-libraries d130d588df Set JDK 21 1 年之前
jme3-project-testdata d130d588df Set JDK 21 1 年之前
jme3-scenecomposer 14d2632da1 Merge pull request #642 from neph1/fix_multi_select 3 月之前
jme3-templates 9566dd42c5 Add 3.8 to known versions 3 月之前
jme3-terrain-editor 7f6f227e94 use one enqueue. format code 1 月之前
jme3-tests-template d130d588df Set JDK 21 1 年之前
jme3-texture-editor d130d588df Set JDK 21 1 年之前
jme3-vehicle-creator d130d588df Set JDK 21 1 年之前
jme3-wavefront ce91369ed6 Merge pull request #585 from tonihele/feature/issue-584 1 年之前
jme3-welcome-screen f4847872ae New URL is deprecated 1 年之前
lib 4b08593f66 Fixes #61, Maybe Fixes #53 and others: Re-Added Missing JBullet Runtime Dependencies 9 年之前
nbi 8abb790a7f Upgrade Netbeans to 25 3 月之前
nbproject c0e6b9538d Disable security manager (needed for Java 21 and NB 25) 3 月之前
resources 13eb8927bc 3.8 branding 3 月之前
.gitignore d7a7096e45 Updated build stuff 5 年之前
build.gradle 731b8000a0 Also include the JSON GSON implementation for gLTF model loading 7 月之前
build.xml 6ac7a82703 Disable Windows x86 by default 1 年之前
gradle.properties cd7e745085 jME 3.8 3 月之前
gradlew 29bc65dfd2 Update to Gradle 8 1 年之前
gradlew.bat 29bc65dfd2 Update to Gradle 8 1 年之前
jmonkeyplatform.icns 99bae6200e - update SDK OSX icon 10 年之前
jmonkeyplatform.png 522fd1ed8b sdk: use a high resolution icon 10 年之前
license-jme.txt ca43979ce2 Update copyright years 3 月之前
licenses-sdk.txt ca43979ce2 Update copyright years 3 月之前
readme.md 6e12cfdf52 Update Java version claim 1 年之前
settings.gradle 9ea392e078 Update to regular 3.4 maven dependencies instead of a custom composite build. 3 年之前
version.gradle 7cf0efc789 Try to get the tag name from properties 2 年之前

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 (jME). 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)

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 but you can nonetheless work on a different engine version than the one which is bundled. For your own projects, you should consider using Gradle build system which also gives you flexibility on choosing any jMonkeyEngine version. More on this later.

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" (64-bit) platform (Windows, Mac OS, Linux) however it lacks the JDK.
Thus the prefered download is jmonkeyplatform-windows-x64.exe which essentially is jmonkeyplatform.zip and the correct version of the JDK.

After the SDK is up and running. A good starting point is to look at the jME examples. Under File | New project | JME3 Tests you can create a new project, populated with the jME build in examples. You can freely mess around with these and try out stuff. Your changes can always be reverted by simply creating a new JME3 Tests project. Once you are all comfortable and ready to embark on your own exciting journey, File | New project | Basic game (with Gradle) is the recommended starting point.

Building the SDK

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

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 might take a long time, 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 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. If you think you've encountered a bug in the SDK, please open an issue to let the developers know or post on the hub using the Troubleshooting | jmonkeyplatform category.