index.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552
  1. <!DOCTYPE html>
  2. <html lang="en-us">
  3. <head>
  4. <title>jMonkeyEngine </title>
  5. <meta name="viewport" content="width=device-width,minimum-scale=1">
  6. <meta name="description"
  7. content="jMonkeyEngine is a modern developer friendly game engine written primarily in Java. ">
  8. <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
  9. <link rel="stylesheet" href="/css/style.css">
  10. <meta name="twitter:card" content="summary"/>
  11. <meta name="twitter:title" content=""/>
  12. <meta name="twitter:description" content="Contributing to jMonkeyEngine There are several ways to contribute toward the jMonkey project. All of the jmonkey source code is hosted on github and follows the git procedure.
  13. Contributing to the Engine To contribute to the engine you must clone the jMonkeyEngine repository, commit your changes and submit a Pull Request (PR). Pull Requests are reviewed by staff members and contributors before it is determined whether they will be approved and merged."/>
  14. <meta property="og:title" content="" />
  15. <meta property="og:description" content="Contributing to jMonkeyEngine There are several ways to contribute toward the jMonkey project. All of the jmonkey source code is hosted on github and follows the git procedure.
  16. Contributing to the Engine To contribute to the engine you must clone the jMonkeyEngine repository, commit your changes and submit a Pull Request (PR). Pull Requests are reviewed by staff members and contributors before it is determined whether they will be approved and merged." />
  17. <meta property="og:type" content="article" />
  18. <meta property="og:url" content="https://jmonkeyengine.org/contribute/" /><meta property="article:section" content="" />
  19. <meta itemprop="name" content="">
  20. <meta itemprop="description" content="Contributing to jMonkeyEngine There are several ways to contribute toward the jMonkey project. All of the jmonkey source code is hosted on github and follows the git procedure.
  21. Contributing to the Engine To contribute to the engine you must clone the jMonkeyEngine repository, commit your changes and submit a Pull Request (PR). Pull Requests are reviewed by staff members and contributors before it is determined whether they will be approved and merged.">
  22. <meta itemprop="wordCount" content="170">
  23. <meta itemprop="keywords" content="" />
  24. <script src="/js/old-browser.js"></script>
  25. <link rel="stylesheet" href="/css/old-browser.css">
  26. <script src="/highlight/highlight.pack.js"></script>
  27. <script
  28. src="//cdnjs.cloudflare.com/ajax/libs/highlightjs-line-numbers.js/2.8.0/highlightjs-line-numbers.min.js"></script>
  29. <link rel="stylesheet" href="/highlight/styles/railscasts.css">
  30. <script type="text/javascript">
  31. hljs.initHighlightingOnLoad();
  32. hljs.initLineNumbersOnLoad();
  33. </script>
  34. <script src="/js/utils.js"></script>
  35. <script src="/js/showcase.js"></script>
  36. <script type="module" src="/js/Main.js"></script>
  37. <script src="https://cdnjs.cloudflare.com/ajax/libs/later/1.2.0/later.min.js" integrity="sha512-4OyNDMl5KLKjS8F1ImVwUvmthM8HkXbR6vMafCmT5zBTd9I/sA3z3zM0JLBosHW6/3K2jq2RoBo/eTUNS2hOGA==" crossorigin="anonymous"></script>
  38. <script src="/js/maintenance/maintenance.js"></script>
  39. <link rel="stylesheet" href="/js/maintenance/maintenance.css">
  40. <script src="/js/christmas/Christmas.js"></script>
  41. <script>
  42. Christmas.init(
  43. "https://jmonkeyengine.org/js/christmas/",
  44. ["figure.githubUser img", 'img.avatar', "#showcase button"],
  45. [
  46. {
  47. type: "attribute",
  48. value: "src",
  49. transform:function(src){
  50. if(src.startsWith("/user_avatar/hub.jmonkeyengine.org/")) {
  51. return src.substring("/user_avatar/hub.jmonkeyengine.org/".length).split("/")[0];
  52. }
  53. return src;
  54. }
  55. },
  56. {
  57. type: "attribute",
  58. value: "title"
  59. },
  60. {
  61. type: "text"
  62. }
  63. ],
  64. ["header img.avatar"]
  65. );
  66. </script>
  67. </head>
  68. <body>
  69. <header> <nav class="responsiveWidth " id="topmenu">
  70. <div class="expandable">
  71. <a href="https://jmonkeyengine.org/" alt-href="https://jmonkeyengine.org/tags,https://jmonkeyengine.org/authors,https://jmonkeyengine.org/devlog,https://jmonkeyengine.org/blog,,https://jmonkeyengine.org/communitylog">
  72. <button class="genericCl responsiveIcon expandable ">
  73. <i class="fas fa-home"></i> <span>Home</span>
  74. </button>
  75. </a>
  76. <a href="https://jmonkeyengine.org/tags/showcase" alt-href="https://jmonkeyengine.org/showcase">
  77. <button class="genericCl responsiveIcon expandable ">
  78. <i class="fas fa-images"></i> <span>Showcase</span>
  79. </button>
  80. </a>
  81. <a href="https://hub.jmonkeyengine.org">
  82. <button class="genericCl responsiveIcon expandable ">
  83. <i class="fab fa-discourse"></i> <span>Discussions</span>
  84. </button>
  85. </a>
  86. <a href="https://library.jmonkeyengine.org" >
  87. <button class="genericCl responsiveIcon expandable ">
  88. <i class="fas fa-puzzle-piece"></i> <span>Library</span>
  89. </button>
  90. </a>
  91. <a href="https://jmonkeyengine.org/docs">
  92. <button class="genericCl responsiveIcon expandable ">
  93. <i class="fas fa-book"></i> <span>Docs</span>
  94. </button>
  95. </a>
  96. <a href="https://jmonkeyengine.org/license">
  97. <button class="genericCl responsiveIcon expandable toggleable toggledOffPortrait">
  98. <i class="fas fa-balance-scale-right"></i> <span>License</span>
  99. </button>
  100. </a>
  101. </div>
  102. <div class="toggleable toggledOffPortrait expandable">
  103. <a href="https://github.com/jMonkeyEngine/jmonkeyengine" rel='noopener noreferrer' target="_blank">
  104. <button class="icon toggleable toggledOffPortrait codeCl expandable " title="Github">
  105. <i class="fab fa-github-square"></i> <span>Github</span>
  106. </button>
  107. </a>
  108. <a href="https://twitter.com/jmonkeyengine" rel='noopener noreferrer' target="_blank">
  109. <button class="icon twitterCl toggleable toggledOffPortrait expandable " title="Follow on Twitter">
  110. <i class="fab fa-twitter"></i> <span>Twitter</span>
  111. </button>
  112. </a>
  113. <a href="https://www.youtube.com/channel/UC-Fs3R5Q6wW_XYspOXGZgPw" rel='noopener noreferrer'
  114. target="_blank">
  115. <button class="icon youtubeCl toggleable toggledOffPortrait expandable " title="Follow on Youtube">
  116. <i class="fab fa-youtube"></i> <span>Youtube</span>
  117. </button>
  118. </a>
  119. <a href="https://discord.gg/Rv8sfVu" rel='noopener noreferrer' target="_blank">
  120. <button class="icon discordCl toggleable toggledOffPortrait expandable " title="Discord">
  121. <i class="fab fa-discord"></i> <span>Discord</span>
  122. </button>
  123. </a>
  124. <a href="https://jmonkeyengine.org/donate" >
  125. <button class="icon donateCl toggleable toggledOffPortrait expandable " title="Donate">
  126. <i class="fas fa-donate"></i> <span>Donate!</span>
  127. </button>
  128. </a>
  129. </div>
  130. </nav>
  131. <script>
  132. !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.stringSimilarity=e():t.stringSimilarity=e()}(self,(function(){return t={138:t=>{function e(t,e){if((t=t.replace(/\s+/g,""))===(e=e.replace(/\s+/g,"")))return 1;if(t.length<2||e.length<2)return 0;let r=new Map;for(let e=0;e<t.length-1;e++){const n=t.substring(e,e+2),o=r.has(n)?r.get(n)+1:1;r.set(n,o)}let n=0;for(let t=0;t<e.length-1;t++){const o=e.substring(t,t+2),s=r.has(o)?r.get(o):0;s>0&&(r.set(o,s-1),n++)}return 2*n/(t.length+e.length-2)}t.exports={compareTwoStrings:e,findBestMatch:function(t,r){if(!function(t,e){return"string"==typeof t&&!!Array.isArray(e)&&!!e.length&&!e.find((function(t){return"string"!=typeof t}))}(t,r))throw new Error("Bad arguments: First argument should be a string, second should be an array of strings");const n=[];let o=0;for(let s=0;s<r.length;s++){const i=r[s],f=e(t,i);n.push({target:i,rating:f}),f>n[o].rating&&(o=s)}return{ratings:n,bestMatch:n[o],bestMatchIndex:o}}}}},e={},function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}(138);var t,e}));
  133. window.initJmeMenu=function () {
  134. const selectionClass= window.selectedTopMenuClass || "highlightedCl";
  135. const topmenu = document.querySelector('#topmenu');
  136. if (window.location.href.startsWith("http://localhost:1313")) {
  137. for (const a of topmenu.querySelectorAll("a")) {
  138. a.href = a.href.replace("https://jmonkeyengine.org", "http://localhost:1313");
  139. }
  140. }
  141. const likelyScore=[];
  142. for (const a of topmenu.querySelectorAll("a")) {
  143. const pageUrl=window.location.href.endsWith("/")?window.location.href.substring(0,window.location.href.length-1):window.location.href;
  144. const process = (linkUrls) => {
  145. if(!linkUrls)return;
  146. for(let linkUrl of linkUrls){
  147. if (linkUrl != null) {
  148. if (window.location.href.startsWith("http://localhost:1313")) {
  149. linkUrl = linkUrl.replace("https://jmonkeyengine.org", "http://localhost:1313");
  150. }
  151. if (linkUrl.endsWith("/")) {
  152. linkUrl = linkUrl.substring(0, linkUrl.length - 1);
  153. }
  154. const score = stringSimilarity.compareTwoStrings(linkUrl, pageUrl);
  155. likelyScore.push(
  156. {
  157. score: score,
  158. el: a.querySelector("button")
  159. }
  160. );
  161. }
  162. }
  163. }
  164. process([a.href]);
  165. process(a.getAttribute("alt-href")?a.getAttribute("alt-href").split(","):undefined);
  166. }
  167. likelyScore.sort((a, b) => b.score - a.score);
  168. likelyScore.forEach(el=>el.el.classList.remove(selectionClass));
  169. likelyScore[0].el.classList.add(selectionClass);
  170. };
  171. document.addEventListener('DOMContentLoaded', function(){
  172. window.initJmeMenu();
  173. });
  174. </script>
  175. <div id="siteTitle" class="list hlist responsiveWidth">
  176. <div id="logo">
  177. <a href="/">
  178. <img src="/images/jme-logo.png" />
  179. </a>
  180. <i class="toggleNavOnPortraitButton fas fa-bars" toggle="topmenu"></i>
  181. </div>
  182. <div id="contributionsBanner">
  183. <div> <i class="fas fa-donate"></i>
  184. Backed by:
  185. <a rel='noopener nofollow noreferrer' target="_blank" id="backerName">The Community</a>
  186. <a rel='noopener nofollow noreferrer' target="_blank"
  187. href="https://opencollective.com/jmonkeyengine#section-contributors"> and more...</a>
  188. </div>
  189. <div>
  190. <i class="fab fa-github-alt"></i>
  191. Contributed by:
  192. <a rel='noopener nofollow noreferrer' target="_blank" id="contributorName">The Community</a>
  193. <a rel='noopener nofollow noreferrer' target="_blank"
  194. href="https://github.com/jMonkeyEngine/jmonkeyengine/graphs/contributors">and more...</a>
  195. </div>
  196. </div>
  197. </div>
  198. </header>
  199. <main>
  200. <section id="showcase" mode="banner">
  201. <i id="playButton" class=" fas fa-play"></i>
  202. <div class="showcaseElement" style='display: block '>
  203. <div class="cover blur" style ="background-image: url('/images/showcase/ls_frontier/8.jpg'); " ></div>
  204. <div class="cover" style ="background-image: url('/images/showcase/ls_frontier/8.jpg'); " ></div>
  205. </div>
  206. <div class="showcaseElement" style='display: none '>
  207. <div class="cover blur" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/5.jpg'); " ></div>
  208. <div class="cover" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/5.jpg'); " ></div>
  209. </div>
  210. <div class="showcaseElement" style='display: none '>
  211. <div class="cover blur" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/3.jpg'); " ></div>
  212. <div class="cover" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/3.jpg'); " ></div>
  213. </div>
  214. <video class="showcaseElement cover" style='display: none ' preload="none"
  215. class="cover">
  216. <source src="https://steamcdn-a.akamaihd.net/steam/apps/256676876/movie_max.webm" type="video/webm">
  217. </video>
  218. </div>
  219. <div class="showcaseElement" style='display: none '>
  220. <div class="cover blur" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/10.jpg'); " ></div>
  221. <div class="cover" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/10.jpg'); " ></div>
  222. </div>
  223. <div class="showcaseElement" style='display: none '>
  224. <div class="cover blur" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/6.jpg'); " ></div>
  225. <div class="cover" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/6.jpg'); " ></div>
  226. </div>
  227. <div class="showcaseElement" style='display: none '>
  228. <div class="cover blur" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/1.jpg'); " ></div>
  229. <div class="cover" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/1.jpg'); " ></div>
  230. </div>
  231. <div class="showcaseElement" style='display: none '>
  232. <div class="cover blur" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/2.jpg'); " ></div>
  233. <div class="cover" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/2.jpg'); " ></div>
  234. </div>
  235. <div class="showcaseElement" style='display: none '>
  236. <div class="cover blur" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/11.jpg'); " ></div>
  237. <div class="cover" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/11.jpg'); " ></div>
  238. </div>
  239. <div class="showcaseElement" style='display: none '>
  240. <div class="cover blur" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/4.jpg'); " ></div>
  241. <div class="cover" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/4.jpg'); " ></div>
  242. </div>
  243. <div class="showcaseElement" style='display: none '>
  244. <div class="cover blur" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/9.jpg'); " ></div>
  245. <div class="cover" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/9.jpg'); " ></div>
  246. </div>
  247. <div class="showcaseElement" style='display: none '>
  248. <div class="cover blur" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/7.jpg'); " ></div>
  249. <div class="cover" lazy="true" lazy-style ="background-image: url('/images/showcase/ls_frontier/7.jpg'); " ></div>
  250. </div>
  251. <div class="responsiveWidth" id="engineDescription">
  252. jMonkeyEngine is a modern developer friendly game engine written primarily in Java.
  253. <br />
  254. Its minimalistic and code first approach makes it perfect for developers who want the support of a game engine
  255. while retaining full control over their code with the ability to extend and adapt the engine to their workflow.
  256. <br />
  257. <br />
  258. <br />
  259. <a href="/start/"><button id="startbtn" class="highlightedCl" ><i class="fas fa-rocket"></i> Get Started </button></a>
  260. <a href="/#features" title="overview"><button id="startbtn" class="highlightedCl"><i class="fas fa-question-circle" style="padding:0"></i></button></a>
  261. <br />
  262. <br />
  263. </div>
  264. <div class="responsiveWidth" >
  265. <div id="gameDescription" >
  266. <h2><i class="far fa-images" ></i> Lightspeed Frontier powered by jMonkeyEngine</h2>
  267. Leave everything behind and try your hand at captaining a ship on the frontier of the galaxy. Customize it piece by piece to tackle whatever adventures await you. Take on crime lords and space pirates …
  268. <br />
  269. <a class="readMore" href="/showcase/ls_frontier/#showcase">See game page </a>
  270. </div>
  271. </div>
  272. </section>
  273. <br/>
  274. <section class="message list vlist">
  275. <div>
  276. <blockquote class="list vlist responsive">
  277. <span id="backerMessage">-</span>
  278. <i><a rel='noopener nofollow noreferrer' target="_blank" id="backerMessageName">-</a> </i>
  279. </blockquote>
  280. <a href="https://opencollective.com/jmonkeyengine">Become a
  281. backer and leave a message...</a>
  282. </div>
  283. </section>
  284. <br/>
  285. <a id="content"></a>
  286. <section class="full responsiveWidth">
  287. <article>
  288. <h1 >
  289. <i class="fas fa-paragraph useless"></i>
  290. <a href="/contribute/"></a></h1>
  291. <div class="content">
  292. <span>
  293. <h1 id="contributing-to-jmonkeyengine">Contributing to jMonkeyEngine</h1>
  294. <p>There are several ways to contribute toward the jMonkey project. All of the jmonkey source code is hosted on github and follows the git procedure.</p>
  295. <h2 id="contributing-to-the-engine">Contributing to the Engine</h2>
  296. <p>To contribute to the engine you must clone the jMonkeyEngine repository, commit your changes and submit a Pull Request (PR). Pull Requests are reviewed by staff members and contributors before it is determined whether they will be approved and merged.</p>
  297. <p>Visit the <a href="https://github.com/jMonkeyEngine/jmonkeyengine">jMonkeyEngine repository</a> to clone the repository.</p>
  298. <h2 id="contributing-to-documentation">Contributing to Documentation</h2>
  299. <p>Documentation comes in two forms: <a href="https://javadoc.jmonkeyengine.org">JavaDoc</a> and the <a href="https://wiki.jmonkeyengine.org">Wiki</a>.</p>
  300. <p>To submit changes to the JavaDoc you must follow the same procedure as <strong>Contributing to the Engine</strong>. To submit changes or add new pages to the wiki you must clone the <a href="https://github.com/jMonkeyEngine/wiki">wiki repository</a> and follow the same procedure as <strong>Contrubuting to the Engine</strong>.</p>
  301. <h2 id="reporting-bugs">Reporting Bugs</h2>
  302. <p>To report any bugs in the engine or errors in documentation you can submit a new issue in the corresponding repository.</p>
  303. <ul>
  304. <li><a href="https://github.com/jMonkeyEngine/wiki/issues/new">Report an issue with the wiki</a></li>
  305. <li><a href="https://github.com/jMonkeyEngine/jmonkeyengine/issues/new">Report an issue with the engine</a></li>
  306. </ul>
  307. </span>
  308. </div>
  309. </article>
  310. </section>
  311. </main>
  312. <footer>
  313. © 2020 jMonkeyEngine.
  314. All other trademarks, logos and featured content are property of their respective owners.
  315. <br />
  316. <a title="Github repo" rel='noopener nofollow noreferrer' target="_blank"
  317. href="https://github.com/jMonkeyEngine/jmonkeyengine-website">
  318. <i class="fab fa-github"></i> Source on Github
  319. </a>
  320. |
  321. <a title="Report issue" rel='noopener nofollow noreferrer' target="_blank"
  322. href="https://github.com/jMonkeyEngine/jmonkeyengine-website/issues">
  323. <i class="fas fa-bug"></i> Report an issue
  324. </a>
  325. <br />
  326. <br />
  327. Website designed and developed by
  328. <a href="https://github.com/riccardobl">Riccardo Balbo</a>
  329. for the jMonkeyEngine's Community.
  330. </footer>
  331. <div id="poweredBy" >
  332. <a rel='noopener nofollow noreferrer' target="_blank" href="https://www.macstadium.com/">
  333. <img src="/images/macstadium-logo.png" />
  334. </a>
  335. <a rel='noopener nofollow noreferrer' target="_blank" href="https://www.java.com/">
  336. <img src="/images/java-logo.png" />
  337. </a>
  338. <a rel='noopener nofollow noreferrer' target="_blank" href="https://opengl.org/">
  339. <img src="/images/opengl-logo.png" />
  340. </a>
  341. </div>
  342. </body>
  343. </html>