{"id":21833702,"url":"https://github.com/jvpichowski/zayes-bullet","last_synced_at":"2025-03-21T13:47:48.127Z","repository":{"id":117576584,"uuid":"81137073","full_name":"jvpichowski/ZayES-Bullet","owner":"jvpichowski","description":"Contains a simple example how you can combine native bullet and zay es","archived":false,"fork":false,"pushed_at":"2017-09-23T09:03:30.000Z","size":347,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-26T09:29:02.953Z","etag":null,"topics":["bullet","bullet-physics","jme3","jmonkeyengine3","zayes"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jvpichowski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-06T21:47:33.000Z","updated_at":"2024-08-10T08:19:50.000Z","dependencies_parsed_at":"2023-06-07T03:15:16.766Z","dependency_job_id":null,"html_url":"https://github.com/jvpichowski/ZayES-Bullet","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvpichowski%2FZayES-Bullet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvpichowski%2FZayES-Bullet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvpichowski%2FZayES-Bullet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvpichowski%2FZayES-Bullet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jvpichowski","download_url":"https://codeload.github.com/jvpichowski/ZayES-Bullet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244807651,"owners_count":20513681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bullet","bullet-physics","jme3","jmonkeyengine3","zayes"],"created_at":"2024-11-27T19:32:44.375Z","updated_at":"2025-03-21T13:47:48.092Z","avatar_url":"https://github.com/jvpichowski.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZayES-Bullet\n\nZayES and Bullet are two key elements of jME3. This library aims to be\na flexible and easy to use adapter between them. Every entity could be\nintegrated into the physics calculations by only combining physics \ncomponents. \n\n## Getting started\n\nThe easiest way to get started is to clone this repository\nand have a look at the examples in the test folder. You'll\nnotice the most important aspects.\n\n## Adding ZayEs-Bullet to your project\n\nZayES-Bullet is released on bintray. Just add the dependency definition\nto your build file or download directly the needed jars. There are\njavadoc and sources available. \n([Direct link to Bintray](https://bintray.com/jvpichowski/jME3-Tools/ZayES-Bullet))\nDon't forget to add the needed bintray repository to your repositories:\n```\nmaven { url \"https://dl.bintray.com/jvpichowski/jME3-Tools/\" }\n```\n\nOr you could use 'jitpack.io' to fetch the latest changes (They may be breaking changes). Just use this example 'build.gradle' file:\n\n```\ngroup 'com.jvpichowski'\nversion '1.0-SNAPSHOT'\n\napply plugin: 'java'\n\nsourceCompatibility = 1.8\n\nrepositories {\n    jcenter()\n    maven { url 'https://jitpack.io' }\n}\n\next.jmeVersion = '3.1.0-stable'\n\ndependencies {\n\n    compile \"org.jmonkeyengine:jme3-core:$jmeVersion\"\n    compile \"org.jmonkeyengine:jme3-desktop:$jmeVersion\"\n    compile \"org.jmonkeyengine:jme3-lwjgl:$jmeVersion\"\n\n    compile \"org.jmonkeyengine:jme3-bullet-native:$jmeVersion\"\n    compile \"org.jmonkeyengine:jme3-bullet:$jmeVersion\"\n\n    compile 'com.simsilica:sio2:1.0.3'\n    compile 'com.simsilica:zay-es:1.2.1'\n\n    compile 'com.github.jvpichowski:ZayES-Bullet:master-SNAPSHOT'\n    testCompile group: 'junit', name: 'junit', version: '4.12'\n}\n\n```\n\n## Architecture\n\nZayES-Bullet consists of two parts. On the one hand there are the\ncomponents you need to describe your entity (e.g. mass, shape, ...).\nHave a look in the `components` package to discover all of them.\nOn the other hand there is the BulletSystem which pulls those information,\nadds them to the physics simulation and propagates the new state back to\nthe entity in form of components. Then you could watch for them and\nchange your game view. The BulletSystem is the complex part and could\nbe extended in various ways but usually you only have to create it and\ncall `update()` from time to time to update its state. Don't forget to\ndestroy it if you don't need it anymore. I have added an `ESBulletState` \nBecause this library is mostly used by jME3 developers. This states\nhandles the creation, destruction and update of the BulletSystem for you.\nYou simple have to attach it to your StateManager. In the constructor\nyou can specify different threading modes. See the javadoc for more\nexplanation on them.\n\n## Thread safety\n\nZayES is by default threadsafe. As a consequence you don't have to worry to much\nabout thread safety if you only read and add components. But there could\nbe some pitfalls with the BulletSystem for advanced users because you can \nobtain direct access to the Bullet PhysicsSpace (e.g. to register listeners). You have to be aware\nthat the listeners are called from the physics thread and not from the\nrender thread. As a consequence you have to enqueue all events.\n\n## Versioning\n\nThis library is still in an alpha state. The key features should work but\nthere has to be more testing. Be aware that the api might change. At the\nmoment I'm very happy with the core api and it probably won't change anymore.\nBut be warned that there could still be breaking changes in later releases.\n\n## Road map\n\nThe next step will be a good character control. Then I will add more\nadvanced components like a force field. And I will improve my own debug\nview.\n\n## License\n\nZayES-Bullet is released under the BSD 3-Clause License. If you like it\nI would be proud if you show me your work and give credit to me.\n\n## Getting in touch\n\nI have a [thread in the jME3 forum](https://hub.jmonkeyengine.org/t/bullet-zay-es-example/37946)\nwhere I will discuss several aspects. There you have the chance to ask \nquestions and state your requirements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvpichowski%2Fzayes-bullet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjvpichowski%2Fzayes-bullet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvpichowski%2Fzayes-bullet/lists"}